久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2034|回復: 0
打印 上一主題 下一主題
收起左側

8通道自動溫度檢測系統 含單片機匯編程序

[復制鏈接]
跳轉到指定樓層
樓主
單片機8通道自動溫度檢測系統仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1.      CLR P3.7
  2. MAIN:MOV 38H,#00H
  3.      MOV 39H,#00H
  4.      MOV 3AH,#00H
  5.      MOV 3BH,#00H
  6.      LCALL   GET_TEMPER
  7.      LCALL   TEMPRRO
  8.      MOV P2,#06H
  9.      LCALL PRO
  10. ;------------------------------------------------------

  11.      MOV 38H,#00H
  12.      MOV 39H,#00H
  13.      MOV 3AH,#00H
  14.      MOV 3BH,#00H
  15.      LCALL   GET_TEMPER2
  16.      LCALL   TEMPRRO
  17.      MOV P2,#5BH
  18.      LCALL PRO
  19. ;------------------------------------------------------

  20.      MOV 38H,#00H
  21.      MOV 39H,#00H
  22.      MOV 3AH,#00H
  23.      MOV 3BH,#00H
  24.      LCALL   GET_TEMPER3
  25.      LCALL   TEMPRRO
  26.      MOV P2,#4FH
  27.      LCALL PRO

  28. ;------------------------------------------------------

  29.      MOV 38H,#00H
  30.      MOV 39H,#00H
  31.      MOV 3AH,#00H
  32.      MOV 3BH,#00H
  33.      LCALL   GET_TEMPER4
  34.      LCALL   TEMPRRO
  35.      MOV P2,#66H
  36.      LCALL PRO
  37. ;------------------------------------------------------

  38.      MOV 38H,#00H
  39.      MOV 39H,#00H
  40.      MOV 3AH,#00H
  41.      MOV 3BH,#00H
  42.      LCALL   GET_TEMPER5
  43.      LCALL   TEMPRRO
  44.      MOV P2,#6DH
  45.      LCALL PRO
  46. ;------------------------------------------------------

  47.      MOV 38H,#00H
  48.      MOV 39H,#00H
  49.      MOV 3AH,#00H
  50.      MOV 3BH,#00H
  51.      LCALL   GET_TEMPER6
  52.      LCALL   TEMPRRO
  53.      MOV P2,#7DH
  54.      LCALL PRO
  55. ;------------------------------------------------------

  56.      MOV 38H,#00H
  57.      MOV 39H,#00H
  58.      MOV 3AH,#00H
  59.      MOV 3BH,#00H
  60.      LCALL   GET_TEMPER7
  61.      LCALL   TEMPRRO
  62.      MOV P2,#07H
  63.      LCALL PRO
  64. ;------------------------------------------------------

  65.      MOV 38H,#00H
  66.      MOV 39H,#00H
  67.      MOV 3AH,#00H
  68.      MOV 3BH,#00H
  69.      LCALL   GET_TEMPER8
  70.      LCALL   TEMPRRO
  71.      MOV P2,#7FH
  72.      LCALL PRO
  73.       LJMP  MAIN
  74.    


  75. ;==============================================CHL1
  76. GET_TEMPER:
  77.           SETB      P1.0H ; 定時入口
  78. BCD:      LCALL     INIT_1820
  79.           JB        00H,S22
  80.           LJMP      BCD ; 若DS18B20不存在則返回

  81. S22:     LCALL     DELAY1
  82.          MOV        A,#0CCH ; 跳過ROM匹配------0CC命令
  83.          LCALL     WRITE_1820
  84. MOV A,#44H ; 發出溫度轉換命令
  85. LCALL WRITE_1820
  86. NOP
  87. LCALL DELAY1
  88. CBA:LCALL INIT_1820
  89. JB 00H,ABC
  90. LJMP CBA
  91. ABC:LCALL DELAY1
  92. MOV A,#0CCH ; 跳過ROM匹配
  93. LCALL WRITE_1820
  94. MOV A,#0BEH ; 發出讀溫度命令
  95. LCALL WRITE_1820
  96. LCALL READ_18200 ;READ_1820
  97. RET
  98. ;==============================
  99. READ_1820:
  100. MOV R2,#8
  101. RE1:
  102. CLR C
  103. SETB P1.0H
  104. NOP
  105. NOP
  106. CLR P1.0H
  107. NOP
  108. NOP
  109. NOP
  110. SETB P1.0H
  111. MOV R3,#7
  112. DJNZ R3,$
  113. MOV C,P1.0H
  114. MOV R3,#23
  115. DJNZ R3,$
  116. RRC A
  117. DJNZ R2,RE1
  118. RET
  119. ;=============================
  120. WRITE_1820:
  121. MOV R2,#8
  122. CLR C
  123. WR1:
  124. CLR P1.0H
  125. MOV R3,#6
  126. DJNZ R3,$
  127. RRC A
  128. MOV P1.0H,C
  129. MOV R3,#23
  130. DJNZ R3,$
  131. SETB P1.0H
  132. NOP
  133. DJNZ R2,WR1
  134. SETB P1.0H
  135. RET
  136. ;=======================================
  137. READ_18200:
  138. MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出
  139. MOV R1,#31H ; 低位存入30H(TEMPER_L),高位存入31H(TEMPER_H)
  140. RE00:
  141. MOV R2,#8
  142. RE01:
  143. CLR C
  144. SETB P1.0H
  145. NOP
  146. NOP
  147. CLR P1.0H
  148. NOP
  149. NOP
  150. NOP
  151. SETB P1.0H
  152. MOV R3,#7
  153. DJNZ R3,$
  154. MOV C,P1.0H
  155. MOV R3,#23
  156. DJNZ R3,$
  157. RRC A
  158. DJNZ R2,RE01
  159. MOV @R1,A
  160. DEC R1
  161. DJNZ R4,RE00
  162. RET
  163. ;=======================================
  164. INIT_1820:
  165. SETB P1.0H
  166. NOP
  167. CLR P1.0H
  168. MOV R0,#250
  169. TSR1:
  170. DJNZ R0,TSR1 ; 延時520us
  171. SETB P1.0H
  172. MOV R0,#25H ;96US-25H
  173. TSR2:
  174. DJNZ R0,TSR2
  175. JNB P1.0H,TSR3;如D0為低則復位成功,DS18B20存在
  176. LJMP TSR4 ; 延時
  177. TSR3:
  178. SETB 00H ; 置標志位,表示DS1820存在
  179. LJMP TSR5
  180. TSR4:
  181. CLR 00H ; 清標志位,表示DS1820不存在
  182. LJMP TSR7
  183. TSR5:
  184. MOV R0,#06BH ;200US
  185. TSR6:
  186. DJNZ R0,TSR6 ; 延時
  187. TSR7:
  188. SETB P1.0H ;拉高總線
  189. RET
  190. ;===============================
  191. GET_TEMPER2:
  192.           SETB      P1.1H ; 定時入口
  193. BCD2:      LCALL     INIT_18202
  194.           JB        00H,S222
  195.           LJMP      BCD2 ; 若DS18B20不存在則返回

  196. S222:     LCALL     DELAY1
  197.          MOV        A,#0CCH ; 跳過ROM匹配------0CC命令
  198.          LCALL     WRITE_18202
  199. MOV A,#44H ; 發出溫度轉換命令
  200. LCALL WRITE_18202
  201. NOP
  202. LCALL DELAY1
  203. CBA2:LCALL INIT_18202
  204. JB 00H,ABC2
  205. LJMP CBA2
  206. ABC2:LCALL DELAY1
  207. MOV A,#0CCH ; 跳過ROM匹配
  208. LCALL WRITE_18202
  209. MOV A,#0BEH ; 發出讀溫度命令
  210. LCALL WRITE_18202
  211. LCALL READ_182002 ;READ_1820
  212. RET
  213. ;==============================
  214. READ_18202:
  215. MOV R2,#8
  216. RE12:
  217. CLR C
  218. SETB P1.1H
  219. NOP
  220. NOP
  221. CLR P1.1H
  222. NOP
  223. NOP
  224. NOP
  225. SETB P1.1H
  226. MOV R3,#7
  227. DJNZ R3,$
  228. MOV C,P1.1H
  229. MOV R3,#23
  230. DJNZ R3,$
  231. RRC A
  232. DJNZ R2,RE12
  233. RET
  234. ;=============================
  235. WRITE_18202:
  236. MOV R2,#8
  237. CLR C
  238. WR12:
  239. CLR P1.1H
  240. MOV R3,#6
  241. DJNZ R3,$
  242. RRC A
  243. MOV P1.1H,C
  244. MOV R3,#23
  245. DJNZ R3,$
  246. SETB P1.1H
  247. NOP
  248. DJNZ R2,WR12
  249. SETB P1.1H
  250. RET
  251. ;=======================================
  252. READ_182002:
  253. MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出
  254. MOV R1,#31H ; 低位存入30H(TEMPER_L),高位存入31H(TEMPER_H)
  255. RE002:
  256. MOV R2,#8
  257. RE012:
  258. CLR C
  259. SETB P1.1H
  260. NOP
  261. NOP
  262. CLR P1.1H
  263. NOP
  264. NOP
  265. NOP
  266. SETB P1.1H
  267. MOV R3,#7
  268. DJNZ R3,$
  269. MOV C,P1.1H
  270. MOV R3,#23
  271. DJNZ R3,$
  272. RRC A
  273. DJNZ R2,RE012
  274. MOV @R1,A
  275. DEC R1
  276. DJNZ R4,RE002
  277. RET
  278. ;=======================================
  279. INIT_18202:
  280. SETB P1.1H
  281. NOP
  282. CLR P1.1H
  283. MOV R0,#250
  284. TSR12:
  285. DJNZ R0,TSR12 ; 延時520us
  286. SETB P1.1H
  287. MOV R0,#25H ;96US-25H
  288. TSR22:
  289. DJNZ R0,TSR22
  290. JNB P1.1H,TSR32;如D0為低則復位成功,DS18B20存在
  291. LJMP TSR42 ; 延時
  292. TSR32:
  293. SETB 00H ; 置標志位,表示DS1820存在
  294. LJMP TSR52
  295. TSR42:
  296. CLR 00H ; 清標志位,表示DS1820不存在
  297. LJMP TSR72
  298. TSR52:
  299. MOV R0,#06BH ;200US
  300. TSR62:
  301. DJNZ R0,TSR62 ; 延時
  302. TSR72:
  303. SETB P1.1H ;拉高總線
  304. RET
  305. ;===============================
  306. GET_TEMPER3:
  307.           SETB      P1.2H ; 定時入口
  308. BCD3:      LCALL     INIT_18203
  309.           JB        00H,S223
  310.           LJMP      BCD3 ; 若DS18B20不存在則返回

  311. S223:     LCALL     DELAY1
  312.          MOV        A,#0CCH ; 跳過ROM匹配------0CC命令
  313.          LCALL     WRITE_18203
  314. MOV A,#44H ; 發出溫度轉換命令
  315. LCALL WRITE_18203
  316. NOP
  317. LCALL DELAY1
  318. CBA3:LCALL INIT_18203
  319. JB 00H,ABC3
  320. LJMP CBA3
  321. ABC3:LCALL DELAY1
  322. MOV A,#0CCH ; 跳過ROM匹配
  323. LCALL WRITE_18203
  324. MOV A,#0BEH ; 發出讀溫度命令
  325. LCALL WRITE_18203
  326. LCALL READ_182003 ;READ_1820
  327. RET
  328. …………
  329. …………
  330. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
DS18B20.rar (59.8 KB, 下載次數: 10)



評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色网在线看| 久久99精品久久久97夜夜嗨 | 中文字幕日韩一区 | 亚洲三区在线观看 | 天天干.com| 一区二区三区免费在线观看 | 国产女人叫床高潮大片免费 | 国产农村妇女毛片精品久久麻豆 | 成人在线免费观看视频 | 久久性色 | 日韩在线日韩 | 亚洲一级淫片 | 91伊人| 亚洲欧洲精品在线 | 亚洲一区二区免费视频 | 日韩和的一区二在线 | 久久成人免费视频 | 久久香焦 | 亚洲精品区 | 97伦理最新伦理 | 在线观看日本高清二区 | 久久这里只有精品首页 | 久久在线看 | 亚洲一区国产精品 | 免费在线黄 | 久久国产一区二区三区 | 国产精品99久久久久久久vr | 欧美一区二区三区在线观看视频 | 国产精品久久久免费 | 亚洲国产高清高潮精品美女 | 热re99久久精品国99热观看 | 日本亚洲精品成人欧美一区 | 先锋资源网站 | 91久久夜色精品国产网站 | 国产激情在线 | 国产一区二区三区在线看 | 国产精品久久久久久二区 | 一区二区三区在线观看视频 | 日韩有码在线播放 | 欧美日韩国产一区二区 | 国产免费一区二区 |