基于單片機(jī)的自動(dòng)停車(chē)收費(fèi)系統(tǒng)完整論文_第1頁(yè)
基于單片機(jī)的自動(dòng)停車(chē)收費(fèi)系統(tǒng)完整論文_第2頁(yè)
基于單片機(jī)的自動(dòng)停車(chē)收費(fèi)系統(tǒng)完整論文_第3頁(yè)
基于單片機(jī)的自動(dòng)停車(chē)收費(fèi)系統(tǒng)完整論文_第4頁(yè)
基于單片機(jī)的自動(dòng)停車(chē)收費(fèi)系統(tǒng)完整論文_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要介紹基于AT89S52單片機(jī)的一款停車(chē)場(chǎng)自動(dòng)停車(chē)收費(fèi)管理系統(tǒng),該自動(dòng)停車(chē)收費(fèi)系統(tǒng)采用比傳統(tǒng)停車(chē)計(jì)費(fèi)方式更優(yōu)越的紅外線(xiàn)檢測(cè)計(jì)費(fèi)方式,采用紅外線(xiàn)檢測(cè)計(jì)費(fèi)方式,所需存儲(chǔ)容量小,具備了自動(dòng)開(kāi)啟關(guān)閉大門(mén)功能、自動(dòng)計(jì)費(fèi)功能、顯示功能(顯示停車(chē)場(chǎng)狀況)、查詢(xún)功能,而且收費(fèi)方式可以調(diào)節(jié),使系統(tǒng)更具靈活性。該自動(dòng)停車(chē)收費(fèi)系統(tǒng)操作簡(jiǎn)單,價(jià)格低廉,安裝調(diào)試方便,很好地解決了臨時(shí)停車(chē)場(chǎng)的管理收費(fèi)問(wèn)題。整個(gè)自動(dòng)停車(chē)收費(fèi)管理系統(tǒng)操作簡(jiǎn)單、價(jià)格低廉、安裝調(diào)試方便,能夠滿(mǎn)足管理臨時(shí)停車(chē)場(chǎng)的要求。本系統(tǒng)的實(shí)際開(kāi)發(fā)使用將大大節(jié)省臨時(shí)停車(chē)場(chǎng)的管理費(fèi)用及人手,提高臨時(shí)停車(chē)場(chǎng)的利用效率。此外,該自動(dòng)停車(chē)收費(fèi)管理系統(tǒng)還可以方便地實(shí)

2、現(xiàn)信息加密和各種功能擴(kuò)展,通過(guò)改進(jìn)可成為通用型停車(chē)場(chǎng)收費(fèi)管理系統(tǒng)。關(guān)鍵詞:?jiǎn)纹瑱C(jī);停車(chē)場(chǎng);自動(dòng)停車(chē)收費(fèi)系統(tǒng)ABSTRACTThe management system introducing that one money parking lot automation motor stoppage of monolithic machine charges owing to AT89S52, is the system parking voluntarily chargings turn to adopt the plan parking ratio tradition to waste more

3、 advantageous way infrared ray detecting plan fee way , adopt infrared ray to check plan fee way, required memory capacity has been small , have had the function (situation demonstrating parking lot) , inquiry function opening automatically closing the entrance door function , the automation meter f

4、ee function , showing, and charge way is not bad adjust , make flexibility have more systematically. That automation motor stoppage charges systematically handling a simplicity , price is cheap , the installation debugging goes to the lavatory, problem having resolved charge for provisional parking

5、lot administration very good. Charge for entire automation motor stoppage manages the system operation simplicity , price is cheap , assembles a debugging to go to the lavatory. Be able to satisfy the call for managing provisional parking lots. Originally systematic reality develops administration c

6、ost and hand being put into use will economize provisional parking lot greatly , improves provisional parking lot utilization ratio. Besides, be the management system parking voluntarily chargings turn to be able to realize encrypted and various information function expansion conveniently, charge fo

7、r parking lot manages system by improving but becoming the type being applied or used universally.KeyWords:Monolithic machine; Parking lot; Charge for automation motor stoppage is systematic目 錄 MACROBUTTON InsertCrossReference TOC o 1-3 h z u HYPERLINK l _Toc232210426 1引言 PAGEREF _Toc232210426 h 1 H

8、YPERLINK l _Toc232210427 2課程任務(wù) PAGEREF _Toc232210427 h 3 HYPERLINK l _Toc232210428 2.1 系統(tǒng)框架 PAGEREF _Toc232210428 h 3 HYPERLINK l _Toc232210429 2.2 工作流程 PAGEREF _Toc232210429 h 4 HYPERLINK l _Toc232210430 3主要的功能元器件介紹 PAGEREF _Toc232210430 h 5 HYPERLINK l _Toc232210431 3.1元器件介紹 PAGEREF _Toc232210431

9、h 5 HYPERLINK l _Toc232210432 3.1.1 74LS138 PAGEREF _Toc232210432 h 5 HYPERLINK l _Toc232210433 3.1.2 LM358 PAGEREF _Toc232210433 h 6 HYPERLINK l _Toc232210434 3.2 LED顯示部分 PAGEREF _Toc232210434 h 7 HYPERLINK l _Toc232210435 3.2.1 LED顯示器 PAGEREF _Toc232210435 h 7 HYPERLINK l _Toc232210436 4單片機(jī)AT89S52

10、簡(jiǎn)介 PAGEREF _Toc232210436 h 8 HYPERLINK l _Toc232210437 4.1 AT89S52的引腳及功能 PAGEREF _Toc232210437 h 8 HYPERLINK l _Toc232210438 4.1.1 I/O口: PAGEREF _Toc232210438 h 9 HYPERLINK l _Toc232210439 4.1.2 P3口的第二功能 PAGEREF _Toc232210439 h 10 HYPERLINK l _Toc232210440 4.2 特殊功能寄存器 PAGEREF _Toc232210440 h 10 HYPE

11、RLINK l _Toc232210441 4.2.1 看門(mén)狗定時(shí)器 PAGEREF _Toc232210441 h 11 HYPERLINK l _Toc232210442 4.2.2 定時(shí)器 2 PAGEREF _Toc232210442 h 12 HYPERLINK l _Toc232210443 5程序設(shè)計(jì) PAGEREF _Toc232210443 h 16 HYPERLINK l _Toc232210444 5.1 如何進(jìn)行程序設(shè)計(jì) PAGEREF _Toc232210444 h 16 HYPERLINK l _Toc232210445 5.2 程序流程圖 PAGEREF _Toc

12、232210445 h 16 HYPERLINK l _Toc232210446 5.3 系統(tǒng)程序 PAGEREF _Toc232210446 h 17 HYPERLINK l _Toc232210447 結(jié) 論 PAGEREF _Toc232210447 h 24 HYPERLINK l _Toc232210448 參考文獻(xiàn) PAGEREF _Toc232210448 h 25 HYPERLINK l _Toc232210449 附錄一: 電路原理圖 PAGEREF _Toc232210449 h 26 HYPERLINK l _Toc232210450 致 謝 PAGEREF _Toc23

13、2210450 h 27第二章 MACROBUTTON AcceptAllChangesInDoc XXXX. xx學(xué)院2012屆本科生畢業(yè)設(shè)計(jì)PAGE 26引言隨著經(jīng)濟(jì)的高速增長(zhǎng),汽車(chē)的社會(huì)擁有量不斷增加,越來(lái)越多的人加入了購(gòu)車(chē)行列,私家車(chē)的數(shù)量越來(lái)越大,汽車(chē)停車(chē)場(chǎng)的數(shù)量將隨之增加,規(guī)模不斷擴(kuò)大,這給停車(chē)場(chǎng)的車(chē)輛管理系統(tǒng)(停車(chē)效率、停車(chē)安全)提出了新的挑戰(zhàn)。汽車(chē)數(shù)量的劇增和停車(chē)場(chǎng)地的相對(duì)短缺,使得停車(chē)場(chǎng)的管理收費(fèi)問(wèn)題凸現(xiàn)。特別是大型超市的臨時(shí)停車(chē)場(chǎng)管理收費(fèi)更加困難。該停車(chē)收費(fèi)系統(tǒng)操作簡(jiǎn)單,價(jià)格低廉,安裝調(diào)試方便,很好地解決了臨時(shí)停車(chē)場(chǎng)的管理和收費(fèi)問(wèn)題。目前的停車(chē)場(chǎng)收費(fèi)管理系統(tǒng)通常采用以下幾種

14、計(jì)費(fèi)方式:(1)攝像計(jì)費(fèi)方式:在停車(chē)場(chǎng)出口和入口分別放置一臺(tái)攝像機(jī),通過(guò)出入口的攝像機(jī)攝下汽車(chē)車(chē)牌號(hào)碼,送單片機(jī)或者電腦處理。再通過(guò)單片機(jī)計(jì)算停車(chē)時(shí)間和費(fèi)用,并控制大門(mén)開(kāi)啟。該方案信息量太大,要求具有較大的存儲(chǔ)容量。軟件設(shè)計(jì)比較復(fù)雜,成本還很高。(2)非接觸IC卡自動(dòng)計(jì)時(shí)停車(chē)收費(fèi)方式:硬件組成上,發(fā)卡設(shè)備直接由上位機(jī)控制,所以無(wú)需鍵盤(pán)、LCD模塊等硬件,出口設(shè)備包含入口設(shè)備和發(fā)卡設(shè)備所有的硬件,它們的設(shè)計(jì)只需在出口設(shè)備硬件基礎(chǔ)上去掉相應(yīng)模塊,所以在后面的硬件設(shè)計(jì)介紹中以出口設(shè)備為代表三種設(shè)備的不同功能由軟件編程實(shí)現(xiàn),出口程序經(jīng)過(guò)精簡(jiǎn)和簡(jiǎn)單的修改可得到入口設(shè)備程序,所以在軟件設(shè)計(jì)中主要討論了出口

15、設(shè)備和發(fā)卡設(shè)備的程序流程。等待射頻IC卡的請(qǐng)求、按鍵請(qǐng)求或串13通信請(qǐng)求。有任一種請(qǐng)求則進(jìn)入相應(yīng)處理程序,并且處理程序返回之前。屏蔽其它兩種請(qǐng)求。IC卡請(qǐng)求,驗(yàn)證用戶(hù)IC合法性,若為非法卡,則放棄IC卡請(qǐng)求,若為合法卡,從IC卡中獲取當(dāng)前時(shí)間和停車(chē)起始時(shí)間,計(jì)算出停車(chē)費(fèi)用,從IC卡獲取用戶(hù)余額。若判斷消費(fèi)金額超過(guò)用戶(hù)余額則蜂嗚報(bào)警并在LCD中提示。否則將扣除消費(fèi)金額并將余額寫(xiě)入IC卡中,最后將用戶(hù)序列號(hào)和消費(fèi)金額存儲(chǔ)到系統(tǒng),上位機(jī)根據(jù)存儲(chǔ)器中用戶(hù)消費(fèi)金額更新用戶(hù)余額。串口通信請(qǐng)求,出口設(shè)備與上位機(jī)連接時(shí)。根據(jù)上位機(jī)命令,可進(jìn)行存儲(chǔ)器數(shù)據(jù)上傳、設(shè)置設(shè)備時(shí)間等操作。向擋車(chē)閘電機(jī)控制器發(fā)出開(kāi)關(guān)信號(hào)。

16、發(fā)卡設(shè)備主程序流程,開(kāi)機(jī)后對(duì)讀寫(xiě)卡模塊和串口進(jìn)行初始化,然后等待上位機(jī)命令,若為“發(fā)新卡命令”。接著接收上位機(jī)發(fā)來(lái)的新用戶(hù)數(shù)據(jù),當(dāng)在有效范圍內(nèi)檢測(cè)到合法卡時(shí)將數(shù)據(jù)寫(xiě)入IC卡內(nèi)扇區(qū)2中相應(yīng)位置中,若為“充值命令”,將有效范圍內(nèi)IC卡的用戶(hù)信息傳給上位機(jī),然后等待上位機(jī)發(fā)來(lái)“寫(xiě)卡命令”,收到“寫(xiě)卡命令”,緊接著接收上位機(jī)發(fā)送的數(shù)據(jù),然后將接收到的數(shù)據(jù)寫(xiě)入IC卡中。(3)刷卡計(jì)費(fèi)方式:車(chē)主到指定地點(diǎn)辦理IC卡,車(chē)主通過(guò)打卡的方式進(jìn)出停車(chē)場(chǎng),并通過(guò)IC卡來(lái)繳費(fèi)。但該方式更適合于有長(zhǎng)期固定停放車(chē)位的停車(chē)場(chǎng)和長(zhǎng)期來(lái)此停車(chē)的人群,例如居民小區(qū)等。對(duì)其他人群或者是很少來(lái)此停車(chē)的人很不方便,還不實(shí)惠。(4)最初

17、的人工收費(fèi)方式:就是有專(zhuān)門(mén)的收費(fèi)人員在停車(chē)場(chǎng)看守和守候,既負(fù)責(zé)收費(fèi)又負(fù)責(zé)停車(chē)場(chǎng)的狀況。如果有車(chē)停進(jìn)來(lái),該人員主動(dòng)向車(chē)主收取停車(chē)費(fèi)。并交待注意事項(xiàng):如停車(chē)時(shí)間等問(wèn)題。車(chē)主的安全不是很有保障,容易發(fā)生刮碰問(wèn)題還有因搶車(chē)位發(fā)生摩擦的可能。課程任務(wù)傳統(tǒng)的停車(chē)計(jì)費(fèi)方式存在著一些不足,針對(duì)這些不足,設(shè)計(jì)了一個(gè)采用紅外線(xiàn)檢測(cè)單片機(jī)計(jì)費(fèi)方式的自動(dòng)停車(chē)收費(fèi)管理系統(tǒng),為臨時(shí)停車(chē)場(chǎng)提供了一個(gè)操作簡(jiǎn)便、價(jià)格低廉,而且行之有效的管理辦法。本系統(tǒng)的實(shí)際開(kāi)發(fā)使用將大大節(jié)省臨時(shí)停車(chē)場(chǎng)的管理費(fèi)用及人手,提高臨時(shí)停車(chē)場(chǎng)的利用效率。系統(tǒng)采用紅外線(xiàn)檢測(cè)計(jì)費(fèi)方式,可以實(shí)現(xiàn)自動(dòng)開(kāi)啟關(guān)閉大門(mén)功能、自動(dòng)計(jì)費(fèi)功能、顯示功能(顯示停車(chē)場(chǎng)狀況)、

18、查詢(xún)功能,而且收費(fèi)方式可以調(diào)節(jié),使系統(tǒng)更具靈活性。2.1 系統(tǒng)框架大門(mén)控制模塊紅外線(xiàn)檢測(cè)模塊操作鍵盤(pán)模塊數(shù)碼管顯示模塊停車(chē)場(chǎng)狀態(tài)顯示模塊單片機(jī)控制中心圖2-1 停車(chē)場(chǎng)自動(dòng)停車(chē)收費(fèi)管理系框統(tǒng)圖(1)紅外線(xiàn)檢測(cè)模塊:安裝在停車(chē)場(chǎng)入口和出口,用于檢測(cè)汽車(chē)的駛?cè)胪\?chē)場(chǎng)大門(mén)和駛出停車(chē)場(chǎng)大門(mén)。送單片機(jī)作相應(yīng)處理。紅外線(xiàn)檢測(cè)模塊由紅外線(xiàn)發(fā)射電路和紅外線(xiàn)接收電路組成,使用的是2組紅外線(xiàn)發(fā)射對(duì)管。(2)大門(mén)控制模塊:在單片機(jī)的控制下與紅外線(xiàn)檢測(cè)模塊協(xié)同作業(yè),執(zhí)行停車(chē)場(chǎng)大門(mén)的開(kāi)啟和關(guān)閉功能。保證了停車(chē)場(chǎng)的安全,減少了因搶占停車(chē)位發(fā)生意外的可能性。(3)單片機(jī)控制中心:采用AT89S52單片機(jī)系統(tǒng),它是本系統(tǒng)的核心

19、部分,主要功能是監(jiān)控鍵盤(pán)狀態(tài)。處理鍵盤(pán)輸入的操作信息;監(jiān)控停車(chē)場(chǎng)狀態(tài),控制大門(mén)開(kāi)啟和關(guān)閉,有汽車(chē)駛?cè)胪\?chē)位后車(chē)位數(shù)減一,當(dāng)空車(chē)位數(shù)為零時(shí),紅燈亮,不再讓汽車(chē)進(jìn)入停車(chē)場(chǎng)。汽車(chē)駛出停車(chē)位后停車(chē)位數(shù)加一,大門(mén)開(kāi)啟,讓其離開(kāi)。將停車(chē)的數(shù)量換算為停車(chē)場(chǎng)的費(fèi)用總費(fèi)用信息,控制顯示器按要求顯示各種信息。(4)停車(chē)場(chǎng)狀態(tài)顯示模塊:顯示停車(chē)場(chǎng)狀態(tài)信號(hào)其中不僅包括每停一輛車(chē)的價(jià)格還包括顯示今天一共停了多少輛車(chē),現(xiàn)在停了幾輛車(chē),還有幾個(gè)空車(chē)位可以使用。這時(shí)大門(mén)的綠燈表示有車(chē)正在進(jìn)入空車(chē)位,還可以停車(chē);紅燈表示場(chǎng)內(nèi)車(chē)位全滿(mǎn),不允許汽車(chē)進(jìn)入。不僅方便了駕駛?cè)?,還便于管理者查看停車(chē)場(chǎng)的各種情況,可以及時(shí)的調(diào)整收費(fèi)標(biāo)準(zhǔn)和經(jīng)

20、營(yíng)策略。(5)數(shù)碼管顯示模塊:顯示停車(chē)場(chǎng)的各種信息,包括北京時(shí)間、停車(chē)位、空停車(chē)位數(shù)、停車(chē)的費(fèi)用、收費(fèi)標(biāo)準(zhǔn)和操作提示等內(nèi)容。本模塊采用6個(gè)共陽(yáng)數(shù)碼管靜態(tài)顯示方式,節(jié)約了成本。(6)操作鍵盤(pán)模塊:通過(guò)鍵盤(pán)進(jìn)行多種人工操作,包括顯示、切換、查詢(xún)各類(lèi)信息,修改收費(fèi)標(biāo)準(zhǔn),修改北京時(shí)間(北京時(shí)間可以精確到秒)等顯示內(nèi)容。其中,操作鍵盤(pán)模塊、數(shù)碼管顯示模塊、停車(chē)場(chǎng)狀態(tài)顯示模塊和單片機(jī)控制中心合稱(chēng)為中心控制電路。2.2 工作流程當(dāng)汽車(chē)進(jìn)入或駛出停車(chē)場(chǎng)時(shí),2組紅外線(xiàn)檢測(cè)模塊將通知單片機(jī)有汽車(chē)駛?cè)牖蝰偝鐾\?chē)場(chǎng),單片機(jī)再根據(jù)停車(chē)場(chǎng)的當(dāng)時(shí)的狀態(tài)控制停車(chē)場(chǎng)大門(mén)的開(kāi)啟或關(guān)閉,根據(jù)設(shè)置好的停車(chē)費(fèi)用,并送顯示器顯示,處理人

21、工鍵盤(pán)的操作,進(jìn)行顯示、查詢(xún)、修改和切換。停車(chē)收費(fèi)標(biāo)準(zhǔn)為n元輛,系統(tǒng)初始值設(shè)為20元/輛,可以停車(chē)時(shí)交費(fèi)也可以離開(kāi)時(shí)交費(fèi)經(jīng)營(yíng)者可以根據(jù)自己的情況來(lái)定。該系統(tǒng)還可以充當(dāng)時(shí)鐘來(lái)使用。用程序來(lái)說(shuō)就是檢測(cè)有沒(méi)有空車(chē)位,有空位則允許車(chē)進(jìn)入,沒(méi)則不打開(kāi)大門(mén)。如果有車(chē)進(jìn)來(lái),等待汽車(chē)通過(guò)傳感器,打開(kāi)進(jìn)車(chē)大門(mén),已停車(chē)位數(shù)加1,停車(chē)總量加1,延時(shí)一段時(shí)間,讓汽車(chē)通過(guò)進(jìn)車(chē)門(mén),關(guān)閉進(jìn)車(chē)門(mén);沒(méi)空位時(shí),不打開(kāi)大門(mén),即紅燈亮。檢測(cè)有沒(méi)車(chē)出去,有則等待汽車(chē)通過(guò)出車(chē)門(mén)傳感器,打開(kāi)出大門(mén),已停車(chē)位數(shù)減1,延時(shí)一段時(shí)間,讓汽車(chē)通過(guò)出車(chē)門(mén),關(guān)閉出車(chē)門(mén)。第三章 MACROBUTTON AcceptAllChangesInDoc XXX

22、X. 主要的功能元器件介紹該系統(tǒng)主要有以下元器件構(gòu)成,下面對(duì)各器件進(jìn)行下介紹,讓我們對(duì)各個(gè)器件有所了解,有所認(rèn)識(shí)。3.1元器件介紹本節(jié)將介紹74LS138、LM358和數(shù)碼管74LS47的基本常識(shí)和基本功能。3.1.1 74LS138 圖3-1 38譯碼器原理邏輯符號(hào)及管腳排布74LS138為3線(xiàn)8線(xiàn)譯碼器,共有兩種線(xiàn)路結(jié)構(gòu)型式,其工作原理如下:當(dāng)一個(gè)選通端(G1)為高電平,另兩個(gè)選通端(/(G2A)和/(G2B))為低電平時(shí),可將地址端(A、B、C)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低電平譯出。利用G1、/(G2A)和/(G2B)可級(jí)聯(lián)擴(kuò)展成24譯碼器;若外接一個(gè)反相器還可級(jí)聯(lián)擴(kuò)展成32線(xiàn)譯碼

23、器。若將選通端中的一個(gè)作為數(shù)據(jù)輸入端時(shí),74LS138還可作數(shù)據(jù)分配器。在中規(guī)模集成電路中譯碼器有幾種型號(hào),使用最廣的通常是74LS138譯碼器,74LS138譯碼器件的邏輯功能,其輸出為低電平有效,使能端G1為高電平有效,/G2,/G3為低電平有效,當(dāng)其中一個(gè)為低電平,輸出端全部為1。74LS138譯碼器的輸出是低電平有效,故實(shí)現(xiàn)邏輯功能時(shí),輸出端不可接或門(mén)及或非門(mén),因?yàn)槊看蝺H一個(gè)為低電平,其余皆為高電平。數(shù)字系統(tǒng)中,譯碼器的功能是將一種數(shù)碼變換成另一種數(shù)碼。譯碼器的輸出狀態(tài)是其輸入變量各種組合的結(jié)果。譯碼器的輸出既可以用于驅(qū)動(dòng)或控制系統(tǒng)其他部分,也可驅(qū)動(dòng)顯示器,實(shí)現(xiàn)數(shù)字、符合的顯示。譯碼器

24、是一種組合電路,工作狀態(tài)的改變無(wú)需依賴(lài)時(shí)序脈沖。譯碼器可分為數(shù)碼譯碼和顯示譯碼倆大類(lèi)。其中:顯示譯碼:包括驅(qū)動(dòng)液晶顯示器(LCD)、發(fā)光二極管(LED)、熒光數(shù)碼管等。數(shù)碼譯碼:主要是用來(lái)完成各種碼制之間的轉(zhuǎn)換。例如可以來(lái)完成BCD十進(jìn)制數(shù)、十進(jìn)制數(shù)BCD之間數(shù)制的轉(zhuǎn)換。3.1.2 LM358LM358內(nèi)部包括有兩個(gè)獨(dú)立的、高增益、內(nèi)部頻率補(bǔ)償?shù)碾p運(yùn)算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無(wú)關(guān)。它的使用范圍包括傳感放大器、直流增益模組,音頻放大器、工業(yè)控制、DC增益部件和其他所有可用單電源供電的使用運(yùn)算放大器的場(chǎng)合。LM358

