基于單片機(jī)的交通燈設(shè)計(jì)_第1頁
基于單片機(jī)的交通燈設(shè)計(jì)_第2頁
基于單片機(jī)的交通燈設(shè)計(jì)_第3頁
基于單片機(jī)的交通燈設(shè)計(jì)_第4頁
基于單片機(jī)的交通燈設(shè)計(jì)_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 基于單片機(jī)的交通燈設(shè)計(jì) 摘 要近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。本系統(tǒng)采用MCS-51系列單片機(jī)ATSC51和可編程并行I/O接口芯片8255A為中心器件來設(shè)計(jì)交通燈控制器,利用8051芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間;紅綠燈循環(huán)點(diǎn)亮,交替時(shí)間黃燈5秒警示(交通燈信號(hào)通過PA口輸出,顯示時(shí)間直接通過8255的PC口輸出至雙位數(shù)碼管);車輛闖紅燈,則啟動(dòng)蜂鳴器報(bào)警;綠燈時(shí)間可檢測(cè)車流量并通過雙位數(shù)碼管顯

2、示。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。 關(guān)鍵詞:?jiǎn)纹瑱C(jī);交通燈;闖紅燈;測(cè)車流量ABSTRACT As technology evolved in recent years, it is monolithic integrated circuits, controls at the same time promote the traditional test is to update technology . In a real-time detector and automatic control system, a monolithic integrated circuits mono

3、lithic integrated circuits are used as a core component to use only knowledge in monolithic integrated circuits is not enough, according to the specific hardware construction, comprehensive handling perfected.The system uses mcs -51 series monolithic integrated circuits atsc51 and the programmatic i

4、nterface chip 8255a parallel i turned around for a device for the traffic signal controller nearby,using p1 of 8051 chip for setting time controlling the green and the red burning . The traffic circulation of light, over time, there are five seconds a warning( The traffic light signal passes through

5、 the pa of output and time of the pc 8255 directly through the mouth of a digital output to double ). Vehicles running red lights, the buzzer will alarm;The flow of the car can be detected passed through in a digital display by the green time. This system with high practicability, easy operation, to

6、 extend the function of a strongKey words: MCU;traffic light;run the red light;Detection the flow of cars目 錄摘 要IABSTRACTII第1章 引 言11.1 研究的目的和意義11.2 本文簡(jiǎn)介2第2章 交通燈及單片機(jī)的介紹32.1 交通燈的發(fā)展歷史32.1.1 交通燈的發(fā)展32.1.2 交通燈的發(fā)展趨勢(shì)42.2 單片機(jī)的組成和特點(diǎn)52.2.1 單片機(jī)的組成52.2.2 單片機(jī)的特點(diǎn)52.2.3 單片機(jī)的分類62.3 單片機(jī)的應(yīng)用62.3.1 單片機(jī)的應(yīng)用分類6第3章 交通燈的硬件設(shè)計(jì)8

7、3.1方案的選擇與論證83.1.1設(shè)計(jì)方案一83.1.2 設(shè)計(jì)方案二93.1.3 方案的比較93.1.4 方案的總體論述103.2 交通燈硬件電路原理圖113.3 系統(tǒng)工作原理133.4 各模塊電路設(shè)計(jì)143.4.1時(shí)鐘電路143.4.2復(fù)位電路153.4.3蜂鳴器電路163.4.4 按鍵電路173.5相關(guān)芯片簡(jiǎn)介183.5.1 MSC-51芯片183.5.2 74LS373芯片;223.5.3 LED顯示器23第4章 交通燈軟件設(shè)計(jì)244.1 每秒鐘的設(shè)定244.2 計(jì)數(shù)器硬件延時(shí)244.2.1 計(jì)數(shù)器初值計(jì)算244.2.2 計(jì)算公式244.2.3 秒的方法244.2.4 相應(yīng)程序代碼254

8、.3 軟件延時(shí)264.4 時(shí)間及信號(hào)燈的顯示274.4.1 8051并行口的擴(kuò)展274.4.2 顯示原理274.4.3 8255PA口輸出信號(hào)接信號(hào)燈274.4.4 8255輸出信號(hào)與數(shù)碼管的連接274.4.5 8255與8051的連接284.5 程序設(shè)計(jì)294.5.1 流程圖如圖所示29第5章 結(jié)束語39致 謝41參考文獻(xiàn)42附 錄 143附 錄 251附 錄 352附 錄 454第1章 引 言1.1 研究的目的和意義當(dāng)今,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手

9、式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。電氣啟動(dòng)的紅綠燈出現(xiàn)在美國,這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。隨著電氣化的發(fā)展,

10、交通燈的指示使十字路口的秩序井然有序。20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。 1目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)

11、控制技術(shù)的一次革命。3近年來隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異,逐漸出現(xiàn)用單片機(jī)控制交通信號(hào)燈,操作過程簡(jiǎn)單,安裝維護(hù)簡(jiǎn)單而且交通燈的功能越來越強(qiáng),可靠性和準(zhǔn)確性也越來越高。本設(shè)計(jì)就是利用單片機(jī)作為核心部件進(jìn)行邏輯控制及信號(hào)的產(chǎn)生,使以上問題得以解決。并且可以在綠燈時(shí)間檢測(cè)車流量,利于經(jīng)過實(shí)際情況而對(duì)時(shí)間加以調(diào)整控制;而在有車輛闖紅燈時(shí),啟動(dòng)蜂鳴器報(bào)警,更利于控制交通秩序,有效保障人生安全。1.2 本文簡(jiǎn)介本系統(tǒng)采用MCS-51系列單片機(jī)ATSC51和可編程并行I/O接口芯片8255為中心器件來設(shè)計(jì)交通燈控制器,利用8051芯片的P1口設(shè)置紅、綠燈

