本實驗加入定時中斷,通過之前兩個實驗,我們這次重點便是初步了解和掌握定時中斷的應用(壓縮包中有仿真和程序)
單片機源程序如下:
- #include "reg51.h"
- #define u8 unsigned char
- u8 ms50=0,miao=0;
- void T0_init(void)
- {
- TMOD = 0x01;
- TH0 = 0x3C;
- TL0 = 0xB0;
- EA = 1;
- ET0 = 1;
- TR0 = 1;
- }
- void main(void)
- {
- T0_init();
- while(1)//周期20秒
- {
- P3=((miao/10)<<4)+(miao%10);
- if(miao==0)P2=0xbe;//南北綠,東西紅1011 1110
- if(miao==5)P2=0xbd;//1011 1101
- if(miao==6)P2=0xbf;//1011 1101
- if(miao==7)P2=0xbd;//1011 1101
- if(miao==8)P2=0xbf;//1011 1101
- if(miao==9)P2=0xbd;//1011 1101
- if(miao==10)P2=0xeb;//1110 1011
- if(miao==15)P2=0xdb;//1101 1011
- if(miao==16)P2=0xfb;
- if(miao==17)P2=0xdb;
- if(miao==18)P2=0xfb;
- if(miao==19)P2=0xdb;
- if(ms50==20)
- {miao=miao+1;
- ms50=0;
- }
- if(miao==20) miao=0;
- }
- }
- void T0_INT(void) interrupt 1//每隔50ms自動進來一次
- {
- TH0 = 0x3C;
- TL0 = 0xB0;
- ms50++;
- }
復制代碼
所有資料51hei提供下載:
交通燈為定時器.rar
(66.37 KB, 下載次數: 7)
2021-7-16 16:50 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|