dsjs.bak

来自「C51单片机定时器常用例子」· BAK 代码 · 共 68 行

BAK
68
字号
	#include"at89x52.h"
	#define uchar unsigned char
	#define uint  unsigned int
	sbit m=P1^0;
        sbit key=P3^4;
	code  tv[]={0xfe,0xfd,0xfb,0xf7};
	uchar code  a[]={0x3f,0x06,0x5b,0x4f,0x66 ,0x6d ,
	            0x7d ,0x07 ,0x7f ,0x6f ,0x77 ,0x7c};
	uchar data  led[]={0x00,0x02,0x03,0x00};
	uchar data  tvdata;

	
	void delay(void)
     	     {
		unsigned int i;
		for(i=0;i<100;i++);
 	
    	     }



    ledxianshi()
       {
          uchar k,i;
     	  led[0]=tvdata/100;
		led[1]=tvdata%100/10;
		led[2]=tvdata%10;
		led[3]=10;
		
		for(k=0;k<4;k++)
		 { 
		   i=led[k];
		   P0=a[i];
		   P2=tv[k];
	           delay();
		 }
		
	 }

	void main()
         {
	     uchar l,h;
	     while(1)
	   {
	     
	     TMOD=0X01;
	     TR0=1;
	     if(key==0)
	         {
	         TH0=0X00;
		 TL0=0XB0;
		      do{ledxianshi();}
		      while(TF0==0);
		 l=l+1;
		 TF0=0;
		 if(l==10)
		   {
		    m=!m;
		    l=0;
		    tvdata=tvdata+1;
		   }
		       
	         }
	   }
        }


⌨️ 快捷键说明

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