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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  單片機系統(tǒng) 課程設計任務書</p><p><b>  目錄</b></p><p><b>  1 引言3</b></p><p><b>  2 系統(tǒng)概述3</b></p><p>  2.1 頻率測量原理3</p><p

2、>  2.2 方案比較3</p><p><b>  2.3方案選擇4</b></p><p>  3 系統(tǒng)硬件設計4</p><p>  3.1 系統(tǒng)硬件總述4</p><p>  3.2 信號輸入電路5</p><p>  3.3 開關電路7</p><p

3、>  3.4 計數(shù)電路7</p><p>  3.5 AT89C51介紹8</p><p>  3.6 數(shù)字頻率計顯示電路9</p><p>  3.7 時鐘控制電路10</p><p>  4.系統(tǒng)軟件設計11</p><p>  4.1 系統(tǒng)軟件總述11</p><p> 

4、 4.2 顯示器初始化設計12</p><p>  4.3 計數(shù)子程序13</p><p>  4.4 數(shù)制轉換子程序設計14</p><p>  4.5 顯示子程序設計15</p><p>  5系統(tǒng)的功能調試16</p><p><b>  6 結論18</b></p>

5、<p><b>  參考文獻18</b></p><p><b>  附錄A19</b></p><p><b>  附錄B19</b></p><p><b>  1 引言 </b></p><p>  單片機是20世紀中期發(fā)

6、展起來的一種面向控制的大規(guī)模集成電路模塊,具 有功能強、體積小、可靠性高、價格低廉等特點,在工業(yè)控制、數(shù)據(jù)采集、智能儀表、機電一體化、家用電器等領域得到了廣泛的應用,極大的提高了這些領域的技術水平和自動化程度。 </p><p>  51系列單片機是國內目前應用最廣泛的一種8位單片機之一,隨著嵌入式系統(tǒng)、片上系統(tǒng)等概念的提出和皮鞭接受及應用,51系列單片機還會在今后很長一段時間占據(jù)嵌入式系統(tǒng)產(chǎn)品的低端市場,因此,

7、作為新世紀的大學生,在信息產(chǎn)業(yè)高速發(fā)展的今天,掌握單片機的基本結構、原理和使用時非常重要的。</p><p>  數(shù)字頻率計是數(shù)字電路中的一個典型應用,實際的硬件設計用到的器件較多,連線比較復雜,而且會產(chǎn)生比較大的延時,造成測量誤差、可靠性差。隨著復雜可編程邏輯器件(CPLD)的廣泛應用,以EDA工具作為開發(fā)手段,運用匯編語言。將使整個系統(tǒng)大大簡化。提高整體的性能和可靠性。</p><p>

8、;<b>  2 系統(tǒng)概述</b></p><p>  2.1 頻率測量原理</p><p>  頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準時鐘,對比測量其他信號的頻率。通常情況下,計算每秒內待測信號的脈沖個數(shù),此時稱閘門時間為1秒。閘門時間也可以大于或小于一秒。閘門時間越長,得到的頻率值就越準確,但閘門時間越長則每測一次頻率的間隔就越長。閘門時間越短,測的

9、頻率值刷新就越快,但測得的頻率精度就受影響。數(shù)字頻率計是用數(shù)字顯示被測信號頻率的儀器,被測信號可以是正弦波,方波或其它周期性變化的信號。</p><p><b>  2.2 方案比較</b></p><p>  數(shù)字頻率計是直接用十進制數(shù)字顯示被測信號頻率的一種測量裝置。</p><p>  方案(一):采用分立式元器件,運用數(shù)字電路技術,可以

10、設計出數(shù)字頻率計,原理框圖如圖2-1所示。</p><p>  傳統(tǒng)的數(shù)字頻率計大多采用74LS系列數(shù)字集成電路直接測頻,在使用過程中存在電路結構復雜,測量精度低、故障率高、維護不易等問題。 </p><p>  圖2-1方案(一)原理框圖</p><p>  方案(二)采用51單片機作為控制器,運用較少的外圍器件就可以設計出數(shù)字頻率計。原理框圖如圖2-2所示。&l

11、t;/p><p>  本設計是以單片機為主再附加一些外圍電路來設計數(shù)字頻率計,通過單片機的軟件設計,采用適當?shù)乃惴?,取代很多以前用硬件實現(xiàn)的電路,這不僅能彌補以往頻率計測量精度低、故障率高、維護不易等不足,而且性能也得到了很大的提高。</p><p>  圖2-2 方案(二)原理框圖</p><p><b>  2.3方案選擇</b></p&