12、燃亮?xí)r間;紅綠燈循環(huán)點(diǎn)亮,交替時(shí)間黃燈5秒警示(交通燈信號(hào)通過PA口輸出,顯示時(shí)間直接通過8255的PC口輸出至雙位數(shù)碼管);車輛闖紅燈,則啟動(dòng)蜂鳴器報(bào)警;綠燈時(shí)間可檢測(cè)車流量并通過雙位數(shù)碼管顯示。當(dāng)預(yù)設(shè)初始值設(shè)定好后,交通信號(hào)燈即可自動(dòng)工作,紅綠燈循環(huán),實(shí)現(xiàn)道路的暢通運(yùn)行,還可據(jù)實(shí)際情況重新調(diào)整紅綠燈的燃亮?xí)r間。因而該設(shè)計(jì)實(shí)用性強(qiáng),可靠性高。第2章 交通燈及單片機(jī)的介紹2.1 交通燈的發(fā)展歷史2.1.1 交通燈的發(fā)展早在1850年,18城市交叉口處不斷增長(zhǎng)的交通就引發(fā)了人們對(duì)安全和擁堵的關(guān)注。世界上第一臺(tái)交通自動(dòng)信號(hào)燈的誕生,拉開了城市交通控制的序幕,1868年,英國工程師納伊特在倫敦威斯特

13、敏斯特街口安裝了一臺(tái)紅綠兩色的煤氣照明燈,用來控制交叉路口馬車的通行,但一次煤氣爆炸事故致使這種交通信號(hào)燈幾乎銷聲匿跡了近半個(gè)世紀(jì)。1914年及稍晚一些時(shí)候,美國的克利夫蘭、紐約和芝加哥才重新出現(xiàn)了交通信號(hào)燈,它們采用電力驅(qū)動(dòng),與現(xiàn)在意義上的信號(hào)燈已經(jīng)相差無幾。1926年英國人第一次安裝和使用自動(dòng)化的控制器來控制交通信號(hào)燈,這是城市交通自動(dòng)控制的起點(diǎn)。早期的交通信號(hào)燈使用“固定配時(shí)”方式實(shí)行自動(dòng)控制,這種方式對(duì)于早期交通流量不大的情況曾起過一定的作用。但隨著汽車工業(yè)的發(fā)展、交通流量增加、隨機(jī)變化增強(qiáng),19采用以往那種單一模式的“固定配時(shí)”方中國智能交通網(wǎng)式已不能滿足客觀需要,于是一種多時(shí)段多方

14、案的信號(hào)控制器開始出現(xiàn)并逐步取代了傳統(tǒng)的只有一種控制方案的控制器。除了多時(shí)段多方案定時(shí)控制的使用,為了避免各交叉路口之間“各自為政”的孤立控制方式對(duì)交通流造成的頻繁停車,還必須把相鄰的交叉路口作為一個(gè)系統(tǒng)來統(tǒng)一地加以控制。1917年,在美國鹽湖市開始使用聯(lián)動(dòng)式信號(hào)系統(tǒng),把六個(gè)交叉路口作為一個(gè)系統(tǒng),以人工方式加以集中控制。1922年,美國休斯頓市建立了一個(gè)同步系統(tǒng),它以一個(gè)交通亭為中心控制十二個(gè)交叉路口。1928年,上述系統(tǒng)經(jīng)過改進(jìn),形成“靈活步進(jìn)式”定時(shí)系統(tǒng);由于它簡(jiǎn)單、可靠、價(jià)格便宜,很快在美國推廣普及。這種系統(tǒng)以后不斷改進(jìn)、完善,成為當(dāng)今的協(xié)調(diào)控制系統(tǒng)。20世紀(jì)30年代初,美國最早開始用車

15、輛感應(yīng)式信號(hào)控制器,之后是英國,當(dāng)時(shí)使用的車輛檢測(cè)器是氣動(dòng)橡皮管檢測(cè)器。車輛感應(yīng)控制器的特點(diǎn)是它能根據(jù)檢測(cè)器測(cè)量的交通流量來調(diào)整綠燈時(shí)間的長(zhǎng)短,使綠燈時(shí)間更有效地被利用,減少車輛在交叉口的時(shí)間延誤,比定時(shí)控制方式有更大的靈活性。車輛感應(yīng)控制的這一特點(diǎn)刺激了車輛檢測(cè)器技術(shù)的發(fā)展。繼氣動(dòng)橡皮管式檢測(cè)器之后,雷達(dá)、超聲波、光電、地磁、電磁、微波、紅外以及環(huán)形線圈等檢測(cè)器相繼問世。當(dāng)今在城市道路交通自動(dòng)控制、交通監(jiān)測(cè)和交通數(shù)據(jù)采集系統(tǒng)中,應(yīng)用最廣的是環(huán)形線圈車輛檢測(cè)器。超聲波檢測(cè)器主要在日本等少數(shù)國家得到廣泛應(yīng)用。計(jì)算機(jī)技術(shù)的出現(xiàn)為交通控制技術(shù)的發(fā)展注入了新的活力,1952年,20美國科羅拉多州丹佛市

16、首次利用模擬計(jì)算機(jī)和交通檢測(cè)器實(shí)現(xiàn)了對(duì)交通信號(hào)機(jī)網(wǎng)的配時(shí)方案自動(dòng)選擇式信號(hào)燈控制,而加拿大多倫多市于1964年完成了計(jì)算機(jī)控制信號(hào)燈的實(shí)用化,建立了一套由IBM650型計(jì)算機(jī)控制的交通信號(hào)協(xié)調(diào)控制系統(tǒng),成為世界上第一個(gè)具有電子數(shù)字計(jì)算機(jī)城市交通控制系統(tǒng)的城市。這是道路交通控制技術(shù)發(fā)展的里程碑。伴隨著城市交通信號(hào)控制系統(tǒng)的迅速發(fā)展。人們認(rèn)識(shí)到,要更好地提高城市管理水平,不僅僅依靠硬件設(shè)備的更新和改進(jìn),還必須同時(shí)在控制邏輯和方法上有所突破,即城市交通的區(qū)域協(xié)調(diào)控制。傳統(tǒng)的城市道路交通控制指的是區(qū)域交叉口信號(hào)燈控制,而城市交通的區(qū)域協(xié)調(diào)控制,是在整個(gè)城市范圍內(nèi)對(duì)交通進(jìn)行控制,這無論是從理論角度還是實(shí)

17、踐角度,都是一個(gè)極其復(fù)雜的大系統(tǒng)控制問題。從最早的手牽皮帶到20世紀(jì)50年代的電氣控制,從采用計(jì)算控制到現(xiàn)代化的電子定時(shí)監(jiān)控,交通信號(hào)燈在科學(xué)化,自動(dòng)化上不斷地更新,發(fā)展和完善。2.1.2 交通燈的發(fā)展趨勢(shì)目前設(shè)計(jì)交通燈的方案有很多,有應(yīng)用CPLD設(shè)計(jì)實(shí)現(xiàn)交通信號(hào)燈控制器方法2;有應(yīng)用PLC實(shí)現(xiàn)對(duì)交通燈控制系統(tǒng)的設(shè)計(jì);有應(yīng)用單片機(jī)實(shí)現(xiàn)對(duì)交通信號(hào)燈設(shè)計(jì)的方法。目前,國內(nèi)的交通燈一般設(shè)在十字路門,在醒目位置用紅、綠、黃三種顏色的指示燈。加上一個(gè)倒計(jì)時(shí)的顯示計(jì)時(shí)器來控制行車。對(duì)于一般情況下的安全行車,車輛分流尚能發(fā)揮作用,但根據(jù)實(shí)際行車過程中出現(xiàn)的情況,還存在以下缺點(diǎn):1兩車道的車輛輪流放行時(shí)間相同

18、,在十字路口,經(jīng)常一個(gè)車道為主干道,車輛較多,放行時(shí)間應(yīng)該長(zhǎng)些;另一車道為副干道,車輛較少,放行時(shí)間應(yīng)該短些。2兩條干道的紅綠時(shí)間不能隨時(shí)間的改變而修改。 因而交通燈將向高度的智能化方向發(fā)展:擁有自動(dòng)調(diào)整亮燈時(shí)間長(zhǎng)短的功能等。譬如說,它能自動(dòng)感應(yīng)該地區(qū)的交通情況,如果塞車的話,該交通燈能自行控制紅、黃與綠燈的亮燈時(shí)間長(zhǎng)短。2.2 單片機(jī)的組成和特點(diǎn)單片機(jī)是微型機(jī)的一個(gè)主要分支,【4】在結(jié)構(gòu)上的最大特點(diǎn)是把CPU、存儲(chǔ)器、定時(shí)器和多種輸入/輸出接口電路集成在一塊超大規(guī)模集成電路芯片上。就其組成和功能而言,一塊單片機(jī)芯片就是一臺(tái)計(jì)算機(jī)。2.2.1 單片機(jī)的組成單片機(jī)是通過內(nèi)部總線把計(jì)算機(jī)的各主要部

19、件接為一體,其內(nèi)部總線包括地址總線、數(shù)據(jù)總線和控制總線。其中,地址總線的作用是在進(jìn)行數(shù)據(jù)交換時(shí)提供地址,CPU通過它們將地址輸出到存儲(chǔ)器或I/O接口;/數(shù)據(jù)總線的作用是在CPU與存儲(chǔ)器或I/O接口之間,或存儲(chǔ)器與外設(shè)之間交換數(shù)據(jù);控制總線包括CPU發(fā)出的控制信號(hào)線和外部送入CPU的應(yīng)答信號(hào)線等。2.2.2 單片機(jī)的特點(diǎn)由于單片機(jī)的這種結(jié)構(gòu)形式及它所采取的半導(dǎo)體工藝,使其具有很多顯著的特點(diǎn),因而在各個(gè)領(lǐng)域都得到了迅猛的發(fā)展?!?】單片機(jī)主要發(fā)如下特點(diǎn):1. 有優(yōu)異的性能價(jià)格比。2. 集成度高、體積小、有很高的可靠性。單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大

20、大提高了單片機(jī)的可靠性與抗干擾能力。另外,其體積小,對(duì)于強(qiáng)磁場(chǎng)環(huán)境易于采取屏蔽措施,適合在惡劣環(huán)境下工作。3. 控制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、I/O口的邏輯操作以及位處理功能。單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。4. 低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。5. 單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。2.2.3 單片機(jī)的分類單片機(jī)作為計(jì)算機(jī)發(fā)展的一個(gè)重要領(lǐng)域,應(yīng)用一個(gè)較科學(xué)的分類方法。根據(jù)目前發(fā)展情況,從不同角度單片機(jī)大致可以分為通用型/專用型、總線型/非總線型及工控型/家電型。1.通用型/專用型這是按

21、單片機(jī)適用范圍來區(qū)分的。例如,80C51是通用型單片機(jī),它不是為某種專用途設(shè)計(jì)的;專用型單片機(jī)是針對(duì)一類產(chǎn)品甚至某一個(gè)產(chǎn)品設(shè)計(jì)生產(chǎn)的,例如為了滿足電子體溫計(jì)的要求,在片內(nèi)集成ADC接口等功能的溫度測(cè)量控制電路。2.總線型/非總線型這是按單片機(jī)是否提供并行總線來區(qū)分的?!?】總線型單片機(jī)普遍設(shè)置有并行地址總線、數(shù)據(jù)總線、控制總線,這些引腳用以擴(kuò)展并行外圍器件都可通過串行口與單片機(jī)連接,另外,許多單片機(jī)已把所需要的外圍器件及外設(shè)接口集成一片內(nèi),因此在許多情況下可以不要并行擴(kuò)展總線,大大減省封裝成本和芯片體積,這類單片機(jī)稱為非總線型單片機(jī)。3.控制型/家電型這是按照單片機(jī)大致應(yīng)用的領(lǐng)域進(jìn)行區(qū)分的。一

22、般而言,工控型尋址范圍大,運(yùn)算能力強(qiáng);用于家電的單片機(jī)多為專用型,通常是小封裝、低價(jià)格,外圍器件和外設(shè)接口集成度高。顯然,上述分類并不是惟一的和嚴(yán)格的。例如,80C51類單片機(jī)既是通用型又是總線型,還可以作工控用。2.3 單片機(jī)的應(yīng)用2.3.1 單片機(jī)的應(yīng)用分類由于單片機(jī)具有顯著的優(yōu)點(diǎn),它已成為科技領(lǐng)域的有力工具,人類生活的得力助手。它的應(yīng)用遍及各個(gè)領(lǐng)域,主要表現(xiàn)在以下幾個(gè)方面:1.單片機(jī)在智能儀表中的應(yīng)用單片機(jī)廣泛地用于各種儀器儀表,使儀器儀表智能化,并可以提高測(cè)量的自動(dòng)化程度和精度,簡(jiǎn)化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比。2. 單片機(jī)在機(jī)電一體化中的應(yīng)用機(jī)電一體化是械工業(yè)發(fā)展的方向。6機(jī)

23、電一體化產(chǎn)品是指集成機(jī)械技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)于一體,具有智能化特征的機(jī)電產(chǎn)品,例如微機(jī)控制的車床、鉆床等。單片機(jī)作為產(chǎn)品中的控制器,能充分發(fā)揮它的體積小、可靠性高、功能強(qiáng)等優(yōu)點(diǎn),可大大提高機(jī)器的自動(dòng)化、智能化程度。3.單片機(jī)在實(shí)時(shí)控制中的應(yīng)用單片機(jī)廣泛地用于各種實(shí)時(shí)控制系統(tǒng)中。例如,在工業(yè)測(cè)控、航空航天、尖端武器、機(jī)器人等各種實(shí)時(shí)控制系統(tǒng)中,都可以用單片機(jī)作為控制器。單片機(jī)的實(shí)時(shí)數(shù)據(jù)處理能力和控制功能,可使系統(tǒng)保持在最佳工作狀態(tài),提高系統(tǒng)的工作效率和產(chǎn)品質(zhì)量。4.單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用在比較復(fù)雜的系統(tǒng)中,常采用分布式多機(jī)系統(tǒng)。7多機(jī)系統(tǒng)一般由若干臺(tái)功能各異的單片機(jī)組成,各自完成

24、特定的任務(wù),它們通過串行通信相互聯(lián)系、協(xié)調(diào)工作。單片機(jī)在這種系統(tǒng)中往往作為一個(gè)終端機(jī),安裝在系統(tǒng)的某些節(jié)點(diǎn)上,對(duì)現(xiàn)場(chǎng)信息進(jìn)行實(shí)時(shí)的測(cè)量和控制。單片機(jī)的高可靠性和強(qiáng)抗干擾能力,使它可以置于惡劣環(huán)境的前端工作。5.單片機(jī)在人類生活中的應(yīng)用自從單片機(jī)誕生以后,它就步入了人類生活,如洗衣機(jī)、電冰箱、電子玩具、收錄機(jī)等家用電器配上單片機(jī)后,提高了智能化程度,增加了功能,倍受人們喜愛。單片機(jī)將使人類生活更加方便、舒適、豐富多彩。綜合所述,8單片機(jī)已成為計(jì)算機(jī)發(fā)展和應(yīng)用的一個(gè)重要方面。另一方面,單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大

25、部分功能,現(xiàn)在已能用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。第3章 交通燈的硬件設(shè)計(jì)3.1方案的選擇與論證在確定電路的各項(xiàng)技術(shù)指標(biāo)后,電路需要進(jìn)行方案選擇論證,本設(shè)計(jì)可以采用兩種方案:即PLC電路設(shè)計(jì)方案和單片機(jī)設(shè)計(jì)方案兩種。3.1.1設(shè)計(jì)方案一如圖3-1所示為方案一的硬件接線圖。由圖可見:起動(dòng)按鈕SB1接于輸入繼電器X0端,停止按鈕SB2接于輸入繼電器xl端,東西方向的綠燈接于輸出繼電器Y5端,東西方向黃燈接于輸出繼電器Y4端,9東西方向的紅燈接于輸出繼電器Y3端,南北方向綠燈接于輸出繼電器Y2端,南北方向的黃燈接于輸出繼電器Y1,南

26、北方向紅燈接于輸出繼電器Y0。將輸出端的COM1及COM2用導(dǎo)線相連,輸出端的電源為交流220V。如果信號(hào)燈的功率較大,一個(gè)輸出繼電器不能帶動(dòng)兩只信號(hào)燈,可以采用一個(gè)輸出點(diǎn)驅(qū)動(dòng)一只信號(hào)燈,也可以采用輸出繼電器先帶動(dòng)中間繼電器,再由中間繼電器驅(qū)動(dòng)信號(hào)燈。信號(hào)燈受啟動(dòng)及停止按鈕的控制,當(dāng)按下啟動(dòng)按鈕時(shí),信號(hào)燈系統(tǒng)開始工作,并周而復(fù)始地循環(huán)工作,當(dāng)按下停止按鈕時(shí),系統(tǒng)將停止在初始狀態(tài),所有信號(hào)燈都熄滅。 圖3-1 設(shè)計(jì)方案一利用方案一,需要將電路按照其工作條件和布局分配逐級(jí)連接好,進(jìn)行好編程處理即可投入運(yùn)行。3.1.2 設(shè)計(jì)方案二如圖3-2所示為方案二的總體方框圖。根據(jù)設(shè)計(jì)要求與設(shè)計(jì)思路,該系統(tǒng)設(shè)計(jì)

27、方案的硬件電路主要由7部分組成,即開關(guān)電路、紅外對(duì)管檢測(cè)電路、時(shí)鐘電路、復(fù)位電路、LED顯示器驅(qū)動(dòng)電路、LED顯示器電路和蜂鳴器電路。其中單片機(jī) 8051 是系統(tǒng)工作的核心,它主要負(fù)責(zé)信號(hào)的接收及控制等。它主要是利用8051為主CPU展開設(shè)計(jì),10并且能夠充分利用其多個(gè)I/O接口,用來控制紅綠燈的燃亮?xí)r間,并通過數(shù)碼管顯示等,通過軟件編程的方式在其內(nèi)部完成計(jì)數(shù)、延時(shí)的功能。它的工作過程是:初始化復(fù)位后,通過撥碼開關(guān)設(shè)置好初始值,單片機(jī)則自主進(jìn)行循環(huán)控制。若在紅燈倒計(jì)時(shí)間內(nèi)有車闖過,則進(jìn)入蜂鳴器電路;若需要?jiǎng)討B(tài)調(diào)整時(shí)間,可查詢車流量,在進(jìn)行具體的調(diào)整(具體硬件電路及工作原理請(qǐng)參見第3.2和3.3

28、節(jié))圖3-2 設(shè)計(jì)方案二3.1.3 方案的比較利用方案一來實(shí)現(xiàn)這個(gè)電路的設(shè)計(jì)功能,需要將電路按照其工作條件和布局分配逐級(jí)連接好,主要是通過起始開關(guān)加以控制,設(shè)計(jì)思路也較為簡(jiǎn)單。但需要通過較長(zhǎng)時(shí)間的調(diào)試方可成功。在時(shí)間的需求上面可能比單片機(jī)多,同時(shí)此方案所用到的知識(shí)都是數(shù)電、模電理論基礎(chǔ),并不全面。 利用方案二來實(shí)現(xiàn)這個(gè)電路的設(shè)計(jì)功能,11它以8051作為核心,通過擴(kuò)展I/O口的方式對(duì)紅綠燈進(jìn)行控制。調(diào)試方面不需要產(chǎn)生梯形圖等,可能略為優(yōu)于方案一,而就設(shè)計(jì)思路而言,方案二中的車流量檢測(cè),蜂鳴器報(bào)警等實(shí)用性更強(qiáng),考慮更為全面,其優(yōu)點(diǎn)也相對(duì)較為突出。但是所涉及的芯片較多,在經(jīng)濟(jì)上的付出相對(duì)較大。但在

29、電路的制作上面所需要花費(fèi)的時(shí)間和精力需要也很多,因?yàn)樵谝?051為主展開設(shè)計(jì)當(dāng)中,首先要以51機(jī)為中心,擴(kuò)展I/O口,連接8255芯片,進(jìn)而到達(dá)LED數(shù)碼管顯示電路,并且還需要連接信號(hào)處理放大電路。另外需要連接發(fā)光二極管,以顯示顏色的循環(huán)。這樣完成電路的硬件部分,就已經(jīng)很麻煩了,同時(shí)軟件編程同樣需要大量的時(shí)間。但是它集模電、數(shù)電和單片機(jī)于一體,知識(shí)比較全面,具有挑戰(zhàn)性。它的性能可能會(huì)比方案一更好。單片機(jī)編程,用單片機(jī)設(shè)計(jì)電路,1由于使用軟硬件結(jié)合的方式,所以電路結(jié)構(gòu)明了,調(diào)試也相對(duì)方便。與第一種方案比較優(yōu)點(diǎn)的是極為明顯的。因而本設(shè)計(jì)采用第二種方案。3.1.4 方案的總體論述東西、南北兩干道交于

30、一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時(shí)間。設(shè)東西道比南北道的車流量大,17指示燈燃亮的方案如下表。表3-1 時(shí)間設(shè)置表40S5S60S5S東西道紅燈亮黃燈亮綠燈亮黃燈亮南北道綠燈亮黃燈亮紅燈亮黃燈亮 上表: (1)當(dāng)東西方向?yàn)榧t燈,此道車輛禁止通行,東西道行人可通過;南北道為綠燈,此道車輛通過,行人禁止通行。時(shí)間為40秒。(2)黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。 (3)當(dāng)東西方向?yàn)榫G燈,此道車輛通行;南北方向?yàn)榧t燈,南北道車

31、輛禁止通過,行人通行。時(shí)間為60秒。 東西方向車流大 通行時(shí)間長(zhǎng)。(4)這樣如上表的時(shí)間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。(5)此表可根據(jù)車流量動(dòng)態(tài)設(shè)定紅綠燈初始值。3.2 交通燈硬件電路原理圖圖3-3 系統(tǒng)電路原理圖圖3-3中,P0.7作為片選信號(hào),低電平有效,其他無效;P3.0為串行口輸入,控制蜂鳴器電路;P3.1為串行口輸出,控制是否通過撥碼開關(guān)設(shè)置初值;12通過撥碼開關(guān)輸入初始時(shí)間,其中P1.7為控制位,選擇存入紅燈時(shí)間或者綠燈時(shí)間,剩余7位存入初始數(shù)據(jù),由8051P1口輸入系統(tǒng);P0.1P0.0用于選擇8255端口;而由8051的P0口向8255數(shù)據(jù)口輸

32、送信息;由8255的PB3控制數(shù)碼管十位的輸出,PB2則控制個(gè)位;825的5PA口顯示紅綠黃燈的燃亮情況,PC口輸出字段碼,通過放大信號(hào)處理,顯示交通燈的燃亮?xí)r間。3.3 系統(tǒng)工作原理交通信號(hào)燈是用單片機(jī)來設(shè)計(jì)制作完成,13其功能的實(shí)現(xiàn)主要通過軟件編程來完成。由于采用單片機(jī)8051,它是低功耗、高性能的 8 位單片機(jī)。該系統(tǒng)運(yùn)行準(zhǔn)確,考慮全面,實(shí)用性強(qiáng)。8051 單片機(jī)由微處理器,存儲(chǔ)器,I/O 口以及特殊功能寄存器 SFR 等部分構(gòu)成。其存儲(chǔ)器在物理上設(shè)計(jì)成程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器兩個(gè)獨(dú)立的空間,片內(nèi)程序存儲(chǔ)器的容量為 4KB,片內(nèi)數(shù)據(jù)存儲(chǔ)器為 128 個(gè)字節(jié)。8051 單片機(jī)有 4個(gè) 8 位

33、的并行 I/O 口:P0 口,P1 口,P2 口和 P3 口。各個(gè)接口均由接口鎖存器,輸出驅(qū)動(dòng)器,和輸入緩沖器組成。P1 口是唯一的單功能口,僅能用作通用的數(shù)據(jù)輸入/輸出口。P3 口是雙功能口除了具有數(shù)據(jù)輸入/輸出功能外,每條接口還具有不同的第二功能,如 P3.0 是串行輸入口線,P3.1 口是串行輸出口線。在需要外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器擴(kuò)展時(shí),P0 可作為分時(shí)復(fù)用的低 8 位地址/數(shù)據(jù)總線,P2 口可作為高 8 位的地址總線。P3 口也可作為 8051 的一些特殊功能口,同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。外部振蕩電路單片機(jī)必須在8051 的驅(qū)動(dòng)下才能工作.1在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振

