📄 subadc中断lcd显示.bas
字号:
'**************************************************************************
' 入门例子]ADC中断LCD显示在PROTEUS6.9sp5仿真中通过
'名 称 : 入门例子]ADC中断LCD显示.bas
'目 的 : ADC中断LCD显示在PROTEUS6.9sp5仿真中通过
'目 标 芯 片 : Mega16
'试 验 环 境 : mega16_PROTEUS6.9sp5仿真
'编 译 环 境 : BASCOM-AVR 1.11.8.1
'********************************************************************************
$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 'Prescaler = Auto Internal
Dim W1 As Long , Channe1 As Byte , V1 As Single
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的接口,请书写在同一行
'定义液晶的型号
Declare Sub Adctest(w1 As Long , Channe1 As Byte , V1 As Single )
Cls
Cursor Off
Channe1 = 0
Do
Start Adc
Call Adctest(w1 , Channe1 , V1)
Loop
End
Sub Adctest(w1 As Long , Channe1 As Byte , V1 As Single)
Dim V2 As String * 10
V2 = Str(v1)
W1 = Getadc(channe1)
W1 = W1 * 500
W1 = W1 / 1023 '将10位A/D转换器的值转化为十进制
V2 = Str(w1) ' 数字转换为字符串
V2 = Format(v2 , "0.00")
Wait 100 '确定小数点
Locate 1 , 1 : Lcd "Ch " ; Channe1 ; " val " ; V2 ; "V" '打印模拟值
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -