2023年全國(guó)碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩86頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要 </b></p><p>  本設(shè)計(jì)以AT89C2051為核心,利用單片機(jī)的運(yùn)算和控制功能,E2PROM存儲(chǔ)數(shù)據(jù),并采用LCM0825串口液晶顯示模塊實(shí)時(shí)顯示所測(cè)速度和里程的速度里程表設(shè)計(jì)方案。本論文分別從設(shè)計(jì)原理方案,設(shè)計(jì)功能實(shí)現(xiàn),功能調(diào)試的等多角度進(jìn)行詳細(xì)的剖析;并對(duì)各部分模塊的功能加以介紹;附錄相關(guān)的資料和圖片,務(wù)求精確徹底地給以展示設(shè)計(jì)的過程與

2、成果。</p><p>  該方案由于使用了串口液晶顯示模塊和E2PROM,以及高效快速算法,因而為節(jié)約系統(tǒng)資源和簡(jiǎn)化程序設(shè)計(jì)提供有利的前提和基礎(chǔ)。</p><p>  關(guān)鍵詞: 速度里程測(cè)量;單片機(jī);串行液晶;串行存儲(chǔ)器.</p><p><b>  Abstract</b></p><p>  This design

3、 take AT89C2051 as the core, making use of the operation of a machine and controlling the function, the E2PROM saves the data, and adopt a LCD manifestation mold piece actually the hour show that design the project th

4、e speed table of distance of measure the speed and mileage. This thesis divides the stanza of a cent, distinguish from the design the principle project, design the function realization, the function adjusts etc. for try

5、many the angle carries on the detailed analysis; </p><p>  That project because of using a LCD manifestation mold piece and E2PROMs, and efficiently fast calculate way, as a result for economize the system r

6、esources and simplify the program design to provide the beneficial premise and foundations.</p><p>  Keyword: Measure of speed and mileage; Micro controller ; Serial LCD; Serial memery.</p><p>

7、<b>  目 錄</b></p><p><b>  摘要Ⅰ</b></p><p>  Abstract….Ⅱ</p><p>  第1章 緒論………………………………………………………………….1</p><p>  1.1選題目的…………………………………………………………..1

8、</p><p>  1.2課題背景..................................................1</p><p>  1.3本文的內(nèi)容安排………………………………………………….3</p><p>  1.4本章小結(jié)………………………………………………………….4</p><p>  第2章 設(shè)計(jì)原

9、理及硬件設(shè)計(jì)……………………………………………..4</p><p>  2.1系統(tǒng)設(shè)計(jì)原理概述……………………………………………….4</p><p>  2.1.1系統(tǒng)組成…………………………………………………..4</p><p>  2.1.2系統(tǒng)工作原理……………………………………………..4</p><p>  2.2系統(tǒng)硬件設(shè)計(jì)

10、……………………………………………………7</p><p>  2.2.1 信號(hào)預(yù)處理電路………………………………………….7</p><p>  2.2.2單片機(jī)的選擇……………………………………………..8</p><p>  2.2.3液晶顯示電路. ……………………………………………16</p><p>  2.2.4數(shù)據(jù)存儲(chǔ)電路……

11、………………………………………..23</p><p>  2.3 本章小結(jié)………………………………………………………..25</p><p>  第3章 系統(tǒng)軟件設(shè)計(jì)……………………………………………………..26</p><p>  3.1數(shù)據(jù)處理過程………………………………………………..26</p><p>  3.2系統(tǒng)軟件框圖…

12、……………………………………………..27</p><p>  3.3液晶顯示模塊的初始化……………………………………..27</p><p>  3.4實(shí)現(xiàn)設(shè)計(jì)功能程序……………………………………………28</p><p>  3.4.1初始化程序…………………………………………….28</p><p>  3.4.2輪圈設(shè)置出錯(cuò)出理程序…

13、…………………………….29</p><p>  3.4.3 主程序里程顯示或速度顯示………………………….31</p><p>  3.4.4外中斷1服務(wù)程序…………………………………….33</p><p>  3.5本章小結(jié)………………………………………………………33</p><p>  第4章 調(diào)試過程與結(jié)果………………………………

14、………………………………….34</p><p>  4.1設(shè)計(jì)的安裝與調(diào)試……………………………………………34</p><p>  4.1.1調(diào)試過程………………………………………………34</p><p>  4.2設(shè)計(jì)調(diào)試中的故障排除………………………………………35</p><p>  4.2.1故障排除……………………………………

15、…………35</p><p>  4.3本章小結(jié)………………………………………………………35</p><p>  第5章 展望與評(píng)價(jià)…………………………………………………………..36</p><p>  第6章 總結(jié)和體會(huì)…………………………………………………………..37</p><p>  結(jié)論……………………………………………………

16、……………………….38</p><p>  致 謝………………………………………………………………………..39</p><p>  參考文獻(xiàn)……………………………………………………………………….40</p><p>  附錄1…………………………………………………………………………..41</p><p>  附錄2……………………

17、……………………………………………………..48</p><p>  附錄3…………………………………………………………………………..58</p><p>  附錄4…………………………………………………………………………..60</p><p>  附錄5…………………………………………………………………………..61</p><p> 

18、 附錄6…………………………………………………………………………..63</p><p><b>  第1章 緒論</b></p><p><b>  1.1選題目的</b></p><p>  為了更熟練地掌握學(xué)習(xí)到的單片機(jī)知識(shí),更敏銳地抓住電子元件的發(fā)展方向,培養(yǎng)學(xué)生的動(dòng)手實(shí)操能力,本設(shè)計(jì)以AT89C2051為核心,

19、利用單片機(jī)的運(yùn)算和控制功能,并采用LCM0825串口液晶顯示模塊實(shí)時(shí)顯示所測(cè)速度和里程的速度里程表設(shè)計(jì)方案。該方案由于使用了串口液晶顯示模塊和E2PROM,以及高效快速算法,因而可在節(jié)約系統(tǒng)資源和簡(jiǎn)化程序設(shè)計(jì)的基礎(chǔ)上保證。</p><p><b>  1.2 課題背景</b></p><p>  傳統(tǒng)的汽車轉(zhuǎn)速里程表的功能有兩個(gè),一是用指針指示汽車行駛的瞬時(shí)車速,二是

20、用機(jī)械計(jì)數(shù)器記錄汽車行駛的累計(jì)里程。現(xiàn)代汽車正向高速化方向發(fā)展,隨著車速的提高,用軟軸驅(qū)動(dòng)的傳統(tǒng)車速里程表受到前所未有的挑戰(zhàn),這是因?yàn)檐涊S在高速旋轉(zhuǎn)時(shí),由于受鋼絲交變應(yīng)力極限的限制而容易斷裂,同時(shí),軟軸布置過長(zhǎng)會(huì)出現(xiàn)形變過大或運(yùn)動(dòng)遲滯等現(xiàn)象,而且,對(duì)于不同的車型,轉(zhuǎn)速里程表的安裝位置也會(huì)受到軟軸長(zhǎng)度及彎曲度的限制。凡此種種,使得基于非接觸式轉(zhuǎn)速傳感器的電子式轉(zhuǎn)速里程表得以迅速發(fā)展。單片機(jī)速度里程表設(shè)計(jì),能自動(dòng)顯示自行車行駛的總里程數(shù)及行

