電子秒表動態(tài)顯示仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (10.1 KB, 下載次數(shù): 43)
下載附件
2017-12-29 22:17 上傳
0.png (20.36 KB, 下載次數(shù): 58)
下載附件
2017-12-29 22:17 上傳
單片機源程序如下:
- #include<reg51.h>
- char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //LED字模
- sbit P3_0=P3^0; //定義位變量
- sbit P3_1=P3^1;
- unsigned char x,y,num=60,n=0;
- void delay(unsigned int time){ //延時1ms函數(shù)
- unsigned int j=0;
- for(;time>0;time--)
- for(j=0;j<125;j++);
- }
- void key() interrupt 1{ //中斷函數(shù)
- TL0 = 0xB0; //初值重裝
- TH0 = 0x3C;
- n++; //計時
- if(n==20) //1s到了
- {
- n=0; //每秒重置一次
- if(num==0) num=60; //每60s循環(huán)
- x=num/10; //十位
- y=num%10; //個位
- num--; //每定時1s,倒計時減一秒
- }
- }
- void main(){
- TMOD = 0x01; //T0工作在方式1
- TL0 = 0xB0; //50ms
- TH0 = 0x3C;
- ET0 = 1; //開定時器0中斷允許位
- EA = 1; //開總中斷
- TR0 = 1; //開定時器0
- while(1){ //數(shù)碼管的動態(tài)顯示
- P3_1 = 1; //個位顯示
- P2 = led_mod[x];
- P3_0 = 0;
- delay(5);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
實驗5.zip
(25.57 KB, 下載次數(shù): 108)
2017-12-29 12:48 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|