?? 入門例子]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 + -