21、車速度,具有超信響的提醒功能,里程數(shù)據(jù)自動(dòng)記憶,也可以應(yīng)用于電動(dòng)自行車,摩托車,汽車機(jī)動(dòng)車儀表上。</p><p>  儀表板總成似一扇窗戶,隨時(shí)反映出車子內(nèi)部機(jī)器的運(yùn)行狀態(tài),同時(shí)它又是部分設(shè)備的控制中心和被裝飾的對(duì)象,是轎車車廂內(nèi)最引人注目的部件。可以這樣說,儀表板總成既有技術(shù)的功能又有藝術(shù)的功能,它反映出各國(guó)轎車制作工藝和風(fēng)格上的差異,是整車的代表作之一。 現(xiàn)代轎車的儀表板總成一般分成兩部分,一部分是指方向

22、盤前的儀表板和儀表罩及平臺(tái),另一部分是指司機(jī)旁通道上的副儀表板。其中儀表板是安裝指示器的主體,集中了全車的監(jiān)察儀表,通過它們揭示出發(fā)動(dòng)機(jī)的轉(zhuǎn)速、油壓、水溫和燃油的儲(chǔ)量,燈光和發(fā)電機(jī)的工作狀態(tài),車輛的現(xiàn)時(shí)速度和里程積累。有些儀表還設(shè)有變速檔位指示,計(jì)時(shí)鐘,環(huán)境溫度表,路面傾斜表和地面高度表等。按照現(xiàn)時(shí)流行的款式,現(xiàn)代轎車多數(shù)將空調(diào),音響等設(shè)備的控制部件安裝在副儀表板上,以方便駕駛者的操作,同時(shí)也顯得整車布局緊湊合理。 隨著現(xiàn)代科

23、學(xué)技術(shù)的發(fā)展,轎車儀表板用電子顯示技術(shù)代替?zhèn)鹘y(tǒng)的機(jī)電式模擬儀表已成為發(fā)展的趨向。電子顯示技術(shù)也就是薄型平面電子顯示器技術(shù),利用這種技術(shù)做成的汽車平面儀表板顯示數(shù)字及信息,十分清晰明了,使駕駛者在開車的同時(shí),仍然可以清楚地看到儀表數(shù)字及其它信息的變動(dòng)。目前,平面儀表</p><p>  1.3 本文的內(nèi)容安排</p><p>  第一章 研究了單片機(jī)速度里程表的原理,并介紹了現(xiàn)有的里程

24、表的技術(shù)特點(diǎn)和發(fā)展方向。</p><p>  第二章 分析了主要元器件的功能,根據(jù)系統(tǒng)需求,選擇了芯片AT89C2051和液晶顯示模塊LCM0825,詳細(xì)分析了這些芯片的功能。分別具體講解了各個(gè)部份的元件、功能和設(shè)計(jì)圖。</p><p>  第三章 設(shè)計(jì)原理及軟硬件設(shè)計(jì)。</p><p>  第四章 本章分析了在制板,調(diào)試的過程和碰到的問題,計(jì)論了解決方案。&

25、lt;/p><p>  第五章 給出了對(duì)本設(shè)計(jì)的展望和改進(jìn)方案。</p><p>  第六章 總結(jié)設(shè)計(jì)過程中的經(jīng)驗(yàn)和心得體會(huì)。</p><p><b>  1.4本章小結(jié)</b></p><p>  本章簡(jiǎn)單地講述了選擇這個(gè)課題的目的,是為了鞏固自己學(xué)習(xí)的知識(shí)和鍛煉加強(qiáng)自身的動(dòng)手能力。同時(shí),講述了有關(guān)這個(gè)課題與當(dāng)今時(shí)代的

26、發(fā)展背景與發(fā)展趨勢(shì)。盡管單片機(jī)速度里程表設(shè)計(jì)看上去硬件真的比較簡(jiǎn)單,但是只要核心原理一致,硬件上不斷地更新,豐富,就能夠演變發(fā)展出各式各樣的新的多功能產(chǎn)品。本章分為6章,分別從不同的內(nèi)容角度對(duì)本文進(jìn)行分析說明。</p><p>  第2章 設(shè)計(jì)原理及硬件設(shè)計(jì)</p><p>  2.1系統(tǒng)設(shè)計(jì)原理概述</p><p><b>  2.1.1系統(tǒng)組成<

27、;/b></p><p>  本速度里程表由信號(hào)預(yù)處理電路、AT89C2051單片機(jī)、串口液晶顯示電路、串口數(shù)據(jù)存儲(chǔ)電路和系統(tǒng)軟件組成。其中信號(hào)預(yù)處理電路包含信號(hào)放大、波形變換和波形整形。系統(tǒng)硬件框圖如圖1所示。信號(hào)預(yù)處理電路中的放大器用于對(duì)待測(cè)信號(hào)進(jìn)行放大,以降低對(duì)待測(cè)信號(hào)的幅度要求;波形變換和波形整形電路則用來將放大的信號(hào)轉(zhuǎn)換成可與單片機(jī)接口的TTL信號(hào);通過單片機(jī)的設(shè)置可使INT0引腳能夠?qū)?nèi)部定時(shí)器

28、T0的工作進(jìn)行控制,這樣能精確地測(cè)出加到INT0引腳的正脈沖寬度(即測(cè)出脈沖信號(hào)的周期);速度顯示部分采用串口液晶顯示模塊,所得的數(shù)據(jù)采用I2C總線并通過E2PROM來存儲(chǔ),因而節(jié)省了所需單片機(jī)的口線和外圍器件,同時(shí)也簡(jiǎn)化了顯示部分的軟件編程。系統(tǒng)軟件包括單片機(jī)和液晶模塊的初始化模塊、液晶模塊的寫數(shù)據(jù)/命令子模塊、周期測(cè)量模塊、速度里程計(jì)算模塊、數(shù)據(jù)存儲(chǔ)模塊、速度和里程顯示數(shù)據(jù)轉(zhuǎn)BCD碼模塊、顯示數(shù)據(jù)消多余零模塊、數(shù)據(jù)顯示模塊以及實(shí)時(shí)

