freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計--課程設(shè)計-文庫吧

2025-01-01 13:15 本頁面


【正文】 Intel公司的8051兼容;2)4KB片內(nèi)在系統(tǒng)可編程FLASH程序存儲器;3)時鐘頻率為0~33MHZ;4)128字節(jié)片內(nèi)隨機(jī)讀寫存儲器(RAM);5)6個中斷源,2級優(yōu)先級;6)2個16位定時/記數(shù)器;7)全雙工串行通信接口;8)監(jiān)視定時器;9)兩個數(shù)據(jù)指針;圖3 為達(dá)到振蕩周期是12MHZ的要求,這里要采用12MHZ的晶振,另外有兩個22P的獨石電容,兩晶振引腳分別連到XTAL1和XTAL2振蕩脈沖輸入引腳。具體連接圖如圖4所示: 圖4 單片機(jī)系統(tǒng)的復(fù)位電路在這里采用的是上電+按鈕復(fù)位電路形式,其中電阻R采用510Ω的阻值,電容采用電容值為22μ的電解電容。具體連接電路如圖示5: 圖5在交通燈閃爍模塊我用到了專用的交通燈發(fā)光二極管,并通過線路連到P1口。其具體的連接圖如圖6所示:圖6我們知道交通燈總共有四種狀態(tài)的來回變換,即南北紅燈東西綠燈、南北紅燈東西黃燈、南北綠燈東西紅燈、南北黃燈東西紅燈。有這四種狀態(tài)按照特定的時間延遲循環(huán)變換就會形成我們在大街上時??吹降慕煌舻膩砘刈儞Q。按上圖所示的連接電路,這四種狀態(tài)可以通過單片機(jī)P1口的四種不同的輸出狀態(tài)來表示,具體請看下表1: B道A道控制碼狀態(tài)說明時間間隔綠黃紅綠黃紅10000121HB道放行,A道禁止5S01000111HB道警告,A道禁止1S0011000DHA道放行,B道禁止4S0010100AHA道警告,B道禁止1S00100109HA道禁止B道禁止無限時表1當(dāng)這四種不同的P1輸出狀態(tài)不停的循環(huán)輸出是就會控制交通燈按次序不停的閃爍著知道有緊急情況或者是特殊情況。其中特殊情況就是表格的最后一行,兩邊都是紅燈或是一路一直紅一路一直綠。時間顯示模塊具體采用7段碼數(shù)碼管顯示數(shù)字,從P0口輸出代碼信號,從P1口輸出片選信號。在這里我總共用到了16個7段碼數(shù)碼管,因為雙數(shù)碼管只有紅色和藍(lán)色,所以這里我在每一路都按了4個數(shù)碼管,紅數(shù)碼管顯示的是紅燈點亮的時間,藍(lán)數(shù)碼管顯示的是綠燈點亮的時間,而黃燈點亮的時間則由這兩個數(shù)碼管共同顯示。具體到各燈的顯示時間可以在軟件設(shè)計時具體設(shè)定。 其具體電路如下圖7所示: 圖7在上圖中我用了標(biāo)號來代替線路的連接以避免線路太復(fù)雜難以辨識,另外有電路的結(jié)構(gòu)可知,總共有8個不同的數(shù)碼管輪流或共同顯示,所以需要8根不同的片選線,為了節(jié)省I/O口,在這里我用了三八譯碼器來控制片選信號的輸出。在這里首先說明一下,這里所說的鍵掃描模塊,和上文所提到的時間顯示模塊中,都不包括我后來又加上的調(diào)時功能模塊。而這一塊既用到了數(shù)碼管顯示模塊,也涌到了鍵掃描模塊,其工作原理和這里所說的是幾乎完全相同的。所以即不再一一贅述了,等到了介紹時間調(diào)整模塊時在在詳細(xì)的說明其具體的工作過程。因為在交通燈變換的時候要判斷兩方向的有無車情況,在建盤掃描控制模塊我總共用了三個按鈕,分別模擬A道有車B到無車{K0}、A到無車B到有車(K1)和緊急情況(K2)三種狀態(tài)。其中在這三種狀態(tài)中K0,K1兩個按鍵是按照建掃描的方式,在數(shù)碼管動態(tài)顯示中每掃描一次都會判斷各鍵狀態(tài),然后根據(jù)各鍵狀態(tài)進(jìn)行不同的顯示。而K3鍵則是利用中斷的方式,利用中斷服務(wù)程序完成緊急情況的顯示。其具體連接圖8如下: 圖8交通燈的亮滅時間要想能夠隨時改變就需要有時間調(diào)整功能,雖然任務(wù)要求上沒有這一要求,但筆者認(rèn)為這也是交通燈也應(yīng)該具備的能力。所以時間調(diào)整模塊還是有必要家的。時間調(diào)整模塊其實也是相當(dāng)簡單,為了能產(chǎn)生兩個標(biāo)示位(一個是進(jìn)入時間調(diào)整的標(biāo)示位,一個是條南北時間/東西時間的標(biāo)示位),要用到另一個外部中斷入口,也就是外部中斷0。但進(jìn)入外部中斷0時,首先停定時器TO這就是是否進(jìn)入時間調(diào)整模塊的標(biāo)示為,,由此來區(qū)別進(jìn)行哪一道時間的調(diào)時。在時間調(diào)整是也有數(shù)碼管顯示計數(shù),為了使調(diào)整時間的范圍能擴(kuò)大到0到99,所以就需要再加一個兩位一體的數(shù)碼管。數(shù)碼管的字形碼輸出口,可以與前述的數(shù)碼管顯示模塊的字形碼輸出口公用。而為了兩種狀態(tài)下,數(shù)碼管能該亮的亮,不在量的滅。位選輸出就要與以前的有所區(qū)別了。其具體電路連接圖如下圖9所示: 圖93軟件設(shè)計整個程序最主要的就是四個顯示狀態(tài)的來回轉(zhuǎn)換,其中以K0,K1,K4,K5是掃描的形式進(jìn)行的。其流程圖如下圖10在主程序執(zhí)行到相應(yīng)模塊時只要鍵掃描模塊的掃描結(jié)果,符合其中之一的跳轉(zhuǎn)條件就會馬上產(chǎn)生跳轉(zhuǎn)動作到相應(yīng)的地址,去執(zhí)行相應(yīng)的模塊程序(如調(diào)時模塊)。當(dāng)判斷到一道有車一道無車時,程序就會跳轉(zhuǎn)到相應(yīng)的入口執(zhí)行。當(dāng)判斷結(jié)果是兩道都有車或兩道都沒有車是程序還是會按順序繼續(xù)執(zhí)行下去。在主程序中就是這四個狀態(tài)的來回順序的轉(zhuǎn)變,同時判斷著這個標(biāo)示位的情況,當(dāng)標(biāo)示位符合條狀條件時,發(fā)生跳轉(zhuǎn),到相應(yīng)的程序段去執(zhí)行。另外K1中斷程序里的,只要有中斷請求就會馬上保存中現(xiàn)場,跳轉(zhuǎn)靠中斷服務(wù)程序里去執(zhí)行。這個中斷程序我設(shè)計的是一個死循環(huán),因為緊急情況時誰也不知道他會持續(xù)多長時間,所以當(dāng)執(zhí)行中斷和系統(tǒng)就會陷入死循環(huán)一直到有人按到復(fù)位鍵,程序才會從0000H開始執(zhí)行程序。在主程序中,還有一部分程序段雖然完成了數(shù)碼管顯示的工的能,但是并沒有調(diào)用數(shù)碼管顯示字程序段。比如有一段程序段如下: 32 LOOP1: MOV A, R3 MOV B, 0AH DIV AB MOV DPTR,TAB MOVC A,@A+DPTR MOV P2,0F0H MOV P0,A LCALL DELAY MOV A, B MOVC A,@A+DPTR MOV P2,0F1H MOV P0,A LCALL DELAY MOV A, R4 MOV B, 0AH DIV AB MOV DPTR,TAB MOVC A,@A+DPTR MOV P2,0F6H MOV P0,A LCALL DELAY MOV A, B MOVC A,@A+DPTR MOV P2,0F7H MOV P0,A LCALL DELAY開始程序初始化南北紅東西綠4FH=1? TR0=1? 鍵按下情況寄存器數(shù)減一R4=FFH?ynyK0=0,k1=1nK0=1,k1=0K0=0,k1=0yn南北紅東西黃4FH=1? TR0=1? 鍵按下情況寄存器數(shù)減一R3=FFH?ynyK0=0,k1=1nK0=1,k1=0K0=0,k1=0yn南北綠東西紅4FH=1? TR0=1? 鍵按下情況寄存器數(shù)減一R4=FFH?ynyK0=0,k1=1nK0=1,k1=0K0=0,k1=0yn南北黃東西紅4FH=1? TR0=1? 鍵按下情況寄存器數(shù)減一R3=FFH?ynyK0=0,k1=1nK0=1,k1=0K0=0,k1=0yn調(diào)時模塊T
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1