25、的封裝形式有塑封8引線(xiàn)雙列直插式和貼片式。LM358特性:內(nèi)部頻率補(bǔ)償。直流電壓增益高(約100dB)。單位增益頻帶寬(約1MHz)。低功耗電流,適合于電池供電。電源電壓范圍寬:?jiǎn)坞娫?330V);雙電源(1.515V)。低輸入偏流。低輸入失調(diào)電壓和失調(diào)電流。共模輸入電壓范圍寬,包括接地。差模輸入電壓范圍寬,等于電源電壓范圍。參數(shù):輸入偏置電流45nA,輸入失調(diào)電流50nA,輸入失調(diào)電壓2.9mV,輸入共模電壓最大值VCC為1.5V,共模抑制比80dB,電源抑制比100dB。圖3-2 LM358DIP塑封引腳圖引腳功能3.2 LED顯示部分在單片機(jī)系統(tǒng)中,常用的顯示器有:發(fā)光二極管顯示器,簡(jiǎn)稱(chēng)

26、LED;液晶顯示器,簡(jiǎn)稱(chēng)LCD;熒光管顯示器。而發(fā)光二極管顯示又分為固定段顯示和可以拼裝的大型字段顯示,此外還有共陽(yáng)極和共陰極之分等。 3.2.1 LED顯示器圖3-3 數(shù)碼管的外形和引腳LED顯示器是由發(fā)光二極管顯示字段組成的顯示塊,有7段和“米”字段之分。這種顯示塊有共陽(yáng)極和共陰極兩種。此外,顯示塊中還有一個(gè)圓點(diǎn)型發(fā)光二極管用于顯示小數(shù)點(diǎn)。通過(guò)發(fā)光二極管亮、暗的不同組,可以顯示多種數(shù)字、字母以及其他符號(hào)。LED顯示塊中的發(fā)光二極管共有兩種連接方法。(1)共陽(yáng)極接法發(fā)光二極管的陽(yáng)極連在一起構(gòu)成公共陽(yáng)極。使用時(shí)公共陽(yáng)極接5V,這樣,陰極端輸入低電平的段的發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示;其余的

27、段則不點(diǎn)亮。(2)共陰極接法發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時(shí)公共陰極接地,這樣,陽(yáng)極端輸入高電平的段的發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示;而輸入低電平的段則不點(diǎn)亮。第四章 MACROBUTTON AcceptAllChangesInDoc XXXX. 單片機(jī)AT89S52簡(jiǎn)介單片微型計(jì)算機(jī)SCMC (Single Chip Microcomputer)簡(jiǎn)稱(chēng)單片機(jī)。它是把組成微型計(jì)算機(jī)的各功能部件:中央處理器CPU(Central Processing Unit)、隨機(jī)存儲(chǔ)器RAM(Random Access Memory)、只讀存儲(chǔ)器ROM(Read Access Memory)、I

28、/O (Input/Output)接口電路、定時(shí)器/計(jì)數(shù)器以及串行通訊接口等部件制作在一塊集成芯片中,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。由于它的結(jié)構(gòu)與指令功能都是按照工業(yè)控制要求設(shè)計(jì)的,故又叫單片微控制器 4.1 AT89S52的引腳及功能 圖4-1 AT89S52的引腳圖AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制

29、應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線(xiàn),看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。AT89S52采用40引腳的雙列直插封裝(DIP方式)。(1)主電源引腳Vcc和VssVcc(40腳):接5V電

30、壓;Vss(20腳):接地。(2)外接晶體引腳XTAL1和XTAL2XTAL1接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時(shí),該引腳接收振蕩器的信號(hào),既把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時(shí),此引腳應(yīng)懸浮不連接。選用12MHz頻率的晶體,允許輸入的脈沖頻率為500kHz。電容的大小范圍為20pF40pF。4.1.1 I/O口:P0 口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作

31、高阻抗輸入。當(dāng)訪(fǎng)問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1 口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P1端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),在flash編程和

32、校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。P2 口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。在訪(fǎng)問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3 口:P3口是一個(gè)具有內(nèi)

33、部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P3端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。P3口亦作為AT89S52特殊功能(第二功能)使用,在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。4.1.2 P3口的第二功能RST: 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。看門(mén)狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址

34、鎖存控制信號(hào)(ALE)是訪(fǎng)問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址為8EH的SFR的第0位置“1”,ALE操作將無(wú)效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)

35、。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。EA/VPP:訪(fǎng)問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。4.2 特殊功能寄存器特殊功能寄存器(SFR)的地址空間并不是都被定義了。片上沒(méi)有定義的地址是不能用的。讀這些地址,一般將得到一個(gè)隨機(jī)數(shù)據(jù);寫(xiě)入的數(shù)據(jù)將會(huì)無(wú)效。用戶(hù)不應(yīng)該給這些未定義的地址寫(xiě)入數(shù)據(jù)“1”。由于這些寄存器在將來(lái)可能被賦予新的功能,復(fù)位后,這些位都為“0”。定時(shí)器2 :寄存器T2CON 和T2MOD

36、包含定時(shí)器2的控制位和狀態(tài)位,寄存器對(duì)RCAP2H和RCAP2L是定時(shí)器2的捕捉/自動(dòng)重載寄存器。中斷寄存器:各中斷允許位在IE寄存器中,六個(gè)中斷源的兩個(gè)優(yōu)先級(jí)也可在IE中設(shè)置。存儲(chǔ)器結(jié)構(gòu):MCS-51器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64K尋址。程序存儲(chǔ)器:如果EA引腳接地,程序讀取只從外部存儲(chǔ)器開(kāi)始。對(duì)于AT89S52,如果EA接VCC,程序讀寫(xiě)先從內(nèi)部存儲(chǔ)器(地址為0000H1FFFH)開(kāi)始,接著從外部尋址,尋址地址為:2000HFFFFH。數(shù)據(jù)存儲(chǔ)器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128字節(jié)與特殊功能寄存器重疊。也就是說(shuō)高128字節(jié)與特殊

