單片機(jī)課程設(shè)計(jì)-自行車?yán)锍逃?jì)速度計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  單片機(jī)原理及應(yīng)用</b></p><p><b>  課程設(shè)計(jì)</b></p><p>  題 目 自行車?yán)锍逃?jì)/速度計(jì) </p><p>  二級(jí)學(xué)院 電子信息與電氣工程學(xué)院</p><p>  班 級(jí)

2、 </p><p>  姓 名 </p><p>  學(xué) 號(hào) </p><p>  指導(dǎo)教師 </p><p>  設(shè)計(jì)時(shí)間 2010-6-21~2010-7-2 </p>

3、<p><b>  目錄</b></p><p><b>  一、概述</b></p><p>  1、設(shè)計(jì)目的…………………………………………………………… 1</p><p>  2、課題簡(jiǎn)介…………………………………………………………… 1</p><p><b>  

4、二、系統(tǒng)設(shè)計(jì)</b></p><p>  1、總體設(shè)計(jì)方案……………………………………………………… 2</p><p>  2、硬件部分簡(jiǎn)介……………………………………………………… 3</p><p>  (A)AT89c51芯片簡(jiǎn)介……………………………………………… 3</p><p>  (B)硬件設(shè)計(jì)……………………

5、…………………………………… 4</p><p>  3、軟件部分…………………………………………………………… 5</p><p>  (A)初始化程序………………………………………………………6</p><p>  (B)主程序……………………………………………………………8</p><p>  (C)中斷程序……………………………………

6、……………………9</p><p>  (D)里程、速度處理程序……………………………………………11</p><p>  (E)顯示子程序………………………………………………………14</p><p>  (F)延時(shí)子程序………………………………………………………16</p><p>  三、調(diào)試…………………………………………………………

7、……………17</p><p>  1、硬件調(diào)試…………………………………………………………… 17</p><p>  2、軟件調(diào)試…………………………………………………………… 17 </p><p>  四、操作說(shuō)明…………………………………………………………………19</p><p>  五、參考文獻(xiàn)……………………………………………

8、……………………20</p><p>  六、心得體會(huì)…………………………………………………………………21</p><p>  七、附錄………………………………………………………………………22</p><p>  1、元器件清單………………………………………………………… 22</p><p>  2、整體原理圖…………………………………

9、……………………… 23</p><p>  3、完整程序…………………………………………………………… 24</p><p>  4、實(shí)物圖……………………………………………………………… 33</p><p>  自行車?yán)锍逃?jì)/速度計(jì)的設(shè)計(jì)</p><p><b>  概述</b></p><p&

10、gt;<b>  設(shè)計(jì)目的</b></p><p>  本設(shè)計(jì)采用AT89C51單片機(jī)作控制,利用霍爾元件等器件設(shè)計(jì)一個(gè)可用LED數(shù)碼管顯示當(dāng)前自行車行駛的距離及速度并具有超速報(bào)警功能的自行車?yán)锍?速度表,使其作為自行車的一種輔助工具,讓自行車的功用更強(qiáng)大,給人們帶來(lái)更多的方便。</p><p><b>  課題簡(jiǎn)介</b></p>

11、<p>  自行車被發(fā)明及使用到現(xiàn)在已有兩百多年的歷史,在這兩百年間人類在不斷的嘗試與研發(fā)過(guò)程中,自行車發(fā)展的目的也從最早的代步工具轉(zhuǎn)換成休閑娛樂(lè)的用途,隨著生活水平的提高,人們希望自行車的功能更強(qiáng)大,而里程計(jì)/速度計(jì)正滿足了這個(gè)需求。現(xiàn)在先進(jìn)的里程/速度計(jì)不僅能顯示實(shí)時(shí)的速度和里程,還顯示時(shí)間,甚至具有測(cè)量騎車人的心跳、顯示騎車人熱量消耗等功能。</p><p>  由于時(shí)間有限,本設(shè)計(jì)完成的功能減

12、為兩個(gè),即測(cè)量并通過(guò)LED數(shù)碼管進(jìn)行動(dòng)態(tài)顯示當(dāng)前的速度和里程,并在超速時(shí)發(fā)出警報(bào)。</p><p>  要求達(dá)到的各項(xiàng)指標(biāo)及實(shí)現(xiàn)方法如下:</p><p>  1. 利用霍爾傳感器產(chǎn)生里程數(shù)的脈沖信號(hào)。</p><p>  2. 對(duì)脈沖信號(hào)進(jìn)行計(jì)數(shù)。</p><p>  實(shí)現(xiàn):利用單片機(jī)自帶的計(jì)數(shù)器T1對(duì)霍爾傳感器脈沖信號(hào)進(jìn)行計(jì)數(shù)。<

13、/p><p>  3. 對(duì)數(shù)據(jù)進(jìn)行處理,要求用LED顯示里程總數(shù)和即時(shí)速度。</p><p>  實(shí)現(xiàn):利用軟件編程,對(duì)數(shù)據(jù)進(jìn)行處理得到需要的數(shù)值。</p><p>  最終實(shí)現(xiàn)目標(biāo):自行車的速度里程表具有里程、速度測(cè)試與顯示功能,采用單片機(jī)作控制,顯示電路可顯示里程及速度。</p><p><b>  1</b></

14、p><p><b>  二、系統(tǒng)設(shè)計(jì)</b></p><p><b>  1、總體設(shè)計(jì)方案</b></p><p>  采用AT89C51芯片,用霍爾元件將車輪的轉(zhuǎn)速轉(zhuǎn)換成電脈沖,經(jīng)過(guò)處理后送入單片機(jī)。里程及速度的測(cè)量,是經(jīng)過(guò)AT89C51的定時(shí)/計(jì)數(shù)器測(cè)出總的脈沖數(shù)和每轉(zhuǎn)一圈的時(shí)間,再經(jīng)過(guò)單片機(jī)的計(jì)算得出,計(jì)算結(jié)果通過(guò)LED