29、中斷服務(wù)模塊等。</p><p>  2.1.2系統(tǒng)工作原理</p><p>  2.1.2.1工作原理</p><p>  該設(shè)計(jì)能實(shí)時(shí)地將所測(cè)的速度顯示出來,同時(shí)也能夠累計(jì)顯示總里程數(shù)。該速度里程表能將傳感器輸入到單片機(jī)的脈沖信號(hào)的寬度(傳感器將車速轉(zhuǎn)變成相應(yīng)寬度的脈沖信號(hào))實(shí)時(shí)地測(cè)量出來,然后通過單片機(jī)計(jì)算出速度和里程,再將所得的數(shù)據(jù)存儲(chǔ)到串口數(shù)據(jù)存儲(chǔ)器,并由

30、串口液晶顯示模塊實(shí)時(shí)顯示出所測(cè)速度。本設(shè)計(jì)用兩個(gè)按鍵來控制顯示速度或里程??紤]到信號(hào)的衰減、干擾等影響,在信號(hào)送入單片機(jī)前應(yīng)對(duì)其進(jìn)行放大整形,然后再輸入到單片機(jī)進(jìn)行測(cè)速。單片機(jī)利用定時(shí)器T0的控制功能測(cè)出輸入信號(hào)的周期后,再利用單片機(jī)的算術(shù)運(yùn)算能將周期轉(zhuǎn)換成速度,同時(shí)每秒鐘進(jìn)行一次里程累計(jì),從而計(jì)算出總里程。最后將得出的速度、里程值存儲(chǔ)在E2PROM中,并根據(jù)兩個(gè)按鍵的選擇情況來顯示速度或里程。系統(tǒng)硬件框圖如下圖2-1示:</p&

31、gt;<p><b>  圖2-1 </b></p><p>  2.1.2.2(1)原理圖如圖2-2示:</p><p><b>  圖2-2 </b></p><p>  在輸入端輸入信號(hào),經(jīng)過信號(hào)預(yù)處理之后,在上拉電阻和三極管的影響下對(duì)輸入波型進(jìn)行整型,轉(zhuǎn)換,最終在單片機(jī)的輸入端形成帶有一頂帶寬的規(guī)

32、則方波。AT89C2051單片機(jī)在運(yùn)行程序的驅(qū)動(dòng)下,對(duì)輸入波型進(jìn)行處理換算,將換算得到的數(shù)據(jù)傳輸?shù)紼EPROM里面,同時(shí),再將所得到的實(shí)時(shí)速度數(shù)據(jù)向LCM0825里輸送,并做出顯示。</p><p>  2.1.2.2(2)pcb圖如圖2-3示: </p><p><b>  圖2-3</b></p><p>  為了方便計(jì)算要顯示數(shù)據(jù)值的段

33、碼,可再將其轉(zhuǎn)換成壓縮的BCD碼,然后通過查表將要顯示的數(shù)據(jù)值中每一位的壓縮BCD碼轉(zhuǎn)換成8段碼送到顯示緩沖區(qū),最后經(jīng)串口送至液晶顯示模塊以顯示所測(cè)的速度或里程。設(shè)計(jì)時(shí),應(yīng)綜合考慮測(cè)速精度和系統(tǒng)反應(yīng)時(shí)間。本設(shè)計(jì)用測(cè)量脈沖頻率來計(jì)算速度,因而具有較高的測(cè)速精度。為了保證系統(tǒng)的實(shí)時(shí)性,系統(tǒng)的速度轉(zhuǎn)換模塊和顯示數(shù)據(jù)轉(zhuǎn)BCD碼模塊都采用快速算法。另外,還應(yīng)盡量保證其它子模塊在編程時(shí)的通用性和高效性。本設(shè)計(jì)的速度和里程值采用8位顯示,并包含兩個(gè)小

34、數(shù)位。</p><p><b>  2.2系統(tǒng)硬件設(shè)計(jì)</b></p><p>  2.2.1 信號(hào)預(yù)處理電路</p><p>  系統(tǒng)的信號(hào)預(yù)處理電路如圖2-4所示。它由二級(jí)電路構(gòu)成,第一級(jí)是由開關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應(yīng)。當(dāng)輸入信號(hào)為零或負(fù)電壓時(shí) ,圖2-4

35、三極 管截止,電路輸出高電平;而當(dāng)輸入信號(hào)為正電壓時(shí),三極管導(dǎo)通,此時(shí)輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測(cè)量任意方波信號(hào)的頻率,也可以測(cè)量正弦波信號(hào)的頻率。由于放大器的放大功能降低了對(duì)待測(cè)信號(hào)的幅度要求,因此,系統(tǒng)能對(duì)任意大于0.5V的正弦波和脈沖信號(hào)進(jìn)行測(cè)量。預(yù)處理電路的第二級(jí)采用帶施密特觸發(fā)器的反相器CT74LS14來把放大器

36、生成的單相脈沖轉(zhuǎn)換成與COMS電平相兼容的方波信號(hào)同時(shí)將輸出信號(hào)加到單片機(jī)的P3.2口上。速度里程測(cè)量電路選用AT89C2051作為頻率計(jì)的信號(hào)處理核心。AT89C2051包含2kB閃存、128B的RAM、15根I/O口線、2個(gè)16位定時(shí)計(jì)數(shù)器、5個(gè)向量二級(jí)中斷結(jié)構(gòu)和1個(gè)全雙工的串行口,同時(shí)還具有加密陣列的二級(jí)程序存儲(chǔ)器加鎖功能。設(shè)計(jì)中用到了A</p><p><b>  圖2-5 </b&

37、gt;</p><p>  2.2.2單片機(jī)的選擇</p><p>  2.2.2.1 AT89C2051單片機(jī)介紹</p><p>  (1)電路接線圖2-6示:</p><p><b>  圖2-6</b></p><p> ?。?) 內(nèi)部結(jié)構(gòu)框圖如2-7示:</p><p

38、><b>  圖2-7</b></p><p>  2.2.2.2功能介紹:</p><p>  AT89C2051是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含2k bytes的可反復(fù)擦寫的只讀Flash程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用

39、8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C2051單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場(chǎng)合。   AT89C2051是一個(gè)功能強(qiáng)大的單片機(jī),但它只有20個(gè)引腳,15個(gè)雙向輸入/輸出(I/O)端口,其中P1是一個(gè)完整的8位雙向I/O口,兩個(gè)外中斷口,兩個(gè)16位可編程定時(shí)計(jì)數(shù)器,兩個(gè)全雙向串行通信口,一個(gè)模擬比較放大器。同時(shí)AT89C2051的時(shí)鐘頻率可以為零為即具備可用軟件設(shè)置的睡眠省電功能,系統(tǒng)