37、功能寄存器有相同的地址,而物理上是分開(kāi)的。當(dāng)一條指令訪(fǎng)問(wèn)高于7FH的地址時(shí),尋址方式?jīng)Q定CPU訪(fǎng)問(wèn)高128字節(jié)RAM還是特殊功能寄存器空間。直接尋址方式訪(fǎng)問(wèn)特殊功能寄存器(SFR)。例如,下面的直接尋址指令訪(fǎng)問(wèn)0A0H(P2口)存儲(chǔ)單元MOV 0A0H , #data使用間接尋址方式訪(fǎng)問(wèn)高128字節(jié)RAM。例如,下面的間接尋址方式中,R0內(nèi)容為0A0H,訪(fǎng)問(wèn)的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV R0 , #data堆棧操作也是簡(jiǎn)介尋址方式。因此,高128字節(jié)數(shù)據(jù)RAM也可用于堆??臻g。4.2.1 看門(mén)狗定時(shí)器WDT是一種需要軟件控制的復(fù)位方式。WDT由13位計(jì)

38、數(shù)器和特殊功能寄存器中的看門(mén)狗定時(shí)器復(fù)位存儲(chǔ)器(WDTRST)構(gòu)成。WDT在默認(rèn)情況下無(wú)法工作,為了激活WDT,用戶(hù)必須向WDTRST寄存器(地址為0A6H的SFR)依次寫(xiě)入0E1H和0E1H。當(dāng)WDT激活后,用戶(hù)必須向WDTRST寫(xiě)入01EH和0E1H喂狗來(lái)避免WDT溢出。當(dāng)計(jì)數(shù)達(dá)到8191(1FFFH)時(shí),13位計(jì)數(shù)器將會(huì)溢出,這將會(huì)復(fù)位器件。晶振正常工作、WDT激活后,每一個(gè)機(jī)器周期WDT都會(huì)增加。為了復(fù)位WDT,用戶(hù)必須向WDTRST寫(xiě)入01EH 和0E1H(WDTRST是只讀寄存器)。WDT計(jì)數(shù)器不能讀或?qū)?。?dāng)WDT計(jì)數(shù)器溢出時(shí),將給RST引腳產(chǎn)生一個(gè)復(fù)位脈沖輸出,這個(gè)復(fù)位脈沖持續(xù)9

39、6個(gè)晶振周期(TOSC),其中TOSC=1/FOSC。為了很好地使用WDT,應(yīng)該在一定時(shí)間內(nèi)周期性寫(xiě)入那部分代碼,以避免WDT復(fù)位。掉電和空閑方式下的WDT:在掉電模式下,晶振停止工作,這意味這WDT也停止了工作。在這種方式下,用戶(hù)不必喂狗。有兩種方式可以離開(kāi)掉電模式:硬件復(fù)位或通過(guò)一個(gè)激活的外部中斷。通過(guò)硬件復(fù)位退出掉電模式后,用戶(hù)就應(yīng)該給WDT喂狗,就如同通常AT89S52復(fù)位一樣。通過(guò)中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長(zhǎng)一段時(shí)間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止WDT在中斷保持低電平的時(shí)候復(fù)位器件,WDT直到中斷拉低后才開(kāi)始工作。這就意味著WDT應(yīng)

40、該在中斷服務(wù)程序中復(fù)位。為了確保在離開(kāi)掉電模式最初的幾個(gè)狀態(tài)WDT不被溢出,最好在進(jìn)入掉電模式前就復(fù)位WDT。在進(jìn)入待機(jī)模式前,特殊寄存器AUXR的WDIDLE位用來(lái)決定WDT是否繼續(xù)計(jì)數(shù)。默認(rèn)狀態(tài)下,在待機(jī)模式下,WDIDLE0,WDT繼續(xù)計(jì)數(shù)。為了防止WDT在待機(jī)模式下復(fù)位AT89S52,用戶(hù)應(yīng)該建立一個(gè)定時(shí)器,定時(shí)離開(kāi)待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。4.2.2 定時(shí)器 2定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇。定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。工作模式由T2C