15、顯示器顯示出來(lái)。</p><p>  傳感器是獲取自然或生產(chǎn)領(lǐng)域中信息的關(guān)鍵器件,是現(xiàn)代信息系統(tǒng)和各種設(shè)備不可缺少的信息采集工具。磁傳感器是一種將磁學(xué)量信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào)的器件或裝置。隨著信息產(chǎn)業(yè)、工業(yè)自動(dòng)化、醫(yī)療儀器等的飛速發(fā)展和計(jì)算機(jī)應(yīng)用的普及,需要大量的傳感器將被測(cè)或被控的非電信號(hào)轉(zhuǎn)換成可與計(jì)算機(jī)兼容的電信號(hào)。作為輸入信號(hào),這就給磁傳感器的快速發(fā)展提供了機(jī)遇,形成了磁傳感器的產(chǎn)業(yè)。其中最具代表的磁傳感器就是霍

16、爾傳感器,在自動(dòng)檢測(cè)系統(tǒng)中,利用霍爾傳感器測(cè)轉(zhuǎn)數(shù)是一種最基本的測(cè)量工作。</p><p>  單片機(jī)是本次設(shè)計(jì)的核心部件,它是信號(hào)從采集到輸出的橋梁,而且包括計(jì)算、定時(shí)、信息處理等功能</p><p>  當(dāng)輪子每轉(zhuǎn)一圈,通過(guò)開(kāi)關(guān)型霍爾元件傳感器采集到一個(gè)脈沖信號(hào),并從引腳12即P3.2外部中斷0端輸入,傳感器每獲取一個(gè)脈沖信號(hào)即對(duì)系統(tǒng)提供一次計(jì)數(shù)中斷。每次中斷代表車輪轉(zhuǎn)動(dòng)一圈,中斷數(shù)n輪

17、圈的周長(zhǎng)為L(zhǎng)的乘積為里程值。計(jì)數(shù)器T1計(jì)算每轉(zhuǎn)一圈所用的時(shí)間t,就可以計(jì)算出即時(shí)速度v。當(dāng)里程鍵按下時(shí),里程指示燈亮,LED切換顯示當(dāng)前里程,與當(dāng)速度鍵按下時(shí),速度指示燈亮,LED切換顯示當(dāng)前速度,若自行車超速,系統(tǒng)發(fā)出報(bào)警信號(hào),指示燈閃爍。里程數(shù)據(jù)自動(dòng)記憶,也可用于電動(dòng)自行車、摩托車、汽車等機(jī)動(dòng)車儀表上。</p><p>  設(shè)計(jì)包括硬件、軟件兩部分,硬件電路包括AT89C51單片機(jī)的外圍電路以及LED顯示電路

18、等,這里對(duì)硬件部分只做簡(jiǎn)單介紹,主要闡述的是軟件部分的設(shè)計(jì),包括數(shù)據(jù)初始化程序的設(shè)計(jì)、主程序的設(shè)計(jì)、處理子程序的設(shè)計(jì)、顯示子程序的設(shè)計(jì);最后針對(duì)仿真過(guò)程遇到的問(wèn)題進(jìn)行了具體說(shuō)明與分析,對(duì)本次設(shè)計(jì)進(jìn)行總結(jié)。</p><p><b>  2</b></p><p><b>  硬件部分介紹</b></p><p>  (A)A

19、T89C51芯片簡(jiǎn)介</p><p>  AT89C51是一種帶4K字節(jié)閃存可編程可擦除的只讀存儲(chǔ)器即為</p><p> ?。‵PEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。</p><p><b>  管腳說(shuō)明:</b><

20、;/p><p>  VCC:供電電壓。 </p><p><b>  GND:接地。 </b></p><p>  P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FI

21、ASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p>  P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電

22、阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。 </p><p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。P3口也可作為AT89C51的一些特殊功能口,如下表所示: </p><p>  P3.0 RXD(串行輸入口) </p><p>  P

23、3.1 TXD(串行輸出口) </p><p>  P3.2 /INT0(外部中斷0) </p><p>  P3.3 /INT1(外部中斷1) </p><p>  P3.4 T0(記時(shí)器0外部輸入) </p><p>  P3.5 T1(記時(shí)器1外部輸入) </p><p>  P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選

24、通) </p><p>  P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) </p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 </p><p>  ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。</p><p>

25、  /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 </p><p><b>  3</b></p><p><b>  (B)硬件設(shè)計(jì)</b></p><p>  自行車?yán)锍逃?jì)/速度計(jì)電路原理圖見(jiàn)附錄。<

26、;/p><p>  本次設(shè)計(jì)信號(hào)的捕獲采用的是霍爾傳感器。 霍爾器件具有許多優(yōu)點(diǎn),它們的結(jié)構(gòu)牢固、體積小、重量輕、壽命長(zhǎng)、安裝方便、功耗小、頻率高(可達(dá)1MHz)、耐震動(dòng)、不怕灰塵、油污、水汽及煙霧等的污染或腐蝕。霍爾線性器件的精度高、線性度好;霍爾開(kāi)關(guān)器件無(wú)觸點(diǎn)、無(wú)磨損、輸出波形清晰、無(wú)抖動(dòng)、無(wú)回跳、位置重復(fù)精度高。取用各種補(bǔ)償和保護(hù)措施的霍爾器件工作溫度范圍寬,可達(dá)-55℃~150℃。XTAL1和XTA

27、L2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。由于輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p>  P0口作為輸出口用于顯示歷程狀態(tài)和速度狀態(tài)。由于P0口沒(méi)有上拉電阻,</p><p>  因此作為輸出口時(shí)要加上