40、的喚醒方式有RAM、定時(shí)/計(jì)數(shù)器、串行口和外中斷口,系統(tǒng)喚醒后即進(jìn)入繼續(xù)工作狀態(tài)。省電模式中,片內(nèi)RAM將被凍結(jié),時(shí)鐘停止振蕩,所有功能停止工作,直至系統(tǒng)被硬件復(fù)位方可繼續(xù)運(yùn)行。</p><p><b>  其主要功能特性:</b></p><p><b>  表 2-1</b></p><p> ?。?)封裝信息如圖2-

41、8示:</p><p><b>  圖2-8</b></p><p><b> ?。?)編程信息:</b></p><p>  AT89C2051Flash閃速編程方式: 表 2-2</p><p>  注:1,內(nèi)部PELOM地址計(jì)數(shù)器在LST的上升沿復(fù)位到000H并由XTAL1引腳正脈

42、沖進(jìn)行計(jì)數(shù).</p><p>  2,片擦除需要10ms的/PROG脈沖.</p><p>  編程期間P3.1被拉低來指示RDY/BSY.</p><p>  2.2.2.3注意事項(xiàng):AT89C2051是愛特美爾微控制器家族中經(jīng)濟(jì)劃算的一款產(chǎn)品。它包含2K字節(jié)的閃速程度存儲(chǔ)器。它與MCS-51架構(gòu)完全兼容,并且可以使用MCS-51指令組來編程。但是當(dāng)使用有些特定

43、指令編程的時(shí)候,有幾點(diǎn)必須注意。與跳轉(zhuǎn)和分支相關(guān)的所有指令應(yīng)該被限制,使得目標(biāo)地址落在該單片機(jī)的物理內(nèi)存范圍之內(nèi),對(duì)AT89C2051來說是2K。程序員應(yīng)對(duì)此負(fù)責(zé)。例如,對(duì)AT89C2051(帶2K內(nèi)存)來說,LJMP 7E是一個(gè)正確的指令,而LJMP 900H卻是錯(cuò)誤的。(1).分支程序指令: LCALL,LJMP,ACALL,AJMP,SJMP,JMP @A+DPTR只要編程者注意使這些指令的目標(biāo)地址落在程序存儲(chǔ)器大小

44、(對(duì)89C2051來說是00H到7FFH)的物理界限內(nèi),這些無條件分支指令將正確執(zhí)行。超出物理空間界限會(huì)導(dǎo)致未知的程度行為。CJNE[…],DJNZ[…],JB, JNB, JC, JNC, JBC, JN, JNZ這些條件分支指令也適合上面的規(guī)則。同樣,超出內(nèi)存界限,會(huì)導(dǎo)致不正確的執(zhí)行結(jié)果。對(duì)于包括中斷的應(yīng)用,80C51家族架構(gòu)的正常中斷服務(wù)線</p><p><b>  表 2-3</b

45、></p><p>  注:加密位只能用片檫除操作進(jìn)行檫除.(4):空閑模式 在空閑模式下,CPU自己轉(zhuǎn)入睡眠狀態(tài),而芯片上其余所有的外圍單元保持活動(dòng)狀態(tài)。該模式由軟件調(diào)用。在該模式中,芯片級(jí)RAM和所有特殊功能寄存器的內(nèi)容保持不變??臻e模式可以由任意有效的中斷或硬件復(fù)位來終止。如果未使用外部上拉電阻,P1.0和P1.1應(yīng)該被置為“0”,而如果用了外部上拉電阻,它們應(yīng)該被置為“1”。應(yīng)該注意,

46、當(dāng)空閑模式被硬件復(fù)位終止時(shí),單片機(jī)從它轉(zhuǎn)入睡眠前的狀態(tài)恢復(fù)到正常的程序執(zhí)行狀態(tài),比內(nèi)部復(fù)位算法獲得控制權(quán)提前兩個(gè)機(jī)器周期。在這種場(chǎng)合,芯片內(nèi)的硬件禁止訪問內(nèi)部RAM,但訪問端口引線是允許的。為了消除當(dāng)空閑模式被復(fù)位終止時(shí)可能往端口作不希望發(fā)生的寫入操作,調(diào)用空閑模式指令后面緊跟的那條指令不應(yīng)該是寫端口或?qū)懲獠績(jī)?nèi)存的指令。(5):低功耗模式 在低功耗模式下,振蕩器被停止,調(diào)用低功耗模式的指令是被執(zhí)行的最后一條指令。芯片級(jí)RAM和

47、特殊功能寄存器保持它們的值,直到低功耗模式終止。終止低功耗模式的唯一方法硬件復(fù)位。復(fù)位操作重定義SFR,但是不會(huì)改變芯片級(jí)RAM。復(fù)位動(dòng)作應(yīng)在Vcc恢復(fù)到正常工作電平時(shí)進(jìn)行,</p><p> ?。?):端口3(Port 3)端口3引線P3.0至P3.5,P3.7是7個(gè)雙向I/O口,帶內(nèi)部上拉電阻。P3.6是一個(gè)硬接線的輸入,它接到芯片級(jí)比較器的輸出端,不能當(dāng)作通用的I/O口使用。端口3的輸出緩沖器能吸收20m

48、A的電流。當(dāng)端口3的引線被寫入1時(shí),它們由內(nèi)部上拉電阻拉為高電平,可以用作輸入。作為輸入時(shí),如果端口3的引線被外部拉低,由于內(nèi)部上拉電阻的作用,它們將輸出電流(IIL)。</p><p>  端口3也為AT89C2051的許多特殊功能服務(wù),如下表:端口號(hào)替代功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0 (外部中斷0)P3.3INT1  (外部中斷1)P3.4T

49、0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)當(dāng)對(duì)閃存編程和檢驗(yàn)時(shí),端口3也接收一些控制信號(hào)。(8):RST 復(fù)位輸入。當(dāng)RST引線被置為高電平時(shí),所有的I/O口復(fù)位為1。當(dāng)振蕩器工作的時(shí)候,保持RST的高電平兩個(gè)機(jī)器周期,將使單片機(jī)復(fù)位。每個(gè)機(jī)器周期為12個(gè)振蕩器或時(shí)鐘周期。</p><p><b>  (9):XTA2</b></p><p&g

50、t;  內(nèi)部反向振蕩放大器的輸出。(10):XTA1 反向振蕩放大器和內(nèi)部時(shí)鐘工作電路的輸入。(11):振蕩器的特性圖2-9示</p><p><b>  圖2-9</b></p><p>  XTAL1和XTAL2分別是反向放大器的輸入和輸出,該放大器可設(shè)置用作芯片級(jí)的振蕩器,如圖1所示。石英晶振和陶瓷諧振器均可使用。要使用外部時(shí)鐘源來驅(qū)動(dòng)單片機(jī),XTA

