您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机MCD2-DEMO 数码管显示PICC-18范例(适合初学者) 正文
MCD2-DEMO 数码管显示PICC-18范例(适合初学者)

MCD2-DEMO 数码管显示PICC-18范例(适合初学者)

点击数:7683 次   录入时间:03-04 11:52:16   整理:http://www.55dianzi.com   PIC单片机

/**************************************************************
实现的功能:在MCD2-DEMO上使数码管从左到右各显示0-5


芯片PIC18F452
编译器PICC-18


XT:4MHz
***************************************************************/
#include "pic18.h"
const unsigned char display_numb[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xd8,0x80,0x90};
unsigned char display_data[6];//0:L 5:R
/**************************************************************
端口初始化
LATC作为数码管段驱动(低有效)
LATA作为数码管位选择驱动(低有效)
***************************************************************/
void init_port(void)
{
  LATC=0xff;   //
  TRISC=0;   //C口当作数码管段,设置成输出
  ADCON1=0x07;
  TRISA=0;   //A口当作数码管位选择控制脚,设置成输出  
  LATA=0xff;
}
/**************************************************************
延迟程序
***************************************************************/
void delay_1ms(void)
{
  unsigned int n;
  for(n=0;n<50;n++)
   {
    NOP();
   }
}
void delay_ms(unsigned int time)
{
  for(;time>0;time--)
   {
    delay_1ms();
   }
}
/**************************************************************
主程序
从左到右显示0-5
***************************************************************/
void main(void)
{
  unsigned char n;
  init_port();
  display_data[0]=display_numb[1];//2
  display_data[1]=display_numb[0];//1
  display_data[2]=display_numb[3];//4
  display_data[3]=display_numb[2];//3
  display_data[4]=display_numb[5];//6
  display_data[5]=display_numb[4];//5
  while(1)
   {
    LATA=0xfe;  
    for(n=0;n<6;n++)
     {
      LATC=display_data[n];
      delay_ms(1);
      LATA=(LATA<<1)+1;
     }
   }
}




本文关键字:数码管  初学者  PIC单片机单片机-工控设备 - PIC单片机

《MCD2-DEMO 数码管显示PICC-18范例(适合初学者)》相关文章>>>