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

下載本文檔

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

文檔簡介

1、<p><b>  一 概述</b></p><p>  信息科學(xué)和微電子技術(shù)的飛速發(fā)展給控制領(lǐng)域帶來了巨大的飛躍,控制技術(shù)更加趨向自動化和智能化,為無數(shù)的使用者帶來了方便。在控制領(lǐng)域里,溫度是一個常見的名詞,然而它所帶來的技術(shù)問題和所起的作用卻是非同一般的。在控制領(lǐng)域中,對溫度的控制有著舉足輕重的作用。例如陶瓷的燒烤,只有控制住溫度的適度,才能制作出一件完美的藝術(shù)品,否則只是一件

2、廢品;還有如釀酒的過程,也需要對溫度進(jìn)行控制??梢姡谏畹脑S多方方面面都有著對溫度進(jìn)行感知和控制的需要。</p><p>  溫度是一個十分重要的物理量,對它的測量與控制有十分重要的意義。隨著現(xiàn)代工農(nóng)業(yè)技術(shù)的發(fā)展及人們對生活環(huán)境要求的提高,人們也迫切需要檢測與控制溫度。在人類的生活環(huán)境中,溫度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無刻不在與溫度打著交道。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等

3、等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫度的因素。溫度對于工業(yè)如此重要,由此推進(jìn)了溫度傳感器的發(fā)展。 </p><p>  測量溫度的基本方法是使用溫度計(jì)直接讀取溫度。最常見到的測量溫度的工具是各種各樣的溫度計(jì),例如,水銀玻璃溫度計(jì),酒精溫度計(jì),熱電偶或熱電阻溫度計(jì)等。它們常常以刻度的形式表示溫度的高低,人們必須通過讀取刻度值的多少來測量溫度。而在傳統(tǒng)的模擬信號溫度測量系統(tǒng)中,測溫電路的電磁環(huán)境非

4、常惡劣,各種干擾信號較強(qiáng),模擬溫度信號容易受到干擾而產(chǎn)生測量誤差,影響測量精度,不能滿足數(shù)字化時代的需求。利用單片機(jī)和溫度傳感器構(gòu)成的電子式智能溫度計(jì)精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便得到了廣泛的應(yīng)用。而且可以直接測量溫度,得到溫度的數(shù)字值,既簡單方便,又直觀準(zhǔn)確,新型數(shù)字溫度傳感器是溫度計(jì)設(shè)計(jì)的最有效方案。</p><p>  在生活和生產(chǎn)中,經(jīng)常要用到一些測溫設(shè)備。但是傳統(tǒng)的測溫設(shè)備具有制作成本高、硬

5、件電路和軟件設(shè)計(jì)復(fù)雜等缺點(diǎn)?;贏T89C51單片機(jī)的數(shù)字溫度計(jì)具有制作簡單、成本低、讀數(shù)方便、測溫范圍廣和測溫準(zhǔn)確等優(yōu)點(diǎn),應(yīng)用前景廣闊。</p><p>  大多單片機(jī)接口輸入的信號是數(shù)字信號,或有帶A/D轉(zhuǎn)換的高端單片機(jī)也可以輸入模擬信號。由單片機(jī)獲取非電信號的溫度信息,必須通過溫度傳感器。傳統(tǒng)的溫度測量雖多以熱敏電阻作為溫度傳感器。但是,熱敏電阻的可靠性較差、測量溫度精度較低,而且還需經(jīng)A/D轉(zhuǎn)換成數(shù)字信號

6、后才能由單片機(jī)進(jìn)行處理。因此,使用數(shù)字溫度傳感器DS18B20了簡化硬件設(shè)計(jì)、方便單片機(jī)讀取數(shù)據(jù)、節(jié)約成本。 </p><p>  本文主要包括兩個方面的設(shè)計(jì):一方面是硬件電路的設(shè)計(jì),另一方面是系統(tǒng)程序的設(shè)計(jì)。其中,硬件電路各部分組成如下:中央控制器采用單片機(jī)AT89C51,溫度檢測部分采用DS18B20溫度傳感器,用四位七段數(shù)碼管作為顯示器。其次,系統(tǒng)軟件程序包括主程序,溫度值讀取、轉(zhuǎn)換程序,顯示數(shù)據(jù)程序等。該

