數(shù)字溫度計-單片機課設(shè)(真實的匯編程序和proteus仿真)_第1頁
數(shù)字溫度計-單片機課設(shè)(真實的匯編程序和proteus仿真)_第2頁
數(shù)字溫度計-單片機課設(shè)(真實的匯編程序和proteus仿真)_第3頁
數(shù)字溫度計-單片機課設(shè)(真實的匯編程序和proteus仿真)_第4頁
數(shù)字溫度計-單片機課設(shè)(真實的匯編程序和proteus仿真)_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

ISOfi

BeijingJiaotongUniversity

微機原理課程設(shè)計報告

溫度計

姓名:WW

學號:

班級:電氣1005

學院:電氣工程學院

合作者:WY

上課教師:楊少兵

指導老師:

時間:2013年3月20日

微機原理課程設(shè)計成績評定表

姓名

學號10291150

課程設(shè)計題目:

溫度計

課程設(shè)計答辯或提問記錄:

成績評定依據(jù):

課程設(shè)計預習報告及方案設(shè)計情況(30%):

課程設(shè)計考勤情況(15%):

課程設(shè)計調(diào)試情況(30%):

課程設(shè)計總結(jié)報告與答辯情況(25%):

最終評定成績(以優(yōu)、良、中、及格、不及格評定)

指導教師簽字:

2013年3月20日

微機原理課程設(shè)計任務(wù)書

學生姓名:指導教師:王健強

一、課程設(shè)計題目

數(shù)字溫度計

選用溫度傳感器AD590實現(xiàn)溫度采集、攝氏溫度顯示,溫度精度達到0.1度,測量范圍零下

10度到零上100度。

二、課程設(shè)計要求

根據(jù)具體設(shè)計課題的技術(shù)指標和給定條件,獨立進行方案論證和電路設(shè)計,要求概念清楚、方案合理、方法正確、步驟完整;

查閱有關(guān)參考資料和手冊,并能正確選擇有關(guān)元器件和參數(shù),對設(shè)計方案進行仿真;

完成預習報告,報告中要有設(shè)計方案,設(shè)計電路圖,還要有仿真結(jié)果;

進實驗室進行編程和電路調(diào)試,邊調(diào)試邊修正方案;

撰寫課程設(shè)計報告一一最終的電路圖、調(diào)試過程中遇到的問題和解決問題的方法。

三、進度安排

1.時間安排

序號

內(nèi)容

學時安排(天)

1

方案論證和系統(tǒng)設(shè)計

1

2

完成電路仿真,寫預習報告

1

3

電路調(diào)試

2

4

寫設(shè)計總結(jié)報告與答辯

1

合計

5

設(shè)計調(diào)試地點:電氣樓406

2?執(zhí)行要求

課程設(shè)計共多個選題,每組不得超過2人,要求學生在教師的指導下,獨力完成所設(shè)計的詳細電路(包括計算和器件選型)。嚴禁抄襲,嚴禁兩篇設(shè)計報告雷同。

摘要

隨著時代的進步和發(fā)展,單片機技術(shù)已經(jīng)普及到我們生活、工作、科研、各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù)。本文主要介紹了一個基于STC89C52單片機的測溫系統(tǒng),詳細描述了利用溫度傳感器AD590開發(fā)測溫系統(tǒng)的過程,重點對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進行了詳盡分析,對各部分的電路也一一進行了介紹,該系統(tǒng)可以方便的實現(xiàn)實現(xiàn)溫度采集和顯示。

它使用起來相當方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點,適合于我們?nèi)粘I詈凸ぁ⑥r(nóng)業(yè)生產(chǎn)中的溫度測量,也可以當作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展°AD590、ADC0832與STC89C52結(jié)合實現(xiàn)最簡溫度檢測系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強,適合于惡劣環(huán)境下進行現(xiàn)場溫度測量,有廣泛的應(yīng)用前景。

關(guān)鍵詞:

單片機;溫度檢測;溫度傳感器;數(shù)字顯示;模數(shù)轉(zhuǎn)換

Abstract

Withtheprogressanddevelopmentofthetimes,theMicrocontrollertechnologyhasspreadtothewaywelive,work,researchinvariousfields,hasbecomearelativelymaturetechnology,thispaperdescribesaTemperatureMeasurementSystemBasedonSTC89C52detaileddescriptionoftheuseoftemperaturesensorAD590temperaturemeasurementsystemdevelopmentprocess,focusingonthehardwareconnectionofthesensorundertheSCM,softwareprogramming,aswellasthemodulesystemprocessescarriedoutadetailedanalysisofthevariouspartsofthecircuitareintroducedonebyone,thesystemiseasytoachieveacquisitionanddisplayoftemperature.

itisveryconvenienttouse,withhighprecision,widerange,highsensitivity,smallsize,lowpowerconsumption,suitableinourdailylifeandwork,thetemperaturemeasurementinagriculturalproduction,canalsobeusedasatemperaturetheprocessingmoduleisembeddedintheothersystems,astheauxiliaryexpansionofotherprimarysystem.AD590,ADC0832andSTC89C52mostsimpletemperaturedetectionsystem,thesystemissimple,stronganti-jammingcapability,suitableforharshenvironmentsspottemperaturemeasurement,thereisawiderangeofapplicationprospects.

Keywords:

Microcontroller;temperaturedetection;temperaturesensor;digitaldisplay;analog-to-digitalconversion

目錄

TOC\o"1-5"\h\z

1緒論7

研究的目的及意義

1.2主要研究方向和要求

2方案設(shè)計9

基本元器件管腳圖與功能表

設(shè)計思路和原理

方案設(shè)計和選擇

3基于Proteus仿真設(shè)計17

3.1仿真電路設(shè)計

3.2仿真總結(jié)

仿真結(jié)果與分析

4匯編編程與元件的安裝及調(diào)試19

匯編語言簡介

溫度計實驗程序

實物顯示效果

5基于Protel99se設(shè)計PCB印制電路26

ProtelPCB圖繪制

6課程設(shè)計總結(jié)27

課程設(shè)計過程中遇到的問題及解決途徑

課程設(shè)計體會與心得

7參考文獻28

8附錄29

附錄1:元器件清單

附錄2:wave6000簡介

第一章緒論

研究目的及意義

隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活提供更好的更方便的設(shè)施就需要從單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展?,F(xiàn)代社會對各種信息參數(shù)的準確度和精確度的要求都有了幾何級的增長,而如何準確而又迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信息基礎(chǔ)的發(fā)展水平。在三大信息信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計算機技術(shù))中,傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器技術(shù),在我國各領(lǐng)域已經(jīng)引用的非常廣泛,可以說是滲透到社會的每一個領(lǐng)域,人民的生活與環(huán)境的溫度息息相關(guān),在工業(yè)生產(chǎn)過程中需要實時測量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開溫度的測量,因此研究溫度的測量方法和裝置具有重要的意義。

測量溫度的關(guān)鍵是溫度傳感器,溫度傳感器的發(fā)展經(jīng)歷了三個發(fā)展階段:①傳統(tǒng)的分立式溫度傳感器②模擬集成溫度傳感器③智能集成溫度傳感器。目前的智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀90年代中期問世的,它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)(ATE)的結(jié)晶,特點是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU)。社會的發(fā)展使人們對傳感器的要求也越來越高,現(xiàn)在的溫度傳感器正在基于單片機的基礎(chǔ)上從模擬式向數(shù)字式從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展,并朝著高精度、多功能、總線標準化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。

本文將介紹智能集成溫度傳感器AD590的結(jié)構(gòu)特征及控制方法,并對以此傳感器,STC89C52單片機為控制器構(gòu)成的數(shù)字溫度測量裝置的工作原理及程序設(shè)計作了詳細的介紹。與傳統(tǒng)的溫度計相比,其具有讀數(shù)方便,測溫范圍廣,測溫準確,輸出溫度采用數(shù)字顯示,主要用于對測溫要求比較準確的場所,或科研實驗室使用。該設(shè)計控制器使用STC公司的STC89C52單片機,測溫傳感器使用AD公司AD590,用數(shù)碼管來實現(xiàn)溫度顯示.

主要研究方向和要求

方向:溫度采集和轉(zhuǎn)換技術(shù)研究+數(shù)字電路技術(shù)研究+模擬放大顯示技術(shù)研究要求:1.用AD590與電阻組成的溫度采集電路產(chǎn)生變化的電壓信號;2.ADC0832和運算放大器組成模數(shù)轉(zhuǎn)換電路產(chǎn)生0-255數(shù)字信號;3.最后經(jīng)過單片機算法處理輸出攝氏溫度顯示,溫度精度達到0.1度,測量范圍零下10度到零上100度;

4.器件:功率集成電路+分立元件;

5.仿真設(shè)計,程序編寫與硬件調(diào)試。

第二章系統(tǒng)方案設(shè)計

2?1基本元器件管腳圖與功能表

溫度傳感器AD590

<1>AD590是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流傳感器,是一種已經(jīng)IC化的溫度感測器,它會將溫度轉(zhuǎn)換為電流。其規(guī)格如下:

a、度每增加1°C,它會增加l^A輸出電流

b、可測量范圍-55C至150C

c、供電電壓范圍+4V至+30V,可以承受44V正向電壓和20V反向電壓,

因而器件即使反接也不會被損壞;

<2>AD590管腳圖及元件符號

<3>AD590工作原理

AD590相當于一個溫度控制的恒流源,輸出電流大小只與溫度有關(guān),且與溫度成正比。只需一個精密電阻,就可以將電流(溫度)信號轉(zhuǎn)化為電壓信號,總的靈敏度系數(shù)通過該電阻設(shè)定。AD590的溫度系數(shù)是1UA/K,即溫度每增加1K,它會增加5A輸出電流。其輸出電流是以絕對溫度零度-273C為基準,每增加1C,它會增加1口A輸出電流,因此0C到100C時AD590輸出電流為273口A到373口

A。

<4>電流-電壓轉(zhuǎn)換電路

電壓-電流

轉(zhuǎn)換電路

圖中,AD590輸出端輸出電流,經(jīng)過10K的電阻,轉(zhuǎn)換為電壓值。OPO7為一射極跟隨器,A=1,用于提高輸入阻抗。兩個二極管用于隔離干擾。電流■電壓轉(zhuǎn)換公式如下:

AD590的靈敏度:1卩A/K

經(jīng)過10K電阻后:1卩A/K?1Ok0二10mV/K具體溫度-電壓值對應(yīng)如下表

攝氏溫度/°c

AD590電流/口A

經(jīng)10KQ電壓/V

0

273.2

2.732

10

283.2

2.832

20

293.2

2.932

30

303.2

3.032

40

313.2

3.132

50

323.2

3.232

60

333.2

3.332

100

373.2

3.732

(2)模擬轉(zhuǎn)數(shù)字ADC0832

ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉(zhuǎn)換時間僅為32?S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快且穩(wěn)定性能強。

通過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。

CS片選使能,低電平芯片使能,CH0模擬輸入通道0,CH1模擬輸入通道1,GND芯片參考0電位(地)DI數(shù)據(jù)信號輸入,選擇通道控制,DO數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出,CLK芯片時鐘輸入,Vcc/REF電源輸入及參考電壓輸入。

ADC0E322-ChannelMUXDual-In-LinePackage(M)

引腳功能說明:

CS_片選使能,低電平芯片使能。

CH0模擬輸入通道0,或作為IN+/-使用。

CHQ—Is/I—CLK

匚H1—liel—DO

GND—1+&l—DI

CH1模擬輸入通道1,或作為IN+/-使用。

GND芯片參考0電位(地)。

10

comintemairyconnentedidgnd.VrepIntemaltymxinEctecflto甲gTUp訕BW

DI數(shù)據(jù)信號輸入,選擇通道控制。

DO數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。

CLK芯片時鐘輸入。

Vcc/REF電源輸入及參考電壓輸入(復用)

輸入格式

配置位

選擇通道號

CH0

CH1

CH0

CH1

差分

L

L

+

L

H

+

單端

H

L

+

H

H

+

當ADC0832未工作時其CS輸入端應(yīng)為高電平,此時芯片禁用,CLK和DO/DI的電平可任意。當要進行A/D轉(zhuǎn)換時,須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第1個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應(yīng)輸入2位數(shù)據(jù)用于選擇通道功能,當此2位數(shù)據(jù)為“1”、

“0”時,只對CH0進行單通道轉(zhuǎn)換。當2位數(shù)據(jù)為“1”、“1”時,只對CH1進行單通道轉(zhuǎn)換。到第3個脈沖的下沉之后DI端的輸入電平就失去輸入作用,此后DO/DI端則開始利用數(shù)據(jù)輸出DO進行轉(zhuǎn)換數(shù)據(jù)的讀取。從第4個脈沖下沉開始由DO端輸出轉(zhuǎn)換數(shù)據(jù)最高位DATA7,隨后每一個脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個脈沖時發(fā)出最低位數(shù)據(jù)DATA0,一個字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個相反字節(jié)的數(shù)據(jù),即從第11個字節(jié)的下沉輸出DATA0。隨后輸出8位數(shù)據(jù),到第19個脈沖時數(shù)據(jù)輸出完成,也標志著一次A/D轉(zhuǎn)換的結(jié)束。最后將CS置高電平禁用芯片,直接將轉(zhuǎn)換后的數(shù)據(jù)進行處理就可以了。

本次實驗中我們使用CH1通道輸入模擬信號,因此實驗中控制ADC0832的時序圖如下:

選擇CH0M道CI.K與1〕1吋序圖

第二牛時

第五卜時

CLK

箒二牛時

鐘W討血鐘匚右

|}|

單片機STC89C52

STC89C52管腳圖:

P1,0C

Pl.1匚

FL2C

P1,3C

Pi.4C

MOSI/PL5C

HISO/Pl,SC

SCK/P1.7C

RSTE

RXD/P3.0C

TXD/P3.1C

IET0/P3.2t

IHT1/P3.3C

T0/T3.4C

Tl/P3+5C

?/P3.6C

M/P3+7C

XTAL2C

XTAL1C

PDIP&HD匚

VCC:供電電壓。

GND:接地。

1

5

2

39

3

38

37

5

36

10

35

34

33

32

31

11

30

12

29

13

28

14

27

15

26

16

25

17

24

1::!

23

19

22

20

21

JVcc

Ft).O/ADO

3P0+1ZAD1

PO,2/AP2

PO.3/AD3

3P0.4/AD4

3PO,5/AD5

3P0.6/AB6

3阻7/AD7

EAZVPP

ALE/FRO&

3PESH

3P2.7/A15

3P2.6ZA14

F2.5/A13

P2.4/A12

bP2.3ZA11hP2.2/A10

P2.1/A9

3P2+0/A8

PO口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。

P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。

P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。

P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向1/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。

P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳備選功能

P3.0RXD(串行輸入口)

P3.1TXD(串行輸出口)

P3.2/INT0(外部中斷0)

P3.3/INT1(外部中斷1)

P3.4T0(記時器0外部輸入)

P3.5T1(記時器1外部輸入)

P3.6/WR(外部數(shù)據(jù)存儲器寫選通)

P3.7/RD(外部數(shù)據(jù)存儲器讀選通)

P3口同時為閃爍編程和編程校驗接收一些控制信號。

RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。

ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。

PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。

EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不

管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。

XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。

XTAL2:來自反向振蕩器的輸出。

(4)八雙向總線發(fā)送器\接收器(3態(tài))74HC245

74HC245總線驅(qū)動器,典型的TTL型三態(tài)緩沖門電路,其作用為,信號功率放大。74HC245管腳圖:74HC245引腳定義:

第1腳DIR,為輸入輸出端口轉(zhuǎn)換用,DIR=“1”高電平時信號由“A”端輸入“B”端輸出,DIR二“0”低電平時信號由“B”端輸入“A”端輸出。

第2~9腳“A”信號輸入輸出

:_-■kwLLJ「ATlA空Z

鼻fflseu£□m

LD

r-Z旳|:寸jLTi回?|也||5殳

r>■"燈LEEp?GLQEr"l

=<<<<4

3z

端,A1二B1、、、、、A8=B8,A1與B1是一組,如果DIR二“1”O(jiān)E二“0”則A1輸入

B1輸出,其它類同。如果DIR二“0”0E二“0”則B1輸入A1輸出,其它類同。第11~18腳“B”信號輸入輸出端,功能與“A”端一樣。

第19腳OE,使能端,若該腳為“1”A/B端的信號將不導通,只有為“0”時A/B端才被啟用,該腳也就是起到開關(guān)的作用。

第10腳GND,電源地;第20腳VCC,電源正極。實驗過程中我們使用的為從“A”到“B”傳輸數(shù)據(jù)。

⑸數(shù)碼管

LED數(shù)碼管中各段發(fā)光二極管的伏安特性和普通二極管類似,只是正向壓降較大,正向電阻也較大。在一定范圍內(nèi),其正向電流與發(fā)光亮度成正比。由于常規(guī)的數(shù)碼管起輝電流只有1?2mA,最大極限電流也只有10?

30mA,所以它的輸入端在5V電源或高于TTL高電平(3.5V)的電路信號相接時,一定要串加限流電阻,以免損壞器件。

