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

正文內(nèi)容

基于單片機(jī)的交通燈控制系統(tǒng)設(shè)計(編輯修改稿)

2025-02-12 11:19 本頁面
 

【文章內(nèi)容簡介】 片機(jī)時鐘周期TCLK的12倍;TC為定時初值如單片機(jī)的主脈沖頻率為TCLK12MHZ ,經(jīng)過12分頻方式0   TMAX=213?。蔽⒚耄椒绞剑薄  MAX=216 *1微秒= 顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題. 1秒的方法   我們采用在主程序中設(shè)定一個初值為20的軟件計數(shù)器和使T0定時50毫秒.這樣每當(dāng)T0到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時間顯示程序。 相應(yīng)程序代碼(1)主程序 定時器需定時50毫秒,故T0工作于方式1。初值:TC=MT/ T計數(shù)=216-50ms/1us=15536=3CBOH ORG 1000HSTART: MOV TMOD, 01H 。 令T0為定時器方式1 MOV TH0, 3CH 。裝入定時器初值 MOV TL0, BOH。 MOV IE, 82H 。開T0中斷 SEBT TR0;啟動T0計數(shù)器 MOV RO,14H。軟件計數(shù)器賦初值LOOP:SJMP ;等待中斷(2)中斷服務(wù)子程序 ORG 000BH AJMP BRTO ORG 00BH BRTO:DJNZ R0,NEXTAJMP TIME 。 跳轉(zhuǎn)到時間及信號燈顯示子程序 DJNZ:MOV R0,#14H;恢復(fù)R0值 MOV TH0, 3CH 。重裝入定時器初值 MOV TL0, BOH。 MOV IE, 82H RET1 END 軟件延時 MCS51的工作頻率為212MHZ,我們選用的8031單片機(jī)的工作頻率為6MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個機(jī)器周期的時間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時間。 具體的延時程序分析: DELAY:MOV R4,08H 延時1秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RET DELAY1:MOV R6,0 延時125ms 子程序 MOV R5,0DE1: DJNZ R5,$ DJNZ R6,DE1 RET MOV Rn,DATA 字節(jié)數(shù)數(shù)為2 機(jī)器周期數(shù)為1所以此指令的執(zhí)行時間為2ms DELAY1 為一個雙重循壞 循環(huán)次數(shù)為256*256=65536 所以延時時間=65536*2=131072us 約為125us DELAY R4設(shè)置的初值為8 主延時程序循環(huán)8次,所以125us*8= 1秒 由于單片機(jī)的運行速度很快其他的指令執(zhí)行時間可以忽略不計。 時間及信號燈的顯示 8051并行口的擴(kuò)展 8051雖然有4個8位I/O端口,但真正能提供借用的只有P1口,因為P2和P0口通常用于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,8031通常需要擴(kuò)展。由于我們用外部輸入設(shè)定紅綠燈倒計時初值、數(shù)碼管的輸出顯示、紅綠黃信號燈的顯示都要用到一個I/O端口,顯然8031的端口是不夠,需要擴(kuò)展。 擴(kuò)展的方法有兩種:(1)借用外部RAM地址來擴(kuò)展I/O端口;(2)采用I/O接口新片來擴(kuò)充。我們用8255并行接口信片來擴(kuò)展I/O端口。:當(dāng)定時器定時為1秒,時程序跳轉(zhuǎn)到時間顯示及信號燈顯示子程序,它將依次顯示信號燈時間 ,同時一直顯示信號燈的顏色,這時在返回定時子程序定時一秒,在顯示黃燈的下一個時間,這樣依次把所有的燈色的時間顯示完后在重新給時間計數(shù)器賦初值 ,重新進(jìn)入循環(huán)。 8255PA口輸出信號接信號燈:由于發(fā)光二極管為共陽極接法,輸出端口為低電平,對應(yīng)的二極管發(fā)光,所以可以用置位方法點亮紅,綠,黃發(fā)光二極管。 8255輸出信號與數(shù)碼管的連接: LED 燈的顯示原理:通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點量而顯示不同的字形如 SP,g,f,e,d,c,b,a 管角上加上7FH所以?。樱猩蠟椋胺?,不亮其余為TTL高電平,全亮則顯示為8采用共陰級連接:其中 PC0\PB0a,PC1\PB1b, PC2\PB2c,PC3\PB3d,PC4\PB4e, PC5\PB5f,PC6\PB6gPC7\PB7 SP接地顯示數(shù)值dop g f e d c b a 驅(qū)動代碼(16進(jìn)制)00 0 1 1 1 1 1 1 3FH1 0 0 0 0 0 1 1 006H2 0 1 0 1 1 0 1 15BH3 0 1 0 0 1 1 1 14FH4 0 1 1 0 0 1 1 066H5 0 1 1 0 1 1 0 06DH6 0 1 1 1 1 1 0 07DH7 0 0 0 0 0 1 1 107H8 0 1 1 1 1 1 1 17FH 表 3 驅(qū)動代碼表 8255與8051的連接:用8051的P0 口的 連接8255的片選信號cs 我們用8031的地址采用全譯碼方式, =0 時片選有效, 其他無效, 用于選擇8255端口 A7 A6 A5 A4 A3 A2 A1 A01 X X X X X 0 0 00H為8255 的PA口1 X X X X X 0 1 01H 為8255的PB口1 X X X X X 1 0 02H 為8255的PC口1 X X X X X 1 1 03H 為8255的控制口由于8051是分時對8255和儲存器進(jìn)行訪問所以8051的P0口不會發(fā)生沖突 程序設(shè)計開始初始化等待鍵盤事件顯示程序處理鍵盤事件處理 圖8 圖9 程序流程圖 程序源代碼 ORG 0000H 。主程序的入口地址 LJMP MAIN 。跳轉(zhuǎn)到主程序的開始處 ORG 0003H 。外部中斷0的中斷程序入口地址 ORG 000BH 。定時器0的中斷程序入口地址 LJMP T0_INT 。跳轉(zhuǎn)到中斷服務(wù)程序處 ORG 0013H 。外部中斷1的中斷程序入口地址 MAIN : MOV SP,50H MOV IE,8EH 。CPU開中斷,允許T0中斷,T1中斷和外部中斷1中斷 MOV TMOD,51H 。設(shè)置T1為計數(shù)方式,T0為定時方式,且都工作于模式1 MOV TH1,00H 。T1計數(shù)器清零 MOV TL1,00H SETB TR1 。啟動T1計時器 SETB EX1 。允許INT1中斷 SETB IT1 。選擇邊沿觸發(fā)方式 MOV DPTR ,0003H MOV A, 80H 。給8255賦初值,8255工作于方式0 MOVX @DPTR, A //ST0:MOV P3 ,0F0HAGAIN: JB ,N0 。判斷是否要設(shè)定東西方向紅綠燈時間的初值, 則跳轉(zhuǎn) MOV A,P1 JB ,RED 。,若為1則設(shè)定紅燈時間,否則設(shè)定綠燈時間 MOV R0,00H 。R0清零 MOV R0,A 。存入東西方向綠燈初始時間 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAINRED: MOV A,P1 ANL A,7FH 。 MOV R7,00H 。R7清零 MOV R7,A 。存入東西方向紅燈初始時間 MOV R3,A LCALL DISP1 LCALL DELAY AJMP AGAIN。N0: SETB TR0 。啟動T0計時器 MOV 76H,R7 。紅燈時間存入76HN00: MOV A,76H 。東西方向禁止,南北方向通行 MOV R3,A MOV DPTR,0000H 。置8255A口,東西方向紅燈亮,南北方向綠燈亮 MOV A,0DDH MOVX @DPTR, AN01: JB ,B0N02: SETB CJNE R3,00H,N01 。比較R3中的值是否為0,不為0轉(zhuǎn)到當(dāng)前指令處執(zhí)行。黃燈閃爍5秒程序N1: SETB MOV R3,05H MOV DPTR,0000H 。置8255A口,東西,南北方向黃燈亮 MOV A,0D4H MOVX @DPTR,AN11: MOV R4,00HN12: CJNE R4,7DH,$ 。N13: MOV DPTR,0000H 。 置8255A口,南北方向黃燈滅 MOV A,0DDH MOVX @DPTR,AN14: MOV R4,00H CJNE R4,7DH,$ 。 CJNE R3,00H,N1 。閃爍時間達(dá)5秒則退出。N2: MOV R7,00H MOV A,R0 。東西通行,南北禁止 MOV R3,A MOV DPTR,0000H 。 置8255A口,東西方向綠燈亮,南北方向紅燈亮 MOV A,0EBH MOVX @DPTR,AN21: JB ,T03 N22: CJNE R3,00H,N21。黃燈閃爍5秒程序N3: MOV R3,05H MOV DPTR,0000H 。置8255A口,東西,南北方向黃燈亮 MOV A,0E2H MOVX @DPTR,AN31: MOV R4,00H CJNE R4,7DH,$ 。N32: MOV DPTR,0000H 。 置8255A口,南北方向黃燈滅 MOV A,0EBH MOVX @DPTR,AN33: MOV R4,00H CJNE R4,7DH,$ 。 CJNE R3,00H,N3 。閃爍時間達(dá)5秒則退出 SJMP N00。闖紅燈報警程序B0: MOV R2,03H 。報警持續(xù)時間3秒B01: MOV A,R3 JZ N1 。若倒計時完畢,不再報警 CLR 。報警 CJNE R2,00H,B01 。判斷3秒是否結(jié)束 SJMP N02。1秒延時子程序N7:
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1