7、溫度計(jì)整體功能的實(shí)現(xiàn)是通過溫度傳感器DS18B20采集溫度信號送該給單片機(jī)處理,單片機(jī)再把溫度數(shù)據(jù)送液晶顯示器1602顯示。</p><p><b>  二 系統(tǒng)設(shè)計(jì)</b></p><p><b>  2.1功能簡介</b></p><p>  數(shù)碼管直接顯示DS18B20所測量的溫度,超出-50~110℃范圍時喇叭報警

8、并且數(shù)碼管開始閃爍,在溫度范圍內(nèi)時喇叭停止報警并且數(shù)碼管停止閃爍,運(yùn)行期間可以隨時進(jìn)行復(fù)位操作。</p><p><b>  2.2設(shè)計(jì)思路</b></p><p>  AT89C51作為溫度測試系統(tǒng)設(shè)計(jì)的核心器件,具有低電壓供電和體積小等特點(diǎn)。該器件是INTEL公司生產(chǎn)的MCS-5l系列單片機(jī)中的基礎(chǔ)產(chǎn)品,采用了可靠的CMOS工藝制造技術(shù),具有高性能的8位單片機(jī),屬

9、于標(biāo)準(zhǔn)的MCS-51的CMOS產(chǎn)品。芯片中集成了CPU、RAM、ROM、定時/計(jì)數(shù)器和多功能I/O接口等計(jì)算機(jī)所需的基本功能部件。程序存儲在單片機(jī)的程序存儲器中,運(yùn)行過程由程序控制。</p><p>  時鐘信號用來控制單片機(jī)內(nèi)各種微操作的時間基準(zhǔn),通常有兩種形式得到,即內(nèi)部震蕩方式和外部震蕩方式。內(nèi)部震蕩方式所得的信號比較穩(wěn)定,故設(shè)計(jì)數(shù)字溫度計(jì)的時鐘信號選用內(nèi)部震蕩方式,晶振選用12MHZ。</p>

10、<p>  復(fù)位電路使片內(nèi)單片機(jī)的片內(nèi)寄存器初始化,使單片機(jī)從一種確定的狀態(tài)開始運(yùn)行。復(fù)位電路有兩種基本形式,即上電復(fù)位和開關(guān)復(fù)位。為了保證溫度計(jì)的正常工作,采用上電且開關(guān)復(fù)位,也就是CR復(fù)位。</p><p>  溫度傳感器選用達(dá)拉斯公司的單線數(shù)字溫度傳感芯片DS18B20。它將地址線、數(shù)據(jù)線和控制線合為一根雙向串行傳輸數(shù)據(jù)的信號線,允許在這根信號線上掛接多個DS18B20。每個芯片內(nèi)有一個64位

11、的ROM,其中存有各個器件自身的序列號,作為器件獨(dú)有的ID號碼。其測溫范圍是-55~128℃,測溫分辨率在12位時精度為0.0625℃。DS18B20簡化了溫度器件與計(jì)算機(jī)的接口電路,使得電路簡單,使用更加方便。</p><p>  顯示部分使用4位LED數(shù)碼管來作為溫度的直接輸出,使用1位喇叭作為報警燈,當(dāng)溫度超出-50~110℃時,喇叭報警和數(shù)碼管閃爍來提示。</p><p>  采用

12、單片機(jī)匯編程序語言設(shè)計(jì)溫度計(jì)的程序,對DS18B20進(jìn)行初始化、讀、寫,讀取溫度,數(shù)據(jù)的轉(zhuǎn)換,溫度顯示和報警處理等等。</p><p><b>  2.3 芯片器材</b></p><p>  主機(jī):單片機(jī)AT89C51一片;溫度傳感器:DS18B20一片,顯示電路:共陰極七段數(shù)碼管四片,;報警電路:,反向驅(qū)動74LS04一片;時鐘電路:電容兩個,晶振片一個;復(fù)位電路