12、gt;<p>  對于生活上的簡單用用而言,方案二完全符合應用要求,況且性價比更高一些,有實際的研究價值,故選擇方案(二)。</p><p><b>  3 系統(tǒng)硬件設計</b></p><p>  3.1 系統(tǒng)硬件總述</p><p>  本課題設計的頻率計由單片機AT89C51 、計數(shù)器74HC393 、分頻器MB501以及時

13、鐘晶振等構成。利用外擴的計數(shù)器74HC393和單片機AT89C51 內含的16 位計數(shù)器來構成多位計數(shù)器對待測信號計數(shù)。采用的雙四位二進制計數(shù)器74HC393最高計數(shù)頻率可達39MHz。若先對外部信號進行分頻計數(shù),再利用AT89C51對所測信號進行相對應的擴頻,這樣可使頻率計的最高測量頻率達GHz 數(shù)量級范圍,由此達到頻率計測量的范圍的要求。該頻率計測量范圍為10Hz,2.0GHz ,分2 個頻段實現(xiàn)。(1) 1Hz,60MHz (2)

14、 50MHz,2.0GHz。</p><p>  如圖3-1所示,為頻率計的原理</p><p>  (1)信號輸入電路:此部分包括兩個小部分,第一部分是信號保護電路,是有兩個反向并聯(lián)的二極管組成。第二部分是由三極管、電容、電阻、電感組成的放大電路,用來提高輸入阻抗和放大前級提供的微弱信號。</p><p>  (2)分頻電路:這部分只用于信號>50MHz的電

15、路,實現(xiàn)對高頻信號的分頻。</p><p>  (3)閘門選擇電路:該頻率計有兩個信號輸入端口,工作時先根據(jù)被測頻率的大小來判斷閘門電路應該與哪個端口電路接通,這樣測出的頻率比較精確</p><p>  (4)計數(shù)器:由四塊雙四位二進制計數(shù)器74HC393、單片機AT89C51內部計數(shù)器T0共同構成,其中AT98C51內的計數(shù)器被設置成16位計數(shù)器。</p><p>

16、;  (5)時鐘提供:單片機頻率計的關鍵在于時基信號的準確性和穩(wěn)定性,它決定頻率計的技術精度。</p><p>  (6)顯示:當待測信號的頻率被測量出后由顯示模塊1602LCD顯示出來。</p><p>  圖3-1 頻率計原理方框圖</p><p>  3.2 信號輸入電路</p><p>  本頻率計的輸入電路分兩個量程,分別對應兩個頻

17、段。圖3-2為信號輸入1通道的電路圖,其測量范圍是1Hz,60MHz,圖3-3為信號輸入2通道的電路圖,其測量范圍是50MHz,2.0GHz。輸入電路主要完成對被測信號的限幅、放大、整形與轉換作用。</p><p>  (1)信號輸入1通道電路</p><p>  信號輸入1通道電路中,首先采用兩個二極管對幅度較大的輸入信號進行限幅。輸入端采用R高通電路,下限頻率可達1Hz。C,R,Q,R

18、組成放大電路的射極輸出器,用來提高輸入阻抗。C,R,R,C,Q組成共射放大器,用來放大前級提供的微弱信號。在圖3-2中,輸入端接低頻交流電壓信號v(如音頻i信號,頻率為20Hz,20KHz)。輸出端接負載電阻R,輸出電壓用v表示。 </p><p>  圖3-2 信號輸入1通道的電路圖</p><p>  (2) 信號輸入2通道電路</p><p>  在頻率計信號

19、輸入2通道的電路中,信號經(jīng)過前兩級的放大,被送到MB501分頻電路中,通過改變MB501引腳的接法,可以改變分頻比,有256、128、64三種分頻比。本電路接法是64分頻,由3腳控制其是否接入電路,當MB501的8腳為+5V時,分頻器工作。AT89C51的10腳可以判斷信號輸入2通道電路的工作情況,從而來分辨信號輸入端輸入的是否是>50MHz的信號。</p><p>  圖3-3 信號輸入2通道的電路圖&l

20、t;/p><p><b>  3.3 開關電路</b></p><p>  圖3-4為開關電路,分頻后的信號從MB501(4腳)輸出。經(jīng)過C隔直后送14到與非門74HC00的10腳,也就是U4C。當J2接通其1腳的時候,這時門U4C打開,信號便能從10腳輸入到8腳。信號從U4D的11腳輸出,到達電子開關U4A的2腳,再從U4A的3腳輸出送到分頻 74HC393;經(jīng)過74H

21、C393的256分頻,最后送到AT89C51的INT0口。</p><p>  圖3-4 開關電路圖</p><p><b>  3.4 計數(shù)電路</b></p><p>  該頻率計的計數(shù)電路是利用外擴的計數(shù)器74HC393和單片機AT89C51 內含的16 位計數(shù)器來構成多位計數(shù)器分別對待測信號計數(shù)的。在這里,將對待測信號計數(shù)的外部擴展的計

