【正文】
E_Init (); 功能:定時(shí)器初始化 指令: 調(diào)用:無 返回:無 /******************************************************************/ void TIME_Init () { TMOD = 0x01。 Delay1Ms(1)。(key_flag == 0) ) { if(half_sec % 2 == 1) SN_Y_ON。 P2=LED7Code[(secINTERIM)/10]。 P1=LED[0]。 //南北方向紅燈 Delay1Ms(1)。 P2=LED7Code[sec/10]。 P1=LED[3]。 P2 = 0XFF。TR0 = 0。//設(shè)置時(shí)間 case 1:TR0 = 1。 //0:東西通行, 1:南北通行 bit interim_flag = 0。 //延時(shí) t*1s void key_scan()。 且功能的全面性還不夠強(qiáng),經(jīng)過這么長的時(shí)間的失敗到成功的過程,讓我更加清楚的明白單片機(jī)的運(yùn)用就是對(duì)其端口的控制,同時(shí)外圍電路的設(shè)計(jì)以及了解,讓我對(duì)以前學(xué)過的知識(shí)能更加了解和認(rèn)識(shí),比如: 電路 、 數(shù)、模電子技術(shù) 、 單片機(jī)技術(shù) 、 自動(dòng)檢測(cè)技術(shù) 、 電路板設(shè)計(jì) 、 智能儀器的設(shè)計(jì)應(yīng)用 與 傳感器的使用 。 //確定 } while(KEY4== 0)。 //按下延時(shí)消顫 if (KEY3 == 0) { if(key_flag == 3) key_flag = 0。 //彈起延時(shí)消顫 while(KEY1 == 0)。其圖如 圖 [54], 而我們用的是獨(dú)立式鍵盤,如上圖 [53]。 } } } .按鍵子程序流程圖 它包含倒計(jì)時(shí)調(diào)整和緊急狀態(tài)兩個(gè)狀態(tài)。 Delay1Ms(1)。(key_flag == 0) ) { if(half_sec % 2 == 1) SN_Y_ON。 P2=LED7Code[(secINTERIM)/10]。 P1=LED[0]。 //南北方向紅燈 Delay1Ms(1)。 P2=LED7Code[sec/10]。 P1=LED[3]。 P2 = 0XFF。TR2 = 0。//設(shè)置時(shí)間 case 1:TR2 = 1。后面 S S S4 與 S1 一樣,在這過程中,如果遇到突發(fā)事件,則要進(jìn)行突發(fā)事件的按鍵處理,當(dāng)突發(fā)事件處理完后,在回到主程序,其流程圖 如圖 [5- 1]所示 。但是,顯然在實(shí)際中,使用發(fā)光二極管無法實(shí)現(xiàn)。缺點(diǎn)是工作電流比較高,一 般 工作電流都在 10毫安左右。按照一般的規(guī)則,一個(gè)十字路口可分為主干道和次干道,主干道的放行時(shí)間大于次干道的放行時(shí)間,我們?cè)O(shè)定值時(shí)也應(yīng)以此為參考。 圖 31標(biāo)號(hào)設(shè)定 3— 2 規(guī)則狀態(tài)圖 說明:此圖為直方圖,上邊為北路口燈,右邊為東路口燈,下邊為南路口燈,左邊行人燈 行人燈 白圈代表紅燈 黑圈代表綠燈 左彎燈 車人行駛 右彎燈 成都理工大學(xué)畢業(yè)論文 — 交通燈 7 為西路口燈。 權(quán)衡利弊,第三種方案可互補(bǔ)一二方案的優(yōu)缺,我們決定采用方案三以實(shí)現(xiàn)系統(tǒng)的顯示功能。 綜上所 述,我們選擇第二種方案 ,如圖 [21]。 單片機(jī)的結(jié)構(gòu)有兩種類型 ,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開的形式,即哈佛 (Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓 (Princeton)結(jié)構(gòu)。 8051 單片機(jī)包含中央處理器、程序存儲(chǔ)器 (ROM)、數(shù)據(jù)存儲(chǔ)器 (RAM)、定時(shí) /計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制成都理工大學(xué)畢業(yè)論文 — 交通燈 2 總線等三大總線,現(xiàn)在我們分別加以說明: 中央處理器: 中央處理器 (CPU)是整個(gè)單片機(jī)的核心部件,是 8 位數(shù)據(jù)寬度的處理器,能處理 8 位二進(jìn)制數(shù)據(jù)或代碼, CPU 負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。 信號(hào)燈的出現(xiàn),使交通得以有效管制, 對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。它由紅綠兩 色 旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。 1858 年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車輛一接近紅燈便變?yōu)榫G燈;另一種是用擴(kuò)音器來啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口。 全雙工串行口: 8051 內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。此方案的優(yōu)點(diǎn)是穩(wěn)定可靠,且有各種成熟電路可供選用;缺點(diǎn)是各模塊都采用獨(dú)立電源,會(huì)使系統(tǒng)復(fù)雜,且可能影響電路電平。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。因?yàn)樵O(shè)計(jì)時(shí)精簡(jiǎn)和優(yōu)化了電路,所以剩余 的口資源還比較多,我們使用四個(gè)按鍵,分別是 K K K K4。因此最終只需寫出一組 S SS S4 的邏輯狀態(tài)表。由于在數(shù)碼管的右下角增加了一個(gè)小數(shù)點(diǎn),形成了所謂的 8 段數(shù)碼管。連接后的時(shí)間顯示電路,如圖 [422]所示,雖然路口不一樣,但是顯示的時(shí)間在數(shù)字上是一樣的,所以兩邊連接的 I/O 口是對(duì)稱的 ,原理圖如圖[423]。當(dāng)光敏二極管關(guān)斷時(shí),三極管的基極為低電平,基極與發(fā)射極之間電壓為零,三極管關(guān)斷,檢測(cè)口的電壓為高電平;同理,當(dāng)光敏二極管導(dǎo)通時(shí),三極管的基極電壓為高電平,基極與發(fā)射極之間的電壓為高,三極管導(dǎo)通,檢測(cè)口的電壓為低電平。 //按鍵掃描 switch (key_flag) { case 0:t++。break。 P1=LED[0]。 P2=LED7Code[sec/10]。(key_flag == 0) ) { if(half_sec % 2 == 1) EW_Y_ON。 Delay1Ms(1)。 } //==========狀態(tài) S3======== if( (aspect_flag == 1)amp。 P2=LED7Code[sec%10]。 Delay1Ms(1)。 P2 = 0XFF。 P1=LED[3]。鍵盤上閉合鍵的識(shí)別由專用的硬件編 碼器實(shí)現(xiàn),并產(chǎn)生鍵編碼號(hào)或鍵值的稱為編碼鍵盤,如計(jì)算機(jī)鍵盤 .而靠軟件編程來識(shí)別的稱為非編碼鍵盤;在單片機(jī)組成的各種系統(tǒng)中,用的最多的是非編碼鍵盤。 //取消 else key_flag = 1。 Delay1Ms(5)。 }if (KEY4 == 0) { Delay1Ms(10)。 圖 61 ISP 下載軟件 整體電路測(cè)試 成都理工大學(xué)畢業(yè)論文 — 交通燈 22 系統(tǒng)上電,刷寫好程序即可開始測(cè)試,觀測(cè)一個(gè)周期(共計(jì) S1~ S4四個(gè)狀態(tài),( 默認(rèn) 140 秒 ) 燈的顯示狀態(tài)是否正常,同時(shí)觀察倒計(jì)的計(jì)數(shù)是否正常 ,以及按鍵調(diào)節(jié)突發(fā)事件,是否正常。 //南北禁行 //====================函數(shù)定義 =============================== void TIME_Init ()。 //半秒,秒寄存器 uchar key_flag。 //按鍵掃描 switch (key_flag) { case 0:t++。break。 P1=LED[0]。 P2=LED7Code[sec/10]。(key_flag == 0) ) { if(half_sec % 2 == 1) EW_Y_ON。 Delay1Ms(1)。 } //==========狀態(tài) S3======== if( (aspect_flag == 1)amp。 P2=LED7Code[sec%10]。 Delay1Ms(1)。 P2 = 0XFF。 P1=LED[3]。 //定時(shí)器 0 中斷開 TR0 = 1。 //清 零 if(sec ==INTERIM ) { interim_flag = 1。 Delay1Ms(5)。 } if (KEY3 == 0) { Delay1Ms(10)。 //取消 else key_flag = 4。t) { for (i=0。 [9] 21IC 單片機(jī)學(xué)習(xí)網(wǎng)。s Premier League match at Chelsea on Sunday. I am going to be at the match tomorrow and I have asked to meet Yaya Toure, he told BBC Sport. For me it39??傆X 得自己自己似乎應(yīng)該去做點(diǎn)什么,或者寫點(diǎn)什么。 Originally, this world, can produce a chemical reaction to an event, in addition to resolutely, have to do, and time. 原來,這個(gè)世界上,對(duì)某個(gè)事件能產(chǎn)生化學(xué)反應(yīng)的,除了非做不可的堅(jiān)決 ,還有,時(shí)間。 Those were broken into various shapes of stationery。t. Baumgartner still will free fall at a speed that would cause you and me to pass out, and no parachute is guaranteed to work higher than 25,000 feet (7,620 meters). cause there 。 Have declared the end of the encounter that haven39。s time, your ideas are always special to clear. Want, want, line is clear, as if nothing could shake his. Also once seemed to be determined to do something, but more often is he backed out at last. Dislike his cowardice, finally found that there are a lot of love, there are a lot of miss, like shadow really have been doomed. Those who do, just green years oneself give oneself an arm injection, or is a selfrighteous spiritual. 一個(gè)人的時(shí)候,自己的想法總是特別地清晰。 The end of our life, and can meet many things really do? 而窮盡我們的一生,又能遇到多少事情是真正地非做不可? During my childhood, think lucky money and new clothes are necessary for New Year, but as the advance of the age, will be