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

標題: 基于DS18B20的溫度計設計-匯編語言 [打印本頁]

作者: daming    時間: 2014-12-29 01:48
標題: 基于DS18B20的溫度計設計-匯編語言
最近用DS18B20編了個溫度計,還是用那一塊單片機學習板,個人認為最大的收獲就是會看著時序圖編程。其實看時序很簡單,編過一次就會發現的。呵呵,不廢話了。還是貼程序了。下面是溫度計的程序,DS18B20本來是有報警系統的,現在刪去,嘿嘿,那個不共享了。


DS18B20的復位、讀寫時序圖:



看看效果圖吧:
這個是室溫


放上手指試試(呵呵!)





后記:這塊板子馬上就要交了,所以就趕出來了這段程序,不足之處望見諒。還是鄭文老師的板子,呵呵,雷同是不可能了,自己寫的,如果有人說我是網上拉的,那我也沒什么好說,因為程序都是大同小異,關鍵是我有沒有編過,至少答辯的話,我一定100分。【其實后面還有一段報警,不共享了(嘿嘿)】。
哎,全國賽沒我們份了。大師、阿康,我們要暫時告別組合了。阿康的硬件一流,焊接功底很深厚,很多隊伍都搶著要啊,呵呵,我嗎一個只會編編程而且編的還不怎么樣的小角色。不過小看我的人一般都會后悔,暑假有的忙了。多看看書吧,這個學年我們可以找借口說我們什么都不懂,但是下個學年就不一樣了,因為我們什么都教過了,加油吧,努力吧!

據說很多電子專業的畢業生都拿我上面的東西叫做“畢業設計”,呵呵,我覺得很驚訝,那我不是可以畢業了?呵呵,說實話這個東西是很簡單的。


  1. ;DS18B20接P1.2口
  2. flag    equ     20h.0
  3. templ   equ     30h         ;讀取溫度的高位
  4. temph   equ     31h         ;讀取溫度的低位
  5. temp    equ     32h         ;高低位的溫度數據轉換緩沖
  6. showh   equ     33h         ;顯示高位的緩沖位
  7. showl   equ     34h         ;顯示低位的緩沖位

  8. k1      equ     p3.2
  9. k2      equ     p3.3
  10. k3      equ     p3.4
  11. k4      equ     p3.5
  12.         org     0000h
  13.         ljmp    start0
  14.         org     0040h

  15. start0: lcall   rest
  16.         jnb     flag,start1
  17.         clr     ea
  18.         mov     a,#0cch
  19.         lcall    write_
  20.         mov     a,#44h
  21.         lcall    write_
  22.         lcall    rest
  23.         mov     a,#0cch
  24.         lcall    write_
  25.         mov     a,#0beh
  26.         lcall    write_
  27.         lcall    read_
  28.         lcall    convtemp_
  29.         lcall    show_
  30.         setb     ea
  31.         sjmp     start0
  32. start1: sjmp     start0
  33. ;====================================復位子程序
  34. rest:  setb    p1.2
  35.        nop
  36.        nop
  37.        clr     p1.2
  38.        mov     r7, #0
  39.        djnz    r7,$
  40.        setb    p1.2
  41.        nop
  42.        nop
  43.        mov     r6,#80
  44. rst0:  jnb     p1.2,rst2
  45.        jmp     rst1
  46. rst1:  djnz    r6,rst0
  47.        jmp     rst3
  48. rst2:  setb    flag
  49.        setb    p1.2
  50.        mov     r6,#0
  51.        djnz    r6,$
  52.        jmp     ret0
  53. rst3:  clr     flag
  54.        setb    p1.2
  55. ret0:   ret
  56. ;=====================================寫程序
  57. write_: mov     r6,#8
  58.         clr     c
  59. writ0:  rrc     a
  60. writ1:  setb    p1.2
  61.         mov     r7,#8
  62.         nop
  63.         clr     p1.2
  64.         nop
  65.         djnz    r7,$
  66.         mov     p1.2,c
  67.         mov     r7,#20
  68.         djnz    r7,$
  69.         djnz    r6,writ0
  70.         setb    p1.2
  71.         ret
  72. ;======================================讀程序
  73. read_:  mov     r0,#templ
  74.         mov     r3,#2
  75. read0:  mov     r5,#8
  76. read1:  mov     r4,#4
  77.         clr     c
  78.         setb    p1.2
  79.         nop
  80.         nop
  81.         clr     p1.2
  82.         nop
  83.         nop
  84.         nop
  85.         setb    p1.2
  86.         djnz    r4,$
  87.         mov     c,p1.2
  88.         rrc     a
  89.         mov     r4,#30
  90.         djnz    r4,$
  91.         djnz    r5,read1
  92.         setb    p1.2
  93.         mov     @r0,a
  94.         inc     r0
  95.         djnz    r3,read0
  96.         ret
  97. ;==========================溫度處理,templ的第四位是小數
  98. 部分,舍去,temph的低四位和templ高四位是整數的16進制溫度
  99. convtemp_:
  100.            mov    a,templ
  101.            anl    a,#0f0h
  102.            swap   a
  103.            mov    temp,a
  104.            mov    a,temph
  105.            anl    a,#0fh
  106.            swap   a
  107.            orl    a,temp

  108.            mov    b,#0ah
  109.            div    ab
  110.            mov    showh,a
  111.            mov    a,b
  112.            mov    showl,a
  113.            ret
  114. ;===================================顯示子程序
  115. show_:  clr     p1.5
  116.         clr     p1.6
  117.         clr     p1.7
  118.         mov     a,showh
  119.         lcall   shw0
  120.         lcall   delay
  121.         setb    p1.5
  122.         setb    p1.6
  123.         setb    p1.7
  124.         mov     a,showl
  125.         lcall   shw0
  126.         lcall   delay
  127.         ret

  128. shw0:   mov     dptr,#led_data
  129.         movc    a,@a+dptr
  130.         mov     p0,a
  131.         ret
  132. ;=====================================延時子程序
  133. delay:  mov     r3,#4
  134.         mov     r1,#255
  135. del0:   djnz    r1,$                 ;延時2ms左右
  136.         djnz    r3,del0
  137.         ret
  138. ;=======================================段碼
  139. led_data:       db      
  140. 0c0h,0f9h,0a4h,0b0h,099h,92h,82h,0f8h,80h,90h