22、數(shù)器74HC393的8腳引到AT89C51 的T0端,再利用AT89C51 的內部計數(shù)器即可構成多位計數(shù)器。圖3-6為本頻率計的計數(shù)電路。</p><p>  數(shù)字頻率計的計數(shù)電路的工作原理如下:計數(shù)一般是有時間的,取一段時間內脈沖的個數(shù)。比如1s,第一步先把AT89C51的12腳置0,再把12腳置1,打開電子開關。然后數(shù)據(jù)被送到74HC393分頻,分頻后的信號送到14腳T0口進行內部計數(shù)。時間到了1s就關閉電子

23、開關,也就是把12腳 INT0置0,13腳INT1置0 單片機內部的計數(shù)器停止計數(shù),繼而對這段時間內脈沖個數(shù)進行保存。再讀取,P0、P2口的狀態(tài),再把這數(shù)據(jù)和以前計數(shù)的數(shù)據(jù)相加,得到很精確的頻率,再把這頻率數(shù)據(jù)轉換,送到LCD顯示,然后89C51的13腳置1清除現(xiàn)有的數(shù)據(jù)信號,進行下一次數(shù)據(jù)采集。</p><p>  圖3-5 計數(shù)電路圖</p><p>  3.5 AT89C51介紹&l

24、t;/p><p>  如圖3-6所示,是AT89C51的外部引腳圖,其功能如下。</p><p>  (1)Vcc(40):電源+5V。</p><p>  (2)Vss(20):接地,也就是GND。 </p><p>  (3)XTL1(19)和XTL2(18):振蕩電路。</p><p>  (4)PSEN(29):片

25、外ROM 選通信號,低電平有效。</p><p>  (5)ALE/PROG(30):地址鎖存信號輸出端/EPROM 編程脈沖輸入端。</p><p>  (6)RST/VPD(9):復位信號輸入端/備用電源輸入端。</p><p>  (7)EA/VPP(31):內/外部ROM 選擇端。</p><p>  (8)P0 口(39-32):雙

26、向I/O 口。</p><p>  (9)P1 口(1-8):準雙向通用I/0 口。</p><p>  (10)P2 口(21-28):準雙向I/0 口。</p><p>  (11)P3 口(10-17):多用途口。</p><p>  在頻率計電路當中,單片機AT89C51是核心元件,它控制著整個電路的運行,包括計數(shù)器的開啟與關閉、定時

27、器的開啟與關閉、外部計數(shù)器的開啟與關閉、高頻信號分頻、數(shù)據(jù)讀入、數(shù)值轉換以及數(shù)據(jù)顯示都是由單片機來控制的。</p><p>  圖3-6 AT89C51外部引腳圖</p><p>  3.6 數(shù)字頻率計顯示電路</p><p>  數(shù)字頻率計的顯示電路如圖3-7所示,在CON16后面接1602LCD液晶顯示器來顯示頻率值。74HC393的計數(shù)結果被單片機的P0、P2

28、口讀入,與單片機內部計數(shù)值合到一起。再通過乘以16(2.0G檔用到)、二進制到十進制轉換處等處理后送入圖形液晶顯示模塊1602LCD中顯示出來。</p><p>  由于1602液晶顯示模塊可以直接和51系列單片機進行接口,所以在設計該數(shù)字頻率計時就直接將1602LCD接到了單片機的后面。在圖3-8中,CON16的3腳上接了一個10k電位器PR,是用來調節(jié)液晶顯示器的對比度的。當該電位器的旋鈕1直接和電源端相連時

29、,顯示器屏幕的對比度最弱,當其旋鈕直接和地端相連時,顯示器屏幕的對比度最高。液晶顯示器的數(shù)據(jù)來源是單片機的P1口,當單片機的T1端口由高電平跳變成低電平時,液晶顯示器開始執(zhí)行命令,并最終顯示出頻率的數(shù)值。</p><p>  圖3-7 頻率計顯示電路圖</p><p>  3.7 時鐘控制電路</p><p>  時鐘控制電路如圖3-9所示。制作頻率計的關鍵點在于時

30、基信號的準確性和穩(wěn)定性,它決定頻率計的計數(shù)精度。這里選用11.0592的晶振組成的電路來作為單片機AT89C51的時鐘電路,由單片機用軟件方法得到所需的門控信號。 </p><p>  圖3-8時鐘控制電路圖</p><p><b>  4.系統(tǒng)軟件設計</b></p><p>  4.1 系統(tǒng)軟件總述</p><p>

