微控制器原理與應用
課程考試製作報告
作品名稱: 數字溫度計
專業班級
學號姓名
目錄一、作品(功能)說明
二、硬體設計
三、軟體設計
四、例項測試
五、經驗總結
主要內容
一、功能說明:
使用單線數字溫度感測器ds18b20,把溫度訊號直接轉換成數碼訊號輸入微控制器,經微控制器處理後,將實時溫度顯示在兩個7段led數碼管上。
二、硬體設計:
電路設計圖
單線數字溫度感測器ds18b20的引腳2接微控制器p2.5埠,用於序列資料通訊。引腳3接電源+5v,引腳3與電源+5v之間接有乙個4.7kω的上拉電阻,感測器引腳1接地。
微控制器的p0埠連線兩個7段led數碼管,顯示溫度值。
三、程式設計:
程式開始首先對溫度感測器ds18b20進行復位,檢測是否正常工作;接著讀取溫度資料,主機發出cch指令與**的ds18b20聯絡,接著向ds18b20發出溫度a/d轉換44h指令,再發出讀取溫度暫存器的溫度值be指令,並反覆呼叫復位、寫入及讀取資料字子程式,之後再繼續資料轉換,由數碼管顯示出來,不斷迴圈。
1、流程圖
2、組合語言編寫的數字溫度計源程式ad14-4asm**如下:
01 a_bit equ 20h ;存放個位數變數
02 b_bit equ 21h ;存放十位數變數
03 flag equ 38h ;ds18b20是否存在標誌
04 dq equ p2.5 ;dq引腳由p2.5控制
05 main
06 acall re_temp ;呼叫讀取溫度子程式
07 acall turn資料轉化子程式
08 acall display ;顯示子程式
09 jmp main迴圈主程式
10 11 re_temp初始化及讀取溫度值
12 setb dq
13 acall reset_1820 ;呼叫復位子程式
14 jb flag, st ;判斷ds1820是否存在?
15 ret
16 stds18b20存在
17 mov a,#0cch ;跳過rom匹配
18 acall write_1820 ;呼叫寫入資料子程式
19 mov a,#44h ;發出溫度轉換命令
20 acall write_1820 ;呼叫寫入資料子程式
21 acall reset_1820 ;準備讀溫度前先復位
22 mov a,#0cch ;跳過rom匹配
23 acall write_1820 ;呼叫寫入資料子程式
24 mov a,#0beh ;發出讀溫度命令
25 acall write_1820 ;呼叫寫入資料子程式
26 acall read_1820 ;呼叫讀取資料子程式設定感測器
27 ret讀取溫度資料
2829 reset_1820: ;復位(有具體的時序要求
30 setb dq
31 nop
32 clr dq
3334 ;主機發出復位低脈衝
35 mov r1,#3
36 dly: mov r0,#107
37 djnz r0,$
38 djnz r1,dly
3940 ;然後拉高資料線
41 setb dq
42 nop
43 nop
44 nop
4546 ;等待ds18b20回應
47 mov r0,#25h
48 t2: jnb dq ,t3
49 djnz r0, t2
50 jmp t4
5152 ;標誌位flag=1,表示ds1820存在
53 t3: setb flag
54 jmp t5
5556;標誌位flag=0,表示ds1820不存在
57 t4: clr flag
58 jmp t7
5960 ;時序要求延時一段時間
61 t5: mov r0,#117
62 t6: djnz r0,t6
6364 t7: setb dq
65 ret復位子程式
6667 write_1820: ;寫入ds18b20(有具體的時序要求)
68 mov r2,#8一共8位資料
69 clr cc=0
70 wr1:
71 clr dq匯流排低位,開始寫入
72 mov r3,#7
73 djnz r3保持16微秒以上
74 rrc a ;把位元組data分成8個bit環移給c
75 mov dq, c寫入乙個bit
76 mov r3,#23
77 djnz r3等待
78 setb dq重新釋放匯流排
79 nop
80 djnz r2,wr1寫入下乙個bit
81 setb dq
82 ret寫入子程式
8384 read_1820將溫度高位和低位讀出
85 mov r4,#2讀出兩個位元組的資料
86 mov r1,#29h ;低位存入29h,高位存入28h
87 re0:
88 mov r2,#8資料一共有8位
89 re1
90 clr c
91 setb dq
92 nop
93 nop
94 clr dq讀前匯流排保持為低
95 nop
96 nop
97 nop
98 setb dq開始讀匯流排釋放
99 mov r3,#9
100 re2:
101 djnz r3,re2延時18微妙
102 mov c, dq從匯流排讀到乙個bit
103 mov r3,#23
104 re3
105 djnz r3,re3等待50微妙
106 rrc a把讀得的位值環移給a
107 djnz r2,re1讀下乙個bit
108 mov @r1,a
109 dec r1
110 djnz r4,re0
111 ret讀取子程式
112113 turn:
114 mov a,29h
115 mov c,40h將28中的最低位移入c
116 rrc a
117 mov c,41h
118 rrc a
數字溫度計報告
課程設計 設計題目 溫度報警系統的設計與製作 專業班級 應用電子技術2009級 1 班 學號 200930210133 姓名馮立業 指導教師 李玉平王海華 設計時間 2011 6 13 2011 6 24 設計地點k2 微控制器實驗室 課程設計任務書 1 第一章 緒論 2 1.1 課題名稱 2 1....
數字溫度計
數字溫度計 0 100 目錄1.摘要 2.方案設計與論證 2.1數字溫度計設計方論證 2.2方案二的總體設計框圖 2.3 ds18b20溫度感測器與微控制器的介面電路 2.4 系統整體硬體電路 3.系統軟體演算法分析 3.1主程式 3.2讀出溫度子程式 3.3溫度轉換命令子程式 3.4 計算溫度子程...
數字溫度計設計實驗報告
題目 數字溫度計 學院 電氣工程與自動化 班級姓名 學號指導教師 一 實驗任務 溫度計是工農業生產及科學研究中最常用的測量儀表。本課題要求用中小規模整合晶元設計並製作一數字式溫度計,即用數字顯示被測溫度。具體要求如下 1 測量範圍 20 150度。2 測量精度0.5度。3 4位led數碼管顯示。通過...