这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » LCD1,ADC0,ADC3 我写的在LCD1~4行上显示ADC0~ADC3

共2条 1/1 1 跳转至

LCD1,ADC0,ADC3 我写的在LCD1~4行上显示ADC0~ADC3

院士
2006-09-17 18:14:16     打赏
LCD1,ADC0,ADC3 我写的在LCD1~4行上显示ADC0~ADC3



关键词: 写的     行上     显示    

院士
2006-12-22 22:43:00     打赏
2楼
问 '************************BASCOM-AVR试验程序 ***********************
'*********************ADC0~ADC3在LCD的1~4行显示*******************
'以下程序正在运行
$regfile = "m8def.dat"                                      
$crystal = 4000000

Config Lcd = 20 * 4
Config Lcdmode = Port
Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.5 , Db6 = Portb.7 , Db7 = Portb.6 , E = Portd.7 , Rs = Portb.0
'LCD的数据线采用4Bit且分配了portb和portd难为编译器啦!
Dim Ch0 As Word
Dim Ch1 As Word
Dim Ch2 As Word
Dim Ch3 As Word

Config Adc = Single , Prescaler = Auto , Reference = Internal
'单次转换,自动时钟,内部参考'当single改为free连续转换时LCD无显示有问题
Config Pinc.0 = Input      
Config Pinc.1 = Input
Config Pinc.2 = Input
Config Pinc.3 = Input
Config Pind.4 = Output
Start Adc
Cls                 'LCD清屏
Do
   Ch0 = Getadc(0)  '将ADC0的值赋给CH0
   Ch0 = Ch0 * 25
   Ch0 = Ch0 / 10   '加了个系数和电表量的有个对应
   Ch1 = Getadc(1)
   Ch1 = Ch1 * 25
   Ch1 = Ch1 / 10
   Ch2 = Getadc(2)
   Ch2 = Ch2 * 25
   Ch2 = Ch2 / 10
   Ch3 = Getadc(3)
   Ch3 = Ch3 * 25
   Ch3 = Ch3 / 10
   Cls
   Locate 1 , 1   '定位第一行第一个字符
   Lcd "CH0="     '显示CH=0字符串
   Locate 1 , 5
   Lcd Ch0        '显示CH0的值,我没有数制变换它自己就是10进制显示的
   Locate 2 , 1
   Lcd "CH1="
   Locate 2 , 5
   Lcd Ch1
   Locate 3 , 1
   Lcd "CH2="
   Locate 3 , 5
   Lcd Ch2
   Locate 4 , 1
   Lcd "CH3="
   Locate 4 , 5
   Lcd Ch3
   Waitms 200    '不延时的时候LCD看不清
   Set Portd.4   'PORTB.4上有个LED在闪
   Waitms 200
   Reset Portd.4
Loop
End 1: 显示格式最好加:FORMAT(S,“      ”)函数 2: 谢谢,先看了HELP再试   在8515的板上做了个mega8的适配插座。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]