31、  系統(tǒng)軟件的設計主要是保證軟件和硬件電路相結合,控制硬件正常的工作。對于頻率計來說,就是控制頻率計的硬件系統(tǒng)使其最終能較為準確的測出待測信號的頻率。本課題頻率計的系統(tǒng)軟件的設計采用了模塊化的結構方式,將各個功能分成獨立模塊,由系統(tǒng)的監(jiān)控程序統(tǒng)一管理執(zhí)行。本系統(tǒng)軟件的設計主要分兩部分:一部分是執(zhí)行軟件,主要完成各種實質性的功能,如測量、計算、顯示、定時中斷服務等;另一部分是監(jiān)控軟件,主要來協(xié)調各執(zhí)行模塊和操作者的關系,在系統(tǒng)軟件中充當組

32、織調度的角色。</p><p>  該頻率計中主要元器件是單片機AT89C51 ,由它完成對待測信號頻率的計數(shù)和結果傳輸?shù)裙δ?,外部還要有分頻器、顯示器等器件。被測信號首先要經(jīng)過放大、整形,如果是高頻信號還要由分頻器進行分頻,然后送入單片機的P0 端口和P2端口并開始計數(shù),分頻器的分頻系數(shù)由單片機來控制;計數(shù)、分頻達到規(guī)定的精度后結束計數(shù),然后調用顯示子程序,顯示結果。該頻率計的總體程序流程圖如圖4-1所示 &l

33、t;/p><p>  圖4-1 程序總體流程圖</p><p>  4.2 顯示器初始化設計</p><p>  顯示器初始化程序流程圖如圖4-2所示。在測量頻率之前,首先要清屏,之后將單片機的讀寫端同時設置為低電平,因為單片機的讀寫端控制著液晶顯示器的4腳和5腳,當液晶顯示器的4腳和5腳同時為低電平時,液晶顯示器可以寫入指令或顯示地址。其后就要判斷頻率計顯示器是否處于

34、“忙”狀態(tài)。如果顯示器處于“忙”狀態(tài),則要循環(huán)等待;如果顯示器處于“閑”狀態(tài),則可以對顯示器進行操作。另外,在每次單片機的P1口寫入控制字后,都要判斷顯示器是否</p><p>  課程設計 處于“忙”狀態(tài)。在判斷液晶顯示器的狀態(tài)后,要將其使能端設置為高電平,為后面的程序做鋪墊。因為只有當該使能端由高電平跳變到低電平時,液晶模塊才可以執(zhí)行命令。</p><p>  圖4-2 顯示初始化流程

35、圖</p><p><b>  4.3 計數(shù)子程序</b></p><p>  如圖4-3所示,輸入信號經(jīng)過整形輸入到74HC393中,采用矩形波下降沿開始計數(shù),上升沿停止計數(shù)的方來計數(shù),剛好對應于正弦波一個完整周期,再輸入到AT89C51單片機的P0、P2口。其程序流程圖如圖4-3所示。該頻率計利用定時器T0來完成計數(shù)功能,其參數(shù)選定原則是:(1)初值:TL0=00

36、H,TH0=00H,50Hz左右的信號,大約相當于104個機器周期,用16位計數(shù)器即可滿足,不會產(chǎn)生溢出。(2)TMOD的選擇:定時器T0采用方式1,由于后面要用到T1作為定時器,也采用方式1,故TMOD選取為11H。(3)TCON的選擇:這里不需要考慮中斷,故只選擇控制TR0就可以了,開始計數(shù)時,TR0置“1”,停止計數(shù)時清“0”。</p><p>  圖4-3 計數(shù)子程序流程圖</p><

37、p>  4.4 數(shù)制轉換子程序設計</p><p>  二進制轉換為十進制流程圖如圖4-4所示。在計算機中,任何數(shù)據(jù)都以二進制形式出現(xiàn),并在計算機中處理的。但是通過外部設備與計算機交換數(shù)據(jù)采用的是其他形式的數(shù)據(jù),由于頻率計的顯示部分是用的1602LCD液晶顯示器,它不可以直接顯示二進制數(shù)據(jù),所以單片機要把P0、P2口讀入的二進制數(shù)據(jù)轉換為可以被顯示器識別并顯示的十進制數(shù)據(jù)。</p><p

38、>  圖4-4 二進制數(shù)轉換為十進制數(shù)流程圖</p><p>  4.5 顯示子程序設計</p><p>  顯示子程序流程圖如圖4-5所示。數(shù)據(jù)由單片機的P0、P2口讀入,由單片機的P1口送出,被液晶顯示器接收,顯示器工作狀態(tài)由單片機的P3口控制,P3.7口控晶顯示器的4腳,4腳為RS,是寄存器選擇,高電平時選擇數(shù)據(jù)寄存器,低</p><p>  電平時間選