41、ON中的相關(guān)位選擇。定時(shí)器2有2個(gè)8位寄存器:TH2和TL2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角T2發(fā)生1至0下降沿時(shí)增加1。在這種方式下,每個(gè)機(jī)器周期的S5P2期間采樣外部輸入。一個(gè)機(jī)器周期采樣到高電平,而下一個(gè)周期采樣到低電平,計(jì)數(shù)器將加1。在檢測(cè)到跳變的這個(gè)周期的S3P1期間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R(shí)別10的跳變需要2個(gè)機(jī)器周期(24個(gè)晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一

42、個(gè)完整的機(jī)器周期內(nèi)保持不變。捕捉方式:在捕捉模式下,通過(guò)T2CON中的EXEN2來(lái)選擇兩種方式。如果EXEN2=0,定時(shí)器2時(shí)一個(gè)16位定時(shí)/計(jì)數(shù)器,溢出時(shí),對(duì)T2CON的TF2標(biāo)志置位,TF2引起中斷。如果EXEN2=1,定時(shí)器2做相同的操作。除上述功能外,外部輸入T2EX引腳(P1.1)1至0的下跳變也會(huì)使得TH2和TL2中的值分別捕捉到RCAP2H和RCAP2L中。除此之外,T2EX的跳變會(huì)引起T2CON中的EXF2置位。像TF2一樣,T2EX 也會(huì)引起中斷。自動(dòng)重載:當(dāng)定時(shí)器2工作于16位自動(dòng)重載模式,可對(duì)其編程實(shí)現(xiàn)向上計(jì)數(shù)或向下計(jì)數(shù)。這一功能可以通過(guò)特殊寄存器T2MOD中的DCEN(

43、向下計(jì)數(shù)允許位)來(lái)實(shí)現(xiàn)。通過(guò)復(fù)位,DCEN 被置為0,因此,定時(shí)器2 默認(rèn)為向上計(jì)數(shù)。DCEN 設(shè)置后,定時(shí)器2就可以取決于T2EX向上、向下計(jì)數(shù)??删幊虝r(shí)鐘輸出如圖4-2 所示,可以通過(guò)編程在P1.0引腳輸出一個(gè)占空比為50%的時(shí)鐘信號(hào)。這個(gè)引腳除了常規(guī)的I/O角外,還有兩種可選擇功能。它可以通過(guò)編程作為定時(shí)器/計(jì)數(shù)器2的外部時(shí)鐘輸入或占空比為50%的時(shí)鐘輸出。當(dāng)工作頻率為16MHz時(shí),時(shí)鐘輸出頻率范圍為61Hz到4Hz。為了把定時(shí)器2配置成時(shí)鐘發(fā)生器,位C/T2(T2CON.1)必須清0,位T2OE(T2MOD.1)必須置1。位TR2(T2CON.2)啟動(dòng)、停止定時(shí)器。時(shí)鐘輸出頻率取決于晶

44、振頻率和定時(shí)器2捕捉寄存器(RCAP2H,RCAP2L)的重載值,如公式所示:時(shí)鐘輸出頻率= (4-1)在時(shí)鐘輸出模式下,定時(shí)器2不會(huì)產(chǎn)生中斷,這和定時(shí)器2用作波特率發(fā)生器一樣。定時(shí)器2也可以同時(shí)用作波特率發(fā)生器和時(shí)鐘產(chǎn)生。不過(guò),波特率和輸出時(shí)鐘頻率相互并不獨(dú)立,它們都依賴(lài)于RCAP2H和RCAP2L。圖4-2 定時(shí)器2時(shí)鐘輸出模式中斷:AT89S52有6個(gè)中斷源:兩個(gè)外部中斷(INT0和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。這些中斷如圖9所示每個(gè)中斷源都可以通過(guò)置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無(wú)效。IE還包括一個(gè)中斷允許總控制位EA,它

45、能一次禁止所有中斷。對(duì)于AT89S52,IE.5位也是不能用的。用戶(hù)軟件不應(yīng)給這些位寫(xiě)1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是TF2或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時(shí)器0和定時(shí)器1標(biāo)志位TF0和TF1在計(jì)數(shù)溢出的那個(gè)周期的S5P2被置位。它們的值一直到下一個(gè)周期被電路捕捉下來(lái)。然而,定時(shí)器2的標(biāo)志位TF2在計(jì)數(shù)溢出的那個(gè)周期的S2P2被置位,在同一個(gè)周期被電路捕捉下來(lái)。晶振特性:如圖4-3所示,AT89S52單片機(jī)有一個(gè)用于構(gòu)成內(nèi)部振蕩器的反相

46、放大器,XTAL1和XTAL2分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來(lái)一起構(gòu)成自激振蕩器。從外部時(shí)鐘源驅(qū)動(dòng)器件的話(huà),XTAL2可以不接,而從XTAL1接入。由于外部時(shí)鐘信號(hào)經(jīng)過(guò)二分頻觸發(fā)后作為外部時(shí)鐘電路輸入的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有其它要求,最長(zhǎng)低電平持續(xù)時(shí)間和最少高電平持續(xù)時(shí)間等還是要符合要求的。圖4-3 中斷源圖4-4 內(nèi)部振蕩電路連接圖空閑模式在空閑工作模式下,CPU處于睡眠狀態(tài),而所有片上外部設(shè)備保持激活狀態(tài)。這種狀態(tài)可以通過(guò)軟件產(chǎn)生。在這種狀態(tài)下,片上RAM和特殊功能寄存器的內(nèi)容保持不變??臻e模式可以被任一個(gè)中斷或硬件復(fù)位終止。由硬件復(fù)位終止空閑模式只需兩

47、個(gè)機(jī)器周期有效復(fù)位信號(hào),在這種情況下,片上硬件禁止訪(fǎng)問(wèn)內(nèi)部RAM,而可以訪(fǎng)問(wèn)端口引腳。空閑模式被硬件復(fù)位終止后,為了防止預(yù)想不到的寫(xiě)端口,激活空閑模式的那一條指令的下一條指令不應(yīng)該是寫(xiě)端口或外部存儲(chǔ)器。掉電模式在掉電模式下,晶振停止工作,激活掉電模式的指令是最后一條執(zhí)行指令。片上RAM和特殊功能寄存器保持原值,直到掉電模式終止。掉電模式可以通過(guò)硬件復(fù)位和外部中斷退出。復(fù)位重新定義了SFR 的值,但不改變片上RAM 的值。在VCC未恢復(fù)到正常工作電壓時(shí),硬件復(fù)位不能無(wú)效,并且應(yīng)保持足夠長(zhǎng)的時(shí)間以使晶振重新工作和初始化。程序存儲(chǔ)器的加密位AT89S52有三個(gè)加密位不可編程(U)和可編程獲得下表所示

48、的功能。加密位1(LB1)編程后,EA引腳的邏輯值被采樣,并在復(fù)位期間鎖存。如果器件復(fù)位,而沒(méi)有復(fù)位,將鎖存一個(gè)隨機(jī)值,直到復(fù)位為止。為了器件功能正常,鎖存到的EA值必須和這個(gè)引腳的當(dāng)前邏輯電平一致。天津大學(xué)碩士學(xué)位論文 MACROBUTTON AcceptAllChangesInDoc 此處鍵入中文論文題目 程序設(shè)計(jì)5.1 如何進(jìn)行程序設(shè)計(jì)程序設(shè)計(jì)就是用計(jì)算機(jī)所能接受的語(yǔ)言把所需解決問(wèn)題的步驟逐一描述出來(lái),也就是編制計(jì)算機(jī)的程序,在設(shè)計(jì)應(yīng)用系統(tǒng)時(shí),軟件的編制是重要環(huán)節(jié)。軟件的質(zhì)量直接影響整個(gè)系統(tǒng)功能的實(shí)現(xiàn)。應(yīng)用程序的設(shè)計(jì)因系統(tǒng)而異,但程序設(shè)計(jì)總是有共同特點(diǎn)及其規(guī)律的。在編寫(xiě)程序時(shí),采取如下幾

49、個(gè)步驟:(1)分析問(wèn)題,明確所要解決問(wèn)題的要求,將軟件分成若干個(gè)相對(duì)獨(dú)立的部分。根據(jù)功能關(guān)系和時(shí)序關(guān)系,設(shè)計(jì)出合理的軟件總體結(jié)構(gòu)。(2)定程序框圖,即根據(jù)所選擇的計(jì)算方法制定框圖,這不僅是程序設(shè)計(jì)的一個(gè)重要組成,而且是決定成敗的關(guān)鍵部分。(3)合理分配系統(tǒng)資源,包括定時(shí)器/計(jì)數(shù)器、中斷、堆棧等。分配好單元后,進(jìn)一步將程序框圖畫(huà)成詳細(xì)的操作流程。(4)根據(jù)程序的流程圖和指令系統(tǒng)編寫(xiě)出程序。注意在程序的有關(guān)位置處寫(xiě)上功能注釋?zhuān)岣叱绦虻目勺x性。(5)程序調(diào)試。通過(guò)編輯軟件編輯出的源程序,必須用編譯程序匯編后生成目標(biāo)代碼。如果源程序有語(yǔ)法錯(cuò)誤,需修改源文件后繼續(xù)編譯,直到無(wú)語(yǔ)法錯(cuò)誤為止,然后利用目標(biāo)

50、代碼通過(guò)仿真器進(jìn)行程序調(diào)試,排除設(shè)計(jì)和編程中的錯(cuò)誤直到成功。(6)程序優(yōu)化。使各功能程序模塊化,子程序化,縮短程序的長(zhǎng)度,加快運(yùn)算速度和節(jié)省數(shù)據(jù)存儲(chǔ)空間,減少程序執(zhí)行的時(shí)間。5.2 程序流程圖本單片機(jī)控制中心的程序采用C語(yǔ)言編寫(xiě),運(yùn)行效率較高。其主要程序有:主循環(huán)程序:用于內(nèi)部RAM和各種中斷的設(shè)置,不斷掃描操作按鍵,做出相應(yīng)操作,并送顯示器顯示。根據(jù)系統(tǒng)要求,主循環(huán)程序的流程如圖5-1所示。按鍵調(diào)整程序:可以進(jìn)行秒調(diào)整、分調(diào)整、小時(shí)調(diào)整和停車(chē)費(fèi)用調(diào)整。切換顯示子程序:鍵盤(pán)上的返回鍵可以切換顯示北京時(shí)間、空位數(shù)、停車(chē)信息(包括剩余的停車(chē)位、已停車(chē)位數(shù)、總停車(chē)數(shù)量、停車(chē)費(fèi)用)。顯示停車(chē)信息時(shí),如

51、果不能同時(shí)顯示全部?jī)?nèi)容,可通過(guò)按下切換鍵切換顯示。初始化時(shí)是顯示北京時(shí)間。時(shí)鐘中斷程序:系統(tǒng)時(shí)鐘采用單片機(jī)內(nèi)部時(shí)鐘,該程序?qū)r(shí)鐘設(shè)置為24小時(shí)制。調(diào)用顯示時(shí)鐘子程序有鍵盤(pán)操作轉(zhuǎn)相應(yīng)可能子程序調(diào)用檢測(cè)子程序調(diào)用切換顯示子程序YN初始化 調(diào)用調(diào)整操作子程序圖5-1 程序流程圖5.3 系統(tǒng)程序#include#define uint unsigned int#define uchar unsigned charint n,z,shou_fei;char shi,fen,miao;sbit P1_0=P10; /進(jìn)車(chē)門(mén)紅燈sbit P1_1=P11; /進(jìn)車(chē)門(mén)綠燈sbit P1_2=P12; /出車(chē)門(mén)

