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

📄 0102.c

📁 十几个proteus的仿真实例
💻 C
字号:
#include <reg52.H>
unsigned char code dispbit[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//selet bit
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,
                               0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//段选
unsigned char dispbuf[8]={0,0,0,0,0,0,10,10};//显示缓冲区
unsigned char temp[8];
unsigned char dispcount;
unsigned char T0count;
unsigned char timecount;
bit flag;
unsigned long x;
 
void main(void)
	{
  	unsigned char i;
  	TMOD=0x15;
  	TH0=0;
  	TL0=0;
  	TH1=(65536-4000)/256;
  	TL1=(65536-4000)%256+2;
  	TR1=1;
  	TR0=1;
  	ET0=1;
  	ET1=1;
  	EA=1;
 	while(1)
   		{
     	if(flag==1)
       		{
         	flag=0;
         	x=T0count*65536+TH0*256+TL0;
         	for(i=0;i<8;i++)
           		{
             	temp[i]=0;
           		}
         	i=0;
         	while(x/10)
           		{
             	temp[i]=x%10;
             	x=x/10;
	            i++;
           		}
         	temp[i]=x;
         	for(i=0;i<6;i++)
           		{
             	dispbuf[i]=temp[i];
           		}
         	timecount=0;
         	T0count=0;
         	TH0=0;
         	TL0=0;
			TH1=240;//(65536-4000)/256;
  			TL1=96+2;//(65536-4000)%256;
         	TR1=1;
			TR0=1;
       		}
   		}
	}

void t0(void) interrupt 1 using 0
	{
  	T0count++;
	}

void t1(void) interrupt 3 using 0
	{
  	TH1=240;//(65536-4000)/256;
  	TL1=96+2;//(65536-4000)%256;
  	timecount++;
  	if(timecount==249)
    	{
      	TR0=0;
		TR1=0;
      	timecount=0;
      	flag=1;
    	}
  	P0=dispcode[dispbuf[dispcount]];
  	P2=dispbit[dispcount];
  	dispcount++;
  	if(dispcount==8)
    	{
      	dispcount=0;
    	}
	}

⌨️ 快捷键说明

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