39、擇指令寄存器。P3.6腳控制顯示器的5腳,5腳為RW,是讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時間可以寫入指令或者顯示地址,RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。P3.5腳控制顯示器的6腳,6腳為E端,是使能端,當E端高電平跳變成低電平時,液晶模塊執(zhí)行命令。</p><p>  在液晶顯示器開始工作之前要先初始化系統(tǒng)時鐘,再初始化I

40、/O端口,最后初始化1602LCD模塊。在數(shù)據(jù)從單片機讀入后,先將數(shù)據(jù)顯示在液晶模塊的第一行,隨后切換到第二行顯示。</p><p>  圖4-5 1602LCD顯示程序流程圖</p><p><b>  5系統(tǒng)的功能調試</b></p><p>  先將電路圖在仿真軟件進行仿真,在仿真沒有問題的情況下,將元器件焊接在電路板上,然后進行硬件調試

41、。</p><p>  硬件調試的主要任務是排除硬件故障,其中包括設計錯誤和工藝性故障。首先進行脫機調試,用萬用表逐步檢查各個引腳,尤其是電源是否連接正確,單片機芯片是否正確插入底座。</p><p>  其次運用軟件編輯程序,要生成目標代碼文件,不斷地調試程序。加載目標代碼文件 打開元器件單片機屬性窗口,在“Program File”欄中添加上面編譯好的目標代碼文件“

42、.ASM”;在“Clock Frequency”欄中輸入晶振頻率為12MHZ。每一小塊程序編寫過后都進行聯(lián)調,這樣可以及時觀察到自己所編的程序是否符合自己的目的,當出現(xiàn)問題時及時處理,可以避免當有大量問題后無法找出錯誤的地方,可以提高編程的效率,也有利于最終將程序編寫出來。</p><p><b>  調試過程:</b></p><p> ?。?)首先將所寫

43、的匯編程序拷入到89C51單片機中</p><p> ?。?)將所焊接的硬件接通+5V的電源,保證數(shù)字頻率計能夠正常運行。</p><p> ?。?)估算一下所要測量信號的頻率是在( 1Hz,60MHz ),( 50MHz,2.0GHz)的那個頻率段,然后將開關電路的開關打向對應的位置。</p><p>  (4)觀察并記錄液晶顯示1602LCD的實數(shù)。</p

44、><p> ?。?)將記錄的實際值與輸入信號的理論值作比較。檢測該數(shù)字頻率計的實際效果怎么樣。</p><p><b>  調試現(xiàn)象說明:</b></p><p>  (1)實驗出現(xiàn)最多的現(xiàn)象就是液晶顯示屏1602LCD老是出現(xiàn)亂碼。</p><p>  在確保電路硬件沒有問題的情況下,檢查系統(tǒng)的程序發(fā)現(xiàn)是程序中的數(shù)制轉換子

45、程序有點問題,找到問題后我到網(wǎng)上查找了一個數(shù)制轉換程序,經(jīng)過我的修改后,替代原程序后,調試后發(fā)現(xiàn)液晶顯示屏沒有出現(xiàn)亂碼,系統(tǒng)能夠正常運行。</p><p> ?。?)系統(tǒng)正常運行,記錄1602液晶顯示屏顯示的實數(shù)。如表5-1</p><p>  表5-1 理論值與測量值比較</p><p>  由實驗數(shù)據(jù)不難看出測量值與理論值比較接近,說明本數(shù)字頻率計的性能很好,沒

46、有什么大問題。</p><p><b>  6 結論</b></p><p>  本課題設計的頻率計采用單片機AT89C51智能化控制,充分利用單片機內部硬件資源和軟件功能,大大減少了硬件電路的復雜性,使電路結構更加簡潔,有利于提高頻率計的工作可靠性。另外,用AT89C51 單片機替換傳統(tǒng)的頻率計,硬件結構簡單,便于升級,能充分改善原有設備的性能,提高測試精度。 &l

47、t;/p><p>  通過本次課程設計,我對單片機這門課程有了進一步的理解,在本次設計數(shù)字頻率計的過程中,學會了很多知識,此外,通過在網(wǎng)上查找相關內容,也學會了設計系統(tǒng)軟硬件的一些方法。</p><p><b>  參考文獻</b></p><p>  [1] 閻石,數(shù)字電子技術基礎(第五版),清華大學電子學教研組2005</p>&

