2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(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>  第一章 單片機(jī)原理及應(yīng)用技術(shù)課程設(shè)計(jì)的目的意義2</p><p>  1.1 設(shè)計(jì)目的2</p><p>  1.2 課程在教學(xué)計(jì)劃中的地位和作用2</p><p>  第二章 基于18B20的溫度測(cè)量?jī)x設(shè)計(jì)任務(wù)2</p>

2、<p>  2.1 設(shè)計(jì)內(nèi)容及要求2</p><p>  2.2 課程設(shè)計(jì)的要求2</p><p>  2.2.1 控制要求2</p><p>  2.2.2 設(shè)計(jì)要求2</p><p>  第三章 系統(tǒng)的硬件設(shè)計(jì)與選型3 </p><p>  3.1 總體設(shè)計(jì)思想與選型3<

3、/p><p>  3.2 硬件設(shè)計(jì)方案3</p><p>  3.3 硬件設(shè)計(jì)系統(tǒng)原理圖3</p><p>  3.4 選型芯片及其各自功能說明5</p><p>  3.4.1 89C51的引腳與功能簡(jiǎn)介5</p><p>  3.4.2 DS18B20的引腳與功能簡(jiǎn)介8</p><

4、;p>  3.4.3 74LS138的引腳與功能簡(jiǎn)介13</p><p>  3.4.4 74LC573的引腳與功能簡(jiǎn)介15</p><p>  3.4.5 數(shù)碼管簡(jiǎn)介15</p><p>  第四章 軟件設(shè)計(jì)17</p><p>  4.1 源程序說明17</p><p>  第五章 系統(tǒng)調(diào)

5、試及使用說明20</p><p>  5.1 系統(tǒng)使用說明20</p><p>  5.2 系統(tǒng)調(diào)試25</p><p><b>  收獲、體會(huì)26</b></p><p>  附錄 系統(tǒng)源程序及實(shí)物圖27</p><p>  第一章 單片機(jī)原理與技術(shù)應(yīng)用課程設(shè)計(jì)的目的意義<

6、;/p><p>  1.1 課程設(shè)計(jì)目的</p><p>  《單片機(jī)原理及技術(shù)應(yīng)用》主要內(nèi)容包括MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)、指令系統(tǒng)、匯編語言和C語言程序設(shè)計(jì)、并行接口和并行設(shè)備的擴(kuò)展、中斷系統(tǒng)結(jié)構(gòu)與應(yīng)用、定時(shí)器/計(jì)數(shù)器原理與應(yīng)用、串行接口與串行通信、模擬量接口以及單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)。 </p><p>  本課程設(shè)計(jì)目的在于培養(yǎng)學(xué)生綜合運(yùn)用理論知識(shí)來分析和解

7、決實(shí)際問題的能力,是通過設(shè)計(jì)單片機(jī)檢測(cè)系統(tǒng),加深學(xué)生對(duì)單片機(jī)技術(shù)的了解,進(jìn)一步掌握其程序設(shè)計(jì)與硬件接口技術(shù)。 </p><p>  本課程的主要任務(wù)是運(yùn)用所學(xué)單片機(jī)技術(shù)、單片機(jī)原理等方面的知識(shí),設(shè)計(jì)出一臺(tái)以89C51MCU為核心的單片機(jī)數(shù)據(jù)采集、通訊或測(cè)控系統(tǒng),完成信息的采集、處理、輸出及人機(jī)接口電路等部分的軟、硬件設(shè)計(jì)。</p><p>  1.2 課程設(shè)計(jì)在教學(xué)計(jì)劃中的地位和作

8、用</p><p>  本課程是生物醫(yī)學(xué)工程的一門主要專業(yè)課之一。以MCS-51系列的8位單片機(jī)為教學(xué)對(duì)象,介紹單片機(jī)的發(fā)展概況、原理及應(yīng)用。</p><p>  主要內(nèi)容:?jiǎn)纹瑱C(jī)的基本概念,MCS-51系列單片機(jī)的結(jié)構(gòu),MCS-51系列單片機(jī)指令系統(tǒng),程序設(shè)計(jì)基礎(chǔ),中斷系統(tǒng),MCS-51系列單片機(jī)內(nèi)部定時(shí)器/計(jì)數(shù)器及其應(yīng)用,串行接口,單片機(jī)應(yīng)用系統(tǒng)擴(kuò)展設(shè)計(jì)基礎(chǔ),模擬量輸入輸出接口技術(shù),人

9、機(jī)接口技術(shù),功率接口技術(shù),單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù),單片機(jī)應(yīng)用系統(tǒng)舉例,新型單片機(jī)介紹等。</p><p>  學(xué)生獲得的知識(shí)和能力:?jiǎn)纹瑱C(jī)的基本結(jié)構(gòu)和原理、指令系統(tǒng)、匯編語言程序設(shè)計(jì)、C51開發(fā)技術(shù),簡(jiǎn)單的單片機(jī)應(yīng)用系統(tǒng)的設(shè)計(jì)等。</p><p>  《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)的目的就是讓同學(xué)們?cè)诶碚搶W(xué)習(xí)的基礎(chǔ)上,通過完成一個(gè)涉及MCS-51單片機(jī)多種資源應(yīng)用并具有綜合功能的小系統(tǒng)目標(biāo)板

10、的設(shè)計(jì)與編程應(yīng)用,使學(xué)生不但能夠?qū)⒄n堂上學(xué)到的理論知識(shí)與實(shí)際應(yīng)用結(jié)合起來,而且能夠?qū)﹄娮与娐?、電子元器件、印制電路板等方面的知識(shí)進(jìn)一步加深認(rèn)識(shí),同時(shí)在軟件編程、排錯(cuò)調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高。使學(xué)生增進(jìn)對(duì)單片機(jī)的感性認(rèn)識(shí),加深對(duì)單片機(jī)理論方面的理解,為以后設(shè)計(jì)和實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。</p><p>  第二章 基于18B20的溫度測(cè)量?jī)x設(shè)計(jì)任務(wù)</p&g

11、t;<p><b>  2.1 設(shè)計(jì)內(nèi)容</b></p><p>  基于18B20的溫度測(cè)量?jī)x是以溫度傳感器DS18B20為關(guān)鍵的測(cè)溫系統(tǒng),測(cè)得的溫度由三位數(shù)碼管顯示,精確到一度。</p><p>  2.2 課程設(shè)計(jì)要求</p><p>  掌握18B20溫度傳感器原理;</p><p>  三位

12、數(shù)碼管顯示溫度值。</p><p>  2.2.1 控制要求</p><p>  設(shè)計(jì)技術(shù)參數(shù),溫度測(cè)量精確到一度。</p><p>  2.2.2 設(shè)計(jì)要求</p><p>  設(shè)計(jì)出硬件電路,說明工作原理,編寫程序,調(diào)試、得到要求現(xiàn)象。</p><p>  第三章 系統(tǒng)硬件設(shè)計(jì)與選型</p>

13、<p>  3.1 總體設(shè)計(jì)思想與選型</p><p>  本次課程設(shè)計(jì)會(huì)用到的主要器件是51單片機(jī)和DS18B20溫度傳感器以及數(shù)碼管,主要就是通過溫度傳感器的檢測(cè),把實(shí)際測(cè)得的溫度值轉(zhuǎn)換成二進(jìn)制,再傳回單片機(jī)處理,然后通過數(shù)碼管顯示出溫度值。</p><p>  其次是74LS138和74LCX573芯片,用來控制數(shù)碼管顯示。</p><p>&l

14、t;b>  3.2硬件設(shè)計(jì)方案</b></p><p>  系統(tǒng)的硬件部分主要包括:電源、晶振、復(fù)位、單片機(jī)、數(shù)碼管、DS18B20、</p><p>  74LS138和74LCX573。</p><p>  3.3 硬件設(shè)計(jì)系統(tǒng)原理圖</p><p>  硬件電路原理圖反映了所用到的芯片的連接情況, 也可以清楚看到各硬

15、件是如何連接的,具體請(qǐng)看圖</p><p>  3.4 選型芯片及其各自功能說明</p><p>  3.4.1 芯片列表</p><p>  依照設(shè)計(jì)思路,本次設(shè)計(jì)使用了如下芯片:</p><p><b>  微處理器89C51</b></p><p>  溫度傳感器 DS18B20<

16、;/p><p>  譯碼器 74LS138</p><p>  集成芯片74LC573</p><p>  3.4.2 89C51的引腳與功能簡(jiǎn)介</p><p>  MCS-51系列單片機(jī)是美國Intel公司在1980年推出的高性能8位單片機(jī),它包含51和52兩個(gè)子系列。單片機(jī)由于體積小、功耗低、易于產(chǎn)品化,面向控制,抗干擾能力強(qiáng),適用溫度范

17、圍寬,可以方便地實(shí)現(xiàn)和分布式控制等優(yōu)點(diǎn),因而被廣泛地應(yīng)用于各種控制系統(tǒng)和分布式系統(tǒng)中。</p><p>  89C51和MCS-51是完全兼容的,是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS8位微處理器。 其主要特點(diǎn)如下:</p><p><b>

18、;  ? 8位CPU。</b></p><p>  ? 工作頻率最高為24M。</p><p>  ? 128B數(shù)據(jù)存儲(chǔ)器。</p><p>  ? 4KB程序存儲(chǔ)器。</p><p>  ? 程序存儲(chǔ)器的尋址空間為64KB。</p><p>  ? 片外數(shù)據(jù)存儲(chǔ)器的尋址空間為64KB。</p>

19、<p>  ? 128個(gè)用戶位尋址空間。</p><p>  ? 21個(gè)字節(jié)特殊功能寄存器。</p><p>  ? 4個(gè)8位的并行I/O接口:P0、P1、P2、P3。</p><p>  ? 兩個(gè)16位定時(shí)/計(jì)數(shù)器。</p><p>  ? 兩個(gè)優(yōu)先級(jí)別的5個(gè)中斷源。</p><p>  ? 1個(gè)全雙工

20、的串行I/O接口,可多機(jī)通信。</p><p>  ? 111條指令,喊乘法指令和除法指令。</p><p>  ? 較強(qiáng)的位處理能力 。</p><p>  ? 采用單一+5V電源。</p><p>  對(duì)于89C52而言,不同之處在于:有256B的數(shù)據(jù)存儲(chǔ)器、8K的程序存儲(chǔ)器、全雙工串行I/O接口、6個(gè)中斷源、3個(gè)16位定時(shí)/計(jì)數(shù)器,工作

21、頻率可升直33Mhz。比51擁有更高的性能。</p><p>  圖1-1是51單片機(jī)的接口硬件分布圖</p><p>  我們此次采用的是AM-51H學(xué)習(xí)板(如圖1-2),板載的芯片是89C52芯片,擁有豐富功能模塊及外接電路,如圖的標(biāo)注。</p><p>  I. 89C51單片機(jī)兩種封裝形式:</p><p>  (1) 雙列直插(

22、PDIP): 40引腳。</p><p>  (2) 方形(PLCC)封裝形式: 44引腳,有4條引腳是空腳(標(biāo)為NC)。</p><p>  圖3-2(a)為引腳排列圖。</p><p>  圖3-2(b)為邏輯符號(hào)圖。 </p><p>  II. 89C51引腳功能:</p><p>  1. 電源引腳V

23、cc和Vss</p><p>  (1) Vcc :電源端,接+5V電源。</p><p>  (2) Vss :接地端。</p><p>  2. 外接晶體引腳XTALl和XTAL2</p><p>  (1) XTAL1:片內(nèi)振蕩電路的輸入端; </p><p>  (2) XTAL2:片內(nèi)振蕩

24、電路的輸出端。</p><p>  3. 控制信號(hào)引腳 </p><p>  (1) RST / VPD:</p><p>  RST是復(fù)位信號(hào)輸入端,高電平有效。出現(xiàn)兩個(gè)機(jī)器周期以上的高電平時(shí)復(fù)位;</p><p>  圖3-4 89C51單片機(jī)引腳排列及邏輯符號(hào)圖</p><p>  RST引腳的第二功能:備用

25、電源VPD的輸入端;</p><p>  當(dāng)主電源VCC發(fā)生故障,降低到規(guī)定值時(shí),此引腳可接備用供電,由VPD向內(nèi)部RAM提供備用供電,以保持片內(nèi)RAM中的數(shù)據(jù)。 </p><p>  (2) ALE/PROG:地址鎖存允許信號(hào) </p><p>  訪問外部存儲(chǔ)器時(shí),ALE信號(hào)的輸出用于鎖存低8位地址的控制信號(hào)。</p><p>  信號(hào)

26、頻率為振蕩器的1/6;</p><p>  ALE端可以驅(qū)動(dòng)8個(gè)TTL負(fù)載;</p><p>  對(duì)Flash存儲(chǔ)器編程時(shí),用于輸入編程脈沖信號(hào)。</p><p>  (3) /PSEN:片外程序存儲(chǔ)器讀選通信號(hào) </p><p>  低電平有效,可驅(qū)動(dòng)8個(gè)TTL負(fù)載。</p><p>  (4) /EA(VP

27、P):片內(nèi)、外程序存儲(chǔ)器選擇端 </p><p><b>  編程電壓輸入端;</b></p><p>  當(dāng)/EA端為高電平時(shí),先訪問片內(nèi)EPROM;</p><p>  當(dāng)/EA端接地時(shí),只訪問片外EPROM;</p><p>  在Flash存儲(chǔ)器編程時(shí),提供編程電壓。 </p><p> 

28、 4. I / O引腳</p><p>  (1) P0口(P0.0~P0.7):</p><p>  第一功能:通用I/O口,用來輸入/輸出數(shù)據(jù)</p><p>  第二功能:當(dāng)CPU訪問片外存儲(chǔ)器時(shí),分時(shí)提供低8位地址和高8位數(shù)據(jù)的復(fù)用總線。</p><p>  (2) P2口(P2.0~P2.7):</p>&

29、lt;p>  第一功能:不擴(kuò)展片外存儲(chǔ)器時(shí),作為通用I/O口。</p><p>  第二功能:擴(kuò)展片外存儲(chǔ)器時(shí),輸出片外存儲(chǔ)器的高8位地址。</p><p>  (3) P1口(P1.0~P1.7):</p><p>  第一功能:通用I/O口。</p><p>  第二功能:片內(nèi)ROM編程或校驗(yàn)時(shí),輸入片內(nèi)ROM的低8位地址。<

30、/p><p>  (4) P3口(P3.0~P3.7):</p><p>  第一功能:通用的I/O口。</p><p>  第二功能:控制功能。</p><p>  III. 89C51的外部總線</p><p>  外部總線結(jié)構(gòu)圖如圖3-5所示。</p><p>  圖3-5 外部總線結(jié)構(gòu)圖&

31、lt;/p><p>  (1) 地址總線(AB)。16位,尋址范圍64KB。高8位(A15~A8)由P2口輸出,低8位(A7 ~ A0)由P0口輸出。</p><p>  (2) 數(shù)據(jù)總線(DB)。8位,由P0口提供。</p><p>  (3) 控制總線(CB)。由4條控制線和P3口的第二功能狀態(tài)組成。 </p><p>  IV. 89C5

32、1的內(nèi)部結(jié)構(gòu)</p><p>  89C51單片機(jī)在一塊芯片中集成了CPU、RAM、 ROM、定時(shí)器/計(jì)數(shù)器和I/O口等基本功能部件。各功能部件由內(nèi)部總線連接在一起。89C51基本結(jié)構(gòu)見圖3-6所示。</p><p>  圖3-6 89C51單片機(jī)基本結(jié)構(gòu)圖</p><p>  CPU是單片機(jī)的核心部件,由運(yùn)算器和控制器等部件組成。運(yùn)算器的功能主要是進(jìn)行算術(shù)運(yùn)算和

33、邏輯運(yùn)算。由8位ALU單元,兩個(gè)8位的暫存器,8位的累加器ACC、B寄存器,程序狀態(tài)寄存器PSW等組成??刂破饔糜诳刂茊纹瑱C(jī)各部分的運(yùn)行,由程序計(jì)數(shù)器PC,指令寄存器、譯碼器及定時(shí)控制邏輯和數(shù)據(jù)指針DPTR組成。</p><p>  3.4.3 DS18B20溫度傳感器簡(jiǎn)介</p><p>  DS18B20是DALLAS公司生產(chǎn)的單總線數(shù)字溫度傳感器芯片,具有3引腳TO-92小體積封裝形

34、式;溫度測(cè)量范圍為-55℃~+125℃,可編程為9-12為A/D轉(zhuǎn)換精度,測(cè)量分辨率可達(dá)0.0625℃,被測(cè)溫度用16位補(bǔ)碼方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè)DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少??蓮V泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測(cè)量及控制儀器、測(cè)控系統(tǒng)和大型設(shè)備中。</p><p>  (一)DS

35、18B20的主要特性如下:</p><p>  適應(yīng)電壓范圍寬:3.0V-5.5V,在寄生電源方式可有數(shù)據(jù)線共電。</p><p>  在使用中不需要任何外圍元件。</p><p>  獨(dú)特的單線接口方式:DS18B20與微處理器連接時(shí)僅需要一條信號(hào)線既可實(shí)現(xiàn)微處</p><p>  理器與DS18B20的雙向通信。</p>&

36、lt;p>  溫度范圍:-55℃~+125℃,在-10℃-+85℃時(shí)精度為±0.5℃。</p><p>  編程可實(shí)現(xiàn)分辨率為9-12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和</p><p>  0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫。</p><p>  在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在7

37、50ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字。</p><p>  支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。</p><p>  用戶可自設(shè)定非易失性的報(bào)警上下限值。</p><p>  負(fù)壓特性:電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒壞,但不能正常工作。</p><p> ?。ǘ〥S18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:

38、</p><p>  64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。該裝置信號(hào)線高的時(shí)候,內(nèi)部電容器儲(chǔ)存能量通由1線通信線路給片子供電,而且在低電平期間為片子供電直至下一個(gè)高電平的到來重新充電。 DS18B20的電源也可以從外部3V-5 .5V的電壓得到。</p><p>  DS18B20的外部機(jī)構(gòu)圖和內(nèi)部結(jié)構(gòu)圖(如圖1-3、1-4)</p>

39、<p>  圖1-4 DS1820內(nèi)部結(jié)構(gòu)</p><p>  圖1-3 TQ-92封裝及8腳SOIC封裝</p><p> ?。ㄈ〥S18B20溫度值格式</p><p>  默認(rèn)的12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可

40、得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。</p><p>  圖1-5 DS18B20溫度值格式表</p><p> ?。ㄋ模〥S18B20采用一線通信接口。因?yàn)橐痪€通信接口,必須在先完成ROM設(shè)定,否則記憶和控制功能將無法使用。主要首先提供以下功能命令之一: 1 )讀ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳過

41、ROM, 5 )報(bào)警檢查。這些指令操作作用在沒有一個(gè)器件的64位光刻ROM序列號(hào),可以在掛在一線上多個(gè)器件選定某一個(gè)器件,同時(shí),總線也可以知道總線上掛有有多少,什么樣的設(shè)備。</p><p>  若指令成功地使DS18B20完成溫度測(cè)量,數(shù)據(jù)存儲(chǔ)在DS18B20的存儲(chǔ)器。一個(gè)控制功能指揮指示DS18B20的演出測(cè)溫。測(cè)量結(jié)果將被放置在DS18B20內(nèi)存中,并可以讓閱讀發(fā)出記憶功能的指揮,閱讀內(nèi)容的片上存儲(chǔ)器。溫度

42、報(bào)警觸發(fā)器TH和TL都有一字節(jié)EEPROM 的數(shù)據(jù)。如果DS18B20不使用報(bào)警檢查指令,這些寄存器可作為一般的用戶記憶用途。在片上還載有配置字節(jié)以理想的解決溫度數(shù)字轉(zhuǎn)換。寫TH,TL指令以及配置字節(jié)利用一個(gè)記憶功能的指令完成。通過緩存器讀寄存器。所有數(shù)據(jù)的讀,寫都是從最低位開始。</p><p>  DS18B20有4個(gè)主要的數(shù)據(jù)部件:</p><p>  (1)光刻ROM中的64位序列

43、號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。</p><p> ?。?) DS18B20中的溫度傳感器可完成對(duì)溫度的

44、測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號(hào)位。</p><p>  DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM,溫度傳感器,溫度報(bào)警觸發(fā)器TH和TL,配置寄存器。</p><p><b>  存儲(chǔ)器</b></p><p>  DS18B20的存儲(chǔ)器包括高速暫存

45、器RAM和可電擦除RAM,可電擦除RAM又包括溫度觸發(fā)器TH和TL,以及一個(gè)配置寄存器。存儲(chǔ)器能完整的確定一線端口的通訊,數(shù)字開始用寫寄存器的命令寫進(jìn)寄存器,接著也可以用讀寄存器的命令來確認(rèn)這些數(shù)字。當(dāng)確認(rèn)以后就可以用復(fù)制寄存器的命令來將這些數(shù)字轉(zhuǎn)移到可電擦除RAM中。當(dāng)修改過寄存器中的數(shù)時(shí),這個(gè)過程能確保數(shù)字的完整性。</p><p>  高速暫存器RAM是由8個(gè)字節(jié)的存儲(chǔ)器組成;第一和第二個(gè)字節(jié)是溫度的顯示位

46、。第三和第四個(gè)字節(jié)是復(fù)制TH和TL,同時(shí)第三和第四個(gè)字節(jié)的數(shù)字可以更新;第五個(gè)字節(jié)是復(fù)制配置寄存器,同時(shí)第五個(gè)字節(jié)的數(shù)字可以更新;六、七、八三個(gè)字節(jié)是計(jì)算機(jī)自身使用。用讀寄存器的命令能讀出第九個(gè)字節(jié),這個(gè)字節(jié)是對(duì)前面的八個(gè)字節(jié)進(jìn)行校驗(yàn)。存儲(chǔ)器的結(jié)構(gòu)圖如圖4.6所示。</p><p>  64位光刻ROM的前8位是DS18B20的自身代碼,接下來的48位為連續(xù)的數(shù)字代碼,最后的8位是對(duì)前56位的CRC校驗(yàn)。64-位

47、的光刻ROM又包括5個(gè)ROM的功能命令:讀ROM,匹配ROM,跳躍ROM,查找ROM和報(bào)警查找。64-位光刻ROM的結(jié)構(gòu)圖如圖4.7所示。</p><p>  DS18B20外部電源的連接方式</p><p>  DS18B20可以使用外部電源VDD,也可以使用內(nèi)部的寄生電源。當(dāng)VDD端口接3.0V—5.5V的電壓時(shí)是使用外部電源;當(dāng)VDD端口接地時(shí)使用了內(nèi)部的寄生電源。無論是內(nèi)部寄生電源

48、還是外部供電,I/O口線要接5KΩ左右的上拉電阻。連接圖如圖4.8、圖4.9所示。</p><p><b>  配置寄存器</b></p><p>  配置寄存器是配置不同的位數(shù)來確定溫度和數(shù)字的轉(zhuǎn)化。R1,R0是溫度的決定位,由R1,R0的不同組合可以配置為9位,10位,11位,12位的溫度顯示。這樣就可以知道不同的溫度轉(zhuǎn)化位所對(duì)應(yīng)的轉(zhuǎn)化時(shí)間,四種配置的分辨率分別為

