|
實(shí)驗(yàn)和仿真視頻演示:
0.png (234.56 KB, 下載次數(shù): 30)
下載附件
2019-2-28 02:50 上傳
QQ圖片20190227162151.png (39.57 KB, 下載次數(shù): 38)
下載附件
2019-2-27 16:22 上傳
0.png (5.13 KB, 下載次數(shù): 32)
下載附件
2019-2-28 02:50 上傳
0.png (5.64 KB, 下載次數(shù): 40)
下載附件
2019-2-28 02:52 上傳
單片機(jī)源程序如下:
- #include <reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar code number[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x9c,0x7a,0x9e,0x8e};
- //共陰數(shù)碼管編碼表
- uchar code address[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//數(shù)碼管選擇編碼表
- uchar i,time;
- uint count=22;
- uint temp1,temp;
- bit flag;
- void delay(uint m)
- {
- while(m--);
- }
- void main(void)
- {
- EA=1;//開(kāi)總中斷
- ET0=1;//開(kāi)定時(shí)器0中斷
- ET1=1;//開(kāi)定時(shí)器1中斷
- TMOD=0x16;//設(shè)置T1為定時(shí)器工作方式為;T0為計(jì)數(shù)器,工作方式為2
- TH0=0xff;
- TL0=0xff;//給計(jì)數(shù)器0賦初值,計(jì)數(shù)值為1,即每來(lái)次中斷信號(hào),T0中斷一次
- TR0=1;//啟動(dòng)計(jì)數(shù)器0
- TH1=(65536-50000)/256;
- TL1=(65536-50000)%256;//給定時(shí)器1賦初值,時(shí)間為5ms(12MHz)
- TR1=1;//啟動(dòng)定時(shí)器1.
- while(1)//死循環(huán)
- {
- temp1=temp;
- for(i=0;i<5;i++)//將計(jì)數(shù)值各個(gè)位取出,并從P1口輸出
- {
- P2=address[i];
- P1=number[temp%10];
- temp=temp/10;
- delay(100);//數(shù)碼管動(dòng)態(tài)顯示,注意延時(shí)時(shí)間
- }
- temp=temp1;
- if(flag==1)//定時(shí)達(dá)滿標(biāo)志
- {
- time=0;
- flag=0;
- temp=count;//儲(chǔ)存計(jì)數(shù)器0的計(jì)數(shù)值
- count=0;
- EA=1;
- }
- }
- }
- void time0(void) interrupt 1//計(jì)數(shù)器中斷子程序
- {
- count++;//每中斷一次count加1
- }
- void time1(void) interrupt 3//定時(shí)器中斷子程序
- {
- TH1=(65536-50000)/256;
- TL1=(65536-50000)%256;//重新給定時(shí)器賦初值
- time++;//總定時(shí)時(shí)長(zhǎng):20x50ms=1s
- if(time>=20)
- {
- time=0;
- EA=0;//關(guān)閉總中斷
- flag=1;//定時(shí)達(dá)滿標(biāo)志置1
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
單片機(jī)實(shí)驗(yàn)工程.zip
(12.44 MB, 下載次數(shù): 30)
2019-2-27 16:20 上傳
點(diǎn)擊文件名下載附件
實(shí)驗(yàn) 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|