48、lt;p>  [2] 張毅剛.單片機原理及應用(第2版)北京:高等教育出版社,2010</p><p>  [3] 胡漢才, 單片機原理及其接口技術[M]. 清華大學出版社, 1997 </p><p>  [4] 毛謙敏,單片機原理及應用系統(tǒng)設計.北京:國防工業(yè)出版社,2005</p><p>  [5]涂時亮.單片微機MCS-51用戶手冊。上海:復旦大學出

49、版社,1990</p><p><b>  附錄</b></p><p><b>  附錄A </b></p><p><b>  頻率計總電路圖</b></p><p><b>  附錄B</b></p><p><b>

50、;  頻率計總程序</b></p><p>  Q0000: MOV SP,#60H ;堆棧設置</p><p>  Q0003: SETB P3.3 ;打開定時器開關</p><p>  SETB P3.5 ;啟動定時器</p><p>  MOV P1,#01H ;清屏,PI口接1602的DB7-DB0,P1寫入控制字&l

51、t;/p><p>  ACALL Q01DC ;等代LCD不忙</p><p>  MOV P1,#0CH ;顯示器開、光標開、閃爍開,即為P1寫入控制字</p><p>  ACALL Q01DC</p><p>  MOV R0,#EFH</p><p>  Q0013: NOP ;延時</p><

52、;p>  DJNZ R0,Q0013 ;延時R0個周期</p><p>  MOV TMOD,#05H ;定時器方式一,啟動了T0 Q0019: MOV P0,#FFH ;P0置高電平</p><p>  MOV P2,#FFH ;P0\P2端口賦值,P2置高電平</p><p>  MOV TL0,#00H ;清計數(shù)器</p><p>

53、;  MOV TH0,#00H</p><p>  CLR P3.3 ;INT1=0有效</p><p>  SETB TR0 ;啟動計數(shù)器0</p><p>  SETB P3.2 ;開計數(shù)開關</p><p>  MOV R0,#0AH</p><p>  MOV R1,#32H</p><p&

54、gt;  MOV R2,#50H</p><p>  MOV R3,#02H</p><p><b>  NOP ;延時</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b> 

55、 NOP</b></p><p><b>  NOP</b></p><p>  Q0038: MOV R1,#32H ;延時R0*32H*50H*02H</p><p><b>  NOP</b></p><p><b>  NOP</b></p>

56、<p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  Q0040: MOV R2,#50H Q0042: M

57、OV R3,#02H</p><p>  Q0044: NOP</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b

58、></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R3,Q0044</p><p>  DJNZ R2,Q0042</p><p>  DJNZ R1,Q0040</p><p&

59、gt;  DJNZ R0,Q0038</p><p>  CLR P3.2 ;INT0=0,關閉計數(shù)器開關,停止計數(shù)值更新</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p>

60、<p>  CLR TR0 ;關閉計數(shù)器,在R0*32H*50H*02H延時內計數(shù)</p><p><b>  ;讀入計數(shù)值</b></p><p>  MOV 20H,P0 ;讀P0口數(shù)值</p><p>  MOV 21H,P2 ;讀P2口數(shù)值</p><p>  MOV 22H,TL0 ;取計數(shù)值低位&l

61、t;/p><p>  MOV 23H,TH0 ;取計數(shù)值高位</p><p>  SETB P3.3 ;INT1=1,打開定時器開關</p><p>  ;多(四)字節(jié)二轉十,入口R0為二進制低位字節(jié)地址指針,R7為字節(jié)數(shù),出口R1為BCD碼結果低位字節(jié)地址指針</p><p>  MOV R0,#20H</p><p>

62、  MOV R1,#30H</p><p>  MOV R7,#04H</p><p><b>  MOV A,R0</b></p><p><b>  MOV R5,A</b></p><p><b>  MOV A,R1</b></p><p>&l

63、t;b>  MOV R6,A</b></p><p><b>  MOV A,R7</b></p><p><b>  MOV R3,A</b></p><p><b>  INC R3</b></p><p>  CLR A ;累加器清零</p>

64、<p>  Q0077: MOV @R1,A</p><p><b>  INC R1</b></p><p>  DJNZ R3,Q0077</p><p><b>  MOV A,R7</b></p><p>  MOV B,#08H ;將立即數(shù)8送入B中</p>

65、<p>  MUL AB ;A、B相乘,結果送入A中,A=32</p><p><b>  MOV R3,A</b></p><p>  Q0081: MOV A,R5</p><p><b>  MOV R0,A</b></p><p><b>  MOV A,R7</

66、b></p><p><b>  MOV R2,A</b></p><p><b>  CLR C</b></p><p>  Q0086: MOV A,@R0</p><p><b>  RLC A</b></p><p><b> 

67、 MOV @R0,A</b></p><p><b>  INC R0</b></p><p>  DJNZ R2,Q0086</p><p><b>  MOV A,R6</b></p><p><b>  MOV R1,A</b></p><

