單片機課程設計---溫度測試系統(tǒng)設計_第1頁
已閱讀1頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25、數(shù)的正負溫度。零下時:1顯示負號,2顯示十位,3顯示個位,4顯示小數(shù)位。零上時:1顯示百位,2顯示十位,3顯示個位,4顯示小數(shù)位。當溫度超過109.5或低于49.5時,四個數(shù)碼閃爍。</p><p><b>  圖8 總體電路 </b></p><p><b>  四 軟件設計</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 ;調用讀溫度子程序</p><p>  LCALL

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

30、,由上拉電阻拉高15~60μs;然后再由DS18B20發(fā)出低電平60~240μs,就完成了復位操作。</p><p>  DS18B20復位初始化子程序</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回應</p><p>  DJNZ R0,DU_2</p><p>  LJMP DU_4 ;延時</p><p>  DU_3: SETB F0 ;置標志位,表示DS1820存在</p><p><b>  LJMP DU_5</b>&l

34、t;/p><p>  DU_4: CLR F0 ;清標志位,表示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ù)之前,單片機先將數(shù)據(jù)線拉低,再釋放。DS18B20在數(shù)據(jù)線從高電平跳低后15μs內將數(shù)據(jù)送到數(shù)據(jù)線上。單片

36、機在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>  ;讀出后轉換的溫度值</p><p>  ZHUANHUAN: LCALL INIT_1820 ;先復位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ā)出溫度轉換命令</p><p>  LCALL WRITE_182

43、0</p><p>  LCALL DISPLAY ;等待AD轉換結束</p><p>  LCALL INIT_1820 ;準備讀溫度前先復位</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>  在單片機對DS18B20寫數(shù)據(jù)時,應先將數(shù)據(jù)線拉低1μs以上,再寫入數(shù)據(jù)(寫1為高,寫0為低)。待單片機寫入的數(shù)據(jù)變化15~60μs后,DS18B20將對數(shù)據(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八位求補;對高、低8位的數(shù)據(jù)按權整合稱一個整數(shù),判斷是否在-50~110℃之間,否則停留在-50℃或110℃;將該數(shù)按百、十、個位分別存入相應的存儲單元。流程圖如圖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ù),權重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ù),權重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ù)查表,送到對應的數(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ù)點</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>  五 課程設計體會</b></p><p>  這一個禮拜的單片機課程設計已接近尾聲,回顧這個過程,收獲頗多!在本次設計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設計但這次

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

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

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

75、 六 參考文獻</b></p><p> ?。?]楊居義. 單片機課程設計指導. 北京:清華大學出版社.2009年9月</p><p> ?。?]李廣弟. 單片機基礎. 北京:北京航空航天大學出版. 2007年5月</p><p> ?。?]閻石. 單片機技術與應用基礎.北京:高等教育出版社.2006年7月</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

提交評論