51、L2應(yīng)該被留空,而從XTA1接入時(shí)鐘信號(hào),如圖2所示。由于通過一個(gè)兩分頻觸發(fā)器輸入到內(nèi)部時(shí)鐘電路,所以對(duì)外部時(shí)鐘的占空比不作要求,但是必須注意最小和最大電壓的高低時(shí)間規(guī)格。</p><p>  2.2.3液晶顯示電路.</p><p>  2.2.3.1 LCM0825 8位液晶顯示模塊技術(shù)說明</p><p><b>  (1)簡(jiǎn)要說明:</b&

52、gt;</p><p>  本設(shè)計(jì)的顯示部分采用液晶顯示模塊LCM0825該模塊與單片機(jī)的接口電路如圖3所示。LCM0825是8位段碼式液晶顯示模塊,它內(nèi)部集成有LCD控制器、LCD驅(qū)動(dòng)器和RAM,因而可方便顯示數(shù)據(jù)的編程。液晶顯示模塊采用3~4線串行數(shù)據(jù)輸入,可直接與單片機(jī)接口。由于串行接口方式節(jié)省了所需的口線和系統(tǒng)資源,因而使系統(tǒng)具有較高的資源利用率。該模塊可在2.7V~5.2V電壓下工作,其低功耗及背光可

53、調(diào)特性使得設(shè)計(jì)更具有經(jīng)濟(jì)性和通用性。LCM0825能夠顯示8位數(shù)據(jù),每一個(gè)數(shù)據(jù)均以8段碼的形式放在其內(nèi)部顯示RAM區(qū),并用模塊內(nèi)RAM的兩個(gè)存儲(chǔ)地址來放置一個(gè)數(shù)據(jù)的8段碼。8位數(shù)據(jù)共占用內(nèi)部16個(gè)地址。每一個(gè)數(shù)據(jù)位的8段碼存放形式及高低地址存放段碼的順序都和表1所列的第8位數(shù)據(jù)的8段碼存放格式一樣,只是段碼的存放地址不同。所以,編程時(shí)一定要考慮數(shù)據(jù)的存放地址和形式。在使用該液晶顯示模塊時(shí),VCC與VLCD之間可用一個(gè)50kΩ的電位器來調(diào)

54、整背光。第8位數(shù)據(jù)段碼與LCM0825內(nèi)部RAM的對(duì)應(yīng)關(guān)系</p><p><b>  表 2-4</b></p><p>  數(shù)據(jù)存儲(chǔ)電路采用I2C總線的E2PROM存儲(chǔ)器24C64。24C64是串行的E2PROM存儲(chǔ)器,其存儲(chǔ)容量為8kBSCL為時(shí)鐘線,SDA為數(shù)據(jù)線。里程數(shù)據(jù)保存在24C64,因此中可保證掉電時(shí)數(shù)據(jù)不丟失。此外,使用串口也節(jié)省了數(shù)據(jù)口線。(

55、2)設(shè)計(jì)電路圖接線情況如圖2-10示:</p><p><b>  圖2-10</b></p><p>  2.2.3.2結(jié)構(gòu)介紹:</p><p><b>  (1)特點(diǎn)及功用:</b></p><p>  LCM0825 為 8 位 8 段液晶顯示模塊 3-4 線串行接口 可與任何單片機(jī)接口,

56、IC接口。其低功耗特性,顯示狀態(tài)50μA,典型值省電模式<1μA。工作電壓 2.7~5.2V。視角對(duì)比度可調(diào),顯示清晰,穩(wěn)定可靠,使用編程簡(jiǎn)單。</p><p><b> ?。?)參數(shù):</b></p><p>  [以下參數(shù)條件為:T=250C VDD=3V / SV下,( )內(nèi)為典型值。]</p><p><b>  表

57、 2-5</b></p><p>  (3)模塊尺寸如圖2-11示:(單位mm)</p><p><b>  圖2-11</b></p><p> ?。?)引腳說明: 表 2-6</p><p><b>  表 </b></p><p&

58、gt; ?。?)接口應(yīng)用方塊圖如圖2-12示:</p><p><b>  圖2-12</b></p><p>  由于LCM0825內(nèi),有上拉電阻,為保證低功耗,每次送數(shù)之后,/CS, /RD, /WR, DATA必須接高電平或懸浮。根據(jù)采用的MCU不同,采用不同方式接口,不必使用分壓電阻。若MCU與LCM0825土作電壓相同,可直接相接。</p>&

59、lt;p> ?。?)時(shí)序如圖2-13示:</p><p>  讀數(shù)據(jù)RAM時(shí)序 (1.)(2).(3)</p><p><b>  圖2-13</b></p><p> ?。?).(a)(b)讀/寫格式及指令讀格式:只讀顯不RAM</p><p>  (a):1 1 0 0 A4 A3 A2 A1 A0 共9

60、段</p><p>  模式 RAM ADDR</p><p>  讀出 DATA:D0 D1 D2 D3 </p><p><b>  (b)寫命令:</b></p><p>  格式:1 0 0 C7 C6 C5 C4 C3 C2 C1 C0 0 共12段</p><p>

61、  模式 命令代碼</p><p><b>  (8)代碼定義: </b></p><p><b>  表 2-7</b></p><p><b>  寫數(shù)據(jù):</b></p><p>  格式:1 0 1 0 A4 A3 A2 A1 A0 D0 D1 D2 D

62、3 共13位</p><p>  模式 RAM ADDR DATA </p><p>  8位顯示字符,起為第1位,右r為第8位</p><p><b>  表 2-8</b></p><p>  (9)模塊使用注息事項(xiàng):</p><p>  (a)模塊上電后,軟件初始化

63、模塊,應(yīng)延時(shí)200ms以上再送命令。第一寫入模塊令用初始化命令100 0010 100:定義模塊。第二100 0001 1000定義內(nèi)部RC振蕩方式或100 0001 0100定義外部況,體振蕩方式(模塊必須為32768Hz)。第三l000000 0001開振蕩。第四100 0000 0011開顯示器。以上四步完成后再送其它命令或顯示數(shù)據(jù),對(duì)顯示的數(shù)據(jù)正確與否,可選用讀RAM方式進(jìn)行校驗(yàn)。為實(shí)現(xiàn)低功耗方式,這次讀/寫命令完數(shù)據(jù)之后,應(yīng)將

64、//CS, /RD, /WR, DATA置高電平或懸空。</p><p>  (b)LCM0825顯示RAM對(duì)應(yīng)8位字符,RAM表數(shù)據(jù)位為1則顯示,為0則滅。</p><p>  (c)VLCD必須接!當(dāng)模塊正負(fù)電壓為3.3V以外時(shí),VLCD腳與VDD直接相接,當(dāng)模塊正負(fù)電壓>3.3V時(shí)VLCD腳與VDD間接一電位器SOK S2調(diào)節(jié),參考值:5 V/36K o</p>