68、p><b>  MOV A,R7</b></p><p><b>  MOV R2,A</b></p><p><b>  INC R2</b></p><p>  Q0091: MOV A,@R1 ;得到低位數(shù)據(jù)</p><p>  ADDC A,@R1 ;累加<

69、;/p><p>  DA A ;十進制調整</p><p>  MOV @R1,A ;保存數(shù)據(jù)</p><p>  INC R1 ;進一步循環(huán)得到第二位、第三位、第四位數(shù)據(jù)等</p><p>  DJNZ R2,Q0091</p><p>  DJNZ R3,Q0081</p><p>  MOV

70、R0,#30H</p><p>  MOV R1,#24H</p><p>  Q009E: MOV A,@R0</p><p>  ANL A,#0FH</p><p>  ORL A,#30H</p><p><b>  MOV @R1,A</b></p><p>&

71、lt;b>  MOV A,@R0</b></p><p>  ANL A,#F0H</p><p><b>  RL A</b></p><p><b>  RL A</b></p><p><b>  RL A</b></p><p>

72、;<b>  RL A</b></p><p>  ORL A,#30H</p><p><b>  INC R1</b></p><p><b>  MOV @R1,A</b></p><p><b>  INC R0</b></p>&l

73、t;p><b>  INC R1</b></p><p>  CJNE R0,#36H,Q009E</p><p>  ;從高往低判斷,不是0就開始顯示</p><p>  MOV 2EH,#20H</p><p>  MOV R1,#2DH</p><p>  CJNE @R1,#30H,

74、Q00F4</p><p>  MOV @R1,#20H</p><p><b>  DEC R1</b></p><p>  CJNE @R1,#30H,Q00F4</p><p>  MOV @R1,#20H</p><p><b>  DEC R1</b></p&

75、gt;<p>  CJNE @R1,#30H,Q00F4</p><p>  MOV @R1,#20H</p><p><b>  DEC R1</b></p><p>  CJNE @R1,#30H,Q00F4</p><p>  MOV @R1,#20H</p><p><

76、b>  DEC R1</b></p><p>  CJNE @R1,#30H,Q0112</p><p>  MOV @R1,#20H</p><p><b>  DEC R1</b></p><p>  CJNE @R1,#30H,Q0112</p><p>  MOV @R1

77、,#20H</p><p><b>  DEC R1</b></p><p>  CJNE @R1,#30H,Q0112</p><p>  MOV @R1,#20H</p><p><b>  DEC R1</b></p><p>  CJNE @R1,#30H,Q0130

78、</p><p>  MOV @R1,#20H</p><p><b>  DEC R1</b></p><p>  CJNE @R1,#30H,Q0130</p><p>  MOV @R1,#20H</p><p><b>  DEC R1</b></p>

79、<p>  CJNE @R1,#30H,Q0130</p><p>  AJMP Q016F</p><p>  Q00F4: MOV R0,#23H</p><p>  MOV @R0,#4DH</p><p><b>  DEC R0</b></p><p>  MOV @R0,#

80、48H</p><p><b>  DEC R0</b></p><p>  MOV @R0,#7AH</p><p><b>  DEC R0</b></p><p>  MOV @R0,#20H</p><p><b>  MOV A,2CH</b>

81、</p><p><b>  MOV 2DH,A</b></p><p><b>  MOV A,2BH</b></p><p><b>  MOV 2CH,A</b></p><p><b>  MOV A,2AH</b></p><

82、p><b>  MOV 2BH,A</b></p><p>  MOV 2AH,#2EH</p><p>  AJMP Q013D</p><p>  Q0112: MOV R0,#23</p><p>  MOV @R0,#4BH</p><p><b>  DEC R0<

83、;/b></p><p>  MOV @R0,#48H</p><p><b>  DEC R0</b></p><p>  MOV @R0,#7AH</p><p><b>  DEC R0</b></p><p>  MOV @R0,#20H</p>

84、<p><b>  MOV A,29H</b></p><p><b>  MOV 2AH,A</b></p><p><b>  MOV A,28H</b></p><p><b>  MOV 29H,A</b></p><p><b&g

85、t;  MOV A,27H</b></p><p><b>  MOV 28H,A</b></p><p>  MOV 27H,#2EH</p><p>  AJMP Q013D</p><p>  Q0130: MOV R0,#23H</p><p>  MOV @R0,#48H&

86、lt;/p><p><b>  DEC R0</b></p><p>  MOV @R0,#7AH</p><p><b>  DEC R0</b></p><p>  MOV @R0,#20H</p><p><b>  DEC R0</b></p&