13、:電容一個,開關(guān)按鈕一個;導(dǎo)線若干,+5V電源等等。</p><p><b>  三 主要元器件介紹</b></p><p>  3.1主控芯片AT89C52</p><p>  圖1 AT89C51引腳圖</p><p>  AT89C51是一個低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4kByteISP(In-sys

14、tem programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。</p><p>  AT89C51具有如下特點(diǎn):40個引腳,4k Bytes F

15、lash片內(nèi)程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。</p><p>  此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式

16、凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p><b>  其主要功能特性:</b></p><p>  兼容MCS-51指令系統(tǒng) 4k可反復(fù)擦寫(>1000次)ISP Flash ROM</p>&l

17、t;p>  32個雙向I/O口 4.5-5.5V工作電壓</p><p>  2個16位可編程定時/計(jì)數(shù)器 時鐘頻率0-33MHz</p><p>  全雙工UART串行中斷口線 128x8 bit內(nèi)部RAM</p><p>  2個外部中斷源 低功耗空閑和

18、省電模式</p><p>  中斷喚醒省電模式 3級加密位</p><p>  看門狗(WDT)電路 軟件設(shè)置空閑和省電功能</p><p>  靈活的ISP字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針 </p><p>  可以看出AT89C51提供以下標(biāo)準(zhǔn)功能:4K字節(jié)

19、Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,看門狗(WDT),兩個數(shù)據(jù)指針,兩個16位定時器/計(jì)數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘。同時, AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計(jì)數(shù)期,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式何在RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直接到一個硬件復(fù)位。&

20、lt;/p><p>  下面是本次設(shè)計(jì)所用到的兩組I/O口:</p><p>  P0口(39—32):是一組8位漏極開路行雙向I/O口,也既地址/數(shù)據(jù)總線復(fù)用口??勺鳛檩敵隹谑褂脮r,每位可吸收電流的方式驅(qū)動8個TTL邏輯電路,對端口寫“1”可作為高阻抗輸入輸入端用。在訪問外部數(shù)據(jù)存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,PO口接收

21、指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求接上拉電阻。</p><p>  P3口(10—17):是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,,P1的輸入緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸出端口。</p><p>  XTAL1(19)和XTAL2(18):使用內(nèi)部振蕩電路時,用來接石英晶體和電容;使用外部時鐘

22、時,用來輸入時鐘脈沖。</p><p><b>  3.2溫度獲取</b></p><p>  DS18B20測溫范圍在-55~+125℃;轉(zhuǎn)換精度9~12位進(jìn)制數(shù),可編程確定轉(zhuǎn)換的位數(shù);測溫分辨率為9位精度為0.5℃,12位精度為0.0625℃;轉(zhuǎn)換時間:9位精度為93.75ms、10位精度為187.5 ms、12位精度為750 ms;內(nèi)部有溫度上、下限告警設(shè)置。D

23、S18B20內(nèi)部結(jié)構(gòu)[2]如圖3所示:</p><p>  圖2 DS18B20內(nèi)部結(jié)構(gòu)</p><p>  DS18B20功能命令[2]如表1所示:</p><p>  表1 DS18B20功能命令表</p><p>  其連線使用如圖3所示(2接P3.7):</p><p>  圖4 DS18B20連線圖</

24、p><p>  由于DS18B20單線通信功能是分時完成的,所以有嚴(yán)格的時隙概念,讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。</p><p><b>  3.3溫度顯示電路</b></p><p>  四位共陰極數(shù)碼管,能夠顯示帶一位小

25、數(shù)的正負(fù)溫度。零下時:1顯示負(fù)號,2顯示十位,3顯示個位,4顯示小數(shù)位。零上時:1顯示百位,2顯示十位,3顯示個位,4顯示小數(shù)位。當(dāng)溫度超過109.5或低于49.5時,四個數(shù)碼閃爍。</p><p><b>  圖8 總體電路 </b></p><p><b>  四 軟件設(shè)計(jì)</b></p><p><b> 

26、 4.1程序流程圖</b></p><p><b>  圖9 程序流程圖</b></p><p>  主程序如下:XIAO_BIT EQU 30H ;存?zhèn)€位數(shù)據(jù)單元</p><p>  GE_BIT EQU 31H ;存?zhèn)€位數(shù)據(jù)單元</p><p>  SHI_BIT EQU 32H ;存十位數(shù)據(jù)單元&

27、lt;/p><p>  BAI_BIT EQU 33H ;存百位數(shù)據(jù)單元</p><p>  DI_8BIT EQU 34H ;低8位</p><p>  GAO_8BIT EQU 35H ;高8位</p><p>  DQ EQU P3.7 ;數(shù)據(jù)通信線</p><p><b>  ORG 000

28、0H</b></p><p>  LJMP START</p><p><b>  ORG 0030H</b></p><p>  START: MOV SP,#60H</p><p>  LCALL ZHUANHUAN ;調(diào)用讀溫度子程序</p><p>  LCALL

29、CHULI</p><p>  LCALL DISPLAY ;調(diào)用數(shù)碼管顯示子程序</p><p>  LJMP START</p><p><b>  4.2初始化子程序</b></p><p>  使用DS18B20時,單片機(jī)先向DS18B20送出復(fù)位信號,單片機(jī)將數(shù)據(jù)拉低并保持480~960μs;再釋放數(shù)據(jù)線

30、,由上拉電阻拉高15~60μs;然后再由DS18B20發(fā)出低電平60~240μs,就完成了復(fù)位操作。</p><p>  DS18B20復(fù)位初始化子程序</p><p>  INIT_1820: SETB DQ</p><p><b>  NOP</b></p><p><b>  CLR DQ</b&

31、gt;</p><p><b>  MOV R1,#3</b></p><p>  DU_1: MOV R0,#107</p><p><b>  DJNZ R0,$</b></p><p>  DJNZ R1,DU_1</p><p>  SETB DQ

32、 ;拉高數(shù)據(jù)線</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV R0,#25H</p><p>  DU_2: JNB D

33、Q,DU_3 ;等待DS18B20回應(yīng)</p><p>  DJNZ R0,DU_2</p><p>  LJMP DU_4 ;延時</p><p>  DU_3: SETB F0 ;置標(biāo)志位,表示DS1820存在</p><p><b>  LJMP DU_5</b>&l

34、t;/p><p>  DU_4: CLR F0 ;清標(biāo)志位,表示DS1820不存在</p><p><b>  LJMP DU_7</b></p><p>  DU_5: MOV R0,#117</p><p>  DU_6: DJNZ R0,DU_6 ;時序要求延

35、時一段時間</p><p>  DU_7: SETB DQ</p><p><b>  RET</b></p><p><b>  4.3讀子程序</b></p><p>  讀數(shù)據(jù)之前,單片機(jī)先將數(shù)據(jù)線拉低,再釋放。DS18B20在數(shù)據(jù)線從高電平跳低后15μs內(nèi)將數(shù)據(jù)送到數(shù)據(jù)線上。單片

36、機(jī)在15μs后讀數(shù)據(jù)線。</p><p>  READ_1820: MOV R4,#2 ;將溫度高位和低位從DS18B20中讀出</p><p>  MOV R1,#DI_8BIT ;低位存入DI_8BIT,高位存入GAO_8BIT</p><p>  RE0: MOV R2,#8 ;數(shù)據(jù)一共有8位</

37、p><p>  RE1: CLR C</p><p><b>  SETB DQ</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  CLR DQ</b&g

38、t;</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  SETB DQ</b></p><p><b>  MO

39、V R3,#9</b></p><p>  RE2: DJNZ R3,RE2</p><p><b>  MOV C,DQ</b></p><p>  MOV R3,#23</p><p>  RE3: DJNZ R3,RE3</p><p><b&g

40、t;  RRC A</b></p><p>  DJNZ R2,RE1</p><p><b>  MOV @R1,A</b></p><p><b>  INC R1</b></p><p>  DJNZ R4,RE0</p><p><b>  RE

41、T</b></p><p>  ;讀出后轉(zhuǎn)換的溫度值</p><p>  ZHUANHUAN: LCALL INIT_1820 ;先復(fù)位DS18B20</p><p><b>  JB F0,ZH1</b></p><p>  LJMP START ;判斷DS

42、1820是否存在?若DS18B20不存在則返回</p><p>  ZH1: MOV A,#0CCH ;跳過ROM匹配</p><p>  LCALL WRITE_1820</p><p>  MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令</p><p>  LCALL WRITE_182

43、0</p><p>  LCALL DISPLAY ;等待AD轉(zhuǎn)換結(jié)束</p><p>  LCALL INIT_1820 ;準(zhǔn)備讀溫度前先復(fù)位</p><p>  MOV A,#0CCH ;跳過ROM匹配</p><p>  LCALL WRITE_1820</p><p&

44、gt;  MOV A,#0BEH ;發(fā)出讀溫度命令</p><p>  LCALL WRITE_1820</p><p>  LCALL READ_1820</p><p><b>  RET</b></p><p><b>  4.4 寫子程序</b></p>&

45、lt;p>  在單片機(jī)對DS18B20寫數(shù)據(jù)時,應(yīng)先將數(shù)據(jù)線拉低1μs以上,再寫入數(shù)據(jù)(寫1為高,寫0為低)。待單片機(jī)寫入的數(shù)據(jù)變化15~60μs后,DS18B20將對數(shù)據(jù)線采樣。單片機(jī)寫入數(shù)據(jù)到DS18B20的保持時間為60~120μs。</p><p>  寫DS18B20的子程序</p><p>  WRITE_1820: MOV R2,#8 ;一共8位數(shù)據(jù)<

