|
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (7.92 KB, 下載次數(shù): 79)
下載附件
2021-2-2 16:45 上傳
單片機源程序如下:
- #include <REGX51.H>
- #include <LCD1602.H>
- unsigned int t,t1,t2;
- unsigned int n=10,y,i,f;
- #define w 5000
- sbit out=P1^5;
- sbit out1=P1^2;
- void xianshi();
- void delay(unsigned int x)
- {
- while(x--)
- {
- y=2;
- while(y--);
- }
- }
- void init(void) //定時器設(shè)置
- {
- TMOD=0x0;
- TH0=(65536-10000)/256;
- TL0=(65536-10000)%256;
- EA=1;
- ET0=1;
- TR0=1;
- }
- void exter() interrupt 0
- {
- EX0=0;
- n=n+10;
- if(n>50){n=10;}
- EX0=1;
- }
- void time0()interrupt 1
- {
- TH0=(65536-10000)/256;
- TL0=(65536-10000)%256;
- t++;
- if(t==708)
- { out1=!out1;
- t=0;t1++;
- xianshi(); //t1是秒
- }
- if(t1==3600)
- {t1=0;t2++;} //t2小時
- if(t2==24){t2=0;f=1;}
- }
- void xianshi()
- {
- unsigned int shi1,shi0,fen1,fen0,miao1,miao0;
- shi1=t2/10;
- shi0=t2%10;
- fen1=t1/60/10;
- fen0=t1/60%10;
- miao1=t1%60/10;
- miao0=t1%60%10;
- LcdShowStr(2,0,shuzi[shi1]);
- LcdShowStr(3,0,shuzi[shi0]);
- LcdShowStr(4,0,':');
- LcdShowStr(5,0,shuzi[fen1]);
- LcdShowStr(6,0,shuzi[fen0]);
- LcdShowStr(7,0,':');
- LcdShowStr(8,0,shuzi[miao1]);
- LcdShowStr(9,0,shuzi[miao0]);
- }
- void main()
- {
- shumaOFF();
- init();
- init1602();
- IT0=1;
- EX0=1;
- while(1)
- {
- if(t2<8)
- {for(i=w;i>0;i--)
- {
- out=1;
- delay(n*1/10);
- out=0;
- delay(50-n*1/10);
- }
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*2/10);
- out=0;
- delay(50-n*2/10);
- }
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*3/10);
- out=0;
- delay(50-n*3/10);
- }
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*4/10);
- out=0;
- delay(50-n*4/10);
- }
-
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*5/10);
- out=0;
- delay(50-n*5/10);
- }
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*6/10);
- out=0;
- delay(50-n*6/10);
- }
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*8/10);
- out=0;
- delay(50-n*8/10);
- }
- }
- while(t2<8)
- {
- out=1;
- delay(n);
- out=0;
- delay(50-n);
- }
- if(t2==8)
- {
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*8/10);
- out=0;
- delay(50-n*8/10);
- }
-
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*6/10);
- out=0;
- delay(50-n*6/10);
- }
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*4/10);
- out=0;
- delay(50-n*4/10);
- }
- for(i=w;i>0;i--)
- {
- out=1;
- delay(n*2/10);
- out=0;
- delay(50-n*2/10);
- }
-
- }
- while(f==0);
- f=0;
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
魚缸顯示.zip
(83.75 KB, 下載次數(shù): 2)
2021-2-2 11:02 上傳
點擊文件名下載附件
含仿真
|
|