28、上拉電阻來(lái)驅(qū)動(dòng)LED數(shù)碼管的點(diǎn)亮。接于引腳10即P3.2、RXD的開(kāi)關(guān)用于控制改變顯示的方式,當(dāng)開(kāi)關(guān)閉合時(shí),顯示速度;開(kāi)關(guān)打開(kāi)時(shí)顯示里程。第12腳即外部中斷0用于對(duì)輪子圈數(shù)的計(jì)數(shù)輸入,輪子每轉(zhuǎn)一圈,霍爾傳感器輸出一個(gè)低電平脈沖。第十三腳即外部中斷1用于控制定時(shí)器T1的啟停,當(dāng)輸入為0時(shí)關(guān)閉定時(shí)器。此控制信號(hào)是將輪子圈數(shù)的計(jì)數(shù)脈沖經(jīng)二分頻后形成,這樣,每次定時(shí)器T1的開(kāi)啟時(shí)間剛好為轉(zhuǎn)一圈的時(shí)間,根據(jù)輪子的周長(zhǎng)就可以計(jì)算出自行車的速度。P1

29、.4口和P1.5口用于EEPROM存儲(chǔ)器24C01的存取控制。11腳輸出用于超速時(shí)的報(bào)警,此時(shí)蜂鳴器發(fā)出聲音,同時(shí)LED燈閃爍。</p><p>  LED數(shù)碼管采用四位相連的共陰極數(shù)碼管,片選信號(hào)分別通過(guò)三極管接</p><p>  至21-24管腳即P2.0-P2.4口,從而實(shí)現(xiàn)里程和速度的動(dòng)態(tài)顯示。</p><p>  自行車的速度里程表的硬件電路設(shè)計(jì)是基礎(chǔ)部

30、分,它包括信號(hào)的捕獲、放大、整形,單片機(jī)的計(jì)算處理,數(shù)碼管的實(shí)時(shí)顯示和單片機(jī)外圍基本電路的設(shè)計(jì),兩大主要器件就是傳感器和單片機(jī)。</p><p><b>  4</b></p><p><b>  軟件部分</b></p><p>  模塊化結(jié)構(gòu)設(shè)計(jì)即是根據(jù)要求和硬件設(shè)計(jì)的結(jié)構(gòu),將整個(gè)系統(tǒng)的功能分成許多小的功能模塊,再根據(jù)

31、這些小的功能模塊進(jìn)行程序編寫(xiě)的過(guò)程。這樣的設(shè)計(jì)方法,使得系統(tǒng)的整個(gè)功能和各部分的功能趨于明朗化。當(dāng)系統(tǒng)出現(xiàn)問(wèn)題,就可以根據(jù)功能設(shè)置找出問(wèn)題的根源,從而更快地解決問(wèn)題。所以說(shuō),在整個(gè)設(shè)計(jì)過(guò)程中,軟件設(shè)計(jì)必須與硬件設(shè)計(jì)緊密地結(jié)合在一起。</p><p>  軟件設(shè)計(jì)包括初始化程序、主程序、行車過(guò)程中里程和速度計(jì)算子程序、延時(shí)子程序、中斷服務(wù)子程序、顯示子程序等。</p><p>  系統(tǒng)軟件總

32、體流程圖如圖3.1所示</p><p>  總體設(shè)計(jì)思路:首先進(jìn)行初始化,選擇車輪周長(zhǎng),P3.0是用于里程和速度切換的,低電平為顯示速度,高電平為顯示里程。根據(jù)P3.0的狀態(tài)來(lái)決定顯示內(nèi)容,P3.0=1時(shí),轉(zhuǎn)到計(jì)算速度子程序并進(jìn)行顯示;P3.0=0時(shí),轉(zhuǎn)到計(jì)算里程子程序并進(jìn)行顯示。P1.0和P1.1口分別用于顯示里程狀態(tài)和速度狀態(tài)。P1.2、P1.3、P1.6和P1.7口分別用于設(shè)置輪圈的大小,低電平有效。中斷0

33、用于對(duì)輪子圈數(shù)的計(jì)數(shù)輸入,輪子每轉(zhuǎn)一圈,霍爾傳感器輸出一個(gè)低電平脈沖。將根據(jù)里程寄存器中的內(nèi)容計(jì)算和判斷出行駛里程數(shù)。中斷1用于控制定時(shí)器T1的啟/停,當(dāng)輸入為0時(shí)關(guān)閉定時(shí)器。此控制信號(hào)是將輪子圈數(shù)的計(jì)數(shù)經(jīng)二分頻后形成。這樣,每次定時(shí)器T1的開(kāi)啟時(shí)間剛好為轉(zhuǎn)一圈的時(shí)間,根據(jù)輪子的周長(zhǎng)就可以計(jì)算出自行車的速度。</p><p>  圖 3.1 系統(tǒng)整體流程圖 5&l

34、t;/p><p>  主要內(nèi)存單元及用處:</p><p>  50H:EEPROM器件尋址字節(jié)存放單元</p><p>  51H:EEPROM傳送字節(jié)數(shù)存放單元</p><p>  30H:EEPROM發(fā)送數(shù)據(jù)緩沖單元</p><p>  40H:EEPROM讀出數(shù)據(jù)存放單元</p><p> 

35、 0A0H:EEPROM尋址字節(jié)寫(xiě)入</p><p>  0A1H:EEPROM尋址字節(jié)讀出</p><p>  62H:DPTR計(jì)數(shù)擴(kuò)展高8位</p><p>  6CH:定時(shí)器T1計(jì)數(shù)擴(kuò)展高8位</p><p>  6DH:定時(shí)器T1計(jì)數(shù)擴(kuò)展高8—16位</p><p>  60H、61H、62H:里程計(jì)數(shù)單元&l

36、t;/p><p>  68H、69H、6AH、6BH:存放自行車每圈時(shí)間數(shù)</p><p>  70H、71H、72H、73H:顯示BCD碼數(shù)據(jù)存放用</p><p>  11H--15H:存放被除數(shù)</p><p>  16H—19H:存放除數(shù)</p><p><b>  (A)初始化程序</b>&