復制代碼




作者: 51hei電控2112312    時間: 2014-12-29 03:16
GOOD!!!
作者: 安裝阿斯    時間: 2015-3-13 21:02
能不指導一下c語言多路報警程序
作者: lxa0    時間: 2017-8-14 02:44
正需要
太好了
感謝樓主!
作者: 羅塔尼尼的黑犬    時間: 2017-8-14 11:32
可惜我們畢業設計也不能是這么菜的東西




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久久国产 | 金莲网| 国产精品无码专区在线观看 | 中国黄色毛片视频 | 99精品一区二区 | 一本岛道一二三不卡区 | 在线看av网址 | 久久精品91久久久久久再现 | 日日操夜夜操天天操 | 成人免费在线 | 性欧美精品一区二区三区在线播放 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 中文字幕一区二区三区日韩精品 | 国产十日韩十欧美 | 中文字幕视频在线免费 | 一区二区日本 | 午夜精品福利视频 | 久久免费国产 | 免费国产精品久久久久久 | 日本在线视频一区二区 | 欧美一区二区免费电影 | 久久久九九九九 | 亚洲视频一区在线播放 | 羞羞视频网页 | 成人国产精品久久久 | www.久久 | 亚洲国产精品日韩av不卡在线 | 精品国产伦一区二区三区观看方式 | 欧美在线观看一区 | 久干网 | av片网站 | 中文字幕一区在线 | 日本天天操 | 国产精品不卡视频 | 精品久久久久久久久久久久 | 91精品国产91久久久久久最新 | 国产精品国产三级国产aⅴ中文 | 日韩中文字幕免费在线观看 | 91成人在线视频 | 亚洲精品免费在线 | 亚洲精品一区二区冲田杏梨 |