設(shè)計思路和原理

1.基本設(shè)計思路

本實驗要求溫度計的范圍-10°C?100°C,并且顯示一位小數(shù),所以我們需要四個LED,前兩個顯示溫度的整數(shù)部分,第三個顯示小數(shù)部分,最后一個顯示符號。根據(jù)給出的元件,我們用AD590做溫度傳感器,可以把絕對溫度轉(zhuǎn)換成電壓電流信號。

把得到的電壓電流信號輸入ADC0832以后得到數(shù)字信號,即為要采樣接收的數(shù)據(jù),根據(jù)要求,所測溫度為-10C?100C,則溫度每變化一攝氏度輸出電壓變化10mv,又根據(jù)0度時輸出電壓為2.73V得出電壓的變化范圍是2.63V-3.73V。0度采集到的數(shù)據(jù)為:

2.73*255/5=139

100度采集到的數(shù)據(jù)為:

3.73*255/5=190

那么實際的溫度計算公式為:(采集到的數(shù)據(jù)-139)*5*100/255。

溫度為正時:高八位放在B中,除以10得到的商為十位數(shù),余數(shù)為各位;低八位放在A中,除以10,商為第一位小數(shù)。

溫度為負值:高八位的數(shù)小于10放在個位數(shù)字,十位數(shù)顯示符號,得到的低八位放在A中,,除以10,商為第一位小數(shù)。

由此就得到了所要顯示的溫度。

第一個LED的字形地址偏移量放在20H,將20H送入P0.5;第二個LED的字形地址偏移量放在21H,將21H送入P0.4;第三個LED的字形地址偏移量放在22H,將22H送入P0.3;第四個LED的字形地址偏移量放在23H,將23H送入P0.2。

電路板連接如下圖:

AD590

10kQ電阻

ADC0832

8051單片機—

4個數(shù)碼顯示管

由此得到的整體框架圖為:

I>初始化I〉

AD采樣=>

八位數(shù)據(jù)

溫度顯示

數(shù)值轉(zhuǎn)化

2.3方案設(shè)計和選擇

溫度采集處理模塊

RP2

RESPACK-S

李01

10A05

ZKD2

1DAK

VCC

A

^44&

(2)數(shù)據(jù)算法處理輸出模塊

第三章基于Proteus仿真設(shè)計

3.1仿真電路設(shè)計

U3

13

17

16

15

J4

it

Z5

V

PR.i:iLiFm^¥¥J3.HEX

-1EKT>

J1

ezbxuP27iR1£

O10

3

PDII'AID

HPlDS

3Dataz沖

FECCEFGDF

XTA12

BTESjSI

pa^Aizpn^Aii

PDMJU*FO^XIf網(wǎng)於眄FD.KAIT

PZ.IM

P2ZX1D

PZ3W1

PZ.4^.12

PZfiW.13

?3£|'1>:0ph?pa^liTEl

P33TjiTT

P3.IHT]P3J^ri

phti'Wt

■3

□a

■j

|3

■3

in

IT

13

15

Til

FF

RB8F/CK-3

VDC

Wi£:tt=32

uTEE3

AEi'TE

h畑5^IDCD

3

Z~

1

pEm

亠C4

U.fJl

?m

ZKD1口心L=TS7=-

SD2

U2

QFT1耶

□EG

開H

3.2仿真總結(jié)

用Proteus仿真模擬電路的效果總體來說是非常不錯的,但也存在一些軟件的不足之處,比如說沒有AD590這個器件,需要用一個滑動變阻器來代替。相比之前自己做的仿真,我覺得本次實驗讓我最大的收獲就是學會了編寫輸入芯片程序可以在仿真上大概查到程序的一些顯示錯誤。不用自己每天占著學院的電腦苦苦嘗試。本次實驗仿真的制作還是很順利的,調(diào)試的過程最令人痛苦。

3.3仿真結(jié)果與分析

(1)零下溫度顯示

制作人:丄偉10291150電氣1005^.于.翔10291151

D1

U5

KTS'1

」±說一丄晉

j.nrai

man

RVUH

-W4J-J-EA

F3J1W

EJig

E屮A

K.g

EJW>'

F3.'ILaJ

F33LF.*1

F2H

EQMill

F3.*W,

(2)零上溫度顯示

II

c

2

礙mu.

T

V

1

2

ZK

'c

T

D-1tM■T&fn

fiX:i::

i

