标题: 利用单片进行0~20的计数程序 [打印本页]

作者: 153846    时间: 2021-11-16 22:21
标题: 利用单片进行0~20的计数程序

可以实现0~20计数功能显示

#include<reg51.h>
#define LED_SEGMENT P0
sbit led1 = P2^0;
sbit led0 = P2^1;
#define ON 1
#define OFF 0
unsigned char code display_code[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};
unsigned char code display_position[4]={0X01,0X02,0X04,0X08};
unsigned char display_buff[4];
unsigned int counter;

void delay_ms(unsigned int ms)
{
unsigned char k;
while(ms--)
           {
           for(k=0;k<123;k++);
           }
}

void display_process()
{
display_buff[0]=counter/10;
display_buff[1]=counter%10;
}

void LED_display()
{
    LED_SEGMENT=display_code[display_buff[0]];
    led1 = 1;
    delay_ms(2);
    led1 = 0;
    LED_SEGMENT=display_code[display_buff[1]];
    led0 = 1;
    delay_ms(2);
    led0 = 0;
}
void int0_counter()interrupt 0 using 1
{
          counter++;
          if(counter==21)
          counter=0;
}

void main()
{
          P3=0XFF;
          counter=0;
          EX0=1;
          IT0=1;
          EA=1;
          while(1)
          {
           display_process();
           LED_display();
          }
}
   






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1