⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldd.c

📁 手动计数器功能:从1到9按一下按键,数码管显示相对应的数,而且很稳定.
💻 C
字号:
 #include<reg51.h>
							   
#define uchar unsigned char
#define uint unsigned int
sbit K1=P0^2;    
void delay_ms(uchar ms);  // 延时毫秒@12M,ms最大值255   
void display(); 
void keyboard();          // 显示子程序 
uchar code dis_code[10]={0x60,0xfc,0x52,0x58,0xcc,0x49,0x41,0x7c,0x40,0x48};
uchar data dis_0; 
uchar data dis_1; 
uchar data dis_2; 
uchar data dis_3;      
uint data count;        // 计数器   
  
void main()   
{   
    count = 0;           // 计数器清零   
    P3 = 0x00;           // 关所有数码管   
  
    while(1)   
    {  
      if(K1==0)
       {
        delay_ms(5);
        if(K1==0)
        count++;
	   
  
   while(!K1) ;
   delay_ms(5);
   while(!K1) ;
   }
 
   display();
   
        
  }	
  
  } 
	 
       
           
  
void display()               
{   
    uchar data i = 10;        // 用于延长每个数(两位)的显示时间   
	dis_3 = count/1000;	  //显示千分位
	dis_2 = count/100%10; //显示百分位
    dis_1 = count/10%10; 
    dis_0 = count%10;	
    while(i--)              
    {   
	    P3 = 0xef;
        P2 = dis_code[dis_0];
		delay_ms(5);  // 取个位的段码        
	    P3 = 0xff;             // 开个位显示(P2.7口控制个位数码管)   
	    P2=0xff;
                  // 延时1ms使两位数码管动态显示时能看清   
        P3 = 0xdf;
	    P2 = dis_code[dis_1];
		delay_ms(5);  // 取十位的段码           
	    P3 = 0xff;           // 开十位显示(P2.6口控制十位数码管)   
        P2=0xff;         // 延时1ms作用同上     
		         // 开十位显示(P2.6口控制十位数码管)    
		P3 = 0xbf;
		P2 = dis_code[dis_2];
		delay_ms(5); 
    	P3 = 0xff;	 
	    P2=0xff;        // 延时1ms作用同上   

		P3 = 0x7f;
		P2 = dis_code[dis_3];
		delay_ms(5); 
		P3 = 0xff;
	    P2=0xff;
    }  
} 


void delay_ms(uchar ms)       // 延时毫秒@12M,ms最大值255   
{   
    uchar i;   
    while(ms--)   
        for(i = 0; i < 124; i++);   
}  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -