基于單片機(jī)高速公路車輛智能檢測、顯示系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)論文】_第1頁
已閱讀1頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p>  基于單片機(jī)高速公路車輛智能檢測、顯示系統(tǒng)設(shè)計(jì)</p><p><b>  誠信聲明</b></p><p>  本人鄭重聲明:本論文及其研究工作是本人在指

2、導(dǎo)教師的指導(dǎo)下獨(dú)立完成的,在完成論文時(shí)所利用的一切資料均已在參考文獻(xiàn)中列出。</p><p>  本人簽名: 年 月 日</p><p>  基于單片機(jī)高速公路車輛智能檢測、顯示系統(tǒng)設(shè)計(jì)</p><p>  摘要:我們?yōu)榱耸沟盟緳C(jī)重視交通違章的危害,通過單片機(jī)技術(shù)在高速公路出入口實(shí)現(xiàn)對(duì)車輛的車牌號(hào)的違章行為的智能檢測

3、及違章情況的顯示,使得違法車輛所有人看到自己車輛的違法信息后及時(shí)處理。本文詳細(xì)介紹了車輛智能檢測系統(tǒng)的方案設(shè)計(jì)、硬件選擇、軟件編程,該系統(tǒng)以單片機(jī)AT89C51芯片為核心,實(shí)現(xiàn)了對(duì)車輛檢測全過程的自動(dòng)控制。</p><p>  關(guān)鍵詞:道路交通違章,單片機(jī),車牌號(hào),智能檢測</p><p>  Based on monolithic integrated circuit</p>

4、<p>  highway vehicles intelligence examination,display system design</p><p>  Abstract:In order to enable the driver to take traffic citation the harm, display intelligent detection an

5、d violation by violations of MCU technology to realize the license plate number of the vehicle on the highway entrance,make i

6、llegal vehicles’ people to see own vehicles the illegal information to deal with in time. The article introduced the vehicles intelligence examination system project design in detail, the hardware choice ,t he software p

7、rogramming ,this system take the monolithic integ</p><p>  Key words: The road traffic violates regulations, The monolithic integrated circuit, The vehicles car license number,Intellect examine</p>&l

8、t;p><b>  目 錄</b></p><p><b>  1 前言1</b></p><p>  1.1 論文研究的目的及意義1</p><p>  1.1.1 研究目的1</p><p>  1.1.2 研究意義2</p><p>  1.2

9、 研究內(nèi)容及采用的研究手段2</p><p>  1.2.1 課題的研究內(nèi)容2</p><p>  1.2.2本課題擬采用的手段和途徑3</p><p>  2 車輛智能檢測設(shè)計(jì)方案4</p><p><b>  2.1 概述4</b></p><p>  2.2 設(shè)計(jì)思路5<

10、;/p><p><b>  2.3工作原理6</b></p><p>  3 車輛智能檢測硬件設(shè)計(jì)8</p><p>  3.1 MCS-51系列單片機(jī)內(nèi)部結(jié)構(gòu)及功能部件8</p><p>  3.2 AT89C51引腳功能介紹9</p><p>  3.3 中央處理器CPU12</

11、p><p>  3.3.1 運(yùn)算部件12</p><p>  3.3.2 控制部件及振蕩器13</p><p>  3.4 基礎(chǔ)知識(shí)14</p><p>  3.5 寄存器選擇及顯示器地址16</p><p>  3.6 硬件設(shè)計(jì)電路圖17</p><p>  4 車輛智能檢測軟件設(shè)計(jì)

12、18</p><p>  4.1 軟件概述18</p><p>  4.2 指令描述符號(hào)18</p><p>  4.3 偽指令19</p><p>  4.4 主程序設(shè)計(jì)20</p><p>  4.5 延時(shí)程序設(shè)計(jì)21</p><p>  4.6 查表程序設(shè)計(jì)22</p&g

13、t;<p>  4.7 LCD液晶顯示程序設(shè)計(jì)23</p><p>  4.7.1 DDRAM顯示數(shù)據(jù)寄存器23</p><p>  4.7.2 狀態(tài)字說明23</p><p><b>  5 仿真模擬24</b></p><p>  5.1 Proteus簡介24</p><

14、;p>  5.2 編譯與文件加載24</p><p>  5.3 電路仿真25</p><p>  5.4 仿真模擬25</p><p><b>  結(jié)論27</b></p><p><b>  參考文獻(xiàn)28</b></p><p><b>  致謝

15、29</b></p><p><b>  附錄30</b></p><p><b>  1 前言</b></p><p>  1.1 論文研究的目的及意義</p><p>  1.1.1 研究目的</p><p>  道路交通違章(簡稱交通違章)是指違反

16、道路交通法規(guī),妨礙道路交通秩序,影響道路交通安全和暢通的過錯(cuò)行為。大量研究表明,交通違章和交通事故有著密切的相關(guān)關(guān)系,一次違章就是一次準(zhǔn)事故,減少違章就是減少準(zhǔn)事故。因此,做好違章糾正工作對(duì)交通參與者自覺遵守交通法規(guī),保護(hù)公民的合法權(quán)益,減少交通事故,維護(hù)道路交通秩序,保障交通安全、暢通有著十分重要的意義。</p><p>  在改革開放以前,我國經(jīng)濟(jì)發(fā)展緩慢,機(jī)動(dòng)化水平不高,交通事故情況不嚴(yán)重。但改革開放以來,

17、尤其是進(jìn)入20世紀(jì)80年代中期后,我國經(jīng)濟(jì)進(jìn)入全面快速發(fā)展時(shí)期,機(jī)動(dòng)車擁有量增長迅速,伴隨著經(jīng)濟(jì)進(jìn)入全面快速發(fā)展,交通事故也明顯增加。</p><p>  從1985年起,我國的機(jī)動(dòng)車增長迅速,每年的機(jī)動(dòng)車增長速度都在10%以上,有時(shí)甚至達(dá)到30%,但隨著機(jī)動(dòng)車數(shù)量的增長,如今我國的車禍也成了世界第一。</p><p>  2007年上半年全國共發(fā)生道路交通事故15.9萬起,造成3.7萬人

18、死亡、18.9萬人受傷,直接財(cái)產(chǎn)損失5.4億元。超速行駛?cè)允菣C(jī)動(dòng)車肇事的主要原因。 </p><p>  由于奧運(yùn)期間開展的道路交通安全攻堅(jiān)戰(zhàn),2008年,全國道路交通事故死亡人數(shù)為73484人,同比下降10%。  </p><p>  2009年,據(jù)公安部交通管理局通報(bào),2009年,全國共發(fā)生道路交通事故238351起,造成67759人死亡、275125人受

19、傷,直接財(cái)產(chǎn)損失9.1億元,與去年同期相比,分別下降10.1%、7.8%、9.8%和10.7%。 其中,酒后駕駛導(dǎo)致的事故死亡人數(shù)降幅明顯。全國萬車死亡率為3.6,同比減少0.7。</p><p>  2010年,全國共發(fā)生道路交通事故238351起,造成67759人死亡、275125人受傷,直接財(cái)產(chǎn)損失9.1億元。 </p><p>  2011年,全國共接報(bào)涉及人員

20、傷亡的道路交通事故210812起,共造成62387人死亡,其中營運(yùn)客貨車輛肇事50296起,占23.9%,造成20648人死亡,占33.1%。全國共發(fā)生一次死亡10人以上的特大交通事故27起,造成451人死亡,其中營運(yùn)客貨車肇事的事故23起,造成 390人死亡,分別占 85.1%和86.5%。</p><p>  人流、物流、車流的快速增長,是經(jīng)濟(jì)發(fā)展、市場繁榮、人民生活水平提高的必然趨勢(shì)。但

21、事物的另一面向世人昭示:我國已經(jīng)進(jìn)入道路交通事故的高發(fā)期。通過對(duì)違章情況的檢測和顯示,使得司機(jī)重視交通違章的危害,在減少違章的同時(shí),使城市道路變得更秩序井然。</p><p>  1.1.2 研究意義</p><p>  在國家公布的道路事故統(tǒng)計(jì)資料匯編中,將交通事故的原因分類為機(jī)械故障原因、機(jī)動(dòng)車駕駛員原因、非機(jī)動(dòng)車駕駛員原因、行人乘車人原因、道路原因、其它原因。在近些年來的交通事故統(tǒng)

22、計(jì)數(shù)據(jù)中,可以看到由于機(jī)動(dòng)車駕駛員原因造成的交通事故一直在83%以上,而其中機(jī)動(dòng)車駕駛員在路面上的可見違章造成的事故達(dá)60%以上,如果加上非機(jī)動(dòng)車駕駛員和行人及乘車人的違章造成的交通事故,則路面上可見的交通違章造成的事故可達(dá)到交通事故總數(shù)的70%左右。而由此造成的人員傷亡和財(cái)產(chǎn)損失更是數(shù)額巨大。因此治理交通違章是擺在交通管理者和交通參與者面前的非常緊迫而又重大的任務(wù)。</p><p>  所以我們通過交通處罰對(duì)交

23、通參與者進(jìn)行治理。交通違法處罰是國家法定的,具有合法性,其作用是對(duì)交通違法者進(jìn)行處罰和教育。我們?yōu)榱耸沟盟緳C(jī)重視交通違章的危害,尤其是對(duì)于一些抱有僥幸心理,經(jīng)常不守法的司機(jī)更具有震懾力,通過在高速公路出入口實(shí)現(xiàn)對(duì)車輛的車牌號(hào)的違章行為的查詢檢測及違章情況的顯示,使得違法車輛所有人看到自己車輛的違法信息后及時(shí)處理。</p><p>  1.2 研究內(nèi)容及采用的研究手段</p><p>  

24、1.2.1 課題的研究內(nèi)容</p><p>  改革開放以來,尤其是進(jìn)入20世紀(jì)80年代中期后,我國經(jīng)濟(jì)進(jìn)入全面快速發(fā)展時(shí)期,機(jī)動(dòng)車擁有量增長迅速,伴隨著經(jīng)濟(jì)進(jìn)入全面快速發(fā)展,交通事故也明顯增加。所以運(yùn)用MCS—51單片機(jī)指令完成對(duì)高速出入口車輛車牌號(hào)的檢測及違章情況的顯示,并運(yùn)用相關(guān)編程軟件對(duì)其實(shí)現(xiàn)課題所要求實(shí)現(xiàn)的功能。并且會(huì)運(yùn)用仿真軟件對(duì)系統(tǒng)進(jìn)行功能仿真。對(duì)遇到的問題能通過查閱資料解決,對(duì)單片機(jī)技術(shù)、違章情

25、況及顯示系統(tǒng)有進(jìn)一步的了解,并能把他們有機(jī)的結(jié)合。</p><p>  本課題的主要任務(wù)是設(shè)計(jì)一個(gè)高速公路出入口車輛車牌號(hào)違章情況的顯示,要求設(shè)計(jì)的系統(tǒng)能夠準(zhǔn)確記錄車輛的監(jiān)測及違章情況,使得司機(jī)重視交通違章的危害,尤其是對(duì)于一些抱有僥幸心理,經(jīng)常不守法的司機(jī)具有震懾力,同時(shí)使得違法車輛所有人看到自己車輛的違法信息后及時(shí)處理。</p><p>  1.2.2本課題擬采用的手段和途徑</

26、p><p>  本課題的研究需要查閱大量的資料,可以到圖書館查閱與本課題相關(guān)的書籍和期刊,還可以上網(wǎng)瀏覽最新的有關(guān)本課題的文獻(xiàn)資料,用MCS-0851單片機(jī)進(jìn)行編程,并用Proteus軟件進(jìn)行硬件的設(shè)計(jì),并對(duì)軟硬件進(jìn)行仿真,對(duì)仿真所不符合條件的部分進(jìn)行修改,設(shè)計(jì)出符合設(shè)計(jì)要求的車輛車牌號(hào)違章情況的顯示。</p><p>  2 車輛智能檢測設(shè)計(jì)方案</p><p>&l

27、t;b>  2.1 概述</b></p><p>  把組成微型計(jì)算機(jī)的各功能部件:中央處理器CPU、隨機(jī)存取存儲(chǔ)RAM、只讀存儲(chǔ)器ROM、可編程存儲(chǔ)器EPROM、并行和串行輸入/輸出(I/O)接口、定時(shí)器/計(jì)數(shù)器、中斷控制器等部件集成在一塊半導(dǎo)體芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)系統(tǒng),稱之為單片微型計(jì)算機(jī),簡稱單片機(jī)。隨著大規(guī)模集成電路技術(shù)的發(fā)展,當(dāng)前增強(qiáng)型單片機(jī)內(nèi)還集成了A/D、D/A轉(zhuǎn)換器,

28、高速輸入/輸出部件,直接存儲(chǔ)器存取通道,浮點(diǎn)計(jì)算,脈寬調(diào)制電路,看門狗,以及LCD(液晶)驅(qū)動(dòng)電路等新的特殊功能部件。由于它的結(jié)構(gòu)和指令功能都是按工業(yè)控制要求設(shè)計(jì)的,特別適合于工業(yè)控制及與控制有關(guān)的數(shù)據(jù)處理場合,因而目前應(yīng)確切稱其為微控制器或者微控制單元,單片機(jī)的稱謂只是保留了其稱呼習(xí)慣。</p><p>  MCS-51系列單片機(jī)是20世紀(jì)80年代由美國Intel公司推出的一種高性能8位單片機(jī)。它的片內(nèi)集成了并

29、行I/O、串行I/O和16位定時(shí)器/計(jì)數(shù)器,片內(nèi)的RAM和ROM都比較大,RAM可達(dá)256B,新型51系列單片機(jī)的ROM可達(dá)64KB。在20世紀(jì)90年代后期,美國Intel公司出于公司發(fā)展戰(zhàn)略的考慮將主要精力集中在了微處理器的研發(fā)和生產(chǎn)上,并逐步退出了單片機(jī)的市場,但在單片機(jī)的發(fā)展和應(yīng)用歷史中,MCS-51系列單片機(jī)已經(jīng)得到科技界和工業(yè)界用戶廣泛的認(rèn)可。雖然許多半導(dǎo)體公司看到了單片機(jī)巨大的市場前景并紛紛加入到這一領(lǐng)域的開發(fā)研制,并為滿足

30、各種不同的需求推出了多個(gè)品種的系列機(jī),這些單片機(jī)產(chǎn)品還采用了多種創(chuàng)新技術(shù),產(chǎn)品的性能和可靠性都有了極大的改進(jìn)和提高,但這些單片機(jī)產(chǎn)品大都采用8051單片機(jī)的核心技術(shù)作為其內(nèi)核。</p><p>  MCS-51系列單片機(jī)生產(chǎn)工藝有兩種,分別為HMOS(高密度短溝道MOS工藝)和CHMOS(互補(bǔ)金屬氧化物的HMOS工藝),這兩種單片機(jī)完全兼容。CHMOS工藝比較先進(jìn),不光具有HMOS的高速性,同時(shí)還具有CMOS的低

31、功耗性,因此,CHMOS是HMOS和CMOS的結(jié)合。為區(qū)別起見,CHMOS工藝的單片機(jī)名稱前冠以字母C,如80C31、80C51、87C51等。不帶字母C的為HMOS芯片。此外,CHMOS型單片機(jī)中還有一些以80C51為核心,加上一些新的功能部件所組成的增強(qiáng)型單片機(jī),如8XC51FB增加了一個(gè)可編程的讀數(shù)器陣列PCA;8XC51GA增加了片內(nèi)的A/D轉(zhuǎn)換器;荷蘭Philips公司生產(chǎn)的與MCS-51兼容的增強(qiáng)型單片機(jī)8XC552,不僅增

32、加了片內(nèi)A/D轉(zhuǎn)換器、片內(nèi)看門狗電路和片內(nèi)PWM輸出通道,還提供了一種新型的芯片間通信總線I2C接口,利用數(shù)據(jù)和時(shí)鐘兩根線就可以實(shí)現(xiàn)芯片之間的數(shù)據(jù)傳送;Philips還提供了I2C總線進(jìn)行系統(tǒng)擴(kuò)展。HMOS型單片機(jī)電平與TTL電平兼容,而CHMOS型單片機(jī)的電平既與TTL電平兼容,又與CMOS電平兼容。所以,在單片機(jī)應(yīng)用系統(tǒng)中應(yīng)盡量采用CH</p><p>  MCS-51系列單片機(jī)在片內(nèi)程序存儲(chǔ)器的配置上有3種

33、,即掩膜ROM、EPROM和無片內(nèi)程序程序存儲(chǔ)器。8031片內(nèi)無ROM,必須外接EPROM才能應(yīng)用;8051片內(nèi)具有4KB的ROM;而8751片內(nèi)具有4KB的紫外線可擦除電可編程的只讀存儲(chǔ)器(EPROM)。這3種芯片的引腳兼容。單片機(jī)8751最適用于開發(fā)樣機(jī)、小批量生產(chǎn)和需要現(xiàn)場進(jìn)一步完善的場合,8051單片機(jī)適用于低成本、大批量生產(chǎn)的場合,而8031單片機(jī)則適用于能方便靈活地在現(xiàn)場進(jìn)行修改和更新程序存儲(chǔ)器的場合。</p>

34、<p>  MCS-51系列單片機(jī)在功能上有基本型和增強(qiáng)型兩種。通常以芯片型號(hào)的末位數(shù)字來區(qū)別,末位數(shù)字為“1”的為基本型,末位數(shù)字為“2”的為增強(qiáng)型,如80C51為基本型,80C52為增強(qiáng)型等[1]。</p><p><b>  2.2 設(shè)計(jì)思路</b></p><p><b> ?。?)電路設(shè)計(jì)</b></p>&

35、lt;p>  采用直接訪問方式,LCD模塊的地址空間由P2.7直接提供,當(dāng)總線尋址的地址最高位為1時(shí),允許訪問LCD模塊,選擇合適的P2.0和P2.1的電平,就可以實(shí)現(xiàn)LCD模塊相應(yīng)的讀寫操作。</p><p>  打開Proteus的ISIS,通過對(duì)象選擇器按鈕,從元件庫中選擇如下元器件:AT89C51、LCD、74HC00,并置入對(duì)象選擇器窗口。然后將選擇的元器件、電源和地線放置在編輯窗口中。</

36、p><p><b> ?。?)編程思路</b></p><p>  采用直接訪問方式實(shí)現(xiàn),初始化設(shè)置為清屏、功能設(shè)置、顯示狀態(tài)和輸入方式等過程,每個(gè)過程都是先判斷忙→送數(shù)據(jù)→再寫入的編程方法,其中寫入指令和寫入數(shù)據(jù)所用的指令不同。由于采用直接訪問電路結(jié)構(gòu),對(duì)數(shù)據(jù)的讀/寫要用MOVX類指令來完成。</p><p><b>  ↓</b

37、></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  圖2.1流程圖</

38、b></p><p><b>  2.3工作原理</b></p><p>  液晶顯示屏是屬于被動(dòng)發(fā)光顯示器件,屏蔽本身的像素點(diǎn)并不能主動(dòng)發(fā)光,它是靠調(diào)制外界光的光通量實(shí)現(xiàn)亮度控制的。</p><p>  將液晶的分子放置在電場中間,改變電場的方向和強(qiáng)度,分子也會(huì)隨同電場方向的改變產(chǎn)生扭曲。通過液晶分子的扭曲可以使通過的光線受到控制(通過

39、、阻斷)。</p><p>  液晶顯示器在上下玻璃電極之間封入向列型液晶材料,由于液晶的四壁效應(yīng),在定向膜的作用下,液晶分子在正、背玻璃電極上呈水平排列,但互相正交,而玻璃間的分子呈連續(xù)扭轉(zhuǎn)過渡,這樣的構(gòu)造能使液晶對(duì)光產(chǎn)生旋光作用,使光的偏振方向旋轉(zhuǎn)90°。</p><p>  當(dāng)外部光線通過上偏振片后形成偏振光,偏振方向呈現(xiàn)垂直方向,此偏振光通過液晶材料后,被旋轉(zhuǎn)90

40、6;,偏振方向呈現(xiàn)水平方向,此方向恰與下偏振偏方向一致,因此此光能通過下偏振片,到達(dá)反射板,經(jīng)反射后經(jīng)原路返回,從而呈現(xiàn)透明狀態(tài)。</p><p>  當(dāng)在液晶盒的上、下電極加上一定的電壓后,電極部分的液晶分子轉(zhuǎn)成垂直排列,從而失去了旋光性。因此,從上偏振片入射的偏振光不被旋轉(zhuǎn),當(dāng)此偏振光到達(dá)下偏振片時(shí),因其被下偏振片吸收,無法到達(dá)反射板形成反射,所以呈現(xiàn)黑色。根據(jù)需要,將電極做成各種文字、數(shù)字或點(diǎn)陣,就可以獲得

41、所需的各種顯示[2]。</p><p>  3 車輛智能檢測硬件設(shè)計(jì)</p><p>  3.1 MCS-51系列單片機(jī)內(nèi)部結(jié)構(gòu)及功能部件</p><p>  MCS-51系列單片機(jī)是由8大部分組成的。這8大部分是:</p><p> ?。?)一個(gè)8位中央處理器CPU。它由運(yùn)算部件、控制部件構(gòu)成,其中包括振蕩電路和時(shí)鐘電路,其主要完成單片機(jī)

42、的運(yùn)算和控制功能。它是單片機(jī)的核心部件,決定了單片機(jī)的主要功能特性。</p><p>  (2)128個(gè)字節(jié)(MCS-52子系列為256字節(jié))的片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM。其片外數(shù)據(jù)存儲(chǔ)器的尋址范圍為64KB,用于存放可讀寫的數(shù)據(jù),如運(yùn)算的中間結(jié)果或最終結(jié)果等。</p><p> ?。?)4KB(MCS-52子系列為8KB)的片內(nèi)程序只讀存儲(chǔ)器ROM或EPROM(8031和8032無)。其片外可

43、尋址范圍為64KB,主要用于存放已編制的程序,也可以存放一些原始數(shù)據(jù)和表格。</p><p> ?。?)18個(gè)(MCS-52子系列為21個(gè))特殊功能寄存器SFR。它用于控制和管理片內(nèi)算術(shù)邏輯部件、并行I/O口、串行I/O口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)等功能模塊的工作。</p><p>  (5)4個(gè)8位并行輸入輸出I/O接口:P0口、P1口、P2口、P3口(共32線),用于并行輸入或輸出數(shù)據(jù)

44、。</p><p>  (6)1個(gè)串行I/O接口。它可使數(shù)據(jù)1位1位串行地在計(jì)算機(jī)與外設(shè)之間傳送,可用軟件設(shè)置為4種工作方式,用于多處理機(jī)通訊、I/O擴(kuò)展或全雙工通用異步接收器(UART)。</p><p> ?。?)2個(gè)(MCS-52子系列為3個(gè))16位定時(shí)器/計(jì)數(shù)器。它可以設(shè)置為計(jì)數(shù)方式對(duì)外部事件進(jìn)行計(jì)數(shù),也可以設(shè)置為定時(shí)方式進(jìn)行定時(shí)。計(jì)數(shù)或定時(shí)的范圍由軟件來設(shè)定,一旦計(jì)數(shù)或定時(shí)結(jié)束則

45、向CPU發(fā)出中斷請(qǐng)求,CPU根據(jù)計(jì)數(shù)或定時(shí)的結(jié)果對(duì)計(jì)算機(jī)或外設(shè)進(jìn)行控制。</p><p> ?。?)1個(gè)具有5個(gè)(MCS-52子系列為6個(gè)或7個(gè))中斷源,可編程為2個(gè)優(yōu)先級(jí)的中斷系統(tǒng)。它可以接收外部中斷申請(qǐng)、定時(shí)器/計(jì)數(shù)器中斷申請(qǐng)和串行口中斷申請(qǐng)。常用于實(shí)時(shí)控制、故障自動(dòng)處理、計(jì)算機(jī)與外設(shè)間傳送數(shù)據(jù)及人—機(jī)對(duì)話等[4]。</p><p>  3.2 AT89C51引腳功能介紹</p&

46、gt;<p>  MCS-51系列單片機(jī)芯片均為40個(gè)引腳,HMOS工藝制造的芯片采用雙列直插(DIP)方式封裝,其引腳示意及功能分類如圖1.1所示。CMOS工藝制造的低功耗芯片也有采用方型封裝的,但為44個(gè)引腳,其中4個(gè)引腳是不使用的。</p><p>  圖3.1 AT89C51系列單片機(jī)引腳及總線結(jié)構(gòu)</p><p> ?。╝)管腳圖;(b)引腳功能分類</p&g

47、t;<p>  MCS-51系列單片機(jī)的40個(gè)引腳中有2個(gè)專用于主電源的引腳,2個(gè)外接晶體的引腳,4個(gè)控制或與其它電源復(fù)用的引腳,以及32條輸入輸出I/O引腳。下面按引腳功能分為4部分?jǐn)⑹龈饕_的功能。</p><p>  1.主電源引腳VCC和VSS</p><p>  VCC(40腳):接+5V電源正端;</p><p>  VSS(20腳):接+

48、5V電源地端。</p><p>  2.外接晶體引腳XTAL1和XTAL2</p><p>  XTAL1(19腳):指外部石英晶體的一端。在單片機(jī)內(nèi)部,它是一個(gè)反相放大器的輸入端,這個(gè)放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳接地;對(duì)于CHMOS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端。</p><p>  XTAL2(18腳):接外部晶體

49、的另一端。在單片機(jī)內(nèi)部,接至片內(nèi)振蕩器的反相放大器的輸出端。當(dāng)采用外部時(shí)鐘時(shí),對(duì)于HMOS單片機(jī),該引腳作為外部振蕩信號(hào)的輸入端;對(duì)于CHMOS芯片,該引腳懸空不接。</p><p>  3.控制信號(hào)或其它電源復(fù)用引腳</p><p>  控制信號(hào)或與其它電源復(fù)用引腳有RST/VPD、ALE/、和/VPP等4種形式。</p><p>  (1)RST/VPD(9腳)

50、:RST即為RESET,VPD為備用電源,所以該引腳為單片機(jī)的上電復(fù)位或掉電保護(hù)端。當(dāng)單片機(jī)振蕩器工作時(shí),該引腳上出現(xiàn)持續(xù)兩個(gè)機(jī)器周期的高電平,就可實(shí)現(xiàn)復(fù)位操作,使單片機(jī)回復(fù)到初始狀態(tài)。</p><p>  當(dāng)VCC降低到低電平規(guī)定值或掉電時(shí),該引腳可接上備用電源VPD(+5±0.5V)為內(nèi)部RAM供電,以保證RAM中的數(shù)據(jù)不丟失。</p><p> ?。?)ALE(30腳):當(dāng)

51、訪問外部存儲(chǔ)器時(shí),ALE(允許地址鎖存信號(hào))以每機(jī)器周期兩次的頻率輸出,用于鎖存出現(xiàn)在P0口的低8位地址。在不訪問外部存儲(chǔ)器時(shí),ALE端仍以上述不變的頻率(振蕩器頻率的1/6),周期性地出現(xiàn)正脈沖信號(hào),可作為對(duì)外輸出的時(shí)鐘脈沖或用于定時(shí)目的。但要注意,在訪問片外數(shù)據(jù)存儲(chǔ)器期間,ALE脈沖會(huì)跳過一個(gè),此時(shí)作為時(shí)鐘輸出就不妥當(dāng)了[5]。</p><p>  對(duì)于片內(nèi)含有EPROM的單片機(jī),在EPROM編程期間,該引腳

52、作為編程脈沖的輸入端。</p><p> ?。?)(29腳):片外程序存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效。當(dāng)從外部程序存儲(chǔ)器讀取指令或常數(shù)期間,每個(gè)機(jī)器周期兩次有效,以通過數(shù)據(jù)總線口讀取指令或常數(shù)。當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器期間,信號(hào)將不出現(xiàn)。</p><p> ?。?)/VPP(31腳):為訪問外部程序存儲(chǔ)器控制信號(hào),低電平有效。當(dāng)端保持高電平時(shí),單片機(jī)訪問片內(nèi)程序存儲(chǔ)器4KB(MCS-52子

53、系列為8KB)。當(dāng)超出該范圍時(shí),自動(dòng)轉(zhuǎn)去執(zhí)行外部程序存儲(chǔ)器的程序。當(dāng)端保持低電平時(shí),無論片內(nèi)有無程序存儲(chǔ)器,均只訪問外部程序存儲(chǔ)器。</p><p>  對(duì)于片內(nèi)含有EPROM的單片機(jī),在EPROM編程期間,該引腳用于接21V的編程電源VPP。</p><p>  4.輸入/輸出(I/O)引腳P0口、P1口、P2口及P3口</p><p> ?。?)P0口(39腳~

54、32腳):P0.0~P0.7統(tǒng)稱為P0口。當(dāng)不接外部存儲(chǔ)器與不擴(kuò)展I/O接口時(shí),它可作為準(zhǔn)雙向8位輸入/輸出接口。當(dāng)接有外部存儲(chǔ)器或擴(kuò)展I/O接口時(shí),P0口為地址/數(shù)據(jù)分時(shí)復(fù)用口。它分時(shí)提供8位地址總線和8位雙向數(shù)據(jù)總線。</p><p>  對(duì)于片內(nèi)含EPROM的單片機(jī),當(dāng)EPROM編程時(shí),從P0口輸入指令字節(jié),而當(dāng)檢驗(yàn)程序時(shí),則輸出指令字節(jié)。</p><p> ?。?)P1口(1腳~8

55、腳):P1.0~P1.7統(tǒng)稱為P1口,可作為準(zhǔn)雙向I/O接口使用。</p><p>  對(duì)于MCS-52子系列單片機(jī),P1.0與P1.1還有第2功能:P1.0可用作定時(shí)器/計(jì)數(shù)器2的計(jì)數(shù)脈沖輸入端T2;P1.1用作定時(shí)器/計(jì)數(shù)器2的外部控制端T2EX。</p><p>  對(duì)EPROM編程和進(jìn)行程序驗(yàn)證時(shí),P1口接收輸入的低8位地址。</p><p> ?。?)P2

56、口(21腳~28腳):P2.0~P2.7統(tǒng)稱為P2口,一般可作為準(zhǔn)雙向I/O接口。當(dāng)接有外部存儲(chǔ)器或擴(kuò)展I/O接口且尋址范圍超過256個(gè)字節(jié)時(shí),P2口用于高8位地址總線送出高8位地址。</p><p>  對(duì)EPROM編程和進(jìn)行程序驗(yàn)證時(shí),P2口接收輸入的高8位地址。</p><p> ?。?)P3口(10腳~17腳):P3.0~P3.7統(tǒng)稱為P3口。它為雙功能口,可以作為一般的準(zhǔn)雙向I/

57、O接口,也可以將每1位用于第2功能,而且P3口的每一條引腳均可獨(dú)立定義為第1功能的輸入輸出或第2功能。P3口的第二功能詳見表3.1[3]。</p><p>  表3.1 P3口第二功能表</p><p>  綜上所述,MCS-51系列單片機(jī)的引腳作用可歸納為以下兩點(diǎn):</p><p> ?。?)單片機(jī)功能多,引腳數(shù)少,因而許多引腳都具有第二功能。</p>

58、;<p> ?。?)單片機(jī)對(duì)外呈3總線形式,由P2口、P0口組成16位地址總線;由P0口分時(shí)復(fù)用作為數(shù)據(jù)總線;由ALE、、RST、與P3口中的T0、T1共10個(gè)引腳組成控制總線。由于是16位地址線,因此,可使外部存儲(chǔ)器的尋址范圍達(dá)到64KB。</p><p>  3.3 中央處理器CPU</p><p>  中央處理器是單片機(jī)內(nèi)部的核心部件,它決定了單片機(jī)的主要功能特性。它由

59、運(yùn)算部件和控制部件兩大部分組成。</p><p>  3.3.1 運(yùn)算部件</p><p>  運(yùn)算部件是以算術(shù)邏輯單元ALU為核心,加上累加器A、寄存器B、暫存器TMP1和TMP2、程序狀態(tài)寄存器PSW及專門用于位操作的布爾處理機(jī)組成的,它能實(shí)現(xiàn)數(shù)據(jù)的算術(shù)邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送操作[6]。</p><p>  1.算術(shù)邏輯單元ALU與累加器A、寄存器B&l

60、t;/p><p>  算術(shù)邏輯單元ALU不僅能完成8位二進(jìn)制數(shù)的加(帶進(jìn)位加)、減(帶借位減)、乘、除、加1、減1及BCD加法的十進(jìn)制調(diào)整等算術(shù)運(yùn)算,還能對(duì)8位變量進(jìn)行邏輯“與”、“或”、“異或”、求補(bǔ)、清零等邏輯運(yùn)算,并具有數(shù)據(jù)傳送、程序轉(zhuǎn)移等功能。累加器ACC簡稱累加器A,為一個(gè)8位寄存器,它是CPU中使用最頻繁的寄存器。進(jìn)入ALU作算術(shù)和邏輯運(yùn)算的操作數(shù)多來自A,運(yùn)算結(jié)果也常送回A保存。寄存器B是為ALU進(jìn)行乘

61、除法設(shè)置的。在執(zhí)行乘法運(yùn)算指令時(shí),用于存放其中一個(gè)乘數(shù)和乘積的高8位數(shù);執(zhí)行除法運(yùn)算指令時(shí),B中存放除數(shù)和余數(shù);若不作乘、除法運(yùn)算時(shí),則可作為通用寄存器使用。</p><p><b>  2.程序狀態(tài)字</b></p><p>  程序狀態(tài)字寄存器PSW(8位)是一個(gè)標(biāo)志寄存器,它保存指令執(zhí)行結(jié)果的特征信息,以供程序查詢和判別。其程序狀態(tài)字格式及含義如下:</p

62、><p>  PSW.7 PSW.0</p><p>  CY(PSW.7)—進(jìn)位標(biāo)志位。由硬件或軟件置位和清零。它表示運(yùn)算結(jié)果是否有進(jìn)位(或借位)。如果運(yùn)算結(jié)果在最高位有進(jìn)位輸出(加法時(shí))或有借位輸入(減法時(shí)),則CY=1,否則CY=0。</p><p> 

63、 AC(PSW.6)—輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志。它表示兩個(gè)8位數(shù)運(yùn)算,低4位有無進(jìn)(借)位的狀況。當(dāng)?shù)?位相加(或相減)時(shí),若D3位向D4位有進(jìn)位(或有借位),則AC=1(或AC=0)。在BCD碼運(yùn)算的十進(jìn)制調(diào)整中要用到該標(biāo)志。</p><p>  F0(PSW.5)—由用戶定義的標(biāo)志位。用戶可根據(jù)自己的需要用軟件對(duì)F0賦以一定的含義,并根據(jù)F0=1或0來決定程序的執(zhí)行方式。</p><p&

64、gt;  RS1(PSW.4)、RS0(PSW.3)—工作寄存器組選擇位??捎密浖梦换蚯辶?,用以指示4個(gè)工作寄存器中當(dāng)前使用的工作寄存器組。</p><p>  OV(PSW.2)—溢出標(biāo)志位。由硬件置位或清零。它反映運(yùn)算結(jié)果是否溢出(即運(yùn)算結(jié)果的正確性),溢出時(shí)(結(jié)果不正確)OV=1,否則OV=0。溢出標(biāo)志OV和進(jìn)位標(biāo)志CY是兩種不同性質(zhì)的標(biāo)志。溢出是指有正、負(fù)號(hào)的兩數(shù)運(yùn)算時(shí),運(yùn)算結(jié)果超出了累加器以補(bǔ)碼所能表

65、示的一個(gè)有符號(hào)數(shù)的范圍(-128~+127)。而進(jìn)位則表示兩數(shù)運(yùn)算最高位(D7)相加(或相減)有無進(jìn)(或借)位。因此使用時(shí)應(yīng)加以注意。</p><p>  PSW.1—未定義位。</p><p>  P(PSW.0)—奇偶標(biāo)志位。在執(zhí)行指令后,單片機(jī)根據(jù)累加器A中1的個(gè)數(shù)的奇偶自動(dòng)給該標(biāo)志置位或清零。若A中1的個(gè)數(shù)為奇數(shù),則P=1,否則P=0。該標(biāo)志對(duì)串行通信的數(shù)據(jù)傳輸是非常有用的,通過奇

66、偶校驗(yàn)可檢驗(yàn)傳輸?shù)目煽啃訹6]。</p><p><b>  3.布爾處理機(jī)</b></p><p>  布爾處理(即位處理)是MCS-51單片機(jī)ALU所具有的一種功能。單片機(jī)指令系統(tǒng)中的布爾指令集(17條位操作指令),存儲(chǔ)器中的位地址空間,以及借用程序狀態(tài)標(biāo)志寄存器PSW中的進(jìn)位標(biāo)志CY作為位操作“累加器”,構(gòu)成了單片機(jī)內(nèi)的布爾處理機(jī)。它可對(duì)直接尋址的位(bit)變

67、量進(jìn)行位處理,如置位、清零、取反、測試轉(zhuǎn)移以及邏輯“與”、“或”等位操作,使用戶在編程時(shí)可以利用指令完成原來單憑復(fù)雜的硬件邏輯所完成的功能,并可方便地設(shè)置標(biāo)志等。</p><p>  3.3.2 控制部件及振蕩器</p><p>  控制部件是單片機(jī)的神經(jīng)中樞,它包括定時(shí)和控制電路、指令寄存器、譯碼器以及信息傳送控制等部件。它先以主振頻率為基準(zhǔn)發(fā)出CPU的時(shí)序,對(duì)指令進(jìn)行譯碼,然后發(fā)出各種

68、控制信號(hào),完成一系列定時(shí)控制的微操作,用來協(xié)調(diào)單片機(jī)內(nèi)部各功能部件之間的數(shù)據(jù)傳送、數(shù)據(jù)運(yùn)算等操作,并對(duì)外發(fā)出地址鎖存ALE、外部程序存儲(chǔ)器選通,以及通過P3.6和P3.7發(fā)出數(shù)據(jù)存儲(chǔ)器讀、寫等控制信號(hào),并且接收處理外接的復(fù)位RST和外部程序存儲(chǔ)器訪問控制信號(hào)。</p><p>  單片機(jī)的定時(shí)控制功能是由片內(nèi)的時(shí)鐘電路和定時(shí)電路來完成的,而片內(nèi)的時(shí)鐘產(chǎn)生有兩種方式:一種是內(nèi)部時(shí)鐘方式;一種是外部時(shí)鐘方式,如圖3.

69、2所示。</p><p>  圖3.2 HMOS型MCS—51單片機(jī)時(shí)鐘產(chǎn)生方式</p><p> ?。╝)內(nèi)部振蕩器方式;(b)外部振蕩器方式</p><p>  采用內(nèi)部時(shí)鐘方式時(shí),片內(nèi)的高增益反相放大器通過XTAL1、XTAL2外接作為反饋元件的片外晶體振蕩器(呈感性)與電容組成的并聯(lián)諧振回路構(gòu)成一個(gè)自激振蕩器,向內(nèi)部時(shí)鐘電路提供振蕩時(shí)鐘。振蕩器的頻率主要取決

70、于晶體的振蕩頻率,一般晶體可在1.2MHz~12MHz之間任選,電容C1、C2可在5pF~30pF之間選擇,電容的大小對(duì)振蕩頻率有微小的影響,可起頻率微調(diào)作用[15]。</p><p>  采用外部時(shí)鐘方式時(shí),外部振蕩信號(hào)通過XTAL2端直接接至內(nèi)部時(shí)鐘電路,這時(shí)內(nèi)部反相放大器的輸入端XTAL1端應(yīng)接地。通常外接振蕩信號(hào)為低于12MHz的方波信號(hào)。</p><p><b>  3

71、.4 基礎(chǔ)知識(shí)</b></p><p><b>  1.LCD模塊</b></p><p>  LCD模塊引腳說明如表3.2所示。</p><p>  表3.2 LCD模塊引腳功能</p><p><b>  2.基本操作說明</b></p><p><b&

72、gt;  1)讀狀態(tài)</b></p><p>  輸入:RS=L,R/W=H,CS1或CS2=H,E=高脈沖;</p><p>  輸出:D0~D7=狀態(tài)字。</p><p><b>  2)寫指令</b></p><p>  輸入:RS=L,R/W=L,D0~D7=指令碼,CS1或CS2=H,E=高脈沖;&

73、lt;/p><p><b>  輸出:無。</b></p><p><b>  3)讀數(shù)據(jù)</b></p><p>  輸入:RS=H,R/W=H,CS1或CS2=H,E=H;</p><p>  輸出:D0~D7=數(shù)據(jù)。</p><p><b>  4)寫數(shù)據(jù)<

74、/b></p><p>  輸入:RS=H,R/W=L,D0~D7=數(shù)據(jù),CS1或CS2=H,E=高脈沖;</p><p><b>  輸出:無。</b></p><p><b>  3.指令說明</b></p><p><b>  1)初始化設(shè)置</b></p&g

75、t;<p>  顯示開/關(guān)設(shè)置如下:</p><p><b>  顯示初始設(shè)置如下:</b></p><p><b>  2)數(shù)據(jù)控制</b></p><p>  控制器內(nèi)部設(shè)有一個(gè)數(shù)據(jù)地址頁和一個(gè)數(shù)據(jù)地址列指針,用戶可通過它們來訪問內(nèi)部的全部512字節(jié)RAM。</p><p><

76、;b>  數(shù)據(jù)指針設(shè)置如下:</b></p><p><b>  4.初始化過程</b></p><p> ?。?)寫指令C0H,設(shè)置顯示初始行。</p><p> ?。?)寫指令3FH,開顯示。</p><p><b>  5.連線</b></p><p>

77、;  把仿真器的數(shù)據(jù)線與LCD數(shù)據(jù)線相連。RS連P2.0,CS1連P2.2,R/W連P2.3,CS2連P2.1,E連P2.7。</p><p>  3.5 寄存器選擇及顯示器地址</p><p>  LCD內(nèi)部有兩個(gè)寄存器,一個(gè)是指令寄存器IR,另一個(gè)是數(shù)據(jù)寄存器DR。IR用來存放由微控制器所用來的指令代碼,如光標(biāo)歸位、清除顯示器;DR用來存放欲顯示的數(shù)據(jù)。</p><

78、p>  顯示的次序是先把欲存放數(shù)據(jù)地址寫入IR,再把欲顯示的數(shù)據(jù)寫入DR,DR就會(huì)自動(dòng)把數(shù)據(jù)送至相應(yīng)的DD RAM或CG RAM地址,DD RAM是顯示數(shù)據(jù)的存儲(chǔ)器,用來存放LCD的顯示數(shù)據(jù);CG RAM是字符產(chǎn)生器,用來存放自己設(shè)計(jì)的顯示數(shù)據(jù)。</p><p>  LCD指令寄存器和數(shù)據(jù)寄存器的選擇如表所示,通常R/W與RS信號(hào)線一起使用[7]。</p><p>  表3.3 LC

79、D寄存器的選擇</p><p>  3.6 硬件設(shè)計(jì)電路圖</p><p>  圖3.3硬件設(shè)計(jì)電路圖</p><p>  4 車輛智能檢測軟件設(shè)計(jì)</p><p><b>  4.1 軟件概述</b></p><p>  由于構(gòu)成計(jì)算機(jī)的電子器件特性所決定,計(jì)算機(jī)只能識(shí)別二進(jìn)制代碼。這種以二進(jìn)

80、制代碼來描述指令功能的語言,稱之為機(jī)器語言,用機(jī)器語言組成的程序,稱為目標(biāo)程序。計(jì)算機(jī)就是按照機(jī)器語言的指令來完成各種功能操作的,它具有程序簡潔、占用存儲(chǔ)空間小、執(zhí)行速度快、控制功能強(qiáng)等特點(diǎn)。由于機(jī)器語言只是一種用二進(jìn)制0、1組成的代碼,人們不易辨識(shí)、記憶和書寫,因此使用不便、易錯(cuò),也很難用它來進(jìn)行程序設(shè)計(jì)[14]。</p><p>  為了既能體現(xiàn)機(jī)器語言的特點(diǎn),又能便于人們理解、記憶和書寫,計(jì)算機(jī)常采用助記符

81、來編寫程序。助記符是根據(jù)機(jī)器指令不同的功能和操作對(duì)象來描述指令的,由于它采用有關(guān)英文縮寫來描述指令的特征,因此,不但便于記憶,也便于理解和分類。</p><p>  單片機(jī)匯編語言與高級(jí)語言相比直觀性、易讀性不強(qiáng),但它程序代碼量少,最能直接反映如何用指令控制單片機(jī)工作過程,對(duì)于充分理解和掌握單片機(jī)內(nèi)部工作機(jī)理具有良好的作用。</p><p> ?。?#160;語言和匯編語言相比,匯編語言是

82、一種用文字助記符來表示機(jī)器指令的符號(hào)語言, 是最接近機(jī)器碼的一種語言。 </p><p>  對(duì)于目前普遍使用的 RISC 架構(gòu)的 8BIT MCU 來說,其內(nèi)部 ROM、RAM、STACK 等資源都有限, 如果使用 C 語言編寫,一條 C 語言指令編譯后,會(huì)變成很多條機(jī)器碼,很容易出

83、現(xiàn)ROM 空間 不夠、堆棧溢出等問題。而且一些單片機(jī)廠家也不一定能提供C 編譯器。而匯編語言,一條 指令就對(duì)應(yīng)一個(gè)機(jī)器碼, 每一步執(zhí)行什么動(dòng)作都很清楚, 并且程序大小和堆棧調(diào)用情況都容易控制,調(diào)試起來也比較方便。所以在單片機(jī)開發(fā)中,我認(rèn)為采用匯編語言比較好[8]。</p><p>  4.2 指令描述符號(hào)</p><p>  Rn

84、(n=0~7) 當(dāng)前選中的工作寄存器組中的寄存器R0~R7之一;</p><p>  Ri(i=0,1) 當(dāng)前選中的工作寄存器組中的寄存器R0或R1;</p><p>  @ 間接尋址或變址尋址前綴;</p><p>  #data 8位立即數(shù);</p><p>  #data16 16位立即數(shù);&l

85、t;/p><p>  direct 片內(nèi)RAM單元地址及SFR地址(可用符號(hào)名稱表示);</p><p>  addr11 11位目的地址;</p><p>  addr16 16位目的地址;</p><p>  rel 補(bǔ)碼形式表示的8位地址偏移量,其值在-128~+127范圍內(nèi);</p>

86、;<p>  DPTR 數(shù)據(jù)指針,可用作16位地址寄存器;</p><p>  bit 片內(nèi)RAM位地址、SFR中的位地址(可用符號(hào)名稱表示);</p><p>  A(ACC) 累加器。雖然A和ACC指的是同一個(gè)寄存器,但在指令中它們是有區(qū)別的。ACC在匯編后的機(jī)器碼中必有一個(gè)字節(jié)的操作數(shù)是ACC的字節(jié)地址E0H,A則隱含在指令操作碼

87、中。所以,在機(jī)器碼中不顯含E0H地址的指令A(yù)不能用ACC代替;特殊功能寄存器直接尋址和位尋址要用ACC代替,而不能用A代替;</p><p>  B 專用寄存器,用于乘法和除法指令中;</p><p>  C 進(jìn)位標(biāo)志或布爾處理機(jī)中的累加器;</p><p>  / 位操作數(shù)的取反操作前綴;</p&g

88、t;<p>  (×) 表示×地址單元或寄存器的內(nèi)容;</p><p>  ((×)) 表示以×單元或寄存器內(nèi)容為地址所指定單元的內(nèi)容;</p><p>  ← 數(shù)據(jù)傳送方向;</p><p>  ←→ 數(shù)據(jù)交換。</p><p>&

89、lt;b>  4.3 偽指令</b></p><p>  偽指令是不產(chǎn)生機(jī)器語言的指令,它僅提供匯編控制信息。偽指令的語句格式通常為 [標(biāo)號(hào)] 定義符 [操作數(shù)] [;注釋]</p><p>  格式中的[]表示可省略。</p><p>  1.ORG:匯編起始地址</p><p>  格式:ORG 地址&

90、lt;/p><p><b>  2.EQU:賦值</b></p><p>  格式:字符名稱 EQU 數(shù)據(jù)或SFR</p><p>  3.DB:定義數(shù)據(jù)字節(jié)</p><p>  格式:[標(biāo)號(hào):] DB 項(xiàng)或項(xiàng)表</p><p>  4.DW:定義數(shù)據(jù)字</p><p>

91、;  格式:[標(biāo)號(hào):] DW 項(xiàng)或項(xiàng)表</p><p><b>  5.BIT:位定義</b></p><p>  格式:字符名稱 BIT 位地址</p><p>  6.END:匯編結(jié)束</p><p>  格式:END ;單獨(dú)使用</p><p><b>  4.4 主程序

92、設(shè)計(jì)</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓<

93、;/b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b&g

94、t;</p><p><b>  ↓</b></p><p>  圖4.1 主程序流程圖</p><p>  4.5 延時(shí)程序設(shè)計(jì)</p><p>  在單片機(jī)匯編語言程序設(shè)計(jì)中使用到延時(shí)程序非常廣泛。例如,動(dòng)態(tài)LED顯示程序設(shè)計(jì)、LCD接口程序設(shè)計(jì)、鍵盤接口程序設(shè)計(jì)中的軟件消除抖動(dòng)等都采用了延時(shí)程序。所謂延時(shí),就是讓C

95、PU做一些與主程序功能無關(guān)的操作來消耗掉CPU的時(shí)間。因此對(duì)于延時(shí)程序,必須知道每一條指令的執(zhí)行時(shí)間,才能精確計(jì)算出來整個(gè)延時(shí)程序的延時(shí)時(shí)間[11]。</p><p>  ↓ </p><p><b>  ↓</b></p><p><b>  ↓</b></p&

96、gt;<p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  ↓</b></p><p><b>  N</b></p><p><b>  Y</b></p>

97、<p>  圖4.2 延時(shí)程序流程圖</p><p>  4.6 查表程序設(shè)計(jì)</p><p>  利用查表程序能避免進(jìn)行復(fù)雜的運(yùn)算或轉(zhuǎn)換過程,廣泛用于顯示、打印字符的轉(zhuǎn)換及數(shù)據(jù)補(bǔ)償、計(jì)算、轉(zhuǎn)換等程序中。</p><p>  查表就是根據(jù)自變量x的值,在表中查找到y(tǒng),使y=f(x)。x和y可以是各種類型的數(shù)據(jù)。表的結(jié)構(gòu)也是多種多樣的,數(shù)據(jù)是在編程時(shí)通過DB

98、偽指令將其存入程序存儲(chǔ)器ROM中形成數(shù)據(jù)表格的。MCS-51單片機(jī)提供了兩條專門用于查表操作的查表指令:</p><p>  MOVC A,@A+DPTR ;(A+DPTR)→A</p><p>  MOVC A,@A+PC ;FC+1→PC,(A+PC) →A</p><p>  其中,DPTR

99、為數(shù)據(jù)指針,一般用于存放表首地址;累加器A是查表的偏移量(即在表格中的第幾項(xiàng)數(shù)據(jù))[12]。</p><p>  4.7 LCD液晶顯示程序設(shè)計(jì)</p><p>  4.7.1 DDRAM顯示數(shù)據(jù)寄存器</p><p>  DDRAM顯示數(shù)據(jù)存儲(chǔ)器用于存放LCD當(dāng)前要顯示的數(shù)據(jù),其容量為80字節(jié)的RAM,能夠存儲(chǔ)80個(gè)8位字符代碼。LCD顯示屏上的每個(gè)位置都有相對(duì)

100、應(yīng)的DDRAM字節(jié),在DDRAM中某地址寫入字符代碼,就是在LCD相應(yīng)的位置顯示字符,其地址和屏幕的對(duì)應(yīng)關(guān)系如圖4.3所示。</p><p>  圖4.3 地址和屏幕對(duì)應(yīng)關(guān)系圖</p><p>  若將“A”顯示在第二行的第3個(gè)字節(jié),則只要將字符A的代碼41H寫入到地址為42單元RAM中即可。但存儲(chǔ)地址要在實(shí)際地址基礎(chǔ)上加80H。</p><p>  4.7.2 狀

101、態(tài)字說明</p><p>  STA0~STA4:未用。</p><p>  STA5:液晶顯示狀態(tài),1為關(guān)閉,0為顯示。</p><p><b>  STA6:未用。</b></p><p>  STA7:讀/寫操作使能,1為禁止,0為允許。</p><p>  對(duì)控制器每次進(jìn)行讀/寫操作之前,

