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

正文內(nèi)容

基于單片機(jī)的十字交通燈控制設(shè)計(jì)-資料下載頁(yè)

2024-11-03 19:32本頁(yè)面

【導(dǎo)讀】的城市交通燈控制系統(tǒng)。采用FLASH單片機(jī)AT89C51進(jìn)行控制,根據(jù)當(dāng)前路面。減為零而等到下一輪通過(guò),從而提高了十字路口的通行效率。當(dāng)如消防車(chē)、警車(chē)。等需要緊急通過(guò)的車(chē)輛到來(lái)時(shí),則使所有燈置為紅燈,從而使其快速通過(guò)。為使模塊穩(wěn)定工作,須有可靠電源。供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會(huì)使系統(tǒng)復(fù)雜,且可能影響電路電平。改方案的優(yōu)點(diǎn)是系統(tǒng)簡(jiǎn)明扼要,節(jié)約成。本;缺點(diǎn)是輸出功率不高。綜上所述,我們選擇第二種方案。其速度快,體積小,可靠性和精度都較好,在設(shè)計(jì)交通燈中可采用。PLC對(duì)硬件進(jìn)行控制,但是用PLC實(shí)現(xiàn)價(jià)格相對(duì)昂貴,因而成本過(guò)高。系統(tǒng)擴(kuò)展、系統(tǒng)配置較典型、規(guī)范容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)有較高的軟、硬件利用系數(shù)。雖然辟免了編程的麻

  

【正文】 紅綠燈狀態(tài): R1, R2 定時(shí)一秒中斷次數(shù): R3 程序主函數(shù) 主函數(shù)只做初始化,數(shù)碼管和交通燈的顯示 0000h ljmp main 000bh ljmp time0_interrupt 00ffh main: lcall sys_init 。//調(diào)用系統(tǒng)初始化程序 28 loop: lcall led_disp ljmp loop /* 延時(shí)函數(shù) 用于顯示時(shí)的延時(shí),可調(diào)節(jié)延時(shí)時(shí)間 使用了: R6, R7 */ delay: mov r6,04h de_loop: mov r7,0ffh djnz r7,$ djnz r6,de_loop ret /* 顯示函數(shù) 顯示分兩部分: 一部分為數(shù)碼管顯示 另一部分為交通燈顯示 使用了: R0, R4, R5 */ led_disp: mov r4,04h mov r0 ,20h 29 mov dptr,led_table mov r5,01h disp: mov a,@r0 movc a,@a+dptr 。//查表得到顯示段碼 mov p0,a mov a,r5 mov p2,a lcall delay inc r0 mov a,r5 rl a mov r5,a mov p2,00h djnz r4,disp 。//循環(huán) 4次 mov a,2fh 。//顯示紅綠燈狀態(tài) mov p1,a ret sys_init: /* 定時(shí)器 0初始化 */ time0: mov TMOD,01H 。//定時(shí)器 0方式為 1 mov th0,3ch 。//定時(shí)時(shí)間為 50ms mov tl0,0afh setb tr0 。//啟動(dòng)定時(shí)器 0 30 setb et0 。//開(kāi)定時(shí)器 0中斷 setb ea 。//開(kāi)總中斷 /* 初始化寄存器: 20H, 21H, 22, 23H為顯示 BCD碼 2fH為紅綠燈顯示 25H, 26H為東西南北的倒計(jì)時(shí) */ register: mov a,00h 。//數(shù)碼管顯示初始化為 0 mov 20h,a mov a,00h mov 21h,a mov a,00h mov 22h,a mov a,00h mov 23h,a mov a,12h 。//交通燈從黃燈開(kāi)始 mov 2fh,a mov a,05h 。//所以顯示初始值為 5 mov 25h,a mov a,05h mov 26h,a mov a,00h 。//先對(duì)顯示進(jìn)行消影 mov p2,a mov r3,14h 。//定時(shí)器定時(shí)時(shí)間為 50ms,要 20次才到 1s 31 mov r2,03h 。//R1, R2分別是紅綠燈的狀態(tài)寄存 器,由于硬件接法不一樣所以才導(dǎo)致兩者的值一樣 mov r1,03h ret /* 定時(shí)中斷 0函數(shù) 用于時(shí)間的調(diào)整 使用了: R3,R2,R1 */ time0_interrupt: push acc push psw mov th0,3ch mov tl0,0afh djnz r3,tt 。//等待 1S sjmp ii tt: ljmp out 。//不到 1S跳出中斷 ii: mov r3,14h。//開(kāi)始檢查南北是否倒計(jì)數(shù)到 mov a,25h dec a mov 25h,a cjne a,0ffh,next1 。//已減到 0 sjmp next3 。// 32 next1: mov b,0ah 。//進(jìn)行除法運(yùn)算,得到 BCD碼用于查表 div ab mov 20h,a mov 21h,b。//開(kāi)始檢查東西是否倒計(jì) 數(shù)到 yy: mov a,26h dec a mov 26h,a cjne a,0ffh,next2 。//同上 sjmp next4 next2: mov b,0ah div ab mov 22h,a mov 23h,b sjmp out。//南北紅綠燈控制 next3: cjne r1,00h,light1 。//原先狀態(tài)是否為紅燈,下一個(gè)為黃燈 mov 25h,05h inc r1 clr 78h setb 79h sjmp yy light1: cjne r1,01h,light2 。//原先的狀態(tài)是否為黃燈,下一個(gè)為綠燈 mov 25h,19h inc r1 clr 79h setb 7ah 33 sjmp yy light2: cjne r1,02h,light3 。// 原先的狀態(tài)是否為綠燈,下一個(gè)是黃燈 mov 25h,05h inc r1 clr 7ah setb 79h sjmp yy light3: cjne r1,03h,light4 。// 原來(lái)的狀態(tài)是否為黃燈,下一個(gè) 是紅燈 mov 25h,19h mov r1,00h clr 79h setb 78h light4: sjmp yy。//東西交通燈 next4 : cjne r2,00h,light11 。//原先狀態(tài)是否為紅燈,下一個(gè)為黃燈 mov 26h,05h 。 //對(duì)黃燈付倒計(jì)數(shù)值 inc r2 。 //變換到下一個(gè)狀態(tài) clr 7bh 。//操作紅綠燈的相應(yīng)位,采用位尋址 setb 7ch sjmp out 。 //跳出 light11: cjne r2,01h,light21 。//原先的狀態(tài)是否為黃燈,下一個(gè)為綠燈 mov 26h,19h 。同上 inc r2 34 clr 7ch setb 7dh sjmp out light21: cjne r2,02h,light31 。// 原先的狀態(tài)是否為綠燈,下一個(gè)是黃燈 mov 26h,05h inc r2 clr 7dh setb 7ch sjmp out light31: cjne r2,03h,light41 。// 原來(lái)的狀態(tài)是否為黃燈,下一個(gè)是紅燈 mov 26h,19h mov r2,00h clr 7ch setb 7bh light41: sjmp out out: 。// 中斷結(jié)束,恢復(fù)堆棧中的值 pop psw pop acc reti /* 數(shù)碼管段碼表 從 0到 9 */ 35 led_table: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh end
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1