49、0.5℃,0.25℃,0.125℃和0.0625℃,出廠時(shí)以配置為12位。4.3.4.2 溫度的讀取</p><p>  DS18B20在出廠時(shí)以配置為12位,讀取溫度時(shí)共讀取16位,所以把后11位的2進(jìn)制轉(zhuǎn)化為10進(jìn)制后在乘以0.0625便為所測(cè)的溫度,還需要判斷正負(fù)。前5個(gè)數(shù)字為符號(hào)位,當(dāng)前5位為1時(shí),讀取的溫度為負(fù)數(shù);當(dāng)前5位為0時(shí),讀取的溫度為正數(shù)。16位數(shù)字?jǐn)[放是從低位到高位</p>&l

50、t;p>  DS18B20常用ROM、RAM指令(如表1、表2)</p><p>  表1 ROM指令表</p><p>  表2 RAM指令表</p><p>  (四)DS18B20操作時(shí)序</p><p>  DS18B20的時(shí)序有著嚴(yán)格的要求,每個(gè)操作之間的電平時(shí)間必須按照資料上面的進(jìn)行,不然就不能對(duì)溫度傳感器正確的操作,

51、一般有芯片初始化操作、讀操作和寫操作。</p><p>  DS18B20控制方法</p><p>  指令約定代碼操作說明</p><p>  溫度轉(zhuǎn)換 44H 啟動(dòng)DS18B20進(jìn)行溫度轉(zhuǎn)換</p><p>  讀暫存器 BEH 讀暫存器9個(gè)字節(jié)內(nèi)容</p><p>  寫暫存器 4EH 將數(shù)據(jù)寫入暫存器的TH、T

52、L字節(jié)</p><p>  復(fù)制暫存器 48H 把暫存器的TH、TL字節(jié)寫到E2RAM中</p><p>  重新調(diào)E2RAM B8H 把E2RAM中的TH、TL字節(jié)寫到暫存器TH、TL字節(jié)</p><p>  讀電源供電方式 B4H 啟動(dòng)DS18B20發(fā)送電源供電方式的信號(hào)給主CPU</p><p>  1.DS18B20的初始化</

53、p><p> ?。?) 先將數(shù)據(jù)線置高電平“1”。</p><p> ?。?) 延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn))</p><p> ?。?) 數(shù)據(jù)線拉到低電平“0”。</p><p> ?。?) 延時(shí)750微秒(該時(shí)間的時(shí)間范圍可以從480到960微秒)。</p><p> ?。?) 數(shù)據(jù)線拉到高電平“1

54、”。</p><p> ?。?)延時(shí)等待(如果初始化成功則在15到60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)控制)。</p><p> ?。?)若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(5)步的時(shí)間算起)最少要480微秒。<

55、/p><p> ?。?) 將數(shù)據(jù)線再次拉高到高電平“1”后結(jié)束。</p><p>  2. DS18B20的寫操作</p><p> ?。?) 數(shù)據(jù)線先置低電平“0”。</p><p>  (2) 延時(shí)確定的時(shí)間為15微秒。</p><p>  (3) 按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。</p>

56、<p> ?。?) 延時(shí)時(shí)間為45微秒。</p><p> ?。?) 將數(shù)據(jù)線拉到高電平。</p><p> ?。?) 重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止。</p><p> ?。?) 最后將數(shù)據(jù)線拉高。</p><p>  3. DS18B20的讀操作</p><p> ?。?)將數(shù)據(jù)

57、線拉高“1”。</p><p><b> ?。?)延時(shí)2微秒。</b></p><p>  (3)將數(shù)據(jù)線拉低“0”。</p><p> ?。?)延時(shí)15微秒。</p><p> ?。?)將數(shù)據(jù)線拉高“1”。</p><p> ?。?)延時(shí)15微秒。</p><p> ?。?/p>

58、7)讀數(shù)據(jù)線的狀態(tài)得到1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。</p><p> ?。?)延時(shí)30微秒。</p><p>  3.4.3 74LS138的引腳與功能簡(jiǎn)介</p><p>  74ls138引腳圖</p><p>  74HC138管腳圖:</p><p>  74LS138 為3 線-8 線譯碼器,共有 54/7

59、4S138和 54/74LS138 兩種線路結(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 線譯碼器。

60、     若將選通端中的一個(gè)作為數(shù)據(jù)輸入端時(shí),74LS138還可作數(shù)據(jù)分配器用與非門組成的3線-8線譯碼器74LS138</p><p>  3線-8線譯碼器74LS138的功能表</p><p>  無論從邏輯圖還是功能表我們都可以看到74LS138的八個(gè)輸出引腳,任何時(shí)刻要么全為高電平1—芯片處于不工作狀態(tài),要么只有一個(gè)為低電平0,其余7個(gè)輸出引腳全為高

61、電平1。如果出現(xiàn)兩個(gè)輸出引腳同時(shí)為0的情況,說明該芯片已經(jīng)損壞。</p><p>  當(dāng)附加控制門的輸出為高電平(S=1)時(shí),可由邏輯圖寫出</p><p>  由上式可以看出,同時(shí)又是這三個(gè)變量的全部最小項(xiàng)的譯碼輸出,所以也把這種譯碼器叫做最小項(xiàng)譯碼器。</p><p>  71LS138有三個(gè)附加的控制端、和。當(dāng)、時(shí),輸出為高電平(S=1),譯碼器處于工作狀態(tài)。

62、否則,譯碼器被禁止,所有的輸出端被封鎖在高電平,如表3.3.5所示。這三個(gè)控制端也叫做“片選”輸入端,利用片選的作用可以將多篇連接起來以擴(kuò)展譯碼器的功能。</p><p>  帶控制輸入端的譯碼器又是一個(gè)完整的數(shù)據(jù)分配器。在圖3.3.8電路中如果把作為“數(shù)據(jù)”輸入端(同時(shí)),而將作為“地址”輸入端,那么從送來的數(shù)據(jù)只能通過所指定的一根輸出線送出去。這就不難理解為什么把叫做地址輸入了。例如當(dāng)=101時(shí),門的輸入端除

63、了接至輸出端的一個(gè)以外全是高電平,因此的數(shù)據(jù)以反碼的形式從輸出,而不會(huì)被送到其他任何一個(gè)輸出端上。</p><p>  3.4.4 74HC573的引腳與功能簡(jiǎn)介</p><p>  74HC573包含八進(jìn)制3態(tài)非反轉(zhuǎn)透明鎖存器,是一種高性能硅門CMOS器件。</p><p>  74HC573跟LS/AL573的管腳一樣。器件的輸入是和標(biāo)準(zhǔn)CMOS輸出兼容的,加

64、上拉電阻他們能和LS/ALSTTL輸出兼容。</p><p><b>  鎖存器</b></p><p>  輸入是和標(biāo)準(zhǔn) CMOS 輸出兼容的;加上拉電阻,他們能和 LS/ALSTTL 輸出兼容。</p><p>  當(dāng)鎖存使能端LE為高時(shí),這些器件的鎖存對(duì)于數(shù)據(jù)是透明的(也就是說輸出同步)。當(dāng)鎖存使能變低時(shí),符合建立時(shí)間和保持時(shí)間的數(shù)據(jù)會(huì)被

65、鎖存。</p><p>  ·三態(tài)總線驅(qū)動(dòng)輸出  ·置數(shù)全并行存取  ·緩沖控制輸入  ·使能輸入有改善抗擾度的滯后作用  原理說明:  74HC573的八個(gè)鎖存器都是透明的D 型鎖存器,當(dāng)使能(G)為高時(shí),Q 輸出  將隨數(shù)據(jù)(D)輸入而變。當(dāng)使能為低時(shí),輸出將鎖存在已建立的數(shù)據(jù)電平上。輸出控制不影響鎖存器的內(nèi)部工作,即老數(shù)據(jù)可以保持,甚至當(dāng)輸出被關(guān)閉時(shí), 

66、 新的數(shù)據(jù)也可以置入。這種電路可以驅(qū)動(dòng)大電容或低阻抗負(fù)載,可以直接與系統(tǒng)總線接口并驅(qū)動(dòng)總線,而不需要外接口。特別適用于緩沖寄存器,I/O 通道,雙向總線驅(qū)動(dòng)器和工作寄存器。</p><p><b>  數(shù)碼管簡(jiǎn)介</b></p><p>  此系統(tǒng)采用的是共陰極性的LED數(shù)碼管,高電平點(diǎn)亮。如圖1-6</p><p>  圖1-6 數(shù)碼管極性及

67、端口分布 </p><p>  不過,我們此次是采用的四合一的數(shù)碼管。如圖1-7</p><p><b>  圖 四合一數(shù)碼管</b></p><p>  圖 數(shù)碼管的硬件連接圖</p><p><b>  第四章 軟件設(shè)計(jì)</b></p><p><b>  

68、4.1 源程序說明</b></p><p>  #include "reg52.h"</p><p>  #include "intrins.h" //_nop_();延時(shí)函數(shù)用</p><p>  #define Disdata P0

69、 //段碼輸出口</p><p>  #define discan P2 //掃描口</p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p&g

70、t;  sbit DQ=P1^3; //溫度輸入口</p><p>  uint h; </p><p>  uint temp;</p><p>  uchar code dis_7[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f

71、,0x6f,0x00,0x40};</p><p>  //共陰LED段碼表 "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "不亮"

