📄 入门例子]adc外接电压lcd显示.bas
字号:
' 入门例子]ADC中断LCD显示在PROTEUS6.9sp5仿真中通过
'名 称 : 入门例子]ADC中断LCD显示.bas
'目 的 : ADC中断LCD显示在PROTEUS6.9sp5仿真中通过
'目 标 芯 片 : Mega16
'试 验 环 境 : mega16_PROTEUS6.9sp5仿真
'编 译 环 境 : BASCOM-AVR 1.11.8.1 DEMO
'------------------------------------------------------------------------------
$regfile = "m16def.dat" ' specify the used micro
$crystal = 8000000 ' used crystal frequency
$baud = 9600 ' use baud rate
' default use 40 for the frame space
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'Internal ' 对ADC的定义,接外部电压 'Reference = Internal
'Dim W1 As Long ,
Dim Channe1 As Byte , 'V1 As String * 10
' Enable Interrupts
' Enable Adc
'On Adc Adc_isr
' Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5 '定义单片机与LCD的接口,请书写在同一行
'定义液晶的型号
Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.6 , Rs = Portb.7
Config Lcd = 16 * 2
Dim G As String * 10
Dim D As Word '与ADC转换相关变量
Dim F As Single
Dim H As Single
Cls
Cursor Off
Channe1 = 1
Do
Start Adc
D = Getadc(channe1) '采样通道0 40脚
'//////////////////////////把采样到的模拟量转换成数字量并显示/////////////////////////////
F = D * 5
H = F / 1023
G = Str(h)
G = Format(g , "00")
Locate 2 , 1
Lcd "v=" ; G ; " v"
Loop
End
'( W1 = Getadc(channe1)
W1 = W1 * 500
W1 = W1 / 1023 '将10位A/D转换器的值转化为十进制
V1 = Str(w1) ' 数字转换为字符串
V1 = Format(v1 , "0.00")
Wait 100 '确定小数点
Locate 1 , 1 : Lcd "Ch " ; Channe1 ; " val " ; V1 ; "V" '打印模拟值
Loop
End
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -