九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

大連理工大學(xué)單片機(jī)實(shí)驗報告(共25頁)

上傳人:94****0 文檔編號:46767772 上傳時間:2021-12-15 格式:DOCX 頁數(shù):25 大小:107.64KB
收藏 版權(quán)申訴 舉報 下載
大連理工大學(xué)單片機(jī)實(shí)驗報告(共25頁)_第1頁
第1頁 / 共25頁
大連理工大學(xué)單片機(jī)實(shí)驗報告(共25頁)_第2頁
第2頁 / 共25頁
大連理工大學(xué)單片機(jī)實(shí)驗報告(共25頁)_第3頁
第3頁 / 共25頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《大連理工大學(xué)單片機(jī)實(shí)驗報告(共25頁)》由會員分享,可在線閱讀,更多相關(guān)《大連理工大學(xué)單片機(jī)實(shí)驗報告(共25頁)(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、精選優(yōu)質(zhì)文檔-傾情為你奉上大連理工大學(xué)本科設(shè)計報告題目: 單總線高精度溫度采集系統(tǒng) 課程名稱: 單片機(jī)綜合設(shè)計實(shí)驗 學(xué)院(系): 信息與通信工程學(xué)院 專 業(yè): 電子信息工程 班 級: 電子 學(xué) 號: 學(xué)生姓名: 成 績: 2016 年 5 月 5 日一設(shè)計要求1. 啟動DS18B20進(jìn)行12位高精度環(huán)境溫度采集2. 利用12864LCD屏/數(shù)碼管顯示數(shù)據(jù)3. 具有溫度上限聲光報警器4. 可以通過鍵盤設(shè)定報警上限值(選)二設(shè)計分析及系統(tǒng)方案設(shè)計 通過DS18B20進(jìn)行小數(shù)12位溫度轉(zhuǎn)換、采集,通過單片機(jī)讀取DS18B20采集到的12位溫度值進(jìn)行二進(jìn)制到十六進(jìn)制的轉(zhuǎn)換,利用ZLG7290進(jìn)行八位數(shù)

2、碼管顯示;利用鍵盤進(jìn)入中斷來設(shè)定報警上限,當(dāng)溫度高于上限時進(jìn)入報警子程序。利用SW1進(jìn)入中斷來查看當(dāng)前設(shè)置的溫度報警上下限值,利用ZLG7290和數(shù)碼管來顯示。主程序不斷循環(huán)采集溫度比較,并可隨時進(jìn)入中斷來修改溫度上下限和查看溫度值。三系統(tǒng)電路圖四外圍接口模塊硬件電路功能描述1.DS18B20:用于測定溫度,測量范圍-55+125,分辨率為0.0625,數(shù)據(jù)格式為二進(jìn)制補(bǔ)碼形式。2.ZLG7290B:用于數(shù)碼管動態(tài)顯示驅(qū)動,鍵盤掃描管理。能夠驅(qū)動8位共陰極結(jié)構(gòu)的LED數(shù)碼管或64位獨(dú)立的LED,同時還能掃描管理多達(dá)64個按鍵的掃描識別,其中八個鍵可以作為功能鍵使用。接口采用IC結(jié)構(gòu)。3.蜂鳴器

3、:這里用作報警,為無源蜂鳴器。 五主程序中主要變量定義變量名稱內(nèi)存單元功能TEMPER_L 36H存放溫度低四位TEMPER_H 35H存放溫度高四位TEMPER 34H轉(zhuǎn)換后的溫度值TEMPER_BCD33HBCD形式溫度值TEMPER_NUM 60H溫度值緩沖單元WSLA_7290 70H7290寫控制單元RSLA_7290 71H7290讀控制單元20-27H數(shù)碼管顯示緩沖區(qū)28H存放溫度上限值30-31H存放溫度BCD碼個位十位六系統(tǒng)軟件中各個子程序的功能描述子程序名稱入口參數(shù)出口參數(shù)功能 描述GET_TEMPER無35H,36H讀取18B20的溫度值READ_1820035H,36H

4、無向18b20讀控制字TEMPER_COV35H,36H20H,21H溫度轉(zhuǎn)換成十進(jìn)制BCD碼形式CF無R3,R4拆分子程序,拆分送數(shù)碼管顯示INIT_1820無無溫度傳感器初始化BUZZER 無無無蜂鳴器控制發(fā)聲子程序INT_7290無28H讀取按鍵外部中斷子程序RDKEY無A讀取鍵值子程序DELAY無無延時子程序七主程序程序流程圖8.程序清單(要求打印格式要規(guī)范、重要的語句要有必要的注釋)SDABITP1.0SCLBITP1.1TEMPER_L EQU 36HTEMPER_H EQU 35HTEMPER EQU 34H;轉(zhuǎn)換后溫度值TEMPER_BCD EQU 33H;BCD碼溫度值TEM

5、PER_NUM EQU 60H;緩沖單元WSLA_7290 EQU 70HRSLA_7290 EQU 71HFLAG1 BIT 00HDQ BIT P3.3;總線控制單元ORG0000HLJMPMAINORG0003HLJMPINT_7290ORG0100HMAIN:MOVSP,#70H;ZLG7290復(fù)位CLRP1.7LCALLDELAYSETBP1.7MOV28H,#1EH;溫度上限初始值30度 MOVTMOD,#01H;模式一,16位計數(shù)器SETBEA;允許INTO中斷MODE:JBP1.3,SETTMP;撥碼為0時采集溫度;溫度采集TMP:CLREX0MOV27H,#1FH;tLP1:

6、LCALLGET_TEMPERLCALLTEMPER_COV;7290顯示MOVR7,#08HMOVR0,#20HMOVR2,#10HMOVR3,#WSLA_7290LCALLWRNBYTLCALLDELAYMOVA,TEMPER;判斷溫度上限MOV28H,R5CLRCCJNEA,28H,rel;此處報警溫度為30度rel:JCNETLCALLBUZZER;大于等于時蜂鳴器報警;閃爍MOV28H,#70H;閃爍命令字MOV29H,#7FH;閃爍命令字MOVR7,#02H;設(shè)定數(shù)據(jù)個數(shù)MOVR0,#28H;設(shè)置源數(shù)據(jù)首地址MOVR2,#07H;設(shè)置外圍器件內(nèi)部寄存器首地址MOVR3,#WSLA_

7、7290;設(shè)定外圍器件地址LCALLWRNBYT;調(diào)用顯示子程序LCALLDELAYLJMPNEXTT;設(shè)定溫度上限SETTMP:SETBEX0;7290復(fù)位CLRP1.7LCALLDELAYSETBP1.7;顯示設(shè)定內(nèi)容MOV27H,#0B6H;SMOV26H,#9EH;EMOV25H,#1FH;T.MOVR7,#03HMOVR0,#25HMOVR2,#15HMOVR3,#WSLA_7290LCALLWRNBYTLCALLDELAY SJMP NEXTTNET:MOV28H,#70H;不能閃爍MOV29H,#00HMOVR7,#02HMOVR0,#28HMOVR2,#07HMOVR3,#WS

8、LA_7290LCALLWRNBYTLCALLDELAYNEXTT:CALLDELAYSJMPMODEGET_TEMPER:SETBDQ;定時入口BCD:LCALLINIT_1820 JBFLAG1,S22LJMPBCD;若ds18b20不存在則返回S22:LCALLDELAY1MOVA,#0CCH;跳過rom匹配0cchLCALLWRITE_1820MOVA,#44H;發(fā)出溫度轉(zhuǎn)換命令LCALLWRITE_1820LCALLDELAYCBA:LCALLINIT_1820JBFLAG1,ABCLJMPCBAABC:LCALLDELAY1MOVA,#0CCH;跳過rom匹配LCALLWRITE_

9、1820MOVA,#0BEH;發(fā)出讀溫度命令LCALLWRITE_1820LCALLREAD_18200RETWRITE_1820:;寫ds18b20程序MOVR2,#8CLRCWR1:CLRDQMOVR3,#6;延時24usDJNZR3,$RRCAMOVDQ,CMOVR3,#23;延時60usDJNZR3,$SETB DQNOPDJNZR2,WR1SETBDQRETREAD_18200:;從1820中讀出兩個字節(jié)溫度數(shù)據(jù)PUSH01HMOVR4,#2MOVR1,#36HRE00:MOVR2,#8RE01:CLRCSETBDQNOPCLRDQNOPNOPSETBDQMOVR3,#2DJNZR3

10、,$MOVC,DQMOVR3,#23HDJNZR3,$RRC ADJNZR2,RE01MOVR1,ADECR1DJNZR4,RE00POP01HRETU8TEMPER_COV:;將讀出的數(shù)據(jù)轉(zhuǎn)換PUSHDPHPUSHDPLPUSH02HMOVA,#0F0HANLA,TEMPER_L;舍去小數(shù)點(diǎn)后的四位SWAPAMOVTEMPER_NUM,AMOVA,TEMPER_HANLA,#07HSWAPAADDA,TEMPER_NUMMOVTEMPER,A;轉(zhuǎn)換成十進(jìn)制數(shù)顯示MOVB,#10DIVABMOV30H,B;個位MOVB,#10DIVABMOV31H,B;十位ANLA,#0FH;百位SWAPAA

11、DDA,BMOVTEMPER_BCD,ALCALLCF2;拆分查表MOV25H,R3MOV26H,R4MOVA,30HANLA,#0FHLCALLCFMOV24H,R3;處理四位小數(shù)位數(shù)據(jù)MOVA,TEMPER_LANLA,#0FH;取低四位數(shù)據(jù)MOVB,#02HMULAB;字節(jié)轉(zhuǎn)為字MOVDPTR,#NUMSEGMOVCA,A+DPTRMOVTEMPER_BCD,ALCALLCF2MOV22H,R3MOV23H,R4MOVA,TEMPER_LANLA,#0FHMOVB,#02HMULABINCAMOVCA,A+DPTRMOVTEMPER_BCD,ALCALLCF2MOV20H,R3MOV21

12、H,R4POP02HPOPDPLPOPDPHRET;-小數(shù)部分查表-NUMSEG:DW0000H,0625H,1250H,1875H,2500H,3125H,3750H,4375HDW5000H,5625H,6250H,6875H,7500H,8125H,8750H,9375H;-;-拆分顯示整數(shù)子程序-CF:PUSH02HPUSHDPHPUSHDPLMOVDPTR,#LEDSEGMOVR2,TEMPER_BCDANLA,#0FHMOVCA,A+DPTR;查表得字形碼MOVR3,AMOVA,R2SWAPAANLA,#0FHMOVCA,A+DPTRMOVR4,AINCR3;加上小數(shù)點(diǎn)POPDPL

13、POPDPHPOP02HRET;-;-拆分顯示小數(shù)子程序-CF2:PUSH02HPUSHDPHPUSHDPLPUSHACCMOVDPTR,#LEDSEGMOVR2,TEMPER_BCDMOVA,R2ANLA,#0FHMOVCA,A+DPTRMOVR3,AMOVA,R2SWAPAANLA,#0FHMOVCA,A+DPTRMOVR4,A;加上小數(shù)點(diǎn)POPACCPOPDPLPOPDPHPOP02HRET;-;-led字型碼-LEDSEG:DB0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E4HDB0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH;-INIT_

14、1820:SETBDQNOPCLRDQMOVR0,#80HTSR1:DJNZR0,TSR1;延時300usSETBDQMOVR0,#25H;96usTSR2:DJNZR0,TSR2JNBDQ,TSR3LJMPTSR4;延時TSR3:SETBFLAG1;致標(biāo)志位LJMPTSR5;ds18b20存在TSR4:CLRFLAG1;清標(biāo)志位LJMPTSR7;ds18b20不存在TSR5:MOVR0,#06BH;延時200usTSR6:DJNZR0,TSR6TSR7:SETBDQRETDELAY1:MOVR7,#20H;80us延時DJNZR7,$RET;-蜂鳴器驅(qū)動子程序-BUZZER:PUSH07HM

15、OVR7,#00HMOVTL0,#33H;設(shè)置定時0.5us初值MOVTH0,#0FEHSETBTR0;啟動t0WAIT:JNBTF0,$CLRTF0MOVTL0,#33HMOVTH0,#0FEHCPLP1.2DJNZR7,WAITCLRTR0SETBP1.2POP07HRET;-;-外部中斷服務(wù)程序-INT_7290:PUSH00HPUSH01HPUSH02HPUSH03HPUSH04HPUSH07HPUSHACCPUSHPSWSJMPRD1RD1: JBP3.2,$;以查詢方式等待下一次按鍵操作SWAPALCALLRDKEYCJNEA,#0AH,WAITT;容錯功能調(diào)整WAITT:JNC

16、RD1MOVTEMPER_BCD,ALCALLCF2MOVB,#0AHMULABMOVR5,AMOV23H,R3MOVR7,#01HMOVR0,#23HMOVR2,#13HMOVR3,#WSLA_7290LCALLWRNBYTKEY2:JBP3.2,$;以查詢方式等待下一次按鍵操作LCALLRDKEYCJNEA,#0AH,WAITT2WAITT2:JNCKEY2MOVTEMPER_BCD,ALCALLCF2MOVA,R5ADDA,TEMPER_BCDMOVR5,AMOV22H,R3MOV21H,#9CH;CMOVR7,#02HMOVR0,#21HMOVR2,#11HMOVR3,#WSLA_72

17、90LCALLWRNBYT;確定鍵COMF:JBP3.2,$;等待確認(rèn)鍵LCALLRDKEYCJNEA,#0FH,COMFMOV28H,R5;上限值放入28h中DOWN:;7290復(fù)位CLRP1.7LCALLDELAYSETBP1.7CLRIE0;必須清標(biāo)志POPPSWPOPACCPOP07HPOP04HPOP03HPOP02HPOP00HRETI;-;-讀取鍵值子程序(鍵值保存在A中)-RDKEY:MOVR0,#1FHMOVR7,#01HMOVR2,#01HMOVR3,#WSLA_7290MOVR4,#RSLA_7290LCALLRDADDMOVA,1FHDECARET;-;-延時子程序-D

18、ELAY:PUSH00H;延時子程序PUSH01HMOVR1,#00LP:MOVR1,#00HDJNZR1,$DJNZR0,LPPOP01HPOP00HRET;-(I2C子程序省略)九系統(tǒng)調(diào)試運(yùn)行結(jié)果說明、分析所出現(xiàn)得問題,設(shè)計體會與建議 硬件使用ZLG51單片機(jī)開發(fā)平臺,軟件使用KEil2軟件進(jìn)行程序的編寫編譯以及調(diào)試。運(yùn)行結(jié)果:能夠?qū)崿F(xiàn)當(dāng)前環(huán)境溫度的采集以及分為整數(shù)部分和小數(shù)部分的顯示,設(shè)定溫度上限,超過設(shè)定上限溫度進(jìn)行蜂鳴器報警,數(shù)碼管同時閃爍,溫度低于設(shè)定值立刻停止閃爍和報警。能夠通過撥碼控制模式切換,切換到設(shè)定上限溫度模式,通過按鍵輸入上限溫度值改變當(dāng)前上限溫度,能夠糾錯,輸入10以

19、上的數(shù)字時不顯示,按下確定鍵時確定溫度上限值。問題:(1)采集的溫度為十六進(jìn)制數(shù)字,如何轉(zhuǎn)換成十進(jìn)制BCD碼。通過查詢上學(xué)期學(xué)習(xí)的計算機(jī)原理的相關(guān)算法,解決了此問題,成功顯示。(2)小數(shù)部分的顯示問題。通過將有可能出現(xiàn)的小數(shù)情況列舉并進(jìn)行查表顯示,最后成功顯示。(3)高于溫度報警閃爍之后,溫度下降以后數(shù)碼管仍然閃爍,后來發(fā)現(xiàn)是子程序邏輯錯誤已經(jīng)改正。十結(jié)論及設(shè)計體會 通過本次實(shí)驗,我對DS18B20芯片有了一定的了解,對于DS18B20編程的時序要求以及相應(yīng)的編程操作流程有了更深度的掌握。這次實(shí)驗綜合了中斷、查詢、時鐘、ZLG7290芯片、DS18B20芯片等很多知識。本次試驗采用子程序調(diào)用的

20、方法進(jìn)行設(shè)計,可以逐一的進(jìn)行調(diào)試,對于代碼量比較大的程序來說子程序設(shè)計還是很好的編程開發(fā)方式。此次試驗中遇到很多細(xì)節(jié)的錯誤,比如子程序順序混亂等邏輯錯誤,導(dǎo)致程序總是出現(xiàn)錯誤,幸好在最后都成功的改正了。 在代碼量比較大的程序設(shè)計時,不能只對軟件代碼進(jìn)行修改,還要結(jié)合硬件調(diào)試,否則很難看出問題,同時不怕錯誤,會正確的調(diào)試方法,靈活使用斷點(diǎn),會找錯并改錯也是很重要的素質(zhì)。這次實(shí)驗對我以后的程序設(shè)計任務(wù)有很大的啟發(fā)作用,讓我明白了程序設(shè)計的基本順序和需要注意的地方以及調(diào)試方法,相信在以后的學(xué)習(xí)和工作中都會受益。最后感謝老師的悉心教導(dǎo)。參考文獻(xiàn)1 MCS-51單片機(jī)應(yīng)用實(shí)驗教程 作者:陳育斌,秦曉梅等專心-專注-專業(yè)

展開閱讀全文
溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!