87、gt;<p>  MOV @R0,#20H</p><p>  Q013D: MOV 10H,#53H</p><p>  MOV 11H,#49H</p><p>  MOV 12H,#47H</p><p>  MOV 13H,#4EH</p><p>  MOV 14H,#41H</p>

88、;<p>  MOV 15H,#4CH</p><p>  MOV 16H,#20H</p><p>  MOV 17H,#46H</p><p>  MOV 18H,#52H</p><p>  MOV 19H,#45H</p><p>  MOV 1AH,#51H</p><p&g

89、t;  MOV 1BH,#55H</p><p>  MOV 1CH,#45H</p><p>  MOV 1DH,#4EH</p><p>  MOV 1EH,#43H</p><p>  MOV 1FH,#59H</p><p>  AJMP Q01A7</p><p>  Q016F:

90、MOV 10H,#4EH</p><p>  MOV 11H,#4FH</p><p>  MOV 12H,#20H</p><p>  MOV 13H,#49H</p><p>  MOV 14H,#4EH</p><p>  MOV 15H,#50H</p><p>  MOV 16H,#5

91、5H</p><p>  MOV 17H,#54H</p><p>  MOV 18H,#20H</p><p>  MOV 19H,#53H</p><p>  MOV 1AH,#49H</p><p>  MOV 1BH,#47H</p><p>  MOV 1CH,#4EH</p&g

92、t;<p>  MOV 1DH,#41H</p><p>  MOV 1EH,#4CH</p><p>  MOV 1FH,#21H</p><p>  MOV R0,#20H</p><p>  Q01A1: MOV @R0,#20H</p><p><b>  INC R0</b&g

93、t;</p><p>  CJNE R0,#30H,Q01A1 Q01A7: ACALL Q01AB</p><p>  AJMP Q0019</p><p>  Q01AB: MOV R0,#10H;顯示第一行</p><p>  MOV P1,#38H ;8位2行5x7點陣</p><p>  ACALL Q01

94、DC</p><p>  MOV P1,#06H ;文字不動,光標自動右移</p><p>  ACALL Q01DC</p><p>  MOV P1,#80H ;寫入顯示起始地址(第一行第一個位置)</p><p>  ACALL Q01DC</p><p>  Q01BC: MOV P1,@R0 ;第一行第N個位

95、置</p><p>  ACALL Q01E7</p><p><b>  INC R0</b></p><p>  CJNE R0,#20H,Q01BC</p><p><b>  :顯示第二行</b></p><p>  MOV P1,#04H ;文字不動,光標自動左移&

96、lt;/p><p>  ACALL Q01DC</p><p>  MOV P1,#3CH ;8位2行5x10點陣</p><p>  ACALL Q01DC</p><p>  MOV P1,#CEH ;寫入顯示起始地址(第二行第十五個位置)</p><p>  ACALL Q01DC</p><p&

97、gt;  Q01D3: MOV P1,@R0 ;第二行第15個位置</p><p>  ACALL Q01E7</p><p><b>  INC R0</b></p><p>  CJNE R0,#2EH,Q01D3</p><p><b>  RET</b></p><p&

98、gt;  ;===========================================</p><p>  Q01DC: CLR P3.7 ;寫入控制命令的子程序</p><p>  CLR P3.6 ;P3.7和P3.6同時為低電平時,顯示器可以顯示地址或寫入指令</p><p>  CLR P3.5 ;P3.5從高電平跳變到低電平時,顯示器可以執(zhí)行命

99、令(P3.5腳和顯示器的6 腳相連)</p><p>  ACALL Q01F4</p><p>  SETB P3.5 ;將顯示器的6設置為高電平</p><p><b>  RET</b></p><p>  ;===========================================</p>

100、<p>  Q01E7: CLR P3.7 ;顯示一個字符的子程序,P3.7低電平時,顯示器選擇指令寄存器</p><p>  SETB P3.7 ;P3.7高電平時,顯示器選擇數(shù)據(jù)寄存器</p><p>  CLR P3.6 ;P3.6為低電平時,顯示器可以進行讀操作</p><p>  CLR P3.5 ;</p><p>

101、;  ACALL Q01F4</p><p><b>  SETB P3.5</b></p><p><b>  RET</b></p><p>  ;===========================================</p><p>  Q01F4: MOV P1,#FFH

102、;判斷液晶顯示器是否忙的子程序</p><p><b>  CLR P3.7</b></p><p><b>  SETB P3.6</b></p><p><b>  CLR P3.5</b></p><p><b>  NOP</b></p>

103、;<p><b>  SETB P3.5</b></p><p>  JB P1.7,Q01F4 ;如果P1.7為高電平表示忙就循環(huán)等待</p><p><b>  RET</b></p><p>  ;===========================================</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論