⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd thermometer lm35.bas.txt

📁 The LM35 of National Semiconductors that is used in this project is a precision centigrade temperatu
💻 TXT
字号:
' ***************************************************************************
' *
' * Title         : LCD Thermometer LM35.bas
' * Version       : 1.0
' * Last Updated :  17.04.2006
' * Target        : AT Mega8
' * Author        : www.avrprojects.net
' * Program code  : BASCOM AVR
' * Hardware req. : LM35
' * Description   : read analog value from LM 35 temperature sensor, show the result on a LCD
' *                 display with bar-graph
' ***************************************************************************
$regfile = "M8def.dat"                                      ' use the Mega8

$crystal = 10000000

Deflcdchar 0 , 32 , 32 , 31 , 31 , 31 , 31 , 32 , 32        ' replace ? with number (0-7)'
Deflcdchar 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1                ' replace ? with number (0-7)
Deflcdchar 2 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16        ' replace ? with number (0-7)
Deflcdchar 3 , 16 , 16 , 31 , 31 , 31 , 31 , 16 , 16        ' replace ? with number (0-7)
Deflcdchar 4 , 1 , 1 , 31 , 31 , 31 , 31 , 1 , 1            ' replace ? with number (0-7)
Deflcdchar 5 , 32 , 32 , 28 , 28 , 28 , 28 , 32 , 32        ' replace ? with number (0-7)

Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.2 , Db6 = Portd.1 , Db7 = Portd.0 , E = Portd.6 , Rs = Portd.7

Config Lcd = 20 * 4

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'config ADC

Start Adc

Dim W As Word , Perc As Word , Volt As Word , Volt_d As Byte , Channel As Byte , I As Byte , Cols As Byte , Cols_d As Byte

Cls
Cursor Off
Locate 3 , 1
Lcd "0"
Locate 3 , 5
Lcd "10"
Locate 3 , 10
Lcd "20"
Locate 3 , 15
Lcd "30"
Locate 3 , 19
Lcd Chr(223) ; "C"

Do
  W = Getadc(0)
  Volt = W * 5
  Volt_d = Volt Mod 10
  Volt = Volt / 10
  Locate 1 , 1
  Lcd Volt ; "," ; Volt_d

  Cols = Volt / 2

  Locate 2 , 1
  For I = 1 To Cols
   Select Case I
   Case 1 : Lcd Chr(3)
   Case 5 : Lcd Chr(4)
   Case 10 : Lcd Chr(4)
   Case 15 : Lcd Chr(4)
   Case 20 : Lcd Chr(4)
   Case Else : Lcd Chr(0)
  End Select
  Next I

  Cols_d = Cols Mod 2
  If Cols_d > 0 Then
  Lcd Chr(5)
  Cols = Cols + 2
  Else
  Cols = Cols + 1
 End If

  For I = Cols To 20
  Select Case I
   Case 1 : Lcd Chr(2)
   Case 5 : Lcd Chr(1)
   Case 10 : Lcd Chr(1)
   Case 15 : Lcd Chr(1)
   Case 20 : Lcd Chr(1)
   Case Else : Lcd Chr(32)
   End Select
   Next I

   Waitms 1000
  Loop
End

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -