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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于DS18B20的溫度計設計-匯編語言

[復制鏈接]
跳轉到指定樓層
樓主
ID:71259 發表于 2014-12-29 01:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近用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
復制代碼



評分

參與人數 1黑幣 +5 收起 理由
1424603412 + 5 很給力!

查看全部評分

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

使用道具 舉報

沙發
ID:70769 發表于 2014-12-29 03:16 | 只看該作者
GOOD!!!
回復

使用道具 舉報

板凳
ID:74571 發表于 2015-3-13 21:02 | 只看該作者
能不指導一下c語言多路報警程序
回復

使用道具 舉報

地板
ID:74784 發表于 2017-8-14 02:44 | 只看該作者
正需要
太好了
感謝樓主!
回復

使用道具 舉報

5#
ID:147840 發表于 2017-8-14 11:32 來自手機 | 只看該作者
可惜我們畢業設計也不能是這么菜的東西
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美视频三区 | 一区二区在线看 | 黄色大片免费网站 | 亚洲日产精品 | 五月激情综合网 | av在线免费观看网址 | 亚洲精品久久久蜜桃 | 国产一区二区三区在线 | 精品香蕉一区二区三区 | 欧美a在线| 毛片一区二区三区 | 黄色日本片| av网站免费在线观看 | 久久精品二区 | 亚洲一区二区三区四区五区午夜 | 中文字幕国产一区 | 2021狠狠干 | 精品一级 | 亚洲天天干 | 国产精品久久久亚洲 | 午夜寂寞福利视频 | 亚洲视频在线播放 | av在线播放国产 | 欧美日韩一区二区视频在线观看 | 日韩av一区二区在线观看 | 久久精品国产一区二区电影 | sese视频在线观看 | 久久男人 | 国产日韩免费视频 | 亚洲成人免费视频 | 欧美一区二区在线观看视频 | 一区精品在线观看 | 欧洲免费毛片 | 91观看 | 精品在线一区 | 在线观看中文字幕视频 | 欧美淫 | 99视频免费播放 | www.jizzjizz| 欧美综合视频在线 | 亚洲综合久久精品 |