52、指示燈sbit P1_3=P13; /進(jìn)車(chē)檢測(cè)位sbit P1_4=P14; /出車(chē)檢測(cè)位sbit P0_1=P01; /收費(fèi)控制位sbit P0_2=P02; /+sbit P0_3=P03; /-sbit P0_4=P04; /時(shí)控制位sbit P0_5=P05; /分控制位sbit P0_6=P06; /秒控制位sbit P0_7=P07; /功能選擇控制位/*延時(shí)函數(shù)*/void delay(uint i) while(i-);/*1ms延時(shí)函數(shù)*/void delay1ms(uint j) uint a,b; for(a=0;aj;a+) for(b=0;b1000;b+) ting

53、che(); /*按鍵函數(shù)*/anjian()if(P0_4=0) /時(shí)調(diào)整 while(1) shijian(); if(P0_2=0) while(P0_2=0) shijian(); shi+; if(shi=24)shi=0; if(P0_3=0) while(P0_3=0) shijian(); shi-; if(shi0)shi=23; if(P0_1=0) while(P0_1=0) shijian(); break; if(P0_5=0) /分調(diào)整 while(1) shijian(); if(P0_2=0) while(P0_2=0) shijian(); fen+; if(

54、fen=60)fen=0; if(P0_3=0) while(P0_3=0) shijian(); fen-; if(fen0)fen=59; if(P0_1=0) while(P0_1=0) shijian(); break; if(P0_6=0) /秒調(diào)整 while(1) shijian(); if(P0_2=0) while(P0_2=0) shijian(); miao+; if(miao=60)miao=0; if(P0_3=0) while(P0_3=0) shijian(); miao-; if(miao0)miao=59; if(P0_1=0) while(P0_1=0) s

55、hijian(); break; /*時(shí)間顯示函數(shù)*/shijian() P2=miao%10+0 x00+0 x80; /顯示秒的個(gè)位 P2=miao/10+0 x10+0 x80; /顯示秒的十位 P2=fen%10+0 x20; /顯示分的個(gè)位 P2=fen/10+0 x30+0 x80; /顯示分的個(gè)位 P2=shi%10+0 x40; /顯示時(shí)的個(gè)位 P2=shi/10+0 x50+0 x80; /顯示時(shí)的個(gè)位/*停車(chē)顯示函數(shù)*/tingche() P2=shou_fei/10+0 x50+0 x80;delay(5); /顯示收費(fèi)金額的十位 P2=shou_fei%10+0 x40; /顯示收費(fèi)金額的個(gè)位 P2=z/10+0 x30+0 x80; /顯示停車(chē)總數(shù)的十位 P2=z%10+0 x20; /顯示停車(chē)總數(shù)的個(gè)位 P2=(4-n)/10+0 x10+0 x80; /顯示空車(chē)位數(shù)的十位 P2=(4-n)%10+0 x00; /顯示空車(chē)位數(shù)的個(gè)位/*檢測(cè)函數(shù)*/void jiance()if(n4)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論