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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4028|回復: 0
收起左側(cè)

Atmega16單片機實驗:DS18B20和ad采集顯示程序

[復制鏈接]
ID:342822 發(fā)表于 2019-1-8 14:24 | 顯示全部樓層 |閱讀模式
rem Main.bas file generated by New Project wizard
rem
rem Created:   周日 9月 16 2018
rem Processor: ATmega16
rem Compiler:  BASCOM-AVR

rem Write your code here

$regfile = "m16def.dat"
$crystal = 2000000
Config 1wire = Portb.0                               '定義BS18B20接在PB0上
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2
Config Lcd = 20 * 4
$baud = 19200
Cls

'Dim SysDS18B20_1 As Byte
'Dim SysDS18B20_2 As Byte

Dim Cgqidi_1(8) As Byte                                    '傳感器id1數(shù)組變量
Dim Cgqidi_2(8) As Byte                                    '傳感器id2數(shù)組變量
Dim Cgqidi_3(8) As Byte                                    '傳感器id3數(shù)組變量
Dim Cgqidi_4(8) As Byte                                    '傳感器id4數(shù)組變量
Dim Cgqidi_5(8) As Byte                                    '傳感器id5數(shù)組變量
Dim Cgq_zhuangtai(5) As Byte                               '傳感器——狀態(tài)變量
Dim Xianzai__wendu(5) As Single                            '現(xiàn)在——溫度變量

Declare Sub SUAXIN___WENDU()    '聲明刷新轉(zhuǎn)換溫度過程子程序
Declare Sub FAXIAN_CGQs()        '聲明發(fā)現(xiàn)傳感器過程子程序

Call FAXIAN_CGQs()                 '調(diào)用發(fā)現(xiàn)——傳感器過程子程序
Cls
Waitms 500





Do
  Call SUAXIN___WENDU()'轉(zhuǎn)到刷新轉(zhuǎn)換溫度過程子程序
  Locate 1 , 1
  Lcd Fusing(XIANZAI__WENDU(1) , "#.##");"C    DS18B20-1"
  Locate 2 , 1
  lcd Fusing(XIANZAI__WENDU(2) , "#.##") ; "C   DS18B20-2"
  Locate 3 , 1
  Lcd Fusing(xianzai__wendu(3) , "#.##") ; "C    DS18B20-3"
   Locate 4 , 1
   Lcd Fusing(xianzai__wendu(4) , "#.##") ; "C    DS18B20-4"
  Waitms 1500

Config Adc = Single , Prescaler = Auto , Reference = avcc
  Start Adc
  Dim W As Word , Channel As Byte , B As Single , D1 As Single , D2 As Single                                                '加插 5V 的短路塊

  Channel = 1
  W = Getadc(channel)
  b=5*w                       'B = 2.98 * W
  D1 = B / 1023
  Locate 2 , 1
'Lcd  "AD1= "
  Locate 4 , 1
  Lcd Fusing (d1 , "#.###");    "V     ADC"

  Loop
  End

'刷新轉(zhuǎn)換溫度過程子程序
  Sub SUAXIN___WENDU()
  Dim Readdata(9) As Byte
  Dim Temperature As Word
  Dim WENDU As Single
  Dim SysDS18B20_1 As Byte
  Dim CGQidI_ As Byte
'啟動溫度轉(zhuǎn)換
  1wreset
  1wwrite &HCC
  1wwrite &H44
  Waitms 800
  For Cgqidi_ = 1 To 5
    If CGQ_ZHUANGTAI(CGQidI_) = 1 Then
       1wreset
       1wwrite &H55
'匹配總線ID
  For SysDS18B20_1 = 1 To 8
          If CGQidI_ = 1 Then : 1wwrite CGQidI_1(sysDS18B20_1)
          Elseif CGQidI_ = 2 Then : 1wwrite CGQidI_2(sysDS18B20_1)
          Elseif Cgqidi_ = 3 Then : 1wwrite Cgqidi_3(sysds18b20_1)
          Elseif Cgqidi_ = 4 Then : 1wwrite Cgqidi_4(sysds18b20_1)
          Elseif Cgqidi_ = 5 Then : 1wwrite Cgqidi_5(sysds18b20_1)
          End If
       Next
       1wwrite &HBE
       For SysDS18B20_1 = 1 To 9
          Readdata(sysDS18B20_1) = 1wread()
   Next
   Temperature = Readdata(2) * 256
   Temperature = Temperature + Readdata(1)
   If Readdata(2) > 15 Then
          Temperature = Not Temperature
          Temperature = Temperature + 1
          WENDU = Temperature * 0.0625
          WENDU = 0 - WENDU
       Else
          WENDU = Temperature * 0.0625
       End If
       XIANZAI__WENDU(CGQidI_) = WENDU
    Else
    XIANZAI__WENDU(CGQidI_) = -255                      '如果傳感器不存在則設(shè)置為-255度
    End If
Next
End Sub







'查找傳感器,總線上必須掛有至少一個傳感器
Sub FAXIAN_CGQs()
  Dim SysDS18B20_4 As Byte
  Dim FAXIAN_CGQ As Byte

  Locate 1 , 1
  Lcd "FAXIAN_ CGQ"

  FAXIAN_CGQ = 0
  CGQidI_1(1) = 1wsearchfirst()'開始尋找第一個傳感器
  CGQ_ZHUANGTAI(1) = 1
  Incr FAXIAN_CGQ


  For Sysds18b20_4 = 2 To 5
    If SysDS18B20_4 = 2 Then CGQidI_2(1) = 1wsearchnext()
    If SysDS18B20_4 = 3 Then CGQidI_3(1) = 1wsearchnext()
     If Sysds18b20_4 = 4 Then Cgqidi_4(1) = 1wsearchnext()
      If Sysds18b20_4 = 5 Then Cgqidi_5(1) = 1wsearchnext()

'尋找下一個傳感器
  If Err = 1 Then Exit For         '錯誤代碼為1則退出循環(huán)
    CGQ_ZHUANGTAI(sysDS18B20_4) = 1
    Incr FAXIAN_CGQ
   Waitms 1000
   Next
  Cls
  Waitms 500
  Locate 1 , 1
  Lcd "FAXIAN_ " ; FAXIAN_CGQ ; " CGQs"
  Waitms 1000
End Sub 1.png

評分

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

查看全部評分

回復

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91欧美精品成人综合在线观看 | 久久青青 | 国产精品成人av | 国产精品毛片 | 日韩一区二区在线播放 | 最新一级毛片 | 天天干夜夜操 | 成人av网站在线观看 | 日韩电影一区 | 91资源在线观看 | 美女在线视频一区二区三区 | 精品av天堂毛片久久久借种 | 国产一级片久久久 | 日本久久www成人免 成人久久久久 | 日韩精品一区中文字幕 | 久久这里有精品 | 一级黄色片日本 | 91久久爽久久爽爽久久片 | 国产精品久久久亚洲 | 伊人久麻豆社区 | 国产一区二区 | 日日噜噜噜夜夜爽爽狠狠视频97 | 国产精品福利视频 | 成人久久18免费网站图片 | 国产在线观看一区二区 | 91久久久久久久久久久久久 | 日韩精品视频在线免费观看 | 中文av网站 | 大香网伊人 | 午夜精品一区二区三区免费视频 | 欧美区在线观看 | 国产成人免费视频 | 午夜伊人| www.887色视频免费 | 久久久www成人免费精品 | 人人射人人草 | 欧美亚洲另类丝袜综合网动图 | 涩涩视频在线观看免费 | 精品一区av | 美日韩视频 | 欧美综合国产精品久久丁香 |