3 AT89S51單片機簡介 3.1 單片機概述 單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領域,故又稱為微控制器。通常,單片機由單塊集成電路芯片構成,內部包含有計算機的基本功能部件:中央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當的軟件及外部設備相結合,便可成為一個單片機控制系統。 AT89S51是美國ATMEL公司生產的低功耗,高性能CMOS8位單片機,片內含4k bytes的可系統編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準8051指令系統及引腳。它集Flash程序存儲器 既可在線編程(ISP)也可用傳統方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89S51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領域。 3.2 AT89S51單片機的主要性能參數和主要引腳 3.2.1 主要性能參數 與單片機產品兼容8K字節在系統可編程Flash存儲器、1000次擦寫周期、全靜態操作:0Hz~33Hz、三級加密程序存儲器、32個可編程I/O口線 、三個16位定時器/計數器 八個中斷源 、全雙工UART串行通道低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數據指針、掉電標識符。 3.2.2 AT89S51芯片內部結構簡介 ·中央處理器: 中央處理器(CPU)是整個單片機的核心部件,是8位數據寬度的處理器,能處理8位二進制數據或代碼,CPU負責控制、指揮和調度整個單元系統協調的工作,完成運算和控制輸入輸出功能等操作。 ·數據存儲器(內部RAM): 數據存儲器用于存放變化的數據。AT89S51中數據存儲器的地址空間為256個RAM單元,但其中能作為數據存儲器供用戶使用的僅有前面128個,后128個被專用寄存器占用。 ·程序存儲器(內部ROM): 程序存儲器用于存放程序和固定不變的常數等。通常采用只讀存儲器,且其又多種類型,在89系列單片機中全部采用閃存。AT89S51內部配置了4KB閃存。 ·定時/計數器(ROM): 定時/計數器用于實現定時和計數功能。AT89S51共有2個16位定時/計數器。 ·并行輸入輸出(I/O)口: 8051共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數據的傳輸。每個口都由1個鎖存器和一個驅動器組成。它們主要用于實現與外部設備中數據的并行輸入與輸出,有些I/O口還有其他功能。 ·全雙工串行口: A89S51內置一個全雙工串行通信口,用于與其它設備間的串行數據傳送,該串行口既可以用作異步通信收發器,也可以當同步移位器使用。 ·時鐘電路: 時鐘電路的作用是產生單片機工作所需要的時鐘脈沖序列。 ·中斷系統: 中斷系統的作用主要是對外部或內部的終端請求進行管理與處理。AT89S51共有5個中斷源,其中又2個外部中斷源和3個內部中斷源。 圖3-2是AT89S51系列單片機的內部結構示意圖。 圖3-2 AT89S51系列單片機的內部結構示意圖
3.2.3 主要引腳功能 AT89S51 引腳圖如圖3-1所示: ·VCC:電源電壓 ·GND:地 ·P0口:P0口是一組8位漏極開路型雙向I/0口,也即地址/數據總線復用口。作為輸出口用時,每位能驅動8個TTL邏輯門電路,對端口寫“l”可作為高阻抗輸入端用。在訪問外部數據存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數據總線復用,在訪問期間激活內部上拉電阻。 ·P1口:Pl 是一個帶內部上拉電阻的8位雙向I/O口,Pl的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“l”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。Flash編程和程序校驗期間,Pl接收低8位地址。 表1 具有第二功能的P1口引腳 端口引腳 第二功能: P1.5 MOSI(用于ISP編程) P1.6 MOSI(用于ISP編程) P1.7 MOSI(用于ISP編程) ·P2 口:P2 是一個帶有內部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級可驅動(吸收或輸出電流)4 個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數據存儲器(例如執行MOVX@DPTR指令)時,P2口送出高8位地址數據。在訪問8 位地址的外部數據存儲器(如執行MOVX@Ri 指令)時,P2 口線上的內容(也即特殊功能寄存器(SFR)區中P2寄存器的內容),在整個訪問期間不改變。Flash編程或校驗時,P2亦接收高位地址和其它控制信號。 ·P3 口:P3 口是一組帶有內部上拉電阻的8 位雙向I/0 口。P3 口輸出緩沖級可驅動(吸收或輸出電流)4 個TTL邏輯門電路。對P3口寫入“l”時,它們被內部上拉電阻拉高并可作為輸入端口。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下表所示: 表2 具有第二功能的P1口引腳 端口引腳 第二功能: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外中斷0) P3.3 / INT1(外中斷1) P3.4 T0(定時/計數器0外部輸入) P3.5 T1(定時/計數器1外部輸入) P3.6 / WR(外部數據存儲器寫選通) P3.7 / RD外部數據存儲器讀選通) P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。 ·RST:復位輸入。當振蕩器工作時,RST引腳出現兩個機器周期以上高電平將使單片機復位。WDT 溢出將使該引腳輸出高電平,設置SFR AUXR的DISRT0 位(地址8EH)可打開或關閉該功能。DISRT0位缺省為RESET輸出高電平打開狀態。 ·ALE/:當訪問外部程序存儲器或數據存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節。即使不訪問外部存儲器,ALE 仍以時鐘振蕩頻率的1/6 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對F1ash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條M0VX和M0VC指令ALE才會被激活。此外,該引腳會被微弱拉高,單片機執行外部程序時,應設置ALE無效。 ·程序儲存允許()輸出是外部程序存儲器的讀選通信號,當AT89S51 由外部程序存儲器取指令(或數據)時,每個機器周期兩次有效,即輸出兩個脈沖。當訪問外部數據存儲器,沒有兩次有效的信號。 ·/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態。如EA端為高電平(接VCC端),CPU則執行內部程序存儲器中的指令。F1ash存儲器編程時,該引腳加上+12V的編程電壓Vpp。 ·XTAL1:振蕩器反相放大器及內部時鐘發生器的輸入端。 4 智能交通燈方案的實現 根據設計任務和要求,可畫出該控制器的原理框圖, 為確保十字路口的交通安全,往往都采用交通燈自動控制系統來控制交通信號。其中紅燈(R)亮,表示禁止通行;黃燈(Y)亮表示暫停;綠燈(G)亮表示允許通行。 4.1 系統總框圖如圖4-1: 圖4-1系統總框圖 4.2 智能交通燈系統的組成 交通燈系統由四部分組成:車檢測電路,信號燈電路,時間顯示電路,緊急轉換開關。 4.3 智能交通燈系統的工作原理 大家都明白,綠燈的放行時間與車輛通過數量不成正比。比如說20秒內每車道可以通過20輛車,40秒內每車道卻可以通過45輛車。因為這有一個起步的問題,還有一個黃燈等待問題。也就是說,綠燈放行時間越長,單位時間通過車輛的數量就越多。我們來計算一下,每車道通行20秒內可以通過20輛車,一個紅綠燈循環是40秒(單交叉路口),加上每次狀態轉換的黃燈5秒(一個循環要兩次轉換),即一個紅綠黃燈循環要50秒,即50秒內通行的車輛為40輛。通過一輛車的平均時間是1.25秒。如果每次車輛通行的時間改為40秒,40秒內每車道可以通過45輛,一個紅綠燈循環是80秒(單交叉路口),加上每次狀態轉換的黃燈5秒(一個循環要兩次轉換),即一個紅綠黃燈循環要90秒,即90秒內通行的車輛為90輛。通過一輛車的平均時間只需1秒。顯然在車輛擁擠的情況下綠燈的通行時間越長,單位時間內通行的車輛越多,可以有效緩解車輛擁堵問題。當然綠燈時間也不可能無限長,要考慮到讓另一路口的等待時間不能過長。人們總是希望在交通燈前等候的時間越短越好。所以筆者設定了綠燈通行時間的上限為40秒。在非擁擠時段綠燈的通行時間的下限為20秒,當交叉路口雙方車輛較少時通行時間設為20秒,這樣可以大大縮短車輛在紅燈面前的等待時間。當交叉路口雙方車輛較多時通行時間設為40秒。 4.3.1車檢測電路 用來判斷各方向車輛狀況,比如:20秒內可以通過的車輛為20輛,當20秒內南往北方向車輛通過車輛達不到20輛時,判斷該方向為少車,當20秒內北往南方向車輛通過車輛也達不到20輛時,判斷該方向也為少車,下一次通行仍為20秒,當20秒時間內南往北或北往南任意一個方向通過的車輛達20輛時證明該狀態車輛較多,下一次該方向綠燈放行時間改為40秒,當40秒內通過的車輛數達45輛時車輛判斷為擁擠,下一次綠燈放行時間改仍為40秒,當40秒車輛上通過車輛達不到45輛時,判斷為少車,下次綠燈放行時間改為20秒, 依此類推。綠燈下限時間為20秒,上限值為40秒,初始時間為20秒。這樣檢測,某次可能不準確,但下次肯定能彌補回來,累積計算是很準確的,這就是人們常說的“模糊控制”。因為路上的車不可能突然增多,塞車都有一個累積過程。這樣控制可以把不斷增多的車輛一步一步消化,雖然最后由于每個路口的綠燈放行時間延長而使等候的時間變長,但比塞車等候的時間短得多。本系統的特點是成本低,控制準確。十字路口車輛通行順序如圖4-2所示: 圖4-2 十字路口車輛通行順序 由于南往北,北往南時間顯示相同,所以只要一個方向多車,下次時間就要加長東往西,西往東也一樣,顯示時間選擇如表3。 表3 顯示時間選擇 車輛情況 本次該方向通行時間 下次該方向通行時間 本次該方向通行時間 本次該方向通行時間 南往北少車,北往南少車 20秒 20秒 40秒 20秒 南往北少車,北往南多車 20秒 40秒 40秒 40秒 南往北多車,北往南少車 20秒 40秒 40秒 40秒 南往北多車,北往南多車 20秒 40秒 40秒 40秒 東往西少車,西往東少車 20秒 20秒 40秒 20秒 東往西少車,西往東多車 20秒 40秒 40秒 40秒 東往西多車,西往東少車 20秒 40秒 40秒 40秒 東往西多車,西往東多車 20秒 40秒 40秒 40秒 4.3.2信號燈電路 首頁 上一頁 1 2 3 下一頁 尾頁 2/3/3 相關論文
首頁 上一頁 1 2 3 下一頁 尾頁 2/3/3
本站部分文章來自網絡,如發現侵犯了您的權益,請聯系指出,本站及時確認刪除 E-mail:349991040@qq.com
論文格式網(www.donglienglish.cn--論文格式網拼音首字母組合)提供其他論文畢業論文格式,論文格式范文,畢業論文范文