37、lt;/p><p>  初始化程序主要完成以下工作:將T1設(shè)為外部控制定時(shí)器方式;外部中斷0及外部中斷1設(shè)為邊沿觸發(fā)方式;將部分內(nèi)存單元清0;設(shè)置輪子周長(zhǎng);開(kāi)中斷及定時(shí)器;將EEPROM中的數(shù)據(jù)調(diào)入內(nèi)存。</p><p>  CLEARMEN:MOV TMOD,#90H ;T1為16位外部控制定時(shí)器</p><p>  MOV SP,#75H

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

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

40、特定單元</p><p>  MOV 71H,A ;清內(nèi)存中特定單元</p><p>  MOV 72H,A ;清內(nèi)存中特定單元</p><p>  MOV 73H,A ;清內(nèi)存中特定單元</p><p>  MOV 60H,A ;清內(nèi)存中特定單元

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

42、 ;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</p><p>  MOV 6BH,A

43、 ;內(nèi)存置數(shù)據(jù)0FFH</p><p>  MOV P1,A ;P1口置1</p><p>  CLEAR1: JB P1.2,KEY1 ;根據(jù)P1.2設(shè)置狀態(tài)</p><p>  MOV 21H,#0FH </p><p>  LJMP CLEAR2

44、;轉(zhuǎn)CLEAR2</p><p>  KEY1: JB P1.3,KEY2 ;根據(jù)P1.3設(shè)置狀態(tài)</p><p>  MOV 21H,#12H</p><p>  LJMP CLEAR2</p><p>  KEY2: JB P1.6,KEY3 ;根據(jù)P1.6設(shè)置狀態(tài)</p>&

45、lt;p>  MOV 21H,#14H </p><p>  LJMP CLEAR2</p><p>  KEY3: JB P1.7,ERR ;根據(jù)P1.7設(shè)置狀態(tài)</p><p>  MOV 21H,#19H</p><p>  CLEAR2: SETB TR1

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

47、><p>  LCALL VIICREAD ;將EEPROM中原里程數(shù)據(jù)調(diào)入內(nèi)存</p><p><b>  RET</b></p><p>  ERR: CPL P3.1 ;未設(shè)置車輪周長(zhǎng),開(kāi)始報(bào)警</p><p>  LCALL DL5S ;延時(shí)5S<

48、/p><p>  LJMP CLEAR1 ;重新初始化</p><p>  初始化具體過(guò)程:首先對(duì)P1.2口的內(nèi)容進(jìn)行查詢,若P1.2=0,則說(shuō)明P1.2口接的按鈕被按下,即選擇第一種車輪周長(zhǎng),同時(shí)將周長(zhǎng)存入21H單元內(nèi);若P1.2=1,則第一個(gè)按鈕沒(méi)被按下,再對(duì)P1.3口的內(nèi)容進(jìn)行查詢,內(nèi)容為0則將其周長(zhǎng)值存入21H中,不為0則掃描P1.6,內(nèi)容為0則將其周長(zhǎng)值存入21H中

49、,不為0則掃描P1.7,若P1.7為0則將其周長(zhǎng)值存入21H中,不為0則說(shuō)明沒(méi)有選擇車輪直徑,此時(shí)開(kāi)始報(bào)警,并調(diào)用延時(shí)子程序。接著再?gòu)腜1.2口掃描,如此循環(huán),直到有鍵按下后停止報(bào)警。</p><p><b>  7</b></p><p>  圖 3.2 初始化程序流程圖</p><p><b>  (B)主程序</b>

50、;</p><p>  主程序根據(jù)P3.0口的開(kāi)關(guān)狀態(tài)選擇里程速度顯示。</p><p>  START: LCALL CLEARMEN ;上電初始化</p><p>  START1: JB P3.0,DISPLAYS ;P3.0=1,顯示里程</p><p>  LCALL DISPLAY

51、V ;P3.0=0,顯示速度</p><p>  START2: SJMP START1 ;循環(huán)</p><p><b>  8</b></p><p>  圖3.3 主程序流程圖</p><p>  (C)用外部中斷0實(shí)現(xiàn)的里程計(jì)數(shù)程序</p>

52、<p>  定時(shí)中斷是為滿足定時(shí)或計(jì)數(shù)的需要而設(shè)置的。在單片機(jī)內(nèi)部有兩個(gè)定時(shí)/計(jì)數(shù)器,以對(duì)其中的計(jì)數(shù)結(jié)構(gòu)進(jìn)行計(jì)數(shù)的方法,來(lái)實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能。當(dāng)結(jié)構(gòu)發(fā)生計(jì)數(shù)溢出時(shí),即表明定時(shí)時(shí)間或計(jì)數(shù)值已滿,這時(shí)就以計(jì)數(shù)溢出信號(hào)作為中斷請(qǐng)求,去置位一個(gè)溢出標(biāo)志,作為單片機(jī)接受中斷請(qǐng)求的標(biāo)志。這種中斷請(qǐng)求是在單片機(jī)芯片內(nèi)部發(fā)生的,因此無(wú)須在芯片上設(shè)置引入端。</p><p>  定時(shí)/計(jì)數(shù)器控制寄存器TCON是8位寄存

53、器,地址為88H,可以位尋址。其高4位用于定時(shí)/計(jì)數(shù)器中斷控制,低4位借給外部中斷,用做中斷標(biāo)志和觸發(fā)方式選擇位。本設(shè)計(jì)采用定時(shí)中斷,對(duì)自行車的里程和速度進(jìn)行計(jì)數(shù)。</p><p>  INTEX0: PUSH ACC ;累加器堆棧保護(hù)</p><p>  PUSH PSW ;狀態(tài)字堆棧保護(hù)</p><

54、;p>  INC 60H ;圈數(shù)加1</p><p>  CLR A ;清A</p><p>  CJNE A,60H,INTEX0OUT ;計(jì)數(shù)器沒(méi)溢出轉(zhuǎn)INTEX0OUT</p><p>  INC 61H ;溢出進(jìn)位(61H加1)&l