王偉10291150

三穎W291151

制作人;

iSTTAil

mi?Ann

PD.YJU1

XTA12

pn¥MTi

陽.MJdh

PELW.5

HST

anWyr?

rzw

fsbt恵l£

PZ^¥*JC

PZifui

日.

FEjfiffU?

P7/MUC

HOKXi

M2

F-j.frT

F-l/L

FldTT

F-IJE

MJ

FJ3TPfo.胡n

P37rw

>■

FPj:ii?l.4.b.iX>4l€K

F1

■IE

■I『

ctIG

X

、

b^kd'1

_

■J?

on

第四章匯編編程與元件的安裝及調(diào)試

4.1匯編語言介紹

本次設(shè)計軟件采用匯編語言進行編程。匯編語言是一種功能很強的程序設(shè)計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。匯編語言,作為一門語言,對應(yīng)于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機器可執(zhí)行的代碼。高級的匯編器如MASM,TASM等等為我們寫匯編程序提供了很多類似于高級語言的特征,比如結(jié)構(gòu)化、抽象等。在這樣的環(huán)境中編寫的匯編程序,有很大一部分是面向匯編器的偽指令,已經(jīng)類同于高級語言?,F(xiàn)在的匯編環(huán)境已經(jīng)如此高級,即使全部用匯編語言來編寫windows的應(yīng)用程序也是可行的,但這不是匯編語言的長處。匯編語言的長處在于編寫高效且需要對機器硬件精確控制的程序。

匯編語言直接同計算機的底層軟件甚至硬件進行交互,它具有如下一些優(yōu)點:

能夠直接訪問與硬件相關(guān)的存儲器或I/O端口;

能夠不受編譯器的限制,對生成的二進制代碼進行完全的控制;

能夠?qū)﹃P(guān)鍵代碼進行更準確的控制,避免因線程共同訪問或者硬件設(shè)備共享引起的死鎖;

能夠根據(jù)特定的應(yīng)用對代碼做最佳的優(yōu)化,提高運行速度;

能夠最大限度地發(fā)揮硬件的功能。

同時還應(yīng)該認識到,匯編語言是一種層次非常低的語言,它僅僅高于直接手工編寫二進制的機器指令碼,因此不可避免地存在一些缺點:

編寫的代碼非常難懂,不好維護;

很容易產(chǎn)生bug,難于調(diào)試;

只能針對特定的體系結(jié)構(gòu)和處理器進行優(yōu)化。

4.2溫度計實驗程序:

AD0832DIBITP3.0;偽指令

AD0832DOBITP3.1

AD0832CSBITP3.3

LED1

EQU20H

;第一個LED的字形地址偏移量放在20H

LED2

EQU21H

;第二個LED的字形地址偏移量放在21H

LED3

EQU22H

;第三個LED的字形地址偏移量放在22H

LED4

EQU23H

;第四個LED的字形地址偏移量放在23H

AD0832CLKBITP3.2

ORG0000H

LJMPMAIN

ORG0030H

MAIN:MOVSP,#6FH

MOVR4,#5

H:LCALLADC0832

LCALLDELAY

LCALLBCD

LP:LCALLDISPLAY

DJNZR4,LP

SJMPH

ADC0832:

SETBAD0832DI

CLRAD0832CLK

NOP

NOP

CLRAD0832CS

NOP

NOP

SETBAD0832CLK

NOP

NOP

;顯示五次程序

;調(diào)用AD轉(zhuǎn)換程序

;調(diào)用數(shù)值轉(zhuǎn)換程序

;調(diào)用顯示程序

;初始化通道選擇,起始信號,DI高電平

;時鐘低電平

;一個是12個機器周期

;拉低/CS端

;拉高CLK端

AD1:

CLRAD0832CLK

SETBAD0832DI

NOP

NOP

SETBAD0832CLK

NOP

NOP

CLRAD0832CLK

CLRAD0832DI

NOP

NOP

SETBAD0832CLK

NOP

NOP

CLRAD0832CLK

SETBAD0832DI

NOP

NOP

MOVR5,#8

;拉低CLK端,形成下降沿

;拉高CLK端

;拉低CLK端,形成下降沿2

;1-0選擇1通道

;拉高CLK端

;拉低CLK端,形成下降沿3

;準備送下后8個時鐘脈沖

MOVC,AD0832DO

MOVACC.0,C

RLA

SETBAD0832CLK

NOP

