版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
~~PAGEPAGE15單片機(jī)控制紅綠燈系統(tǒng)電氣工程學(xué)院信息科學(xué)與工程學(xué)院機(jī)械工程學(xué)院2013級(jí)朱長(zhǎng)春(電自5班)李廣鵬(電信6班)沈云捷(電信6班)劉文強(qiáng)(機(jī)制)李洪珊(電信6班)目錄一、前言 3二、研究目的 3三、單片機(jī)概述 31歷史32特點(diǎn)53基本結(jié)構(gòu)5四、系統(tǒng)設(shè)計(jì)111方法與原理112方案論證與選擇113硬件電路圖設(shè)計(jì)124軟件設(shè)計(jì)12一、前言1概述十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用ATMEL公司生產(chǎn)的單片機(jī)AT89C52為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過(guò)按鍵調(diào)整紅、綠燈燃亮?xí)r間的功能;紅綠黃燈循環(huán)點(diǎn)亮;人行道,緊急情況變換通行方向以及警報(bào)。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。二、研究目的道路交通信號(hào)燈是交通安全產(chǎn)品中的一種類別,是為了加強(qiáng)道路交通管理,減少交通事故的發(fā)生,提高道路使用效率,改善交通狀況的一種重要工具。適用于十字、丁字等交叉路口,由道路交通信號(hào)控制機(jī)控制,指導(dǎo)車輛和行人安全有序地通行。交通信號(hào)燈的種類主要有:機(jī)動(dòng)車道信號(hào)燈,人行橫道信號(hào)燈(即紅綠燈),非機(jī)動(dòng)車道信號(hào)燈,方向指示信號(hào)燈,移動(dòng)式交通信號(hào)燈,太陽(yáng)能閃光警告信號(hào)燈,收費(fèi)站天棚信號(hào)燈。交通信號(hào)燈是交通信號(hào)指揮中的重要組成部分,是道路交通的基本語(yǔ)言。交通信號(hào)燈由紅燈(表示禁止通行)、綠燈(表示允許通行)、黃燈(表示警示)組成。分為:機(jī)動(dòng)車信號(hào)燈、非機(jī)動(dòng)車信號(hào)燈、人行橫道信號(hào)燈、車道信號(hào)燈、方向指示信號(hào)燈、閃光警告信號(hào)燈、道路與鐵路平面交叉道口信號(hào)燈。廣泛用于公路交叉路口,彎道、橋梁等存有安全隱患的危險(xiǎn)路段,指揮司機(jī)或行人交通,促進(jìn)交通暢通,避免交通事故和意外事故發(fā)生。三、單片機(jī)概述1歷史誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段,早期的SCM單片機(jī)都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上發(fā)展出了MCS51系列MCU系統(tǒng)?;谶@一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開(kāi)始出現(xiàn)了16位單片機(jī),但因?yàn)樾詢r(jià)比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大提高。隨著INTELi960系列特別是后來(lái)的ARM系列的廣泛應(yīng)用,32位單片機(jī)迅速取代16位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)。而傳統(tǒng)的8位單片機(jī)的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。高端的32位Soc單片機(jī)主頻已經(jīng)超過(guò)300MHz,性能直追90年代中期的專用處理器,而普通的型號(hào)出廠價(jià)格跌落至1美元,最高端的型號(hào)也只有10美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng)不再只在裸機(jī)環(huán)境下開(kāi)發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處理的高端單片機(jī)甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。早期階段SCM即單片微型計(jì)算機(jī)(SingleChipMicrocomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)?!皠?chuàng)新模式”獲得成功,奠定了SCM與通用計(jì)算機(jī)完全不同的發(fā)展道路。在開(kāi)創(chuàng)嵌入式系統(tǒng)獨(dú)立發(fā)展道路上,Intel公司功不可沒(méi)。1971年intel公司研制出世界上第一個(gè)4位的微處理器;Intel公司的霍夫研制成功世界上第一塊4位微處理器芯片Intel4004,標(biāo)志著第一代微處理器問(wèn)世,微處理器和微機(jī)時(shí)代從此開(kāi)始。因發(fā)明微處理器,霍夫被英國(guó)《經(jīng)濟(jì)學(xué)家》雜志列為“二戰(zhàn)以來(lái)最有影響力的7位科學(xué)家”之一。1971年11月,Intel推出MCS-4微型計(jì)算機(jī)系統(tǒng)(包括4001ROM芯片、4002RAM芯片、4003移位寄存器芯片和4004微處理器)其中4004(下圖)包含2300個(gè)晶體管,尺寸規(guī)格為3mm×4mm,計(jì)算性能遠(yuǎn)遠(yuǎn)超過(guò)當(dāng)年的ENIAC,最初售價(jià)為200美元。1972年4月,霍夫等人開(kāi)發(fā)出第一個(gè)8位微處理器Intel8008。由于8008采用的是P溝道MOS微處理器,因此仍屬第一代微處理器。1973年intel公司研制出8位的微處理器8080;1973年8月,霍夫等人研制出8位微處理器Intel8080,以N溝道MOS電路取代了P溝道,第二代微處理器就此誕生。主頻2MHz的8080芯片運(yùn)算速度比8008快10倍,可存取64KB存儲(chǔ)器,使用了基于6微米技術(shù)的6000個(gè)晶體管,處理速度為0.64MIPS(MillionInstructionsPerSecond)。1975年4月,MITS發(fā)布第一個(gè)通用型Altair8800,售價(jià)375美元,帶有1KB存儲(chǔ)器。這是世界上第一臺(tái)微型計(jì)算機(jī)。1976年intel公司研制出MCS-48系列8位的單片機(jī),這也是單片機(jī)的問(wèn)世。Zilog公司于1976年開(kāi)發(fā)的Z80微處理器,廣泛用于微型計(jì)算機(jī)和工業(yè)自動(dòng)控制設(shè)備。當(dāng)時(shí),Zilog、Motorola和Intel在微處理器領(lǐng)域三足鼎立。20世紀(jì)80年代初,Intel公司在MCS-48系列單片機(jī)的基礎(chǔ)上,推出了MCS-51系列8位高檔單片機(jī)。MCS-51系列單片機(jī)無(wú)論是片內(nèi)RAM容量,I/O口功能,系統(tǒng)擴(kuò)展方面都有了很大的提高。中期發(fā)展MCU即微控制器(MicroControllerUnit)階段,主要的技術(shù)發(fā)展方向是:不斷擴(kuò)展?jié)M足嵌入式應(yīng)用時(shí),對(duì)象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對(duì)象的智能化控制能力。它所涉及的領(lǐng)域都與對(duì)象系統(tǒng)相關(guān),因此,發(fā)展MCU的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來(lái)看,Intel逐漸淡出MCU的發(fā)展也有其客觀因素。在發(fā)展MCU方面,最著名的廠家當(dāng)數(shù)Philips公司。Philips公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢(shì),將MCS-51從單片微型計(jì)算機(jī)迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時(shí),不要忘記Intel和Philips的歷史功績(jī)。當(dāng)前趨勢(shì)SoC嵌入式系統(tǒng)(SystemonChip)式的獨(dú)立發(fā)展之路,向MCU階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決,因此,專用單片機(jī)的發(fā)展自然形成了SoC化趨勢(shì)。隨著微電子技術(shù)、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SoC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較大的發(fā)展。因此,對(duì)單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。2特點(diǎn)AT89C52是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,AT89C52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。3基本結(jié)構(gòu)PDIP封裝的AT89C52引腳圖AT89C52為8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接12MHz晶振。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負(fù)端。P0~P3為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0端口(32~39腳)被定義為N1功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13腳定義為IR輸入端,10腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12腳、27腳及28腳定義為握手信號(hào)功能端口,連接主板CPU的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)及會(huì)聚調(diào)整狀態(tài)進(jìn)入的控制功能。PDIP封裝的AT89C52引腳圖各接口功能1、P0口P0口是一組8位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口P0寫“1”時(shí),可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。2、P1口P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX)。3、P2口P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@RI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。3、P3口P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。RST復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。EA/VPP外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。XTAL1振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2振蕩器反相放大器的輸出端。特殊功能在AT89C52片內(nèi)存儲(chǔ)器中,80H-FFH共128個(gè)單元為特殊功能寄存(SFR),SFR的地址空間映象并非所有的地址都被定義,從80H—FFH共128個(gè)字節(jié)只有一部分被定義,還有相當(dāng)一部分沒(méi)有定義。對(duì)沒(méi)有定義的單元讀寫將是無(wú)效的,讀出的數(shù)值將不確定,而寫入的數(shù)據(jù)也將丟失。不應(yīng)將數(shù)據(jù)寫入未定義的單元,由于這些單元在將來(lái)的產(chǎn)品中可能賦予新的功能,在這種情況下,復(fù)位后這些單元數(shù)值總是“0”。AT89C52除了有AT89C51所有的定時(shí)/計(jì)數(shù)器0和定時(shí)/計(jì)數(shù)器1外,還增加了一個(gè)定時(shí)/計(jì)數(shù)器2。定時(shí)/計(jì)數(shù)器2的控制和狀態(tài)位位于T2CONT2MOD,寄存器對(duì)(RCAP2H、RCAP2L)是定時(shí)器2在16位捕獲方式或16位自動(dòng)重裝載方式下的捕獲/自動(dòng)重裝載寄存器。數(shù)據(jù)存儲(chǔ)AT89C52有256個(gè)字節(jié)的內(nèi)部RAM,80H-FFH高128個(gè)字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128字節(jié)的RAM和特殊功能寄存器的地址是相同的,但物理上它們是分開(kāi)的。當(dāng)一條指令訪問(wèn)7FH以上的內(nèi)部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問(wèn)高128字節(jié)RAM還是訪問(wèn)特殊功能寄存器。如果指令是直接尋址方式則為訪問(wèn)特殊功能寄存器。片上資源定時(shí)器2基本特性:定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器。它既可當(dāng)定時(shí)器使用,也可作為外部事件計(jì)數(shù)器使用,其工作方式由特殊功能寄存器T2CON的C/T2位選擇。定時(shí)器2有三種工作方式:捕獲方式,自動(dòng)重裝載(向上或向下計(jì)數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON的控制位來(lái)選擇。定時(shí)器2由兩個(gè)8位寄存器TH2和TL2組成,在定時(shí)器工作方式中,每個(gè)機(jī)器周期TL2寄存器的值加1,由于一個(gè)機(jī)器周期由12個(gè)振蕩時(shí)鐘構(gòu)成,因此,計(jì)數(shù)速率為振蕩頻率的1/12。在計(jì)數(shù)工作方式時(shí),當(dāng)T2引腳上外部輸入信號(hào)產(chǎn)生由1至0的下降沿時(shí),寄存器的值加1,在這種工作方式下,每個(gè)機(jī)器周期的5SP2期間,對(duì)外部輸入進(jìn)行采樣。若在第一個(gè)機(jī)器周期中采到的值為1,而在下一個(gè)機(jī)器周期中采到的值為0,則在緊跟著的下一個(gè)周期的S3P1期間寄存器加1。由于識(shí)別1至0的跳變需要2個(gè)機(jī)器周期(24個(gè)振蕩周期),因此,最高計(jì)數(shù)速率為振蕩頻率的1/24。為確保采樣的正確性,要求輸入的電平在變化前至少保持一個(gè)完整周期的時(shí)間,以保證輸入信號(hào)至少被采樣一次。捕獲方式:在捕獲方式下,通過(guò)T2CON控制位EXEN2來(lái)選擇兩種方式。如果EXEN2=0,定時(shí)器2是一個(gè)16位定時(shí)器或計(jì)數(shù)器,計(jì)數(shù)溢出時(shí),對(duì)T2CON的溢出標(biāo)志TF2置位,同時(shí)激活中斷。如果EXEN2=1,定時(shí)器2完成相同的操作,而當(dāng)T2EX引腳外部輸入信號(hào)發(fā)生1至0負(fù)跳變時(shí),也出現(xiàn)TH2和TL2中的值分別被捕獲到RCAP2H和RCAP2L中。另外,T2EX引腳信號(hào)的跳變使得T2CON中的EXF2置位,與TF2相仿,EXF2也會(huì)激活中斷。捕獲方式如圖4所示。自動(dòng)重裝方式:當(dāng)定時(shí)器2工作于16位自動(dòng)重裝載方式時(shí),能對(duì)其編程為向上或向下計(jì)數(shù)方式,這個(gè)功能可通過(guò)特殊功能寄存器T2CON的DCEN位(允許向下計(jì)數(shù))來(lái)選擇的。復(fù)位時(shí),DCEN位置“0”,定時(shí)器2默認(rèn)設(shè)置為向上計(jì)數(shù)。當(dāng)DCEN置位時(shí),定時(shí)器2既可向上計(jì)數(shù)也可向下計(jì)數(shù),這取決于T2EX引腳的值,參見(jiàn)圖5,當(dāng)DCEN=0時(shí),定時(shí)器2自動(dòng)設(shè)置為向上計(jì)數(shù),在這種方式下,T2CON中的EXEN2控制位有兩種選擇,若EXEN2=0,定時(shí)器2為向上計(jì)數(shù)至0FFFFH溢出,置位TF2激活中斷,同時(shí)把16位計(jì)數(shù)寄存器RCAP2H和RCAP2L重裝載,RCAP2H和RCAP2L的值可由軟件預(yù)置。若EXEN2=1,定時(shí)器2的16位重裝載由溢出或外部輸入端T2EX從1至0的下降沿觸發(fā)。這個(gè)脈沖使EXF2置位,如果中斷允許,同樣產(chǎn)生中斷。定時(shí)器2的中斷入口地址是:002BH——0032H。當(dāng)DCEN=1時(shí),允許定時(shí)器2向上或向下計(jì)數(shù),如圖6所示。這種方式下,T2EX引腳控制計(jì)數(shù)器方向。T2EX引腳為邏輯“1”時(shí),定時(shí)器向上計(jì)數(shù),當(dāng)計(jì)數(shù)0FFFFH向上溢出時(shí),置位TF2,同時(shí)把16位計(jì)數(shù)寄存器RCAP2H和RCAP2L重裝載到TH2和TL2中。T2EX引腳為邏輯“0”時(shí),定時(shí)器2向下計(jì)數(shù),當(dāng)TH2和TL2中的數(shù)值等于RCAP2H和RCAP2L中的值時(shí),計(jì)數(shù)溢出,置位TF2,同時(shí)將0FFFFH數(shù)值重新裝入定時(shí)寄存器中。當(dāng)定時(shí)/計(jì)數(shù)器2向上溢出或向下溢出時(shí),置位EXF2位波特率發(fā)生器:當(dāng)T2CON中的TCLK和RCLK置位時(shí),定時(shí)/計(jì)數(shù)器2作為波特率發(fā)生器使用。如果定時(shí)/計(jì)數(shù)器2作為發(fā)送器或接收器,其發(fā)送和接收的波特率可以是不同的,定時(shí)器1用于其它功能,如圖7所示。若RCLK和TCLK置位,則定時(shí)器2工作于波特率發(fā)生器方式。波特率發(fā)生器的方式與自動(dòng)重裝載方式相仿,在此方式下,TH2翻轉(zhuǎn)使定時(shí)器2的寄存器用RCAP2H和RCAP2L中的16位數(shù)值重新裝載,該數(shù)值由軟件設(shè)置。在方式1和方式3中,波特率由定時(shí)器2的溢出速率根據(jù)下式確定:方式1和3的波特率=定時(shí)器的溢出率/16定時(shí)器既能工作于定時(shí)方式也能工作于計(jì)數(shù)方式,在大多數(shù)的應(yīng)用中,是工作在定時(shí)方式(C/T2=0)。定時(shí)器2作為波特率發(fā)生器時(shí),與作為定時(shí)器的操作是不同的,通常作為定時(shí)器時(shí),在每個(gè)機(jī)器周期(1/12振蕩頻率)寄存器的值加1,而作為波特率發(fā)生器使用時(shí),在每個(gè)狀態(tài)時(shí)間(1/2振蕩頻率)寄存器的值加1。波特率的計(jì)算公式如下:方式1和3的波特率=振蕩頻率/{32*[65536-(RCP2H,RCP2L)]}式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位無(wú)符號(hào)數(shù)。定時(shí)器2作為波特率發(fā)生器使用。T2CON中的RCLK或TCLK=1時(shí),波特率工作方式才有效。在波特率發(fā)生器工作方式中,TH2翻轉(zhuǎn)不能使TF2置位,故而不產(chǎn)生中斷。但若EXEN2置位,且T2EX端產(chǎn)生由1至0的負(fù)跳變,則會(huì)使EXF2置位,此時(shí)并不能將(RCAP2H,RCAP2L)的內(nèi)容重新裝入TH2和TL2中。所以,當(dāng)定時(shí)器2作為波特率發(fā)生器使用時(shí),T2EX可作為附加的外部中斷源來(lái)使用。需要注意的是,當(dāng)定時(shí)器2工作于波特率器時(shí),作為定時(shí)器運(yùn)行(TR2=1)時(shí),并不能訪問(wèn)TH2和TL2。因?yàn)榇藭r(shí)每個(gè)狀態(tài)時(shí)間定時(shí)器都會(huì)加1,對(duì)其讀寫將得到一個(gè)不確定的數(shù)值。然而,對(duì)RCAP2則可讀而不可寫,因?yàn)閷懭氩僮鲗⑹侵匦卵b載,寫入操作可能令寫和/或重裝載出錯(cuò)。在訪問(wèn)定時(shí)器2或RCAP2寄存器之前,應(yīng)將定時(shí)器關(guān)閉(清除TR2)??删幊虝r(shí)鐘輸出:定時(shí)器2可通過(guò)編程從P1.0輸出一個(gè)占空比為50%的時(shí)鐘信號(hào),如圖8所示。P1.0引腳除了是一個(gè)標(biāo)準(zhǔn)的I/O口外,還可以通過(guò)編程使其作為定時(shí)/計(jì)數(shù)器2的外部時(shí)鐘輸入和輸出占空比50%的時(shí)鐘脈沖。當(dāng)時(shí)鐘振蕩頻率為16MHz時(shí),輸出時(shí)鐘頻率范圍為61Hz—4MHz。當(dāng)設(shè)置定時(shí)/計(jì)數(shù)器2為時(shí)鐘發(fā)生器時(shí),C/T2(T2CON.1)=0,T2OE(T2MOD.1)=1,必須由TR2(T2CON.2)啟動(dòng)或停止定時(shí)器。時(shí)鐘輸出頻率取決于振蕩頻率和定時(shí)器2捕獲寄存器(RCAP2H,RCAP2L)的重新裝載值,在時(shí)鐘輸出方式下,定時(shí)器2的翻轉(zhuǎn)不會(huì)產(chǎn)生中斷,這個(gè)特性與作為波特率發(fā)生器使用時(shí)相仿。定時(shí)器2作為波特率發(fā)生器使用時(shí),還可作為時(shí)鐘發(fā)生器使用,但需要注意的是波特率和時(shí)鐘輸出頻率不能分開(kāi)確定,這是因?yàn)樗鼈兺褂肦CAP2L和RCAP2L。UART串口AT89C52的UART工作方式與AT89C51工作方式相同。時(shí)鐘振蕩器AT89C52中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見(jiàn)圖10。外接石英晶體(或陶瓷諧振器)及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1、C2雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pF±10pF,而如使用陶瓷諧振器建議選擇40pF±10pF。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖10右圖所示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時(shí)鐘信號(hào)是通過(guò)一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。中斷AT89C52共有6個(gè)中斷向量:兩個(gè)外中斷(INT0和INT1),3個(gè)定時(shí)器中斷(定時(shí)器0、1、2)和串行口中斷。這些中斷源可通過(guò)分別設(shè)置專用寄存器IE的置位或清0來(lái)控制每一個(gè)中斷的允許或禁止。IE也有一個(gè)總禁止位EA,它能控制所有中斷的允許或禁止。IE.6為保留位,在AT89C51中IE.5也是保留位。程序員不應(yīng)將“1”寫入這些位,它們是將來(lái)AT89系列產(chǎn)品作為擴(kuò)展用的。定時(shí)器2的中斷是由T2CON中的TF2和EXF2邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時(shí),這些標(biāo)志位不能被硬件清除,事實(shí)上,服務(wù)程序需確定是TF2或EXF2產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。定時(shí)器0和定時(shí)器1的標(biāo)志位TF0和TF1在定時(shí)器溢出那個(gè)機(jī)器周期的S5P2狀態(tài)置位,而會(huì)在下一個(gè)機(jī)器周期才查詢到該中斷標(biāo)志。然而,定時(shí)器2的標(biāo)志位TF2在定時(shí)器溢出的那個(gè)機(jī)器周期的S2P2狀態(tài)置位,并在同一個(gè)機(jī)器周期內(nèi)查詢到該標(biāo)志。低功耗節(jié)電模式在空閑工作模式狀態(tài),CPU自身處于睡眠狀態(tài)而所有片內(nèi)的外設(shè)仍保持激活狀態(tài),這種方式由軟件產(chǎn)生。此時(shí),同時(shí)將片內(nèi)RAM和所有特殊功能寄存器的內(nèi)容凍結(jié)??臻e模式可由任何允許的中斷請(qǐng)求或硬件復(fù)位終止。由硬件復(fù)位終止空閑狀態(tài)只需兩個(gè)機(jī)器周期有效復(fù)位信號(hào),在此狀態(tài)下,片內(nèi)硬件禁止訪問(wèn)內(nèi)部RAM,但可以訪問(wèn)端口引腳,當(dāng)用復(fù)位終止空閑方式時(shí),為避免可能對(duì)端口產(chǎn)生意外寫入,激活空閑模式的那條指令后一條指令不應(yīng)是一條對(duì)端口或外部存儲(chǔ)器的寫入指令。掉電模式在掉電模式下,振蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi)RAM和特殊功能寄存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復(fù)位,復(fù)位后將重新定義全部特殊功能寄存器,但不改變RAM中的內(nèi)容,在Vcc恢復(fù)到正常工作電平前,復(fù)位應(yīng)無(wú)效,且必須保持一定時(shí)間以使振蕩器重啟動(dòng)并穩(wěn)定工作。編程加密AT89C52單片機(jī)內(nèi)部有8k字節(jié)的FlashPEROM,這個(gè)Flash存儲(chǔ)陣列出廠時(shí)已處于擦除狀態(tài)(即所有存儲(chǔ)單元的內(nèi)容均為FFH),用戶隨時(shí)可對(duì)其進(jìn)行編程。編程接口可接收高電壓(+12V)或低電壓(Vcc)的允許編程信號(hào)。低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用EPROM編程器兼容。AT89C52單片機(jī)中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶可從芯片上的型號(hào)和讀取芯片內(nèi)的簽名字節(jié)獲得該信息。AT89C52的程序存儲(chǔ)器陣列是采用字節(jié)寫入方式編程的,每次寫入一個(gè)字節(jié),要對(duì)整個(gè)芯片內(nèi)的PEROM程序存儲(chǔ)器寫入一個(gè)非空字節(jié),必須使用片擦除的方式將整個(gè)存儲(chǔ)器的內(nèi)容清除。編程方法編程前,須按設(shè)置好地址、數(shù)據(jù)及控制信號(hào),AT89C52編程方法如下:1.在地址線上加上要編程單元的地址信號(hào)。2.在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。3.激活相應(yīng)的控制信號(hào)。4.在高電壓編程方式時(shí),將EA/Vpp端加上+12V編程電壓。5.每對(duì)Flash存儲(chǔ)陣列寫入一個(gè)字節(jié)或每寫入一個(gè)程序加密位,加上一個(gè)ALE/PROG編程脈沖。每個(gè)字節(jié)寫入周期是自身定時(shí)的,通常約為1.5ms。重復(fù)1—5步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。程序加密AT89C52有3個(gè)程序加密位,可對(duì)芯片上的3個(gè)加密位LB1、LB2、LB3進(jìn)行編程(P)或不編程(U)來(lái)得到。當(dāng)加密位LB1被編程時(shí),在復(fù)位期間,EA端的邏輯電平被采樣并鎖存,如果單片機(jī)上電后一直沒(méi)有復(fù)位,則鎖存起的初始值是一個(gè)隨機(jī)數(shù),且這個(gè)隨機(jī)數(shù)會(huì)一直保存到真正復(fù)位為止。為使單片機(jī)能正常工作,被鎖存的EA電平值必須與該引腳當(dāng)前的邏輯電平一致。此外,加密位只能通過(guò)整片擦除的方法清除。數(shù)據(jù)查詢AT89C52單片機(jī)用DataPalling表示一個(gè)寫周期結(jié)束為特征,在一個(gè)寫周期中,如需讀取最后寫入的一個(gè)字節(jié),則讀出的數(shù)據(jù)的最高位(P0.7)是原來(lái)寫入字節(jié)最高位的反碼。寫周期完成后,所輸出的數(shù)據(jù)是有效的數(shù)據(jù),即可進(jìn)入下一個(gè)字節(jié)的寫周期,寫周期開(kāi)始后,DataPalling可能隨時(shí)有效。Ready/Busy:字節(jié)編程的進(jìn)度可通過(guò)“RDY/BSY輸出信號(hào)監(jiān)測(cè),編程期間,ALE變?yōu)楦唠娖健癏”后,P3.4(RDY/BSY)端電平被拉低,表示正在編程狀態(tài)(忙狀態(tài))。編程完成后,P3.4變?yōu)楦唠娖奖硎緶?zhǔn)備就緒狀態(tài)。程序校驗(yàn):如果加密位LB1、LB2沒(méi)有進(jìn)行編程,則代碼數(shù)據(jù)可通過(guò)地址和數(shù)據(jù)線讀回原編寫的數(shù)據(jù),采用如圖12的電路。加密位不可直接校驗(yàn),加密位的校驗(yàn)可通過(guò)對(duì)存儲(chǔ)器的校驗(yàn)和寫入狀態(tài)來(lái)驗(yàn)證。芯片擦除:利用控制信號(hào)的正確組合(表6)并保持ALE/PROG引腳10mS的低電平脈沖寬度即可將PEROM陣列(4k字節(jié))和三個(gè)加密位整片擦除,代碼陣列在片擦除操作中將任何非空單元寫入“1”,這步驟需再編程之前進(jìn)行。讀片內(nèi)簽名字節(jié):AT89C52單片機(jī)內(nèi)有3個(gè)簽名字節(jié),地址為030H、031H和032H。用于聲明該器件的廠商、型號(hào)和編程電壓。讀AT89C52簽名字節(jié)需將P3.6和P3.7置邏輯低電平,讀簽名字節(jié)的過(guò)程和單元030H、031H及032H的正常校驗(yàn)相仿,只返回值意義如下:(030H)=1EH聲明產(chǎn)品由ATMEL公司制造。(031H)=52H聲明為AT89C52單片機(jī)。(032H)=FFH聲明為12V編程電壓。(032H)=05H聲明為5V編程電壓。四系統(tǒng)設(shè)計(jì)1、方案與原理設(shè)計(jì)基于單片機(jī)的智能交通紅綠燈控制系統(tǒng),要求能通過(guò)按鍵或遙控器設(shè)置系統(tǒng)參數(shù),系統(tǒng)運(yùn)行時(shí),“倒計(jì)時(shí)等信息”能通過(guò)數(shù)碼管顯示,設(shè)計(jì)時(shí)應(yīng)考慮交通紅綠燈控制的易操作性及智能性。以單片機(jī)的最小系統(tǒng)為基礎(chǔ)設(shè)計(jì)硬件,用或C語(yǔ)言設(shè)計(jì)軟件。東西(A)、南北(B)兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三個(gè)指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行,黃燈亮?xí)r車輛及行人小心通過(guò)。紅燈的設(shè)計(jì)時(shí)間為60秒,綠燈為30秒,做轉(zhuǎn)綠燈20秒,黃燈為5秒。2.1方案介紹方案一設(shè)計(jì)思想: 1采用目前較流行的STC宏晶品牌的單片機(jī),功能上要齊全點(diǎn),尤其是宏晶的有集成了的PWM功能,我用過(guò)這款,技術(shù)支持方面也很好,可以去宏晶官網(wǎng)下載,使用也特別方便,價(jià)格也較低廉。2使用一位數(shù)碼管,編程時(shí)操作方便,省時(shí)省力。方案二設(shè)計(jì)思想:1使用較老式的AT公司的單片機(jī),這個(gè)單片機(jī)在仿真時(shí)可以找到。2使用二位數(shù)碼管,燈開(kāi)始變化就能顯示要延遲的時(shí)間,讓行人更有時(shí)間概念。2方案論證與選擇考慮后決定使用AT公司的,還是覺(jué)得能與電路圖相匹配起來(lái)比較好,況且我也有該單片機(jī);使用二位數(shù)碼管,考慮到?jīng)]有準(zhǔn)確的時(shí)間顯示行人可能會(huì)感到不耐煩,故選擇使用二位數(shù)碼管以顯示準(zhǔn)確時(shí)間。3硬件電路圖設(shè)計(jì)4軟件設(shè)計(jì)#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintucharcodeled[8]={0xB7,0xBD,0xBE,0xBD,0x7B,0xDB,0xEB,0xDB};ucharcodesmg[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};ucharnum=0,t,t0,t1,t2,t3,a,b,c,d,m,n,q;voiddisplay(uchar,uchar,uchar,uchar);voidrenx1(uchar,uchar,uchar,uchar);sbitbeep=P3^0;sbitnbr=P3^3;sbitnbg=P3^5;sbitdxg=P3^6;sbitdxr=P3^7;sbitl=P3^2;voidinit1();voidinit2(){ t1=30; t2=20; t3=4;}voidswismg(uchar,uchar,uchar);voiddelay1ms(uintz){ uintx,y; for(x=z;x>0;x--) for(y=115;y>0;y--); }voidmain(){ init1(); while(1) {
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國(guó)人體工學(xué)靠墊行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球水處理用復(fù)合管行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球呼吸道藥物吸入器行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)異型毛氈墊行業(yè)深度研究分析報(bào)告
- 壁球、手球用品行業(yè)市場(chǎng)發(fā)展及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- 塑料合金項(xiàng)目可行性研究報(bào)告建議書
- 燃?xì)夤芫W(wǎng)建設(shè)項(xiàng)目申請(qǐng)報(bào)告可行性研究報(bào)告
- 2025-2030年中國(guó)塑料助濟(jì)行業(yè)深度研究分析報(bào)告
- 2025年度公寓租賃合同物業(yè)服務(wù)質(zhì)量標(biāo)準(zhǔn)協(xié)議
- 2025年地質(zhì)災(zāi)害監(jiān)測(cè)預(yù)警工程勘察鉆井施工合同
- 中國(guó)儲(chǔ)備糧管理集團(tuán)有限公司蘭州分公司招聘筆試真題2024
- 第1課 隋朝統(tǒng)一與滅亡 課件(26張)2024-2025學(xué)年部編版七年級(jí)歷史下冊(cè)
- 提高金剛砂地坪施工一次合格率
- 【歷史】唐朝建立與“貞觀之治”課件-2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史下冊(cè)
- 產(chǎn)業(yè)園區(qū)招商合作協(xié)議書
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 2025新譯林版英語(yǔ)七年級(jí)下單詞默寫表
- 盾構(gòu)標(biāo)準(zhǔn)化施工手冊(cè)
- 天然氣脫硫完整版本
- 中歐班列課件
- 2025屆高三數(shù)學(xué)一輪復(fù)習(xí)備考經(jīng)驗(yàn)交流
評(píng)論
0/150
提交評(píng)論