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

📄 lesson8.c

📁 学习C程序帮助初学者入门用
💻 C
字号:
#include <reg52.h>   
#define uchar unsigned char  
                sbit k1=P3^2;	
                sbit k2=P3^3;   
                sbit k3=P3^4;
				sbit k4=P3^5;   
                sbit l1=P1^0;
                sbit l2=P1^1;
				sbit l3=P1^2;	   
                sbit Pwinpin=P2^0; 
				sbit s2=P2^1;
				sbit s3=P2^2; 
                static   tt;
			unsigned char lit=0;
   
void delay_ms(uchar ms);  // 延时毫秒@12M,ms最大值255    
  
uchar code dis_code[10] = {0xc0,0xf9,0xa4,0xb0,0x99,  //段码表    
                          // 0    1    2    3    4      对应内容    
                           0x92,0x82,0xf8,0x80,0x90};    
                          // 5    6    7    8    9   
uchar count,shi,ge, t,shu ;       // 计数器    

void main()    
{    
   
        
    TMOD = 0x01;         // 定时/计数器0工作于方式1    
    TH0 = 0xfc;          // 装载定时常数64536(fc18)    
    TL0 = 0x18;    
    EA = 1;              // 开总中断    
    ET0 = 1;             // 定时/计数器0允许中断    
    TR0 = 1;		   // 启动定时/计数器0 
               
    while(1)             // 执行主程序,等待中断    
    {
	  
       if(!k1)
	   {
	   delay_ms(1000);
	   	count++;
		 delay_ms(100);  
	   }
	   if(count<10)
	   {
	   s3=0;
       P0=dis_code[count];
	   delay_ms(10);
	   s3=1;
	  
	   delay_ms(10); 
	    }
	 else 
	 { 
	 if(count>=10) 
	  
	   {
	    TR0 = 1;
	   s2=0; s3=1; 
	   shi=1;  
	   delay_ms(1); 
	   s2=1;  s3=0; 
	   shi=count/10;
	   P0=dis_code[ge];
	   delay_ms(1); 

	   s3=0;  s2=1; 
	   ge=count%10;
      P0=dis_code[shi];
	   s3=1; 	   
	   delay_ms(1);
	  
	   delay_ms(1);
	    }
	   }
	  if(count>=100) 
	  {
	  
	  count=0; l3=0;
	  
	  }
	  if(!k3)
	  {
	   delay_ms(1);
	   P0= dis_code[shi];
	    delay_ms(100);
	  	l2=1;
	  count=0;
	  }



	   if(k4==0)
	   {
	   
	 
	   ;;;;;;;;;;
	   
	   }	  
	   }
	   
	 } 	   

   
  


void time0(void) interrupt 1   // T/C0中断服务程序(延时1ms数码管动态显示)    
{                               
    TH0 = 0xfc;                // 重置定时常数    
    TL0 = 0x18;
		t++; 
	if(t==2)
	{
		l1=~l1;
		} 
	 if(k2==0)
	  {
	 TR0 = 0;
	 l2=0;
	 }
	
	}
   
 
   
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 + -