NOP

CLRAD0832CLK

;第四個脈沖下沉后開始接收數(shù)據(jù)

;左移一次

;形成一次時鐘脈沖

NOP

;(139-x)*5

;最高位顯示負號

;顯示個位

NOP

DJNZR5,AD1

;循環(huán)7次

MOVC,AD0832DO

MOVACC.0,C

;接收數(shù)據(jù)

SETBAD0832CS

;拉高/cs端

CLRAD0832CLK

;拉低CLK端

SETBAD0832DO

;拉高數(shù)據(jù)端,回到初始狀態(tài)

ADDA,#10

;參數(shù)調(diào)整

MOV30H,A

RET

;數(shù)據(jù)放在30H

BCD:CLRC

sUBBA,#139

;與0攝氏度作判斷

JNCABOVE0

;有借位往下執(zhí)行,沒有借位跳轉(zhuǎn)ABOVEO

BELLOW0:

MOVA,#139

SUBBA,30H

MOVB,#51

MULAB

MOVB,#10

MULAB

MOVR1,A

MOVA,B

MOVB,#10

DIVAB

MOVLED1,#0AH

MOVLED2,B

MOVA,R1

MOVB,#26

DIVAB

MOVLED3,A

MOVLED4,#0BH

RET

ABOVE0:

MOVB,#05H

MULAB

MOVB,#64H

MULAB

MOVR1,A

MOVA,B

MOVB,#0AH

DIVAB

MOVLED1,A

MOVLED2,B

MOVA,R1

MOVB,#1AH

DIVAB

MOVLED3,A

MOVLED4,#0BH

RET

DISPLAY:

SETBP0.3

SETBP0.4

SETBP0.5

MOVDPTR,#TAB

MOVA,20H

MOVCA,@A+DPTR

MOVP2,A

;顯示第一位小數(shù)

;(x-139)*5

;低八位給R1

;高八位給A

;顯示十位

;顯示個位

;x/26把0-255的數(shù)轉(zhuǎn)換為0-9的數(shù)

;顯示第一位小數(shù)

;顯示子程序

;LED1

;查字形表

;P2口作字形,P0口做字位

;開

;關(guān)

;LED2:個位

;查字形表

;LED3:第一位小數(shù)

;查字形表

CLRP0.5

LCALLDELAY

SETBP0.5

MOVDPTR,#TAB

MOVA,21H

MOVCA,@A+DPTR

MOVP2,A

SETBP2.7

CLRP0.4

LCALLDELAY

SETBP0.4

MOVDPTR,#TAB

MOVA,22H

MOVCA,@A+DPTR

MOVP2,A

CLRP0.3

ACALLDELAY

SETBP0.3

MOVDPTR,#TAB

MOVA,23H;LED4:符號

MOVCA,@A+DPTR;查字形表

MOVP2,A

CLRP0.2

ACALLDELAY

SETBP0.2

RET

DELAY:MOVR7,#10;延時1ms

LP1:MOVR6,#50

LP2:DJNZR6,LP2

DJNZR7,LP1

RET

TAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H,63H

RET

END

■■Jk.I

ZUPAI9ZUPAI9

I'——-i-^ld

二"汕

5HHZ

R5f^+_■■■M-“

RADI-<

LJMet

15P15P

C2.

104*-

3CBD1

8\H.8.

GV

03311

iI

QQQ

VI2

-12

GND

ucc

2八Qg。i-t-USLLU6

第五章基于Protel99se設(shè)計PCB印制電路

Ku円円

5.1ProtelPCB圖繪制

丿,、\~~Mf7'

第六章課程設(shè)計總結(jié)與建議

6.1課程設(shè)計過程中遇到的問題及解決途徑

序號

遇到的問題

解決途徑

1

不清楚實物連接圖

肉眼觀察以及用萬用表測量畫出電路圖

2

不了解AD590的具體參數(shù)

通過上網(wǎng)杳找相關(guān)資料

3

不會編寫ADC0832啟動和數(shù)據(jù)傳送程序

上網(wǎng)查找資料并分析它的時序圖,最后參考相關(guān)例子改編成功

4

不會控制小數(shù)點的顯示

詢問老師得知可以直接置1得到,不用重新編寫字形表

5

顯示總是抖動

在AD轉(zhuǎn)換后增加一個延時后再處理

6

顯示示數(shù)在不冋仿真器頭下發(fā)生突變成80多度