72、; "-" </p><p>  uchar code scan_con[4]={0xfb,0xfa,0xf9,0xf8}; //列掃描控制字</p><p>  uchar data temp_data[2]={0x00,0x00}; //讀出溫度暫放</p><p>  uchar da

73、ta display[5]={0x00,0x00,0x00,0x00,0x00}; //顯示單元數(shù)據(jù),共4個(gè)數(shù)據(jù)和一個(gè)運(yùn)算暫用</p><p>  /*****************11us延時(shí)函數(shù)*************************/</p><p>  void delay(uint t)</p><p><b>  {<

74、/b></p><p>  for (;t>0;t--);</p><p><b>  }</b></p><p>  /****************顯示掃描函數(shù)***************************/</p><p><b>  scan()</b></p&g

75、t;<p><b>  {</b></p><p><b>  char k;</b></p><p>  for(k=1;k<4;k++) //4位LED掃描控制</p><p><b>  {</b></p><p

76、>  Disdata=dis_7[display[k]]; //數(shù)據(jù)顯示</p><p>  discan=scan_con[k]; //位選</p><p>  delay(200);</p><p><b>  }</b></p><p><

77、;b>  }</b></p><p>  /****************DS18B20復(fù)位函數(shù)************************/</p><p>  ow_reset(void)</p><p><b>  {</b></p><p>  char presence=1;</p

78、><p>  while(presence)</p><p><b>  {</b></p><p>  while(presence)</p><p><b>  {</b></p><p>  DQ=1;_nop_();_nop_(); //從高拉倒低<

79、;/p><p>  DQ=0; </p><p>  delay(50); //550 us</p><p>  DQ=1; </p><p>  del

80、ay(6); //66 us</p><p>  presence=DQ; //presence=0 復(fù)位成功,繼續(xù)下一步</p><p><b>  } </b></p><p>  delay(45); //延時(shí)500 u

81、s</p><p>  presence=~DQ; </p><p><b>  }</b></p><p>  DQ=1; //拉高電平</p><p><b>  }</b></p><p>  /****

82、************DS18B20寫命令函數(shù)************************/</p><p>  //向1-WIRE 總線上寫1個(gè)字節(jié)</p><p>  void write_byte(uchar val)</p><p><b>  { </b></p><p><b>  uchar

83、 i;</b></p><p>  for(i=8;i>0;i--)</p><p><b>  {</b></p><p>  DQ=1;_nop_();_nop_(); //從高拉倒低</p><p>  DQ=0;_nop_();_nop_();_nop_();_

84、nop_(); //5 us</p><p>  DQ=val&0x01; //最低位移出</p><p>  delay(6); //66 us</p><p>  val=val/2; /

85、/右移1位</p><p><b>  }</b></p><p><b>  DQ=1;</b></p><p><b>  delay(1);</b></p><p><b>  }</b></p><p>  /*******

86、*********DS18B20讀1字節(jié)函數(shù)************************/</p><p>  //從總線上取1個(gè)字節(jié)</p><p>  uchar read_byte(void)</p><p><b>  {</b></p><p><b>  uchar i;</b>&l

87、t;/p><p>  uchar value=0;</p><p>  for(i=8;i>0;i--)</p><p><b>  {</b></p><p>  DQ=1;_nop_();_nop_();</p><p>  value>>=1;</p><p

88、>  DQ=0;_nop_();_nop_();_nop_();_nop_(); //4 us</p><p>  DQ=1;_nop_();_nop_();_nop_();_nop_(); //4 us</p><p>  if(DQ)value|=0x80;</p><p>  delay(6);

89、 //66 us</p><p><b>  }</b></p><p><b>  DQ=1;</b></p><p>  return(value);</p><p><b>  }</b></p><p>

90、  /****************讀出溫度函數(shù)************************/</p><p>  read_temp()</p><p><b>  {</b></p><p>  ow_reset(); //總線復(fù)位</p><p>  delay(200);&

91、lt;/p><p>  write_byte(0xcc); //發(fā)命令</p><p>  write_byte(0x44); //發(fā)轉(zhuǎn)換命令</p><p>  ow_reset(); </p><p><b>  delay(1);</b></p><p&g

92、t;  write_byte(0xcc); //發(fā)命令</p><p>  write_byte(0xbe);</p><p>  temp_data[0]=read_byte(); //讀溫度值的低字節(jié)</p><p>  temp_data[1]=read_byte(); //讀溫度值的高字節(jié)</p><p&

93、gt;  temp=temp_data[1];</p><p>  temp<<=8; </p><p>  temp=temp|temp_data[0]; // 兩字節(jié)合成一個(gè)整型變量。</p><p>  return temp;

94、 //返回溫度值</p><p><b>  }</b></p><p>  /****************溫度數(shù)據(jù)處理函數(shù)************************/</p><p>  //二進(jìn)制高字節(jié)的低半字節(jié)和低字節(jié)的高半字節(jié)組成一字節(jié),這個(gè)</p><p>  //字節(jié)的二進(jìn)制轉(zhuǎn)換為十進(jìn)制

95、后,就是溫度值的百、十、個(gè)位值,而剩</p><p>  //下的低字節(jié)的低半字節(jié)轉(zhuǎn)化成十進(jìn)制后,就是溫度值的小數(shù)部分</p><p>  /********************************************************/</p><p>  work_temp(uint tem)</p><p><b

96、>  {</b></p><p>  uchar n=0;</p><p>  if(tem>6348) // 溫度值正負(fù)判斷</p><p>  {tem=65536-tem;n=1;} // 負(fù)溫度求補(bǔ)碼,標(biāo)志位置1</p><p>  

97、display[4]=tem>>4; // 取中間八位,即整數(shù)部分的值</p><p>  display[3]=display[4]/100; // 取百位數(shù)據(jù)暫存</p><p>  display[1]=display[4]%100; // 取后兩位數(shù)據(jù)暫存</p><p>  dis

98、play[2]=display[1]/10; // 取十位數(shù)據(jù)暫存</p><p>  display[1]=display[1]%10; </p><p>  /******************符號(hào)位顯示判斷**************************/</p><p>  if(!display[3]) </p>&

99、lt;p><b>  {</b></p><p>  display[3]=0x0a; //最高位為0時(shí)不顯示</p><p>  if(!display[2]) </p><p><b>  {</b></p><p>  display[2]=0x0a;

100、 //次高位為0時(shí)不顯示</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(n){display[3]=0x0b;} //負(fù)溫度時(shí)最高位顯示"-"</p><p><b>  }

101、</b></p><p>  /****************主函數(shù)************************/</p><p>  void main()</p><p><b>  {</b></p><p>  Disdata=0xff; //初始化端口</

102、p><p>  discan=0xff;</p><p>  for(h=0;h<4;h++) //開機(jī)顯示"0000"</p><p>  {display[h]=0;} </p><p>  ow_reset(); //復(fù)位</p><

103、p>  write_byte(0xcc); //Skip ROM</p><p>  write_byte(0x44); //發(fā)轉(zhuǎn)換命令</p><p>  for(h=0;h<100;h++) //開機(jī)顯示"0000"</p><p><b>  {sc

104、an();}</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  work_temp(read_temp()); //處理溫度數(shù)據(jù)</p><p>  scan();

105、 //顯示溫度值</p><p>  //***********************結(jié)束**************************//</p><p>  第五章 系統(tǒng)的調(diào)試與使用</p><p>  5.1 系統(tǒng)使用說明</p><p><b>  KEIL C51 </b></p&

106、gt;<p>  ㈠、KEIL C51編程軟件簡(jiǎn)介</p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面,包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,

107、通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起??梢酝瓿删庉嫛⒕幾g、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。</p><p> ?、妗EIL C51的使用方法</p><p><b>  項(xiàng)目文件的建立</b></p><p>  KEIL C51軟件是第二版本的(KEIL Uv2),所以打開的界面如圖2-1。</p>&l

108、t;p>  圖 KEIL Uv3 主界面</p><p>  選擇Project菜單下的New Project命令,彈出如圖2-2對(duì)話框。 </p><p>  圖 Create New Project 對(duì)話框</p><p>  在鍵入“測(cè)溫系統(tǒng)”過后彈出圖2-3芯片選擇對(duì)話框,在這里選擇使用的Atmel 公司的AT89C52芯片如圖2-4。

109、此時(shí)會(huì)提醒用戶是不是添加啟動(dòng)代碼,這里選“是”。</p><p>  圖 選擇AT89C52</p><p>  2、給工程添加源文件</p><p>  單擊右圖所標(biāo)的,在彈出的對(duì)話框中添加一個(gè)源文件后綴名為“*.C”的文件,我們這里添加“測(cè)溫系統(tǒng).C”文件,如圖所示。</p><p>  圖 添加工程源文件</p&g

110、t;<p>  不過,在剛開始建立的工程中一般沒有源文件的,所以我們要新建一個(gè)源文件。我們可以點(diǎn)擊右面標(biāo)注所以的圖標(biāo),再保存、命名。如2-7所示,這里我們命名為“18B20溫度測(cè)量.C”</p><p><b>  圖 保存對(duì)話框</b></p><p>  3、編譯、連接項(xiàng)目,形成目標(biāo)文件</p><p>  把保存了的工程

111、源文件添加到工程當(dāng)中過后,我們就可以編程、連接、調(diào)試了。在編譯之前我們?cè)O(shè)置一下,在通過過后會(huì)生成“*.HEX文件”,這就是單片機(jī)所需的程序文件。設(shè)置如圖.</p><p><b>  圖 工程設(shè)置 </b></p><p>  編譯、連接時(shí),如果程序有錯(cuò),則編譯不成功,并在下面的信息窗口給出相應(yīng)的提示信息,以便用戶修改。如圖,這個(gè)是編譯成功的情況。</p>

112、;<p><b>  圖 編譯成功</b></p><p><b>  二、STC-ISP</b></p><p>  ㈠、STC-ISP軟件簡(jiǎn)介</p><p>  STC-ISP 是一款單片機(jī)下載編程燒錄軟件,是針對(duì)STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052系列和12C5410等系列的

113、STC單片機(jī),使用簡(jiǎn)便,現(xiàn)已被廣泛使用。</p><p> ?、?、STC-ISP的使用方法</p><p>  現(xiàn)目前使用的是STC-ISP的版本是V4.8.3的版本。打開軟件,出現(xiàn)如圖2-10所示的界面。 </p><p>  圖2-10 STC-ISP V4.8。3 主界面</p><p>  在程序下載之前要先設(shè)置,要選擇對(duì)應(yīng)的芯

114、片、COM口、波特率(一般可以默認(rèn)不變)。</p><p>  設(shè)置好過后再用串口線把電腦和開發(fā)板連接好就可以下載程序到芯片當(dāng)中了,點(diǎn)擊主界面的“OpenFile/打開文件”,彈出如圖2-11的對(duì)話框,選擇需要的“*.HEX或者是*.BIN”文件。</p><p>  在下載時(shí)候,開發(fā)板需要重新復(fù)位一次,可用對(duì)開發(fā)板重新上電的辦法。</p><p>  圖2-11

115、 Open file 對(duì)話框</p><p>  5.2 系統(tǒng)的調(diào)試過程</p><p>  在本次設(shè)計(jì)中碰到了許多的問題,大部分經(jīng)過努力都一一克服了。</p><p>  由于溫度測(cè)量?jī)x原理不是太復(fù)雜,因此此次設(shè)計(jì)僅僅碰到的問題有一下這些:</p><p>  1.小數(shù)點(diǎn)顯示問題。課程設(shè)計(jì)要求溫度精確到一度,但是學(xué)習(xí)參考的程序都是精確

116、到0.1度,所以在修改程序時(shí)小數(shù)部分顯示為0,不能完全去除。后來通過修改for循環(huán)中的k初值,去掉數(shù)組的第0個(gè)才完善顯示部分。</p><p>  2.硬件問題。此次硬件我使用的單片機(jī)開發(fā)板用了74LCX573鎖存器,查閱資料時(shí)找不到,參考了74HC573的引腳及功能。</p><p>  3.程序編譯錯(cuò)誤。程序編譯錯(cuò)誤主要有3個(gè)方面:語法錯(cuò)誤、邏輯錯(cuò)誤、輸入錯(cuò)誤。這就需要仔細(xì)認(rèn)真的去多次

117、反復(fù)查看程序。</p><p>  4.DS18B20復(fù)位值85度。DS18B20復(fù)位值是85度,所以第二次接通電源時(shí)總是顯示85,很郁悶,以為程序出了問題,查閱資料后才發(fā)現(xiàn)是傳感器的出廠復(fù)位值。</p><p><b>  收獲與體會(huì)</b></p><p>  經(jīng)過一周的努力,順利的完成了單片機(jī)課設(shè)。這是一個(gè)磨練意志的過程。此外,對(duì)于我們工

118、科的學(xué)生,思維方面就應(yīng)該要快,在此類型的實(shí)習(xí)當(dāng)中,對(duì)我們的思維能力有很好的鍛煉。單片機(jī)應(yīng)用系統(tǒng)所具備的就是要有清晰的思路,尤其是邏輯方面的思考,而且,在數(shù)電、模電方面的知識(shí)必須要有良好的基礎(chǔ)。</p><p>  我覺得此實(shí)習(xí)意義在于我們對(duì)所學(xué)知識(shí)的綜合運(yùn)用的一個(gè)考驗(yàn),不僅鍛煉了我們綜合運(yùn)用能力,還培養(yǎng)了學(xué)習(xí)興趣,使學(xué)習(xí)不會(huì)那么枯燥,提高了教學(xué)質(zhì)量,對(duì)學(xué)生的理解有著很大的幫助,對(duì)我們以后的工作、學(xué)習(xí)、生活起到了積

119、極作用。更主要的是,通過這次課程設(shè)計(jì)體驗(yàn)到了自己動(dòng)手的樂趣,學(xué)習(xí)到了合作的重要性,更培養(yǎng)了自己謹(jǐn)慎與認(rèn)真的品質(zhì)。其實(shí)如何有效和快速的找到資料也是課設(shè)給我的啟發(fā),利用好圖書館和網(wǎng)絡(luò),是資源的到最好的利用。與他人交流思想是取得成功的關(guān)鍵,在交流中,不僅強(qiáng)化了自己原有的知識(shí)體系,也擴(kuò)展了自己的思維。課設(shè)是一個(gè)通過思考、發(fā)問、自己解惑并動(dòng)手、提高的過程。我會(huì)在以后的學(xué)習(xí)中不斷學(xué)習(xí),積累經(jīng)驗(yàn),完善自己。</p><p> 

120、 感謝老師為我們組織了這次課程設(shè)計(jì)綜合訓(xùn)練,一方面通過C51單片機(jī)等一些器件的設(shè)計(jì)讓我學(xué)習(xí)和掌握了單片機(jī)技術(shù)的基礎(chǔ)知識(shí)和技術(shù)要點(diǎn),也使以前學(xué)的很多知識(shí)都得到了運(yùn)用;另一方面在用DXP軟件畫電路圖時(shí),然后再轉(zhuǎn)換成一維的WORD中進(jìn)行編輯,這個(gè)過程中讓我掌握了計(jì)算機(jī)輔助的設(shè)計(jì)技術(shù)。當(dāng)然,這是一個(gè)需要不斷的嘗試,不斷的校核,不斷的修改,最后完成一個(gè)合理的設(shè)計(jì)的過程。需要的是細(xì)心和耐心。在很大程度上培養(yǎng)了我拼搏的工作精神。使我受益匪淺,更加明確

121、了自己專業(yè)的方向。</p><p><b>  非常感謝金老師!</b></p><p><b>  附錄 系統(tǒng)源程序</b></p><p>  #include "reg52.h"</p><p>  #include "intrins.h"

溫馨提示

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