55、t;/p><p>  CJNE A,61H,INTEX0OUT ;計(jì)數(shù)器沒(méi)溢出轉(zhuǎn)INTEX0OUT</p><p>  INC 62H ;溢出進(jìn)位(62H加1)</p><p>  INTEX0OUT:LCALL VIICWRITE ;里程數(shù)據(jù)存入EEPROM</p><p>  S

56、ETB EX1 ;開(kāi)外部中斷1</p><p>  POP PSW ;狀態(tài)字恢復(fù)</p><p>  POP ACC ;累加器恢復(fù) 9</p><p>  RETI ;中斷返回</p

57、><p>  ;每轉(zhuǎn)一圈時(shí)間計(jì)數(shù)處理程序,每圈時(shí)間放在68H—6BH單元中</p><p>  INTEX1: PUSH ACC ;累加器堆棧保護(hù)</p><p>  PUSH PSW ;狀態(tài)字堆棧保護(hù)</p><p>  CLR EX1 ;關(guān)外部中斷1

58、</p><p>  JNB 00H,INTEX11 ;溢出標(biāo)志為0轉(zhuǎn)INTEX11</p><p>  MOV TL1,#0FFH ;溢出時(shí)計(jì)時(shí)單元賦#0FFH(顯示速度為零)</p><p>  MOV TH1,#0FFH </p><p>  MOV 6CH,#0FFH<

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

60、lt;/p><p>  CLR A ;清A</p><p>  MOV TL1,A ;計(jì)數(shù)單元置零</p><p>  MOV TH1,A</p><p>  MOV 6CH,A</p><p>  MOV 6DH,A</p>&l

61、t;p>  CLR 00H ;清溢出標(biāo)志</p><p>  POP PSW ;狀態(tài)字堆?;謴?fù)</p><p>  POP ACC ;累加器堆?;謴?fù)</p><p>  RETI ;中斷返回</p><

62、;p>  ;T1計(jì)數(shù)器中斷服務(wù)程序。(計(jì)數(shù)器T1由外部中斷1輸入控制,當(dāng)為高電平時(shí)計(jì)時(shí)開(kāi)始)</p><p>  INTT1: PUSH ACC ; 累加器堆棧保護(hù)</p><p>  PUSH PSW ;狀態(tài)字堆棧保護(hù)</p><p>  INC 6CH ;6C計(jì)時(shí)單元

63、加1</p><p>  MOV A,6CH ;6C單元內(nèi)容移入A</p><p>  JNZ INTT11 ;不為0,轉(zhuǎn)INTT11</p><p>  INC 6DH ;進(jìn)位,6DH單元加1</p><p>  MOV A,6DH ;

64、移入A</p><p>  JNZ INTT11 ;不為0,轉(zhuǎn)INTT11</p><p>  SETB 00H ;計(jì)時(shí)器溢出,置溢出標(biāo)志位</p><p>  INTT11: POP PSW ;狀態(tài)字堆?;謴?fù)</p><p>  POP ACC

65、 ;累加器堆?;謴?fù)</p><p>  RETI ;中斷返回</p><p><b>  10</b></p><p>  圖 3.4 中斷流程圖</p><p>  (D)里程、速度處理程序</p><p><b>  里程處理程序

66、</b></p><p>  外中斷0服務(wù)程序用于對(duì)單片機(jī)P3.2口輸入的圈脈沖進(jìn)行計(jì)數(shù),為十六進(jìn)制計(jì)數(shù)器。60H為低位,62H為高位。每次計(jì)數(shù)一次后,對(duì)里程數(shù)據(jù)進(jìn)行一次存儲(chǔ)操作。當(dāng)車輪每轉(zhuǎn)一圈,通過(guò)霍爾元件將脈沖數(shù)輸入單片機(jī)內(nèi),通過(guò)計(jì)數(shù)器計(jì)出脈沖數(shù),再用乘法子程序算出里程數(shù)。</p><p>  SSS: MOV 19H,#64H ;除數(shù)最

67、高位賦值</p><p>  MOV 18H,#00H ;除數(shù)賦值</p><p>  MOV 17H,#00H ; 除數(shù)賦值</p><p>  MOV 16H,#00H ; 除數(shù)賦值</p><p>  MOV 11H,#00H

68、 ; 被除數(shù)賦值</p><p>  MOV 12H,#00H ; 被除數(shù)賦值</p><p>  MOV 13H,62H ; 被除數(shù)賦值</p><p>  MOV 14H,61H ; 被除數(shù)賦值</p><p>  MOV 15H,60H

69、 ; 被除數(shù)賦值</p><p>  LCALL DIVST ;調(diào)除法程序 11</p><p>  LCALL BCDST ; 跳到二進(jìn)制轉(zhuǎn)BCD碼程序</p><p>  MOV A,25H ;將25H內(nèi)容移入A</

70、p><p>  ANL A,#0FH ; 高四位為0</p><p>  MOV 70H,A ;移入70H</p><p>  MOV A,25H ; 將25H內(nèi)容移入A</p><p>  SWAP A ;交換高低

71、字節(jié)</p><p>  ANL A,#0FH ; 高四位為0</p><p>  MOV 71H,A ; 移入71H</p><p>  MOV A,24H ; 將24H內(nèi)容移入A</p><p>  ANL A,#0FH

72、 ; 高四位為0</p><p>  MOV 72H,A ; 移入72H</p><p>  MOV A,24H ; 將24H內(nèi)容移入A</p><p>  SWAP A ; 交換高低字節(jié)</p><p>  ANL A,#0FH

73、 ; 高四位為0</p><p>  MOV 73H,A ; 移入73H</p><p><b>  RET</b></p><p>  圖 3.5 里程處理程序流程圖</p><p><b>  速度處理程序</b></p>&l