34、蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元。外部中斷和內(nèi)部中斷并存,單片機(jī)有硬件復(fù)位端,只要輸入持續(xù) 4 個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位。硬件復(fù)位后的各狀態(tài)可知寄存器及存儲(chǔ)器的值都恢復(fù)到了始值。外部還接有蜂鳴器,警示闖紅燈的車輛,通過編程控制蜂蜜器報(bào)警的時(shí)間長(zhǎng)短。采用七段碼LED數(shù)碼管顯示器,它是共陰極的,輸入高電平時(shí)點(diǎn)亮。外部還接有一按鍵,其主要目的在于綠燈倒計(jì)時(shí)時(shí),時(shí)間顯示與車流量顯示的轉(zhuǎn)換。初始化后,經(jīng)由撥碼開關(guān)輸入初始值,調(diào)試好后,單片機(jī)則可進(jìn)行自動(dòng)循環(huán)控制。初始時(shí)間由8051的P1口送入系統(tǒng),并通過8051的P0口向8255數(shù)據(jù)口傳送信息,通過8051

35、內(nèi)部的定時(shí)器控制紅綠黃燈的燃亮?xí)r間,而由P0.1、P0.0進(jìn)行8255端口的選擇,而其具體的燃亮情況由8255的PA口加以顯示,其燃亮的時(shí)間則由PC口控制,經(jīng)由放大器,通過數(shù)碼管顯示,而數(shù)碼管的十位、個(gè)位分別由8255的PB3、PB2控制,進(jìn)而實(shí)現(xiàn)紅綠黃燈的循環(huán)點(diǎn)亮,道路的暢通運(yùn)行。若是在紅燈倒計(jì)時(shí)時(shí)間內(nèi),由紅外檢測(cè)發(fā)現(xiàn)有車闖紅燈,置位端口(P3.0)清零,低電平點(diǎn)亮蜂鳴器,發(fā)出報(bào)警音,三秒以內(nèi)恢復(fù)正常;而在綠燈時(shí)間增加車流量的檢測(cè)功能,通過P3.3口高電平的輸入個(gè)數(shù)記數(shù),并由外部按鍵電路控制是否顯示車流量,利于根據(jù)不同時(shí)段的具體情況做出調(diào)整;可以通過適當(dāng)改設(shè)初值的方法,調(diào)整紅綠燈燃亮?xí)r間,緩

36、解交通壓力。3.4 各模塊電路設(shè)計(jì)3.4.1時(shí)鐘電路XTAL1和XTAL2是MSC-51系列單片機(jī)的時(shí)鐘引腳。兩引腳1連接于單片機(jī)內(nèi)部的一個(gè)高增益反相放大器,用于與外部振蕩源一起構(gòu)成振蕩電路。其中XTAL1為該放大器的輸入引腳,XTAL2為該放大器的輸出引腳。單片機(jī)工作的時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的,其時(shí)鐘周期主要有晶振決定。MSC-51系列單片機(jī)的主頻信號(hào)有兩種產(chǎn)生方式,即內(nèi)部方式和外部方式,本次設(shè)計(jì)采用內(nèi)部方式。內(nèi)部方式時(shí)鐘電路如圖3-4 所示。外接晶體振蕩器以及電容C1、C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中,內(nèi)部振蕩器產(chǎn)生自激振蕩,一般晶振可以在2MHz到12MHz之間任選。對(duì)外接

37、電容雖然沒有嚴(yán)格的要求,但電容的大小多少會(huì)影響震蕩頻率高低、振蕩的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。外接晶體時(shí),C1、C2的典型值為30PF。其結(jié)果只是機(jī)器周期時(shí)間不同,影響計(jì)數(shù)器的計(jì)數(shù)初值。圖3-4 時(shí)鐘電路3.4.2復(fù)位電路復(fù)位操作是計(jì)算機(jī)系統(tǒng)經(jīng)常進(jìn)行的操作,即使【13】其軟、硬件回到初始狀態(tài),準(zhǔn)備工作。在設(shè)計(jì)和使用單片機(jī)應(yīng)用系統(tǒng)時(shí)必須了解其復(fù)位操作,電路如圖3-5所示。復(fù)位引腳RST/Vpd是一個(gè)雙功能引腳,即復(fù)位/備用電源。復(fù)位功能RST: 單片機(jī)的復(fù)位是靠外部電路實(shí)現(xiàn)的。在振蕩信號(hào)正常運(yùn)行情況下,只要RST引腳保持兩個(gè)機(jī)器周期以上時(shí)間的高電平,系統(tǒng)就能復(fù)位。復(fù)位以后,單片機(jī)內(nèi)各部件

38、恢復(fù)到初始狀態(tài),單片機(jī)從ROM的0000H開始執(zhí)行程序。 備用電源功能Vpd:當(dāng)Vcc掉電時(shí),在Vcc下降到操作系統(tǒng)允許極限之前,RST/Vpd引腳上備用電源,向內(nèi)部RAM供電,這是系統(tǒng)處于一種低功耗方式,備用Vcc恢復(fù)時(shí),備用電源仍然保持一定時(shí)間,以便完成復(fù)位操作,然后重新開始工作。圖3-5 復(fù)位電路3.4.3蜂鳴器電路本設(shè)計(jì)要求紅燈定時(shí)時(shí)間內(nèi),有車闖紅燈時(shí)要有聲音警報(bào)信號(hào)的產(chǎn)生,可以選擇一只蜂鳴器來實(shí)現(xiàn)這一功能。壓電式蜂鳴器(HA)工作時(shí)越需要10mA驅(qū)動(dòng)電流,并設(shè)計(jì)一個(gè)相應(yīng)的驅(qū)動(dòng)及控制電路。電路設(shè)計(jì)如圖3-6所示,蜂鳴器(HA)作為三極管的集電極負(fù)載,當(dāng)三極管導(dǎo)通時(shí),蜂鳴器發(fā)出鳴叫聲音,