坑了一上午,各種軟硬件檢驗,結(jié)果換臺電腦好了,發(fā)現(xiàn)是仿真器頭壞了

7

燒錄單片機芯片里發(fā)現(xiàn)顯示有一位不亮

換了一塊單片機芯片解決掉,原因不明,可能是原來的芯片壞了

課程設(shè)計體會與心得單片機課設(shè)使我學到了很多,在做實驗之前,我們查找了很多相關(guān)的資料,認真的閱讀了課本,并且在網(wǎng)上也認真的翻閱了很多的資料,了解了各種原器件的工作原理以及控制過程,準備工作做了很多,但是在調(diào)試的過程中還是遇到了很多的問題,比如說溫度達不到要求的高度和準確度,還有溫度顯示不穩(wěn)定,總是閃動等,并且在實驗中由于操作不慎導致芯片燒壞,但是經(jīng)過我們請教老師和同學,以及自己不斷地調(diào)試檢查,最終把這些問題解決了,這次的單片機課程設(shè)計不僅加深了對單片機基礎(chǔ)知識的理解與記憶,還鍛煉了自己的動手調(diào)試能力和實際操作能力,做到了理論與實際有效的相結(jié)合。

通過這次課程設(shè)計,我對ADC0832的結(jié)構(gòu)有了全面的認識,也對運用匯編語言編程的能力和整體掌握有了大幅度的提升。而此次課設(shè)對我最大的提高在于對未知知識的搜集、掌握和運用過程。

如溫度傳感器是輸出電流的,A/D轉(zhuǎn)換是用ADC0832的,他們之間需要用10kQ電阻作相應(yīng)轉(zhuǎn)換。最關(guān)鍵的就在于對ADC0832的掌握。因為單片機課上主要講授了ADC0809,所以我們上網(wǎng)查到相關(guān)芯片的資料,得知ADC0832的數(shù)字量輸出與AD0809的并行輸出不同,是串行輸出的,所以應(yīng)該將其輸出量在P3.1口輸入到單片機。而且它的選口、輸輸出都要在外部輸入的時鐘下降沿的時候讀寫,時鐘信號還需要外部給定,所以它的CLK口要與P3.2口相連。ADC0832在數(shù)據(jù)傳輸前要在Din中輸入起停位和配置位,以設(shè)定ADC0832的工作模式,這三位數(shù)據(jù)也可通過移位輸入。由于ADC0832的輸入在CH0口,輸出為單端輸出,所以配置位為10(B)。

有了總體思路后我們開始著手分塊編寫程序,編譯無誤后就到實驗室進行了實驗仿真。不管之前怎樣全面思考,實驗過程中還是會出現(xiàn)意想不到的問題。實驗過程中AD590輸出的電流變化范圍沒有設(shè)計的那么大,即使將1kQ電位器調(diào)到最大也不能將顯示的室溫調(diào)至準確。所以我們對程序進行了進一步修改,將輸入的數(shù)值做了一定比例的放大,并做了一些誤差調(diào)整,最終實現(xiàn)了室溫時顯示21-26度,用打火機烤AD590之后最大顯示數(shù)值度能超過100(即在99.99之后又從0.00開始顯示),最終做出的溫度計量程為0°C到100°C左右。

總的來說,這樣的課設(shè)總是比較有趣,富有挑戰(zhàn)性而又不枯燥,非常吸引人,對我個人來說試一次絕佳的鍛煉機會,既能進一步鞏固專業(yè)知識,增強專業(yè)基礎(chǔ),又能提高動手能力,使自己對實驗調(diào)試的方法更加熟練。如果以后還能有機會接觸此類實驗的話,我一定會倍加珍惜的。

最后,感謝老師給了我們這個提高和鍛煉自己的機會,同時感謝老師百忙之中給我們指點和驗收,謝謝老師。

參考文獻:

胡漢才,單片機原理及其接口技術(shù),清華大學出版社,2010

譚浩強,C程序設(shè)計,清華大學出版社,2010

郭天祥,新概念51單片機C語言教程,電子工業(yè)出版社,2009

康華光,電子技術(shù)基礎(chǔ),高等教育出版社,2005

百度文庫

附錄1:元器件清單

序號

名稱

型號規(guī)格

數(shù)量

1

溫度傳感器

AD590

1個

2

驅(qū)動器

74LS245

2片

3

運算放

溫馨提示

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

最新文檔

評論

0/150

提交評論