74、t;p>  外中斷1服務(wù)程序用于處理輪子轉(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~6BH單元。定時(shí)器計(jì)出每轉(zhuǎn)一圈所用的時(shí)間,用自行車車輪的周長(zhǎng)除以時(shí)間就得出自行車的速度。</p><p>  VVV: MOV 18H,68H ;除數(shù)賦值</p>

75、;<p>  MOV 17H,69H ;除數(shù)賦值</p><p>  MOV 16H,6AH ;除數(shù)賦值 12</p><p>  MOV 11H,#00H ;被除數(shù)賦值</p><p>  MOV 12H,#00H

76、 ;被除數(shù)賦值</p><p>  MOV 13H,#36H ;被除數(shù)賦值</p><p>  MOV 14H,#0EEH ;被除數(shù)賦值</p><p>  MOV 15H,#80H ;被除數(shù)賦值</p><p>  LCALL DIVST

77、 ;調(diào)除法程序</p><p>  MOV 14H,#00H ;舍去一位</p><p>  LCALL BCDST ;跳到二進(jìn)制轉(zhuǎn)BCD碼程序</p><p>  MOV A,25H ;以下將速度值放入顯示單元</p><p>  ANL

78、 A,#0FH ;高四位為0</p><p>  MOV 70H,A ;放入70H內(nèi)</p><p>  MOV A,25H ;再取數(shù)</p><p>  SWAP A ;高低字節(jié)交換</p><p>  ANL

79、 A,#0FH ;高四位為0</p><p>  MOV 71H,A ;放入71H內(nèi)</p><p>  MOV 72H,#00H ;72H為0</p><p>  MOV 73H,#00H ;73H為0</p><p>  RE

80、T ;子程序返回</p><p>  圖 3.6速度處理程序流程圖</p><p><b>  13</b></p><p><b>  (E)顯示子程序</b></p><p>  采用動(dòng)態(tài)掃描顯示接口電路,動(dòng)態(tài)顯示接口電路是把所有顯示器的8個(gè)筆劃段a-

81、h同名端連在一起,而每一個(gè)顯示器的公共極COM各自獨(dú)立地受I/O線控制。CPU向字段輸出口送出字型碼時(shí),所有顯示器接收到相同的字型碼,但究竟是哪個(gè)顯示器亮,則取決于COM端??梢圆捎梅謺r(shí)的方法,輪流控制各個(gè)顯示器的COM端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過(guò)程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約1ms),由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的

82、顯示數(shù)據(jù),不會(huì)有閃爍感。</p><p>  本設(shè)計(jì)P2.0、P2.1、P2.2、P2.3信號(hào)一起組成位選通的位選信號(hào),P0.0~P0.7信號(hào)一起組成段碼選通的段選信號(hào),通過(guò)軟件編程,先把所要顯示的數(shù)據(jù)放入存儲(chǔ)單元,然后把數(shù)據(jù)送入段選通對(duì)應(yīng)的地址,再選通某一個(gè)LED,逐步完成四個(gè)LED的顯示。</p><p><b>  ;里程顯示控制程序</b></p>

83、<p>  DISPLAYS:SETB P1.0 ;點(diǎn)亮LED1</p><p>  CLR P1.1 ;關(guān)閉速度指示燈</p><p>  SETB P3.7</p><p>  LCALL SSS ;將圈數(shù)轉(zhuǎn)為公里數(shù)</p><p>  LCA

84、LL DISPLAY ;顯示公里數(shù)據(jù)</p><p>  LJMP START1 ;跳回START1</p><p><b>  ;速度顯示程序</b></p><p>  DISPLAYV:CLR P1.0 ;關(guān)閉LED1(里程指示燈)</p><p>

85、;  SETB P1.1 ;點(diǎn)亮LED2(速度指示燈)</p><p>  CLR P3.7 </p><p>  LCALL VVV ;每圈時(shí)間換算為KM/H程序</p><p>  MOV A,71H ;將十位數(shù)(BCD碼)值植入A</p>&

86、lt;p>  SUBB A,#04H ;與預(yù)定報(bào)警值比較</p><p>  JNC WARING ;時(shí)速超過(guò)40時(shí)報(bào)警</p><p>  SETB P3.1 ;關(guān)報(bào)警燈</p><p>  V1: LCALL DISPLAY ;顯亮一次</p&

87、gt;<p>  RET ;子程序返回</p><p>  DISPLAY: MOV R1,#70H ;顯示單元首址</p><p>  MOV R2,#0FEH ;掃描字</p><p>  PLAY: MOV A,R2 ;掃描字送

88、入A</p><p>  MOV P2,A ;放到端口P2</p><p>  MOV A,@R1 ;取顯示數(shù)據(jù)</p><p>  ANL A,#0FH ;高四位清0</p><p>  MOV DPTR,#TAB ;取段碼表首址</p&g

89、t;<p>  MOVC A,@A+DPTR ;查顯示數(shù)據(jù)對(duì)應(yīng)段碼 14</p><p>  MOV P0,A ;段碼輸出</p><p>  LCALL DL1MS ;點(diǎn)亮1MS</p><p>  INC R1 ;指向下一顯

90、示數(shù)據(jù)地址</p><p>  MOV A,R2 ;取掃描字</p><p>  JNB ACC.3,ENDOUT ;已掃描到第四位,轉(zhuǎn)ENDOUT退出</p><p>  RL A ;循環(huán)左移</p><p>  MOV R2,A ;放回

91、R2</p><p>  AJMP PLAY ;轉(zhuǎn)PLAY循環(huán)</p><p>  ENDOUT: SETB P2.0 ;關(guān)掃描</p><p>  SETB P2.1 ;關(guān)掃描</p><p>  SETB P2.2 ;關(guān)掃描<

92、;/p><p>  SETB P2.3 ;關(guān)掃描</p><p>  RET ;子程序返回</p><p><b>  ;共陰極段碼表</b></p><p>  TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H&l

93、t;/p><p>  DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H</p><p><b>  DB 00H</b></p><p><b>  15</b></p><p>  圖 3.5 顯示程序流程圖</p><p><b>

94、;  (F)延時(shí)子程序</b></p><p>  ;1ms延時(shí)程序 利用循環(huán)實(shí)現(xiàn)延時(shí)</p><p>  DL1MS: MOV R6,#14H</p><p>  DL1: MOV R7,#19H</p><p>  DL2: DJNZ R7,DL2 ;循環(huán)19H次</p><p> 