65、<p>  (d)模塊掉電再上電時(shí),應(yīng)上電延時(shí)后,對(duì)//CS進(jìn)行幾個(gè)10μs以上的高電平脈沖,讓模塊復(fù)位。</p><p>  (e)模塊安裝時(shí)應(yīng)使用PCB定位孔固定,并保持平整不變形,不應(yīng)使LCD玻璃受力變形,模塊不得摔碰,嚴(yán)格禁止模塊帶電焊接,且要將焊接工具接地。</p><p>  2.2.4數(shù)據(jù)存儲(chǔ)電路</p><p>  2.2.4.1:存儲(chǔ)器的

66、實(shí)物圖。</p><p>  24C64為I2C總線的E2PROM。如圖2-14示所示:</p><p>  圖2-14 圖2-15</p><p>  2.2.4.2功能選擇:接線圖如右圖2-15示</p><p>  SCL為400kHz時(shí)鐘線,SDA為雙向

67、數(shù)據(jù)線,A2、A1、A0三位為片選地址,即I2C總線上最多可并聯(lián)8個(gè)串行E2PROM芯片。對(duì)E2PROM的操作方式由讀寫控制命令字決定,如圖4所示。其中"1010"為4位讀寫控制碼,R/W為讀寫控制位:"0"為寫操作,"1"為讀操作。所以結(jié)合 圖2-16示可知A2H為寫控制命令字,A3H為讀控制命令字。</p>

68、;<p><b>  圖2-16</b></p><p>  對(duì)存儲(chǔ)器寫操作,首先,單片機(jī)向24C64發(fā)一個(gè)START命令,產(chǎn)生開始條件。然后,發(fā)寫命令控制字(如A2H)。當(dāng)24C64接到命令后,進(jìn)入一個(gè)寫周期,再由單片機(jī)發(fā)送存儲(chǔ)地址,即確定數(shù)據(jù)寫入到存儲(chǔ)器的哪個(gè)地址,隨后,單片機(jī)將要存儲(chǔ)的數(shù)據(jù)送入到SDA數(shù)據(jù)線上。寫周期結(jié)束時(shí),單片機(jī)再發(fā)一停止位(STOP)。對(duì)存儲(chǔ)器讀操作,

69、首先,單片機(jī)向24C64發(fā)一個(gè)START命令,產(chǎn)生開始條件。然后發(fā)寫命令控制字(如A2H)。當(dāng)24C64接到命令后,進(jìn)入一個(gè)寫周期,再由單片機(jī)發(fā)送存儲(chǔ)地址。存儲(chǔ)地址發(fā)送成功后,單片機(jī)又向24C64發(fā)一個(gè)START命令,產(chǎn)生開始條件,然后發(fā)讀命令控制字(A3H)。當(dāng)24C64接到命令后,進(jìn)入一個(gè)讀周期,單片機(jī)從SDA數(shù)據(jù)線上讀出指定存儲(chǔ)地址中的數(shù)據(jù)。讀周期結(jié)束時(shí),單片機(jī)再發(fā)一停止位(STOP)。值得注意的是,對(duì)存儲(chǔ)器操作時(shí),每讀寫一個(gè)字節(jié)

70、,單片機(jī)必須送一個(gè)應(yīng)答位(ACK),釋放一下SDA數(shù)據(jù)線,以便存儲(chǔ)器能繼續(xù)接收數(shù)據(jù)。 </p><p><b>  2.3本章小結(jié)</b></p><p>  本章主要對(duì)硬件的設(shè)計(jì)作闡述。分別講述了本設(shè)計(jì)的硬件組成部分,主要硬件的選擇和功能介紹。同時(shí)給出設(shè)計(jì)原理和和PCB圖片。硬件的設(shè)置是設(shè)計(jì)的基礎(chǔ),軟件的編譯設(shè)置是本設(shè)計(jì)的靈魂 <

71、;/p><p>  第3章 系統(tǒng)軟件設(shè)計(jì)</p><p><b>  3.1數(shù)據(jù)處理過程</b></p><p>  待測(cè)信號(hào)經(jīng)預(yù)處理電路后加至單片機(jī)的P3.2(INT0)引腳可為單片機(jī)測(cè)量信號(hào)周期提供有效的輸入信號(hào)。單片機(jī)通過檢測(cè)P3.2引腳電平來決定是否啟動(dòng)測(cè)量周期程序。當(dāng)該引腳為高電平時(shí),系統(tǒng)處于等待狀態(tài),要一直到該引腳出現(xiàn)低電平時(shí)才開始測(cè)

72、周期。測(cè)量時(shí)首先將零賦給THO、TL0兩個(gè)寄存器,以將定時(shí)器T0的運(yùn)行控制位TR0置位,同時(shí)也將ET0置位以允許定時(shí)器T0中斷。然后再判斷P3.2引腳是否還為低電平,如為低電平則等待,直到出現(xiàn)高電平再開始判斷P3.2引腳是否為低電平,當(dāng)其不是低電平時(shí)再等待。一旦出現(xiàn)低電平,則立即復(fù)位TR0以終止定時(shí)器,以結(jié)束測(cè)周期程序。測(cè)周期過程中可能會(huì)發(fā)生定時(shí)器T0的中斷,每發(fā)生一次中斷則將R0寄存器加一,因此R0實(shí)際上是周期值的高字節(jié)。測(cè)出的周期

73、值存儲(chǔ)在R0、TH0、TL0三個(gè)寄存器中,然后將其轉(zhuǎn)換成速度。速度是用車輪的周長(zhǎng)除以脈沖周期得到的。由于所測(cè)周期的單位是μs,因此在相除轉(zhuǎn)換時(shí)應(yīng)將被除數(shù)擴(kuò)大106倍,以保證得出正確的速度。每秒進(jìn)行一次里程數(shù)累加時(shí),可用當(dāng)前的速度值加上一秒前的里程數(shù)得出當(dāng)前的總里程數(shù),得出的速度和總里程值放到E2PROM中。通過k1、k2鍵可顯示</p><p>  圖3-1 系統(tǒng)軟件框圖 </p><p&

74、gt;<b>  3.2系統(tǒng)軟件框圖</b></p><p>  本系統(tǒng)軟件采用模塊化設(shè)計(jì)方法。整個(gè)系統(tǒng)由初始化模塊、周期測(cè)量模塊、速度轉(zhuǎn)換模塊、里程計(jì)算和存儲(chǔ)模塊、數(shù)據(jù)轉(zhuǎn)BCD碼模塊、顯示數(shù)據(jù)處理模塊、數(shù)據(jù)顯示模塊、定時(shí)器中斷服務(wù)模塊以及其它功能模塊組成,圖3-1給出了其軟件框圖。上電后,首先進(jìn)入系統(tǒng)初始化模塊,此后系統(tǒng)軟件將開始運(yùn)行,以實(shí)時(shí)地將所測(cè)數(shù)值顯示在液晶模塊上。</p>

