51單片機用c語言實現(xiàn)交通燈(紅綠燈)源程序

51單片機用c語言實現(xiàn)交通燈(紅綠燈)源程序

ID:2518363

大?。?56.50 KB

頁數(shù):7頁

時間:2017-11-16

51單片機用c語言實現(xiàn)交通燈(紅綠燈)源程序_第1頁
51單片機用c語言實現(xiàn)交通燈(紅綠燈)源程序_第2頁
51單片機用c語言實現(xiàn)交通燈(紅綠燈)源程序_第3頁
51單片機用c語言實現(xiàn)交通燈(紅綠燈)源程序_第4頁
51單片機用c語言實現(xiàn)交通燈(紅綠燈)源程序_第5頁
資源描述:

《51單片機用c語言實現(xiàn)交通燈(紅綠燈)源程序》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、51單片機用C語言實現(xiàn)交通燈(紅綠燈)源程序2009-10-2923:00交通燈,紅黃綠燈交替亮,怎樣實現(xiàn)呢?其實就是根據(jù)單片機定時器及倒計時的程序修改。源程序如下:/*1、程序目的:使用定時器學(xué)習(xí)倒計時紅綠燈原理主要程序和倒計時一樣2、硬件要求:數(shù)碼管、晶振12M*/#includebitred,green,yellow,turnred;?????????//定義紅、黃、綠及轉(zhuǎn)紅標(biāo)志codeunsignedchartab[]=???{0x3f,0x06,0x5b,0x4f,0x

2、66,0x6d,0x7d,0x07,0x7f,0x6f};???//共陰數(shù)碼管0-9unsignedcharDis_Shiwei;//定義十位unsignedcharDis_Gewei;//定義個位voiddelay(unsignedintcnt)?????????//用于動態(tài)掃描數(shù)碼管的延時程序{while(--cnt);}main(){TMOD

3、=0x01;//定時器設(shè)置10msin12Mcrystal定時器0,工作方式1,16位定時器TH0=0xd8;???????????//65535-1

4、0000=55535=D8F0(十六進制)TL0=0xf0;IE=0x82;//中斷控制,EA=1開總中斷,ET0=1:定時器0中斷允許TR0=1;???//開定時器0中斷P1=0xfc;//紅燈亮,根據(jù)紅黃綠接燈的順序。red=1;while(1){P0=Dis_Shiwei;//顯示十位,這里實現(xiàn)用8位數(shù)碼管,即左1位P2=0;delay(300);//短暫延時P0=Dis_Gewei;//顯示個位,左數(shù),2位P2=1;delay(300);}}/***********************

5、*********//*?????定時中斷???????????????*//********************************/voidtim(void)interrupt1using1{staticunsignedcharsecond=60,count;//初值60TH0=0xd8;//重新賦值,10毫秒定時TL0=0xf0;count++;if(count==100)???{???count=0;???second--;//秒減1if(second==0)???{//這里添加定

6、時到0的代碼,可以是燈電路,繼電器吸合等,或者執(zhí)行一個程序??????if(red)??//紅滅,先轉(zhuǎn)黃?????{???red=0;yellow=1;?????????second=4;???P1=0xF3;//黃燈亮4秒,黃燈為過渡燈,再根據(jù)情況轉(zhuǎn)綠或轉(zhuǎn)紅??}???elseif(yellow&&!turnred)?????{???yellow=0;green=1;?????????second=25;???P1=0xCF;//綠燈亮25秒,??}???elseif(green)?????{?

7、?yellow=1;green=0;????????second=4;??P1=0xF3;//黃燈亮4秒??turnred=1;??}??????elseif(yellow&&turnred)??//綠燈滅,轉(zhuǎn)黃燈,后紅燈,turnred=1時?????{?????red=1;yellow=0;??P1=0xFC;//紅燈亮60秒????????second=60;??turnred=0;??//接下來是轉(zhuǎn)黃,綠。??}}Dis_Shiwei=tab[second/10];//十位顯示值處理???

8、Dis_Gewei=tab[second%10];//個位顯示處理開始延時3s程序流程圖:輸出red(縱)yellow(橫)清屏延時30s輸出red(縱)green(橫)清屏延時3s輸出yellow(縱)red(橫)清屏延時30sTrue=1輸出green(縱)red(橫)清屏Y結(jié)束N算法描述:1、定義green函數(shù)(清屏顯示(縱==green橫==red延時30s)定義red函數(shù)(清屏顯示(橫==green縱==red)延時30s)定義yellow1yellow2函數(shù)(清屏顯示延時3s)2、建立

9、循環(huán):調(diào)用green函數(shù)3、調(diào)用yellow1函數(shù)4、調(diào)用red函數(shù)5、調(diào)用yellow2函數(shù)6、返回繼續(xù)循環(huán)執(zhí)行。源程序代碼:#include#include#includevoidgreen(){system("cls");printf("縱==green橫==red");Sleep(30000);}voidred(){system("cls");printf("縱==red橫==green");Sleep(30000

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。