95、 DJNZ R6,DL1 ;循環(huán)14H次</p><p><b>  RET</b></p><p>  ;出錯(cuò)閃爍利用延時(shí)255ms</p><p>  DL5S: MOV R5,#0FFH </p><p>  DL3: LCALL DL1MS ;調(diào)用1ms延時(shí)</p>&

96、lt;p>  DJNZ R5,DL3 ;循環(huán)255次</p><p><b>  RET</b></p><p><b>  16</b></p><p><b>  三、調(diào)試</b></p><p><b>  1.硬件調(diào)試</b><

97、/p><p>  硬件調(diào)試時(shí),我們首先檢查了接線,對(duì)照電路原理圖,確保準(zhǔn)確無(wú)誤。其次是檢查各個(gè)焊點(diǎn)是否有虛焊的情況,檢查無(wú)誤后,接通經(jīng)穩(wěn)壓后的5V電源。硬件的修改可在元器件參數(shù)方面調(diào)整,如電阻的阻值等。</p><p><b>  2.軟件調(diào)試</b></p><p>  先用KEIL軟件輸入完整的程序,進(jìn)行編譯。</p><p

98、>  首先,新建一個(gè)項(xiàng)目選擇AT89C51,新建一個(gè)文件,將程序輸入,輸完后保存,保存時(shí)需加后綴名.ASM。然后將文件添加到新建的工程下。進(jìn)行檢錯(cuò)和編譯,窗口如圖3.2所示。</p><p>  圖 3.1 KEIL編譯窗口</p><p>  編譯無(wú)誤后即可運(yùn)行,運(yùn)行時(shí)可從Peripherals中調(diào)出輸出口P0—P3來(lái)觀察輸出情況。運(yùn)行時(shí)窗口如圖3.1所示。</p>

99、<p>  圖 3.2 KEIL運(yùn)行窗口 17</p><p>  接著再使用PROTEUS仿真軟件進(jìn)行仿真。首先新建一個(gè)文件,選擇所需的元件并排列好,根據(jù)電路原理圖進(jìn)行布線。當(dāng)完成原理圖布線后,利用PROTEUS ISIS編輯環(huán)境所提供的電器規(guī)則檢查命令對(duì)設(shè)計(jì)進(jìn)行檢查,并根據(jù)系統(tǒng)提供的錯(cuò)誤檢查報(bào)告修改原理圖。直到通過(guò)電器規(guī)則檢查為止。然后在KEIL中生成HEX

100、文件,雙擊AT89C51芯片,將完整的程序灌入芯片,單擊左下角的開(kāi)始箭頭即可開(kāi)始模擬仿真。</p><p>  在仿真過(guò)程中遇到過(guò)一些問(wèn)題,針對(duì)這些問(wèn)題做了些軟件方面的調(diào)整。</p><p>  剛開(kāi)始仿真時(shí),P0口是灰色的,數(shù)碼管沒(méi)有點(diǎn)亮。經(jīng)檢查是由于P0口內(nèi)部沒(méi)有上拉電阻,因此,必須另外加上,上拉電阻一段接P0口,另一端直接接到電源的正集。接上后數(shù)碼管點(diǎn)亮,但顯示的是亂碼經(jīng)過(guò)仔細(xì)的檢查

101、,發(fā)現(xiàn)了程序中的錯(cuò)誤,硬件中選用的是共陰極數(shù)碼管,而程序中錯(cuò)用了共陽(yáng)極的段碼表,從而造成了應(yīng)該點(diǎn)亮的部分沒(méi)亮,而不該點(diǎn)亮的部分反而亮了的錯(cuò)誤情況。</p><p><b>  18</b></p><p><b>  四、操作說(shuō)明</b></p><p>  本設(shè)計(jì)為自行車?yán)锍逃?jì)/速度計(jì),實(shí)現(xiàn)了里程速度計(jì)的基本功能。<

102、;/p><p>  接通電源后,由于未選擇車輪周長(zhǎng),蜂鳴器報(bào)警提示,同時(shí)LED燈D3閃爍,直到有鍵按下。當(dāng)按下P1.2口所接開(kāi)關(guān)SW2時(shí)選擇車輪周長(zhǎng)1,按下P1.3口所接開(kāi)關(guān)SW3時(shí)選擇車輪周長(zhǎng)2,按下P1.6口所接開(kāi)關(guān)SW4時(shí)選擇車輪周長(zhǎng)3,P1.7口所接開(kāi)關(guān)SW5時(shí)選擇車輪周長(zhǎng)4,選擇周長(zhǎng)后,每按下開(kāi)關(guān)SW6一次表示車輪轉(zhuǎn)了一圈,此時(shí)數(shù)碼管顯示當(dāng)前的里程值,此時(shí)若按下開(kāi)關(guān)SW7則數(shù)碼管顯示當(dāng)前的速度值,當(dāng)超速時(shí)蜂

103、鳴器報(bào)警。</p><p><b>  19</b></p><p><b>  五、參考文獻(xiàn)</b></p><p>  [1]《單片機(jī)原理及應(yīng)用技術(shù)》 范力旻 主編 電子工業(yè)出版社</p><p>  [2]《單片機(jī)原理及其接口技術(shù)》(第二版) 胡汗才編著 北京大學(xué)出版社</p

104、><p>  [3]《51系列單片機(jī)設(shè)計(jì)實(shí)列》 樓然苗 李光飛編著 北航出版社</p><p>  [4]《單片微機(jī)測(cè)控系統(tǒng)設(shè)計(jì)大全》 王福瑞編著 北航出版社</p><p>  [5]《例說(shuō)8051》 張義和 編著 人民郵電出版社</p><p>  [6]《傳感器應(yīng)用技術(shù)141例》松井邦彥, 梁瑞林