75、;<p>  3.3液晶顯示模塊的初始化</p><p> ?。蹋茫停埃福玻凳谴校肝唬付我壕э@示模塊。使用時(shí),要在上電后對(duì)該模塊進(jìn)行初始化。在初始化之前,應(yīng)延時(shí)200ms以上再送命令。它的初始化工作過程如下:首先定義液晶模塊(當(dāng)其命令代碼為:00101001),其次定義振蕩器方式(當(dāng)其命令代碼為00011000時(shí),將模塊定義為內(nèi)部RC振蕩方式,命令代碼為00010100時(shí),定義為外部晶體振蕩方式)

76、。然后分別用命令代碼00000001和00000011開振蕩器和開顯示器。以上命令送入后,便可以在需要顯示數(shù)據(jù)時(shí)將相應(yīng)的段碼直接送入模塊內(nèi)部的顯示RAM中。在送顯示數(shù)據(jù)的段碼數(shù)據(jù)時(shí),要考慮到顯示RAM 的高和低地址所對(duì)應(yīng)的數(shù)據(jù)段碼的存放形式。其第8位數(shù)據(jù)的段碼與LCM0825內(nèi)部的RAM地址的對(duì)應(yīng)關(guān)系見表1。以后隨地址的增加依次存放第7位至第1位數(shù)據(jù)段碼。為了正確地顯示數(shù)據(jù),應(yīng)使要顯示的8位字符在顯示屏幕中為左起第一位,右止第8位。

77、 另外,寫命令和寫數(shù)據(jù)程序應(yīng)分別編寫,因?yàn)樗鼈兊拿罡袷郊皶r(shí)序不同,</p><p><b>  圖3-2</b></p><p>  見圖3-2。由時(shí)序圖可見,編寫傳輸子程序時(shí),所傳數(shù)據(jù)的高位先移入模塊,否則模塊不能正常工作或顯示。同樣,為了能正確讀/寫命令或數(shù)據(jù),必須在時(shí)序中加入相應(yīng)的延時(shí);此外,為保證系統(tǒng)的低功耗,每次讀/寫命令或數(shù)據(jù)之后,都應(yīng)將CS、RD、W

78、R、DATA 置高電平。</p><p>  3.4實(shí)現(xiàn)設(shè)計(jì)功能程序:</p><p>  3.4.1初始化程序</p><p>  在本系統(tǒng)初始化程序中,主要完成一下工作:將T1設(shè)為外部控制定時(shí)器方式;外中斷0及外中斷1設(shè)為邊沿觸發(fā)式;將部分內(nèi)存單元清零;設(shè)置輪子周長(zhǎng)值;開中斷及定時(shí)器;將EEPROM中的數(shù)據(jù)調(diào)入內(nèi)存等。</p><p> 

79、??;60H,61H,62H作里程計(jì)數(shù)單元,6CH,6DH作T1計(jì)數(shù)擴(kuò)充單元,</p><p>  ;68H,69H,6AH,6BH存放自行車每圈時(shí)間數(shù),70H,71H,72H,73H</p><p>  ;作顯示BCD碼存放數(shù)用,11H—15H存放被除數(shù),16H—19H存放除數(shù)</p><p><b> ??;</b></p>&l

80、t;p><b>  ;</b></p><p><b>  ;定義</b></p><p>  VSDA WQU P1.5 ;EEPROM數(shù)據(jù)傳送口</p><p>  VSCL EQU P1.4 ;EEPROM時(shí)鐘傳送口</p>&

81、lt;p>  SLA EQU 50H ;EEPROM器件尋址字節(jié)存放單元</p><p>  NUMBYT EQU 51H ;EEPROM傳送字節(jié)數(shù)存放單元</p><p>  MTD EQU 30H ;EEPROM發(fā)送數(shù)據(jù)緩沖單元</p><p>  

82、MRD EQU 40H ;EEPROM讀出數(shù)據(jù)存放單元</p><p>  SLAW EQU 0A0H ;EEPROM尋址字節(jié)寫</p><p>  SLAR EQU 0A1H ;EEPROM尋址字節(jié)讀</p><p>  DPHH EQU 6

83、2H ;DPTR計(jì)數(shù)擴(kuò)展高8位</p><p>  TH1H EQU 6CH ;定時(shí)器T1擴(kuò)展高8位</p><p>  TH1HH EQU 6DH ;定時(shí)器T1擴(kuò)展高8-6位</p><p><b> ??;</b></p>&l

84、t;p>  ;;;;;;;;;;;;;;;;;;;;</p><p> ?。?;PROGRAM INPUT;;</p><p> ??;;;;;;;;;;;;;;;;;;;;</p><p><b> ?。?lt;/b></p><p>  ORG 0000H ;程序執(zhí)行開始地址</p&

85、gt;<p>  LJMP START ;跳至START</p><p>  ORG 0003H ;外中斷中斷程序入口</p><p>  LJMP INTEX0 ;跳至INTEX0中斷程序入口</p><p>  ORG 001BH

86、 ;定時(shí)器T0中斷程序入口</p><p>  RET1 ;中斷返回</p><p>  ORG 0013H ;外中斷1中斷入口 </p><p>  LJMP INTEX1 ;跳至INTEX1中斷服務(wù)程序</p><p>  ORG

87、 001BH ;定時(shí)器T1中斷程序入口</p><p>  LJMP INTT1 ;跳至INTT1中斷服務(wù)程序</p><p>  ORG 0023H ;串口中斷入口地址</p><p>  RETI ;中斷返回</

88、p><p>  ORG 002BH ;定時(shí)器T2中斷入口地址</p><p>  RETI ;中斷返回</p><p>  3.4.2輪圈設(shè)置出錯(cuò)出理程序</p><p>  P1.2、P1.3、P1.6、P1.7端口的開關(guān)用于設(shè)定輪子的周長(zhǎng),當(dāng)沒有設(shè)定時(shí)(至少讓一

89、個(gè)開關(guān)閉合),能從P3.1口輸出一個(gè)周期為0.5s的方波信號(hào),用作發(fā)光管閃爍及信響器提醒。</p><p><b> ?。簧想姵跏蓟绦?lt;/b></p><p>  CLWARMEN; MOV TMOD,#90H ;T1為16位外部控制定時(shí)器</p><p>  MOV SP,#75H

90、 ;堆棧在75H開始</p><p>  SETB PX0 ;外中斷0優(yōu)先級(jí)為1</p><p>  SETB IT0 ;外中斷0用邊沿觸發(fā)</p><p>  CLR A ;清A</p><p>

91、  MOV 20H,A ;清內(nèi)存中特定單元</p><p>  MOV 20H,A ;</p><p>  MOV 6CH,A ; </p><p>  MOV 6DH,A ;</p><

