紅綠燈源程序.doc

紅綠燈源程序.doc

ID:52199122

大小:2.10 MB

頁數(shù):13頁

時間:2020-03-24

紅綠燈源程序.doc_第1頁
紅綠燈源程序.doc_第2頁
紅綠燈源程序.doc_第3頁
紅綠燈源程序.doc_第4頁
紅綠燈源程序.doc_第5頁
資源描述:

《紅綠燈源程序.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、設(shè)計方案一、實訓(xùn)名稱;單片機實訓(xùn)二、基本功能;設(shè)計一個交通燈,模型,通過紅,黃,綠三色發(fā)光二極管仿真紅綠交通燈,三色光的狀態(tài)按照實際的交通燈處理,各色燈的顯示時間自行定義,能夠通過LED顯示當(dāng)前狀態(tài)時間倒計時顯示。擴展功能;各色燈的時間可以通過按鍵來進行修改。三、任務(wù)分析1一般情況下由南北和東西組成的十字路口,南北道放行13秒(數(shù)碼管從13秒開始倒數(shù),其中3秒用于黃燈時間),東西道放行10秒(兩個數(shù)碼管從13秒開始倒數(shù),其中3秒用于黃燈時間)。2、編程過程:顯示界面:采用數(shù)碼管和LED燈相結(jié)合的方法,因為實際既要求倒計時施主輸出,又要求又狀態(tài)燈輸

2、出等,為方便觀看并考慮到現(xiàn)實狀況,用2個共陰極數(shù)碼管與12個LED分別顯示時間和燈提示信息??刂贫丝赻`0/用p1口來控制紅綠燈的變化1、用p3口來控制數(shù)碼管的顯示2、用p2口的高四位來控制com端口3、用p2口的低四位來控制按鍵端口4、用共陰極數(shù)碼管來顯示倒計時5、P1口用低電平點亮燈,1、設(shè)計思路;51單片機來作為主控,根據(jù)電平的變換來控制紅綠燈的狀態(tài),時間用數(shù)碼管的顯示來控制,2、設(shè)一個十字路口的初始狀態(tài)1:南北綠燈亮,東西紅燈亮;持續(xù)一段時間然后轉(zhuǎn)狀態(tài)2:南北綠燈變成黃燈亮,東西紅燈亮;過后轉(zhuǎn)狀態(tài),持續(xù)一段時間3:東西綠燈亮,南北紅燈亮;

3、持續(xù)一段時間再轉(zhuǎn)狀態(tài)4:東西綠燈變成黃燈亮,南北紅燈亮。一段時間后,又循環(huán)至狀態(tài)1。中間可通過中斷按鍵產(chǎn)生中斷,跳入中斷程序執(zhí)行中斷。按鍵方面我用了三個,一個用來南北、東西互換是時候用來調(diào)整紅綠燈的狀態(tài)時間用其他兩按鍵來控制,實現(xiàn)調(diào)整。7、交通信號燈的狀態(tài)表如下:(其中,0代表燈亮,1代表燈滅)1)P1口:做為輸出口,與發(fā)光二極管相連接,其狀態(tài)及對應(yīng)的十六進制值如下:方向狀態(tài)無南北東西十六進制值說明P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.01000111100x6c南北綠東西紅2001011100xac南北黃東西紅30011

4、00110xd8東西綠南北紅4001101010xd4東西綠南北黃2)對于交通信號燈來說,應(yīng)該有東西南北共四組燈,但由于同一道上的兩組的信號燈的顯示情況是相同的,因此,采用單片機內(nèi)部的I/O口上的P1口中的6個引腳即可來控制12個信號燈。3、通過編寫程序,實現(xiàn)對發(fā)光二極管的控制,來模擬交通信號燈的管理。每延時一段時間,燈的顯示情況都會按交通燈的顯示規(guī)律進行狀態(tài)轉(zhuǎn)換。4、通過延時時間來實現(xiàn)倒計時顯示器,增添和減少顯示時間來實現(xiàn)其倒計時和燈持續(xù)的時間。5、共陰極:把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時公共陰極接地。這樣陽極端輸入高電平的段發(fā)光

5、二極管就導(dǎo)通點亮,而輸入低電平的則不亮。4控制數(shù)碼管驅(qū)動級的控制電路有靜態(tài)式和動態(tài)式兩類:5靜態(tài)驅(qū)動:它是指每個數(shù)碼管都要用一個譯碼器譯碼驅(qū)動。6動態(tài)驅(qū)動:它是所的數(shù)碼管使用一個專門的譯碼驅(qū)動器,使各位數(shù)碼管逐個輪流顯示,延時時間比較短所以顯示出來電路圖紅綠燈的源程序#includesbitcom1=P2^7;//定義com端sbitcom2=P2^6;sbitcom3=P2^5;sbitcom4=P2^4;sbitk1=P2^3;//定義開關(guān)端口sbitk2=P2^1;sbitk3=P2^0;unsignedchartable

6、[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//數(shù)碼管的代碼顯示unsignedcharnum=0,num1,temp1=10,temp2=13,flag;//定義變量voiddelay();//定義延時voidscanfkey();//定義按鍵控制voiddisplay();//定義調(diào)用程序unsignedcharm1=10,m2=13,m3=13,m4=10,a,b,c,d;//全局變量的定義voidmain(){TMOD=0X01;//定時計數(shù)器工作在方式一TH0=(6553

7、5-50000)/256;//定義定時計數(shù)器每次執(zhí)行運行50MSTL0=(65535-50000)%256;ET0=1;//允許T0中斷開始EA=1;//cpu工作TR0=1;//定時計數(shù)器運行com1=1;//顯示器工作com2=1;com3=1;com4=1;P1=0x6c;//東西綠燈時候的亮燈情況while(1){display();//調(diào)用數(shù)碼管顯示子程序scanfkey();//按鍵調(diào)用子程序}}voidtimer0()interrupt1//定時計數(shù)器0{TH0=(65535-50000)/256;//定義定時計數(shù)器每次執(zhí)行運行50

8、MSTL0=(65535-50000)%256;num++;if(num==4)//當(dāng)運行到20次的時候是1秒{num=0;//運行20

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

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

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