105、 編著 科學(xué)出版社,</p><p>  [7]《單片機(jī)設(shè)計(jì)教程》 孫惠芹 編著 電子工業(yè)出版社</p><p>  [8]《單片機(jī)及應(yīng)用系統(tǒng)設(shè)計(jì)原理與實(shí)踐》 劉海成編著 北京航空航天大學(xué)出版社</p><p>  [9]《單片機(jī)原理與應(yīng)用系統(tǒng)設(shè)計(jì)》 歐偉明 編著 電子工業(yè)出版社</p><p>  [10]《單片機(jī)原理與應(yīng)

106、用實(shí)例仿真》 李泉溪主編 北京航空航天大學(xué)出版社</p><p>  [11]《單片機(jī)原理與應(yīng)用技術(shù)實(shí)踐》盧勝利 編著 機(jī)械工業(yè)出版社[12]《單片機(jī)實(shí)踐應(yīng)用與技術(shù)》 馬長(zhǎng)林,陳怡,程利民 編著 清華大學(xué)出版社</p><p><b>  20</b></p><p><b>  六、心得體會(huì)</b></p>

107、;<p>  通過(guò)兩周的時(shí)間,我們較成功的完成了這次課程設(shè)計(jì)。</p><p>  剛開(kāi)始選課題的時(shí)候,對(duì)各個(gè)課題都不了解,難易程度也不太清楚,前面選的幾個(gè)課題有的比較簡(jiǎn)單,有的又和其他的組沖突,所以課題定的比較晚,后來(lái)感覺(jué)對(duì)這個(gè)方面還是比較感興趣的,而且它的實(shí)際用途也比較大。通過(guò)查閱一些資料,我們確定了總體方案。接下來(lái)就是采購(gòu)元器件了,因?yàn)橐郧皼](méi)買(mǎi)過(guò),沒(méi)什么經(jīng)驗(yàn),買(mǎi)的時(shí)候也沒(méi)仔細(xì)看,回來(lái)后發(fā)現(xiàn)元器

108、件都比較舊,特別是89C51芯片,引腳都發(fā)黑了,只好去換了一個(gè)。接下來(lái)的幾天就是焊接電路了,由于我們選的電路比較復(fù)雜,所以焊接也是一項(xiàng)大工程。開(kāi)始我們把所有元件都焊在了一塊板子上,排列比較緊湊,結(jié)果導(dǎo)線全部接好以后,板子上密密麻麻的全是線,顯得很亂。調(diào)試的時(shí)候,結(jié)果不正確,經(jīng)過(guò)一些改動(dòng)和調(diào)整仍不見(jiàn)起色,看著這么多線不知從何下手,后來(lái)正負(fù)極之間發(fā)生短路現(xiàn)象。我們不得不放棄這塊板子,準(zhǔn)備重新做。于是我們重新買(mǎi)了一套元件,不同的是,這次買(mǎi)了兩

109、塊板子,根據(jù)上一次的經(jīng)驗(yàn)教訓(xùn),我們準(zhǔn)備將電路分兩部分,其中一塊板子上只有最小系統(tǒng),兩塊板子通過(guò)排線相互連接。這樣焊接出來(lái)的板子看起來(lái)就清晰的多,而且,兩個(gè)人一起焊,每人一塊板子焊得更快,效率更高。經(jīng)過(guò)一天的調(diào)試,結(jié)果終于正確了,看到正確的結(jié)果</p><p>  這次的課程設(shè)計(jì)我學(xué)到了很多知識(shí),也有了一些經(jīng)驗(yàn)。不論是在動(dòng)手動(dòng)腦方面,都使我受益良多。</p><p><b>  2

110、1</b></p><p><b>  七、附錄</b></p><p><b>  1、元器件清單</b></p><p><b>  22</b></p><p><b>  電路原理圖</b></p><p>&

111、lt;b>  23</b></p><p><b>  完整程序</b></p><p>  VSDA EQU P1.5</p><p>  VSCL EQU P1.4</p><p>  SLA EQU 50H</p><p>  NUMBYT

112、 EQU 51H</p><p>  MTD EQU 30H</p><p>  MRD EQU 40H</p><p>  SLAW EQU 0A0H</p><p>  SLAR EQU 0A1H</p><p>  DPHH EQU 62H</p&g

113、t;<p>  TH1H EQU 6CH</p><p>  TH1HH EQU 6DH</p><p><b>  ;</b></p><p>  ;;;;;;;;;;;;;;;;;</p><p>  ;;PROGRAM INPUT;;</p><p>  ;;

114、;;;;;;;;;;;;;;;</p><p><b>  ;</b></p><p>  ORG 0000H</p><p>  LJMP START</p><p>  ORG 0003H</p><p>  LJMP INTEX0</p><p

115、>  ORG 000BH</p><p><b>  RETI</b></p><p>  ORG 0013H</p><p>  LJMP INTEX1</p><p>  ORG 001BH</p><p>  LJMP INTT1</p>

116、<p>  ORG 0023H</p><p><b>  RETI</b></p><p>  ORG 002BH</p><p><b>  RETI</b></p><p><b>  ;</b></p><p>  

117、;;;;;;;;;;;;;;;;;</p><p>  ;;PROGRAM CLEAR;;</p><p>  ;;;;;;;;;;;;;;;;;</p><p><b>  ;上電初始化程序</b></p><p>  CLEARMEN: MOV TMOD,#90H</p><p>  MO

118、V SP,#75H</p><p><b>  SETB PX0</b></p><p><b>  SETB IT0</b></p><p><b>  SETB IT1</b></p><p><b>  CLR A</b></p&

119、gt;<p>  MOV 20H,A</p><p>  MOV 6CH,A</p><p>  MOV 6DH,A</p><p>  MOV 70H,A 24</p><p>  MOV 71H,A</p&g

120、t;<p>  MOV 72H,A</p><p>  MOV 73H,A</p><p>  MOV 60H,A</p><p>  MOV 61H,A</p><p>  MOV 62H,A</p><p>  MOV 63H,A</p><p><

溫馨提示

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