39、三極管截止時(shí),蜂鳴器不發(fā)聲。R16是限流電阻。蜂鳴器電路與單片機(jī)的接口:三極管的基極接到單片機(jī)P3口的P3.0,P3.0引腳作為輸出口使用。當(dāng)P3.0=0時(shí),三極管導(dǎo)通,使蜂鳴器的兩個(gè)引腳間獲得將近5V的直流電壓,蜂鳴器中有電流通過,而產(chǎn)生蜂鳴聲。當(dāng)P3.0=1時(shí),三極管截止,蜂鳴器的兩引腳間的直流電壓接近于0V,蜂鳴器不發(fā)聲。蜂鳴器只在紅燈倒計(jì)時(shí)時(shí)間內(nèi)有車闖紅燈時(shí)發(fā)出蜂鳴聲。蜂鳴器有長(zhǎng)聲和短聲兩種,可以根據(jù)需要進(jìn)行選擇。本例選擇短聲蜂鳴器。蜂鳴器報(bào)警時(shí)間的長(zhǎng)短,通過軟件編程控制,本例中報(bào)警三秒后恢復(fù)正常。 圖3-6 蜂鳴器電路3.4.4 按鍵電路本設(shè)計(jì)中用到兩類按鍵電路,圖見3-7。(A)撥

40、碼開關(guān):撥碼開關(guān)【15】分頂撥式,琴鍵式,側(cè)撥彎腳式三類,廣泛使用于數(shù)據(jù)處理、通信、遙控和防盜自動(dòng)警鈴系統(tǒng)等需要手動(dòng)程式編制的產(chǎn)品上,一般的8421撥碼開關(guān)是一個(gè)多位BCD編碼撥動(dòng)開關(guān):里面每個(gè)開關(guān)都有一塊電路板,通過印刷電路圖案產(chǎn)生BCD編碼,每一位開關(guān)下面的4個(gè)管腳輸出相應(yīng)的BCD碼。而在本設(shè)計(jì)中采用8位的撥碼開關(guān),其中的一位作為控制位;其余各位存入初始數(shù)據(jù)。當(dāng)開關(guān)接通時(shí)輸入高電平,否則低電平。數(shù)據(jù)的轉(zhuǎn)換則看除開控制位后的低七位,按照二進(jìn)制十進(jìn)制的規(guī)則轉(zhuǎn)換即可,如本例中的40、60則可分別鍵入X、X。(B)按鍵電路:按鍵電路的應(yīng)用廣泛,如搶答器、定時(shí)器等,本設(shè)計(jì)中出于對(duì)在綠燈倒計(jì)時(shí)時(shí),車流

41、量顯示問題的考慮,通過檢測(cè)P2.4的電位高低,選擇是否需要切換顯示車流量,是簡(jiǎn)單的按鍵控制。當(dāng)按下按鍵時(shí),輸入低電平顯示車流量;默認(rèn)狀態(tài)下顯示時(shí)間。圖3-7 按鍵電路3.5相關(guān)芯片簡(jiǎn)介3.5.1 MSC-51芯片8051是MCS-51系列單片機(jī)的典型產(chǎn)品,【14】我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。1.8051單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說明:(1) 中央處理器中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)

42、據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。(2) 數(shù)據(jù)存儲(chǔ)器(RAM)8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。 (3) 程序存儲(chǔ)器(ROM)8051共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。(4) 定時(shí)/計(jì)數(shù)器(ROM)8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。(5) 并行

43、輸入輸出(I/O)口8051共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。(6) 全雙工串行口8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。(7) 中斷系統(tǒng)8051具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。(8) 時(shí)鐘電路8051內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。2.單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開的形式,即哈佛(Harva

44、rd)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖3-8圖3-8 MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖MCS-51的引腳說明MCS-51系列單片機(jī)中的8031、8051及8751均采用40Pin【16】封裝的雙列直接DIP結(jié)構(gòu),右圖是它們的引腳配置,40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用?,F(xiàn)在我

45、們對(duì)這些引腳的功能加以說明:如圖3-9圖3-9 MCS-51系列單片機(jī)的引腳圖Pin9:RESET/Vpd復(fù)位信號(hào)復(fù)用腳,當(dāng)8051通電,【1】時(shí)鐘電路開始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上(兩個(gè)機(jī)器周期)的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指針寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài),8051的初始態(tài)。8051的復(fù)位方式可以是自動(dòng)復(fù)位,也可以是手動(dòng)復(fù)位,見下圖3-10。此外,RESET/Vp

46、d還是一復(fù)用腳,Vcc掉電其間,此腳可接上備用電源,以保證單片機(jī)內(nèi)部RAM的數(shù)據(jù)不丟失。圖3-10 8051復(fù)位電路和時(shí)鐘電路Pin30:ALE/當(dāng)訪問外部程序器時(shí),ALE(地址鎖存)的輸出用于鎖存地址的低位字節(jié)。而訪問內(nèi)部程序存儲(chǔ)器時(shí),ALE端將有一個(gè)1/6時(shí)鐘頻率的正脈沖信號(hào),這個(gè)信號(hào)可以用于識(shí)別單片機(jī)是否工作,也可以當(dāng)作一個(gè)時(shí)鐘向外輸出。更有一個(gè)特點(diǎn),當(dāng)訪問外部程序存儲(chǔ)器,ALE會(huì)跳過一個(gè)脈沖。如果單片機(jī)是EPROM,在編程其間,將用于輸入編程脈沖。Pin29:當(dāng)訪問外部程序存儲(chǔ)器時(shí),此腳輸出負(fù)脈沖選通信號(hào),PC的16位地址數(shù)據(jù)將出現(xiàn)在P0和P2口上,外部程序存儲(chǔ)器則把指令數(shù)據(jù)放到P0口

47、上,由CPU讀入并執(zhí)行。Pin31:EA/Vpp程序存儲(chǔ)器的內(nèi)外部選通線,8051和8751單片機(jī),內(nèi)置有4kB的程序存儲(chǔ)器,當(dāng)EA為高電平并且程序地址小于4kB時(shí),讀取內(nèi)部程序存儲(chǔ)器指令數(shù)據(jù),而超過4kB地址則讀取外部指令數(shù)據(jù)。如EA為低電平,則不管地址大小,一律讀取外部程序存儲(chǔ)器指令。顯然,對(duì)內(nèi)部無程序存儲(chǔ)器的8031,EA端必須接地。在編程時(shí),EA/Vpp腳還需加上21V的編程電壓。3.5.2 74LS373芯片;74LS373 是一種帶三態(tài)門的8D鎖存器,【15】管腳示意圖見3-11其中:1D-8D為8個(gè)輸入端。1Q-8Q為8個(gè)輸出端。LE為數(shù)據(jù)打入端:當(dāng)LE為“1”時(shí),鎖存器輸出狀態(tài)