46、/p><p><b>  CLR C</b></p><p>  WR1: CLR DQ</p><p><b>  MOV R3,#6</b></p><p><b>  DJNZ R3,$</b></p><p><b>  RR

47、C A</b></p><p><b>  MOV DQ,C</b></p><p>  MOV R3,#23</p><p><b>  DJNZ R3,$</b></p><p><b>  SETB DQ</b></p><p><

48、;b>  NOP</b></p><p>  DJNZ R2,WR1</p><p><b>  SETB DQ</b></p><p><b>  RET</b></p><p>  4.5數(shù)據(jù)處理子程序</p><p>  先判斷溫度高8位的CY,如果C

49、Y為1,則將高、低8八位求補(bǔ);對高、低8位的數(shù)據(jù)按權(quán)整合稱一個整數(shù),判斷是否在-50~110℃之間,否則停留在-50℃或110℃;將該數(shù)按百、十、個位分別存入相應(yīng)的存儲單元。流程圖如圖10所示: </p><p>  圖10 數(shù)據(jù)處理流程圖</p><p><b>  數(shù)據(jù)處理子程序</b></p><p>  CHULI: CLR

50、 37H</p><p>  MOV A,GAO_8BIT</p><p>  JB ACC.7,FU</p><p>  MOV A,DI_8BIT</p><p><b>  MOV B,#16</b></p><p><b>  DIV AB</b></p>

51、<p>  MOV 36H,A ;將DI_8BIT的高四位右移四位,存入36H中</p><p>  MOV A,B ;將TEMPER_L的低四位X10/16得小數(shù)后一位數(shù)</p><p><b>  MOV B,#10</b></p><p><b>  MUL AB</b&g

52、t;</p><p><b>  MOV B,#16</b></p><p><b>  DIV AB</b></p><p>  MOV 30H,A ;將小數(shù)后一位數(shù).存入30H中</p><p>  MOV A,GAO_8BIT ;TEMPER_H中存放高8位數(shù),權(quán)重16&

53、lt;/p><p><b>  MOV B,#16</b></p><p><b>  MUL AB</b></p><p>  ADD A,36H ; A中存入溫度值的整數(shù)部分</p><p>  CJNE A,#110,$</p><p>  LJMP ZHE

54、NG</p><p>  ZHENGZC: CLR P3.6</p><p><b>  CLR 38H</b></p><p>  FU: SETB 37H</p><p>  MOV A,DI_8BIT</p><p><b>  CPL A</b&g

55、t;</p><p><b>  ADD A,#1</b></p><p><b>  MOV F0,C</b></p><p><b>  MOV B,#16</b></p><p><b>  DIV AB</b></p><p&g

56、t;  MOV 36H,A ;將DI_8BIT的高四位右移四位,存入36H中</p><p>  MOV A,B ;將TEMPER_L的低四位X10/16得小數(shù)后一位數(shù).</p><p><b>  MOV B,#10</b></p><p><b>  MUL AB</b></p><p><

57、;b>  MOV B,#16</b></p><p><b>  DIV AB</b></p><p>  MOV 30H,A ;將小數(shù)后一位數(shù).存入30H中</p><p>  MOV A,GAO_8BIT ;TEMPER_H中存放高8位數(shù),權(quán)重16</p><p><b>  CPL A&

58、lt;/b></p><p><b>  MOV C,F0</b></p><p>  ADDC A,#00H</p><p><b>  MOV B,#16</b></p><p><b>  MUL AB</b></p><p>  ADD A

59、,36H ;A中存入溫度值的整數(shù)部分</p><p>  CJNE A,#50,$</p><p><b>  LJMP FU</b></p><p><b>  4.6顯示子程序</b></p><p>  將百、十、個、小數(shù)位的數(shù)據(jù)查表,送到對應(yīng)的數(shù)碼管顯示,程序流程圖如11所示:</p&

60、gt;<p>  圖11 顯示程序流程圖</p><p><b>  顯示子程序</b></p><p>  DISPLAY: MOV DPTR,#TABLE</p><p><b>  MOV R0,#4</b></p><p>  XUN: MOV R1,#

61、250 ;顯示1000次</p><p>  HUAN: JNB 37H,ZHENG</p><p>  MOV A,#10 ;顯示’-'</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P1,A</b></p>&l

62、t;p><b>  CLR P3.0</b></p><p>  LCALL DELAY1</p><p><b>  SETB P3.0</b></p><p>  SJMP GO_ON</p><p>  ZHENG: MOV A,BAI_BIT ;示溫度百位</