92、p>  MOV 70H,A ;</p><p>  MOV 71H,A ;</p><p>  MOV 72H,A ;</p><p>  MOV 73H,A ;</p><

93、p>  MOV 60H,A ;</p><p>  MOV 61H,A ;</p><p>  MOV 62H,A ;</p><p>  MOV 63H,A ;清內(nèi)存中特定單元</p><

94、;p>  DEC A A ;為#0FFH</p><p>  MOV 68H,A ;內(nèi)存置數(shù)據(jù)#0FFH</p><p>  MOV 69H,A ;內(nèi)存置數(shù)據(jù)#0FFH</p><p>  MOV 6AH,A ;內(nèi)存置數(shù)據(jù)#0FFH</

95、p><p>  MOV 6BH,A ;內(nèi)存置數(shù)據(jù)#0FFH</p><p>  MOV P1,A ;P1口置1</p><p>  CLEAR1; JB P1.2,KEY1 ;根據(jù)P1.2,P1.3,P1.6,P1.7設(shè)置狀態(tài),</p><p> ?。辉?1H地址單元賦自行

96、車周長(zhǎng)值</p><p>  MOV 21H,#0FH ;22英寸自行車周長(zhǎng)值</p><p>  LJMP CLEAR2 ;轉(zhuǎn)CLEAR2</p><p>  KEY1; JB P1.3,KEY2 ;</p><p>  MOV 21H,#

97、14H ;26英寸自行車周長(zhǎng)值</p><p>  LJMP CLEAR2 ;轉(zhuǎn)CLEAR2</p><p>  KEY2; JB P1.6,KEY3 ;</p><p>  MOV 21H,#14H ;26英寸自行車周長(zhǎng)值</p><p&

98、gt;  KEY3; JB P1.7,ERR ;4個(gè)開關(guān)都沒合上,轉(zhuǎn)出錯(cuò)處理</p><p>  MOV 21H,#19H ;28英寸自行車周長(zhǎng)值</p><p>  CLEAR2; SETB TR1 ;開定時(shí)器T1</p><p>  SETB

99、EA ;開中斷允許</p><p>  SETB EX0 ;開外中斷0</p><p>  SETB ET1 ;開定時(shí)中斷T1</p><p>  SETB P3.1 ;關(guān)報(bào)警器</p><p> 

100、 LCALL VIICREAD ;將EEPROM中原諒程數(shù)據(jù)調(diào)入內(nèi)存</p><p>  RET ;子程序返回</p><p>  ERR; CPL P3.1 ;輪周長(zhǎng)設(shè)置出錯(cuò),LED燈閃爍提醒</p><p>  LCALL DL5

101、S ;延時(shí)</p><p>  LJMP CLEAR1 ;重新初始化,等待輪周長(zhǎng)設(shè)置開關(guān)合上</p><p>  3.4.3主程序里程顯示或速度顯示.</p><p>  START: LCALL CLEARMEN ;上電初始化</p><p>  

102、START: JB P3.0,DISPLAYS ;P3.0=1顯示里程</p><p>  LCALL DISP;AYV ;顯示速度</p><p>  START: SJMP START1 ;轉(zhuǎn)START1循環(huán)</p><p><b>  

103、;</b></p><p> ??;;;;;;;;;;;;;;;;;;;;</p><p> ?。?;INTEX0 PROGRAM;;</p><p> ?。唬?;;;;;;;;;;;;;;;;;;</p><p> ??;里程計(jì)數(shù)程序,用外中斷0實(shí)現(xiàn),計(jì)數(shù)用6.0H-62H內(nèi)存單元。</p><p>  INTE

104、X0; PUSH ACC ;累加器堆棧保護(hù)</p><p>  PUSH PSW ;狀態(tài)字堆棧保護(hù)</p><p>  INC 60H ;圈加1</p><p>  CLR A ;清A</p

105、><p>  CJNE A,60H,INTEX0OUT ;計(jì)數(shù)沒溢出轉(zhuǎn)INTEX0OUT</p><p>  INC 61H ;溢出進(jìn)位(61H加1)</p><p>  CJNE A,61H,INTEX0OUT ;計(jì)數(shù)沒溢出轉(zhuǎn)INTEX0OUT</p><p>  INC 62

106、H ;溢出進(jìn)位(62H加1)</p><p>  INTEX0OUT: LCALL VIICWRITE ;里程數(shù)據(jù)存入EEPROM</p><p>  SETB EX1 ;開外中斷1</p><p>  POP PSW ;狀態(tài)

107、字恢復(fù)</p><p>  POP ACC ;累加器恢復(fù)</p><p>  RETI ;中斷返回</p><p>  ;;;;;;;;;;;;;;;;;;;</p><p> ??;;INTEX1 PROGRAM;;</p><p

108、> ?。?;;;;;;;;;;;;;;;;;;</p><p> ?。幻哭D(zhuǎn)1圈時(shí)間計(jì)數(shù)處理程序,每圈時(shí)間放在68H—6BH單元中。</p><p>  INTEX1: PUSH ACC ;堆棧保護(hù)</p><p>  PUSH PSE ;</p><p>  CLR EX1

109、 ;關(guān)外中斷1</p><p>  JNB 00H,INTEX11 ;溢出標(biāo)志為0轉(zhuǎn)INTEX11</p><p>  MOV TLN,#0FFH ;溢出時(shí)計(jì)時(shí)單元賦#0FFH(顯示速遞為零)</p><p>  MOV TH1,#0FFH ;</p><p>  MOV 6CH

110、,#0FFH ;</p><p>  MOV 6DH,#0FFH ;</p><p>  INTEX11: MOV 68H,TL1 ;將時(shí)間計(jì)數(shù)值入暫存單元68H—6BH</p><p>  MOV 69H,TH1 ;</p><p>  MOV 6 AH,6CH ;&l

111、t;/p><p>  MOV 6BH,6DH ;</p><p>  CLR A ;清A</p><p>  MOV TL1,A ;</p><p>  MOV TH1,A ;</p><p>  MOV 6

112、CH,A ;</p><p>  MOV 6DH,A ;</p><p>  CLR 00H ;清溢出標(biāo)志</p><p>  POP PSW ;堆?;謴?fù)</p><p>  POP ACC

113、 ;</p><p>  RETI ;中斷返回</p><p>  3.4.4外中斷1服務(wù)程序</p><p>  外中斷1服務(wù)程序用于對(duì)處理輪子轉(zhuǎn)動(dòng)一圈后的計(jì)時(shí)數(shù)據(jù)。當(dāng)標(biāo)志位(00H)為1時(shí),說明計(jì)數(shù)器溢出,放大最大時(shí)間值(為#0FFH);當(dāng)標(biāo)志位為0時(shí),將計(jì)數(shù)單元(TL1、TH1、6CH、6DH)的值放入68H—6B

溫馨提示

  • 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)論