48、同輸入狀態(tài);當(dāng)LE由“1”變“0”時(shí),數(shù)據(jù)入鎖存器;為輸出允許端:當(dāng)=0時(shí),三態(tài)門打開;當(dāng)=1時(shí),三態(tài)門關(guān)閉,輸出高阻。圖3-1 74LS373管腳圖表3-2 真值表DnLEOEOnHHLHLHLLXLLQ0XXHZL =低邏輯電平H =高邏輯電平X =高或低的邏輯電平 =高阻抗3.5.3 LED顯示器1 LED數(shù)碼顯示器介紹【2】發(fā)光二極管LED是一種通電后能發(fā)光的半導(dǎo)體器件,其導(dǎo)電性質(zhì)與普通二極管類似。LED數(shù)碼顯示器就是由發(fā)光二極管組合而成的1種新型顯示器件。在單片機(jī)系統(tǒng)中應(yīng)用非常普遍。2 LED數(shù)碼顯示器結(jié)構(gòu)LED數(shù)碼顯示器是1種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個(gè)L

49、ED發(fā)光二極管,其中7個(gè)用于顯示字符,1個(gè)用于顯示小數(shù)點(diǎn)。3 LED顯示器連接方法(1) 共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時(shí)公共陽極接+5V,每個(gè)發(fā)光二極管的陰極通過電阻與輸入端相連。當(dāng)陰極端輸入低電平時(shí),段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入高電平時(shí)則不點(diǎn)亮。(2) 共陰極接法。把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時(shí)公共陰極接地。每個(gè)發(fā)光二極管的陽極通過電阻與輸入端相連。當(dāng)陽極端輸入高電平時(shí),段發(fā)光二極管就導(dǎo)通點(diǎn)亮,而輸入低電平時(shí)則不點(diǎn)亮。在本設(shè)計(jì)中所采用的是共陰極LED數(shù)碼顯示器,其引腳排列如下圖3-15所示: 圖3-12 LED顯示器引腳第4章 交通燈軟件設(shè)計(jì)4.

50、1 每秒鐘的設(shè)定延時(shí)方法可以有兩種一中是利用MCS-51內(nèi)部定時(shí)器才生溢出中斷來確定1秒的時(shí)間,另一種是采用軟延時(shí)的方法。4.2 計(jì)數(shù)器硬件延時(shí)4.2.1 計(jì)數(shù)器初值計(jì)算定時(shí)器工作時(shí)必須給計(jì)數(shù)器送計(jì)數(shù)器初值,這個(gè)值是送到TH和TL中的。它是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值設(shè)定為C和計(jì)數(shù)初值設(shè)定為TC 可得到如下計(jì)算通式: TC=M-C式中,M為計(jì)數(shù)器摸值,該值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)M為8192 ;在方式1時(shí)M的值為65536;在方式2和3為2564.2.2 計(jì)算公式T=(MTC)T計(jì)數(shù)或TCMTT計(jì)數(shù)T計(jì)數(shù)是單片機(jī)時(shí)鐘周

51、期主頻T的12倍;TC為定時(shí)初值方式0TMAX2131微秒8.192毫秒方式1 TMAX216微妙65.536毫秒顯然1秒鐘已經(jīng)超過了計(jì)數(shù)器的最大定時(shí)間,所以我們只有采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問題4.2.3 秒的方法我們采用【1】在主程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器和使T0定時(shí)50毫秒這樣每當(dāng)T0到50毫秒時(shí)CPU就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計(jì)數(shù)器減,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時(shí)間顯示程序。4.2.4 相應(yīng)程序代碼()主程序定時(shí)器需定時(shí)50毫秒,故T0工作于方式1。初值:TCMT T計(jì)數(shù)216500

52、00/1=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ; 令TO為定時(shí)器方式1 MOV TH0, #3CH ;裝入定時(shí)器初值 MOV TL0, #BOH; MOV IE,#82H ;開TO中斷 SEBT TRO ;啟動(dòng)T0計(jì)數(shù)器 MOV RO, #14H;軟件計(jì)數(shù)器賦初值LOOP:SJMP $ ;等待中斷()中斷服務(wù)子程序 ORG 000BH AJMPBRTO ORG 00BHBRTO:DJNZ R0, NEXTAJMP TIME ;跳轉(zhuǎn)到時(shí)間及信號(hào)燈顯示子程序 DJNZ: MOVR0, #14H ;恢復(fù)值 MOV TH0, #3CH ;重裝入定時(shí)器

53、初值 MOV TL0, #BOH; MOV IE, #82H ;RETIEND4.3 軟件延時(shí)MCS-51的工作頻率為2-12MHZ,我們選用的8051單片機(jī)的工作頻率為6MHZ。機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/6M)=2us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時(shí)間。具體的延時(shí)程序分析: DELAY:MOV R4,#08H ;延時(shí)1秒子程序 DE2:LCALL DELAY1 DJNZ R4,DE2 RETDELAY1:MOV R6,#0 延時(shí)125ms 子程序 MOV R5,#0DE1: DJNZ R5

54、,$ DJNZ R6,DE1 RET MOV RN,#DATA 字節(jié)數(shù)數(shù)為2 機(jī)器周期數(shù)為1所以此指令的執(zhí)行時(shí)間為2us DELAY1 為一個(gè)雙重循壞 循環(huán)次數(shù)為256*256=65536 所以延時(shí)時(shí)間=65536*2=us 約為125us DELAY R4設(shè)置的初值為8 主延時(shí)程序循環(huán)8次,所以125us*8= 1秒由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。4.4 時(shí)間及信號(hào)燈的顯示4.4.1 8051并行口的擴(kuò)展8051雖然有4個(gè)8位I/O端口,但真正能提供借用的只有P1口,因?yàn)镻2和P0口通常用于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,8051通常需要擴(kuò)展。本設(shè)計(jì)中由于我們用外

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論