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

正文內(nèi)容

基于at89s51單片機(jī)的交通燈設(shè)計-文庫吧資料

2024-11-18 23:44本頁面
  

【正文】 break。//東西方向綠燈 EW_yellow=1。 t_ew=init_ew[state_val_ew]。 } else { state_val_ew++。//南北方向紅燈 break。//南北方向綠燈 SN_yellow=1 。//南北方向紅燈 break。//南北方向綠燈 SN_yellow=0 。//南北方向紅燈 break。//南北方向綠燈 SN_yellow=1 。 t_sn=init_sn[state_val_sn]。 } else { state_val_sn++。 if(T1_t3999) //如果計數(shù) 3999, 計時 1s { T1_t=0。 delay(100)。 //暫存十位 P0=led_seg_code[i]。 delay(100)。 //暫存?zhèn)€位 P0=led_seg_code[i]。 delay(100)。 //暫存十位 P0=led_seg_code[i]。 delay(100)。 //暫存?zhèn)€位 P0=led_seg_code[i]。 } // void led_show(unsigned int u,unsigned int v) { unsigned char i。 char code init_ew[3]={29,24,4}。 char code led_seg_code[10]={0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。 unsigned int data T1_t。//東西方向黃燈 sbit EW_red=P3^3 。//南北方向紅燈 sbit EW_green=P3^5 。//南北方向綠燈 sbit SN_yellow=P3^1 。1黃燈亮 。 然后,上電重新啟動單片機(jī),檢查所編寫的程序是否達(dá)到題目的要求,是否全面完整地完成試題的內(nèi)容。 硬件調(diào)試方案:在設(shè)計平臺中,將單片機(jī)的 分別與獨立式鍵盤的相應(yīng)位通過插線連接起來。 在 “項目 \編譯 ”菜單中將 C 源文件編譯,檢查語法錯誤及邏輯錯誤。 ③ 程序流程 ( 4)軟硬件調(diào)試方案 軟件調(diào)試方案:偉福軟件中,在 “文件 \新建文件 ”中,新建 C 語言源程序文件,編寫相應(yīng)的程序。 在初始化變量與寄存器后,主程序進(jìn)入一個循環(huán)結(jié)構(gòu),在循環(huán)中只做動態(tài)掃描的工作,根據(jù)東西、 南北兩向的剩余時時間進(jìn)行動態(tài)掃描顯示。 ② 程序設(shè)計思路 在設(shè)計中,由于沒有鍵盤功能,因此只涉及定時計數(shù)和動態(tài)掃描功能。還需要定義兩個變量 ( t_ sn, t_ ew)暫存東西、南北兩個方向的倒計時剩余時間。 ( 3)程序設(shè)計思路,單片機(jī)資源分配以及程序流程 ① 單片機(jī)資源分配 單片機(jī) P3 口的 引腳用作輸出,控制發(fā)光二極管的顯示。用 P3 口的 完成發(fā)光二極管的控制,實現(xiàn)交通燈信號的顯 示,每個發(fā)光二極管串聯(lián) 500 歐姆電阻起限流作用。 整個程序依據(jù)定時器的溢出數(shù)來計時,每計時 1S 則相應(yīng)狀態(tài)的剩余時間減 1,一直減到 0 時觸發(fā)下一個狀態(tài)的開始。開始下一個狀態(tài),如此循環(huán)重復(fù)執(zhí)行。當(dāng)計時每到 1 秒鐘后,東西、南北信號燈各狀態(tài)的暫存剩余時間的變量減 1。 表 1 交通燈的狀態(tài)切換表 南北方向 東西方向 序號 狀態(tài) 序號 狀態(tài) 1 綠燈亮 25 秒,紅、黃燈滅 1 紅燈亮 30秒,綠、黃燈滅 2 黃燈亮 5 秒,紅、綠燈滅 3 紅燈亮 30 秒,綠、黃燈滅 2 綠燈亮 25秒,紅、黃燈滅 3 黃燈亮 25秒,紅、綠燈滅 回到狀態(tài) 1 回到狀態(tài) 1 模塊 1:系統(tǒng)設(shè)計 ( 1)任務(wù)分析與整體設(shè)計思路 試題要求實現(xiàn)的功能主要包括計時功能、動態(tài)掃描以及狀態(tài)的切換等幾部分。已知東、西、南、北四個方向各有紅黃綠色三個燈,在東西方向有兩個數(shù)碼管,在南北方向也有兩個數(shù)碼管。返回中斷前狀態(tài) POP ACC MOV P1,A RETI 。東西通行,南北禁止通行 CLR JNB ,$ 。中斷保護(hù) MOV A,P2 PUSH ACC MOV P1,0FFH 。中斷返回 INT1:MOV A,P1 。判斷是否還在中斷狀態(tài) POP ACC MOV P2,A 。清除先前狀態(tài) MOV P2,0FFH CLR CLR 。外部 0中斷 PUSH ACC MOV A,P2 。外部中斷 1入口 LJMP INT1 。外部中斷 0入口 LJMP INT0 。用于存放第三第四南北狀態(tài)要顯示的時間 TEMP4 EQU 27H 。用于存放第一二南北狀態(tài)要顯示的時間 TEMP2 EQU 25H 。用于存放東西十位數(shù) D_BIT EQU 23H 。用于存放南北十位數(shù) B_BIT EQU 21H 。 DELAY R4 設(shè)置的初值為 8 主延時 程序循環(huán) 8次,所以 125us*8= 1 秒由于單片機(jī)的運行速度很快其他的指令執(zhí)行時間可以忽略不計。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定 1秒的時間。 MOV IE, 82H RET1 END 軟件延時 MCS51 的工作頻率為 212MHZ,我們選用的 8031 單片機(jī)的工作頻率為 6MHZ。恢復(fù) R0值 MOV TH0, 3CH 。軟件計數(shù)器賦初值 LOOP: SJMP $ ; 等待中斷 (2)中斷服務(wù)子程序 ORG 00BH AJMP BRT0 ORG 00BH BRT0: DJNZ R0, NEXT AJMP TIME 。 MOV IE, 82H 。 令 T0 為定時器方式1 MOV TH0, 3CH 。 相應(yīng)程序代碼 (1)主程序 定時器需定時 50毫秒,故 T0 工作于方式 1。在中斷服務(wù)子程序中, CPU 先使 軟件計數(shù)器減1,然后判斷它是否為零。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為 C和計數(shù)初值設(shè)定為 TC 可得到如下計算通式 : TC=MC 式中, M 為計數(shù)器模值,該值 和計數(shù)器工作方式有關(guān)。 計數(shù)器硬件延時 .a計數(shù)器初值計算 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到 TH和 TL 中的。由于東往西方向和西往東方向顯示的時間相同,南往北方向和北往南方向顯示的時間也相同,所以只需要考慮四位數(shù)碼管顯示電路,其中東西方向兩位,南北方向兩位,兩位數(shù)碼管可以時間的時間為 099秒完全可以滿足系統(tǒng)的要求,數(shù)碼管連接方法如圖 44所示 。綠燈的最短時間為 20 秒,最長時間為 40 秒,紅紅最短時間為 25秒,最長時間為 45秒,黃燈時間為 5秒。每個路口的信號的的轉(zhuǎn)換順序為:綠 —— 黃 —— 紅 綠燈表示允許通行,黃燈表示禁止通行,但已經(jīng)駛過安全線的車輛可以繼續(xù)通行,是綠燈過渡到紅燈提示燈。十字路口車輛通行順序如圖 42 所示: 圖 42 十字路口車輛通行順序 由于南往北,北往南時間顯示相同,所以只要一個方向多車,下次時間就要加長東往西,西往東也一樣,顯示時間選擇如表 3。這樣控制可以把不斷增多的車輛一步一步消化,雖然最后由于每個路口的綠燈放行時間延長而使等候的時間變長,但比塞車等候的時間短得多。這樣檢測,某次可能不準(zhǔn)確,但下次肯定能彌補(bǔ)回來,累積計算是很準(zhǔn)確的,這就是人們常說的“模糊控制”。 用來判斷各方向車輛狀況 ,比如: 20 秒內(nèi)可以通過的車輛為 20 輛,當(dāng) 20秒內(nèi)南往北方向車輛通過車輛達(dá)不到 20輛時,判斷該方向為少車,當(dāng) 20秒內(nèi)北往南方向車輛通過車輛也達(dá)不到 20 輛時,判斷該方向也為少車,下一次通行仍為 20 秒,當(dāng) 20秒時間內(nèi)南往北或北往南任意一個方向通過的車輛達(dá) 20輛時證明該狀態(tài)車輛較多,下一次該方向綠燈放行時間改為 40 秒,當(dāng) 40 秒內(nèi)通過的車輛數(shù)達(dá) 45 輛時車輛判斷為擁擠,下一次綠燈放行時間改 仍為 40 秒,當(dāng) 40 秒車輛上通過車輛達(dá)不到 45 輛時,判斷為少車,下次綠燈放行時間改為 20 秒, 依此類推。在非擁擠時段綠燈的通行時間的下限為 20 秒,當(dāng)交叉路口雙方車輛較少時通行時間設(shè)為 20 秒,這樣 可以大大縮短車輛在紅燈面前的等待時間。人們總是希望在交通燈前等候的時間越短越好。顯然在車輛擁擠的情況下綠燈的通行時間越長,單位時間內(nèi)通行的車輛越多,可以有效緩解車輛擁堵問題。如果每次車輛通行的時間改為 40秒, 40 秒內(nèi)每車道可以通過 45 輛 ,一個紅綠燈循環(huán)是 80 秒 (單交叉路口 ),加上每次狀態(tài)轉(zhuǎn)換的黃燈 5秒(一個循環(huán)要兩次轉(zhuǎn)換),即一個紅綠黃燈循 環(huán)要 90 秒,即 90秒內(nèi)通行的車輛為 90 輛。我們來計算一下,每車道通行 20秒內(nèi)可以通過 20 輛車,一個紅綠燈循環(huán)是 40 秒 (單交叉路口 ),加上每次狀態(tài)轉(zhuǎn)換的黃燈 5 秒(一個循環(huán)要兩次轉(zhuǎn)換),即一個紅綠黃燈循環(huán)要 50 秒,即 50 秒內(nèi)通行的車輛為 40輛。因為這有一個起步的問題,還有一個黃燈等待問題。 智能交通燈系統(tǒng)的工作原理 大 家都明 白,綠燈的放行時間與車輛通過數(shù)量不成正比。其中紅燈( R)亮,表示禁止通行;黃燈( Y)亮表示暫停;綠燈( G)亮表示允許通行。 XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。 F1ash 存儲器編程時,該引腳加上 +12V的編程電壓 Vpp。需注意的是:如果加密位 LB1 被編程,復(fù)位時內(nèi)部會鎖存 EA 端狀態(tài)。 EA—— / VPP:外部訪問允許。當(dāng)訪問外部數(shù)據(jù)存儲器,沒有兩次有效的 PSEN————信號。 該位置位后,只有一條 M0VX 和 M0VC 指令 ALE 才會被激活。對 F1ash存儲器編程期間,該引腳還用于輸入編程脈沖( PROG)。即使不訪問外部存儲器, ALE 仍以時鐘振蕩頻率的 1/ 6 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。 WDT 溢出將使該引腳輸出高電平,設(shè)置 SFR AUXR 的 DISRT0 位(地址 8EH)可打開或關(guān)閉該功能。 RST: 復(fù)位輸入。 P3 口除了作為一般 的 I/ 0口線外,更重要的用途是它的第二功能,如下表所示: 表 2 具有第二功能的 P1口引腳 端口引腳 第二功能: RXD(串行輸入口) TXD(串行輸出口) /INT0(外中斷 0) / INT1(外中斷 1) T0(定時/計數(shù)器 0 外部輸入) T1(定時/計數(shù)器 1 外部輸入) / WR(外部數(shù)據(jù)存儲器寫選通) / RD 外部數(shù)據(jù)存儲器讀選通) P3口還接收一些用于 Flash 閃速存儲器編程和程序校驗的控制信號。對 P3 口寫入“ l”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。 P3 口: P3 口是一組帶有內(nèi)部上拉電阻的 8 位雙向 I/ 0 口。 Flash 編程或校驗時, P2 亦接收高位地址和其它控制信號。在訪問外部程序存儲器或 16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行 MOVXDPTR 指令)時, P2 口送出高 8位地址數(shù)據(jù)。 P2 口: P2 是一個帶有內(nèi)部上拉電阻的 8 位雙向 I/ O 口, P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流) 4 個 TTL 邏輯門電路。 Flash 編程和程序校驗期間, Pl接收低 8位地址。對端口寫“ l”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。 作為輸出口用時,每位能驅(qū)動 8個 TTL 邏輯門電路,對端口 寫“ l”可作為高阻抗輸入端用。 GND:地 圖 32 AT89S51 系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖 主要引腳功能 AT89S51 引腳圖如圖 31所示: AT89S51共有 5 個中斷源,其中又 2 個外部中斷源和 3 個內(nèi)部中斷源。 每個口都由 1 個鎖存器和一個驅(qū)動器組成。 定時 /計數(shù)器 (ROM): 定時 /計數(shù)器用于 實現(xiàn)定時和計數(shù)功能。 AT89S51 內(nèi)部配置了 4KB 閃存。 程序存儲器 (內(nèi)部 ROM): 程序 存儲器用于存放程序和固定不變的常數(shù)等。 AT89S51 中數(shù)據(jù)存儲器的地址空間為 256個 RAM 單
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1