|
本實(shí)驗(yàn)為紅綠燈實(shí)驗(yàn)二,加入了數(shù)碼管來(lái)顯示倒計(jì)時(shí),模擬交通燈的運(yùn)行(壓縮包中有仿真+程序)
單片機(jī)源程序如下:
- #include "reg51.h"
- #define u8 unsigned char
- sbit nan_lv=P2^0;//南北綠
- sbit nan_huang=P2^1;//南北黃
- sbit nan_hong=P2^2;//南北紅
- sbit dong_lv=P2^3;//東西綠
- sbit dong_huang=P2^4;//東西黃
- sbit dong_hong=P2^5;//東西紅
- void delay(long i){while(i--);}//定時(shí)器,延時(shí)
- //低要求:實(shí)現(xiàn)紅黃綠燈的切換
- //中等要求:黃燈要閃爍
- //高水平:數(shù)碼管實(shí)現(xiàn)倒計(jì)時(shí)
- void fun(u8 i)
- {
- while(i--)
- {
- P3=((i/10)<<4)+(i%10);
- delay(10000);
- }
- }
- void main(void)
- {
- u8 huang=0;//huang=黃燈倒計(jì)時(shí)
- while(1)
- {
- P2=0xff;nan_lv=0;dong_hong=0;
- fun(20);
- nan_lv=1;
- huang=9;
- while(huang--)
- {
- nan_huang=~nan_huang;
- P3=(((huang/2)/10)<<4)+((huang/2)%10);
- delay(7000);
- }
- P2=0xff;dong_lv=0;nan_hong=0;
- fun(20);
- dong_lv=1;
- huang=9;
- while(huang--)
- {
- dong_huang=~dong_huang;
- P3=(((huang/2)/10)<<4)+((huang/2)%10);
- delay(7000);
- }
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
紅綠燈實(shí)驗(yàn)二.rar
(50.46 KB, 下載次數(shù): 9)
2021-7-16 16:46 上傳
點(diǎn)擊文件名下載附件
|
|