63、p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P1,A</b></p><p><b>  CLR P3.0</b></p><p>  LCALL DELAY1</p><p><b>  SETB P3.0</b>&l

64、t;/p><p>  GO_ON: MOV A,SHI_BIT ;顯示溫度十位</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P1,A</b></p><p><b>  CLR P3.1</b></p><p>  L

65、CALL DELAY1</p><p><b>  SETB P3.1</b></p><p>  MOV A,GE_BIT ;顯示溫度個位和小數(shù)點(diǎn)</p><p>  MOVC A,@A+DPTR</p><p>  ADD A,#80H</p><p><b>  MOV

66、P1,A</b></p><p><b>  CLR P3.2</b></p><p>  LCALL DELAY1</p><p><b>  SETB P3.2</b></p><p>  MOV A, XIAO_BIT ;顯示小數(shù)</p><p&

67、gt;  MOVC A,@A+DPTR</p><p><b>  MOV P1,A</b></p><p><b>  CLR P3.3</b></p><p>  LCALL DELAY1</p><p><b>  SETB P3.3</b></p><

68、;p>  DJNZ R1,HUAN ;250次沒完循環(huán)</p><p>  DJNZ R0,XUN ;4個250次沒完循環(huán)</p><p>  JB 38H, DELAY2</p><p><b>  RET</b></p><p>  DELAY1: MOV R7,#9</p><p

69、><b>  DJNZ R7,$</b></p><p><b>  RET</b></p><p>  DELAY2: MOV R4,#10</p><p>  LP1: MOV R5,#200</p><p>  LP2: MOV R6,#126</p><p

70、><b>  DJNZ R6,$</b></p><p>  DJNZ R5,LP2</p><p>  DJNZ R4,LP1</p><p><b>  RET</b></p><p>  TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH&

71、lt;/p><p>  DB 01000000B ;-</p><p><b>  END</b></p><p><b>  五 課程設(shè)計(jì)體會</b></p><p>  這一個禮拜的單片機(jī)課程設(shè)計(jì)已接近尾聲,回顧這個過程,收獲頗多!在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設(shè)計(jì)但這次

72、設(shè)計(jì)真的讓我長進(jìn)了很多,單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有有巧妙的程序算法,雖然以前寫過幾次程序,但我覺得寫好一個程序并不是一件簡單的事,舉個例子,在控制位選擇調(diào)試時,我剛開始只注意到我用的是P0驅(qū)動,所以就給列控制位都送低電平過去,后來調(diào)試時發(fā)現(xiàn)并不是這樣的數(shù)碼管并沒有顯示出我想要的數(shù)字來,后來在分析硬件時發(fā)現(xiàn)我用的是共陰數(shù)碼管要送高低平過去才行,還有我的溫度數(shù)據(jù)處理函數(shù)沒有用直接的加減而是用于上一位BCD碼來解決,感覺效

73、果比較好,有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只有學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。還有在硬件調(diào)試過程中發(fā)現(xiàn)程序捎進(jìn)單片機(jī)中就沒有一點(diǎn)反應(yīng),后來我終于找到問題的所在——在選材時就出現(xiàn)了問題了,數(shù)碼管分壓電阻選錯了,電阻阻值太大了,導(dǎo)致數(shù)碼管的電壓不足直接導(dǎo)致數(shù)碼管不亮,后來我換了個電阻小,在調(diào)試是數(shù)碼管就亮了,那是我很興奮,也很受教訓(xùn),做任何是都要從剛開始時就認(rèn)真做起,要一絲不茍,要精心細(xì)心,不能有一刻</

74、p><p>  從這次的課程設(shè)計(jì)中,我真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識用到實(shí)際當(dāng)中,學(xué)習(xí)單片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設(shè)計(jì)中的最大收獲。</p><p>  最后,還要感謝我的指導(dǎo)老師和我們熱心的同學(xué),在他們的幫助下我的課程設(shè)計(jì)才能順利完成,謝謝你們!</p><p><b> 

75、 六 參考文獻(xiàn)</b></p><p> ?。?]楊居義. 單片機(jī)課程設(shè)計(jì)指導(dǎo). 北京:清華大學(xué)出版社.2009年9月</p><p>  [2]李廣弟. 單片機(jī)基礎(chǔ). 北京:北京航空航天大學(xué)出版. 2007年5月</p><p> ?。?]閻石. 單片機(jī)技術(shù)與應(yīng)用基礎(chǔ).北京:高等教育出版社.2006年7月</p><p>  [

溫馨提示

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

最新文檔

評論

0/150

提交評論