102、都必須進(jìn)行讀/寫檢測,以確保STA7為0。</p><p><b>  5 仿真模擬</b></p><p>  5.1 Proteus簡介</p><p>  Proteus是英國Labcenter公司開發(fā)的電路分析與仿真軟件。該軟件的特點(diǎn)是:①集原理圖設(shè)計(jì)、仿真和PCB設(shè)計(jì)于一體,真正實(shí)現(xiàn)從概念到產(chǎn)品的完整電子設(shè)計(jì)工具,②具有模擬電路、數(shù)字

103、電路、單片機(jī)應(yīng)用系統(tǒng)、嵌入式系統(tǒng)(不高于ARM7)設(shè)計(jì)與仿真功能,③具有全速、單步、設(shè)置斷點(diǎn)等多種形式的調(diào)試功能,④具有各種信號(hào)源和電路分析所需的虛擬儀表,⑤支持Keil C51 uVision2、MPLAB等第三方的軟件編譯和調(diào)試環(huán)境,⑥具有強(qiáng)大的原理圖到PCB板設(shè)計(jì)功能,可以輸出多種格式的電路設(shè)計(jì)報(bào)表。擁有PROTEUS電子設(shè)計(jì)工具,就相當(dāng)于擁有了一個(gè)電子設(shè)計(jì)和分析平臺(tái)。</p><p>

104、 ?。?)Proteus軟件系統(tǒng)是 一種功能強(qiáng)大的電子設(shè)計(jì)自動(dòng)化軟件,是集原理圖設(shè)計(jì)、仿真和PCB設(shè)計(jì)于一體,真正實(shí)現(xiàn)了從概念到產(chǎn)品設(shè)計(jì)的開發(fā)平臺(tái)。</p><p>  (2)Proteus軟件除了具有模擬電路仿真、數(shù)字電路仿真之外,Proteus VSM的主要特色是單片機(jī)系統(tǒng)的仿真,用戶可在Proteus中直接編輯、編譯、調(diào)試代碼,并直觀地看到仿真結(jié)果。模型庫中包含了LED/LCD顯示、鍵盤、按鈕、開關(guān)、常用電

105、機(jī)等通用外圍設(shè)備。</p><p> ?。?)在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài);同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境。</p><p> ?。?)Proteus還有眾多的虛擬儀器(示波器、邏輯分析儀等)、信號(hào)源,以及高級(jí)圖表仿真ASF,它們?yōu)楦咝?、高質(zhì)、高速地完成電子設(shè)計(jì)提供了檢測、調(diào)試、分析的手段[13]。 </p>

106、<p>  5.2 編譯與文件加載</p><p>  將編寫的程序添加到Proteus自帶的編譯器中,對(duì)其進(jìn)行編譯,生成源程序的hex文件。</p><p><b>  5.3 電路仿真</b></p><p>  在單片機(jī)中編輯屬性中加載源程序的hex文件,單擊“運(yùn)行”按鈕,啟動(dòng)系統(tǒng)仿真。當(dāng)電路啟動(dòng)后,在LCD液晶顯示器上出現(xiàn)E

107、Q505無的仿真結(jié)果,隔幾秒顯示OH778違停的顯示結(jié)果。</p><p><b>  5.4 仿真模擬</b></p><p><b>  圖5.1 硬件圖1</b></p><p><b>  隔幾秒顯示:</b></p><p>  圖5.2 硬件圖2

108、 </p><p><b>  結(jié)論</b></p><p>  本次的畢業(yè)設(shè)計(jì)是一次理論與實(shí)際相結(jié)合的過程,通過這次基于單片機(jī)車輛違章情況的顯示,我了解了單片機(jī)方面的理論知識(shí),也成功地將理論知識(shí)與實(shí)際設(shè)計(jì)相結(jié)合在一起,提升了自己對(duì)所學(xué)專業(yè)基礎(chǔ)知識(shí)的理解和解決實(shí)際問題的能力,而且使我的能力得到了鍛煉,經(jīng)驗(yàn)得到了豐富,雖然畢業(yè)設(shè)計(jì)內(nèi)容多,但是

109、我從其中收獲了許多。通過幾個(gè)月的不斷努力,我從單純的理論知識(shí)學(xué)習(xí)狀態(tài),成功地將理論知識(shí)和實(shí)際設(shè)計(jì)結(jié)合。通過這次設(shè)計(jì)鍛煉了我的應(yīng)用能力,使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步,為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1

110、]梅麗鳳等.單片機(jī)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,2006.5</p><p>  [2]楊恢先等.單片機(jī)原理與應(yīng)用[M].北京:國防工業(yè)出版社,2003.3</p><p>  [3]張毅坤等.單片微型計(jì)算機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2013.2</p><p>  [4]胡鋼等.微機(jī)原理及應(yīng)用[M].北京:機(jī)械工業(yè)出版社,200

111、5.1</p><p>  [5]康光華.電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2005</p><p>  [6]周荷琴等.微型計(jì)算機(jī)原理與接口技術(shù)[M].中國科學(xué)技術(shù)大學(xué)出版社,2008</p><p>  [7]張永楓等.單片機(jī)應(yīng)用實(shí)訓(xùn)教程[M].西安:西安電子科技大學(xué)出版社,2005.2</p><p>  [8]陳志旺等.51單

112、片機(jī)快速上手[M].北京:機(jī)械工業(yè)出版社,2011.1</p><p>  [9]潘永雄.新編單片機(jī)原理與應(yīng)用實(shí)驗(yàn)[M].西安:西安電子科技大學(xué)出版社,2005.9</p><p>  [10]陳小忠.公路車輛智能監(jiān)測記錄系統(tǒng)的設(shè)計(jì)[J].浙江嘉科電子有限公司,2006,(8):11-20</p><p>  [11]宋榮等.基于PIC16F74單片機(jī)的高速公路車輛

113、監(jiān)測系統(tǒng)[J].深圳職業(yè)技術(shù)學(xué)院,2009,(8):47-50</p><p>  [12]張丙干.高速公路機(jī)動(dòng)車超速監(jiān)測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2012</p><p>  [13]李建鈺.面向高速公路的車輛檢測與跟蹤方法的研究[D].江蘇大學(xué),2010</p><p>  [14]周荷琴等.微型計(jì)算機(jī)原理與接口技術(shù)[M].中國科學(xué)技術(shù)大學(xué)出版社,20

114、08</p><p>  [15]朱清慧,張鳳蕊,翟天嵩.Proteus教程[M].清華大學(xué)出版社,2008.9</p><p><b>  致謝</b></p><p>  時(shí)光流水,轉(zhuǎn)眼之間已是畢業(yè)在即。此時(shí)此刻,謹(jǐn)向在我上學(xué)及論文完成期間給予莫大關(guān)心、支持和幫助的老師、朋友致以深深的謝意!</p><p>  本次

115、設(shè)計(jì)是在田靜老師的悉心指導(dǎo)和關(guān)懷下完成的,通過老師的指導(dǎo)和學(xué)習(xí),我得到了一次全面的鍛煉,鍛煉了我的應(yīng)用能力,使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步,以及加強(qiáng)了對(duì)Proteus軟件的應(yīng)用能力,為今后的學(xué)習(xí)和研究打下了基礎(chǔ)。</p><p>  同時(shí),我也要感謝其他同學(xué)的幫助,從他們身上我學(xué)到了很多理論知識(shí),自己的實(shí)踐能力也得到了很大的

116、提高。</p><p>  在未來的學(xué)習(xí)和工作中,我會(huì)繼續(xù)努力,不斷地實(shí)現(xiàn)自己的人生價(jià)值,以更好的成績來回報(bào)母校,回報(bào)社會(huì)。</p><p><b>  附錄</b></p><p>  本次程序的完整設(shè)計(jì)過程:</p><p>  XPOS DATA 50H;列方向地址指針</p>

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論