请问adc0808数字电压表是怎么使用的

adc的在编程上的区别_软件_百科问答
adc的在编程上的区别
请问一下,adc的在用汇编语言编程上有何区别?如我有以下程序是用0808编的,怎么改才能在0809上用LED_0EQU30HLED_1EQU31HLED_2EQU32HADCEQU35HCLOCKBITP2.4STBITP2.5EOCBITP2.6OEBITP2.7ORG00HSJMPSTARTORG0BHLJMPINT_T0START:MOVLED_0,#00HMOVLED_1,#00HMOVLED_2,#00HMOVDPTR,#TABLEMOVTMOD,#02HMOVTH0,#245MOVTL0,#00HMOVIE,#82HSETBTR0WAIT:CLRSTSETBSTCLRSTJNBEOC,$SETBOEMOVADC,P1CLROEMOVA,ADCMOVB,#100DIVABMOVLED_2,AMOVA,BMOVB,#10DIVABMOVLED_1,AMOVLED_0,BLCALLDISPSJMPWAITINT_T0:CPLCLOCKRETIDISP:MOVA,LED_0MOVCA,@A+DPTRCLRP2.3MOVP0,ALCALLDELAYSETBP2.3MOVA,LED_1MOVCA,@A+DPTRCLRP2.2ADDA,#80HMOVP0,ALCALLDELAYSETBP2.2MOVA,LED_2MOVCA,@A+DPTRCLRP2.1MOVP0,ALCALLDELAYSETBP2.1RETDELAY:MOVR6,#10D1:MOVR7,#250 DJNZR7,$DJNZR6,D1 RETTABLE:DB3FH,06H,5BH,4FH,66HDB6DH,7DH,07H,7FH,6FHEND
提问者:樊筱仙
§7.3 A/D转换器ADC0809与 MCS-51单片机的接口设计 ADC八位逐次逼近式A/D转换器是一种单片CMOS器件,包括8位的模/数转换器,8通道多路转换器和与微处理器兼容的控制逻辑.8通道多路转换器能直接连通8个单端模拟信号中一任何一个. 一,ADC的内部结构及引脚功能 1,ADC0809转换器内部结构2,ADC0809引脚功能分辨率为8位.最大不可调误差ADC0808小于±1/2LSB,ADC0809小于±1LSB单一+5V供电,模拟输入范围为0~5V.具有锁存三态输出,输出与TTL兼容.功耗为15mw.不必进行零点和满度调整.转换速度取决于芯片的时钟频率.时钟频率范围:10~1280KHZ当CLK=500KHZ时,转换速度为128μs.IN0~IN7:8路输入通道的模拟量输入端口. 2-1~2-8:8位数字量输出端口. START,ALE:START为启动控制输入端口,ALE为地址锁存控制信号端口.这两个信号端可连接在一起,当通过软件输入一个正脉冲,便立即启动模/数转换.EOC,OE:EOC为转换结束信号脉冲输出端口,OE为输出允许控制端口,这两个信号亦可连结在一起表示模/数转换结束.OE端的电平由低变高,打开三态输出锁存器,将转换结果的数字量输出到数据总线上.REF(+),REF(-),VCC,GND,REF(+)和REF(-)为参考电压输入端,VCC为主电源输入端,GND为接地端.一般REF(+)与VCC连接在一起,REF(-)与GND连接在一起.CLK:时钟输入端.3,8路模拟开关的三位地址选通编码表ADDA,B,C8路模拟开关的三位地址选通输入端,以选择对应的输入通道. 地 址 码对应的输入通道CBA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7二,ADC与8031单片机的接口设计 ADC与8031单片机的硬件接口有三种方式,查询方式,中断方式和等待延时方式.究竟采用何种方式,应视具体情况,按总体要求而选择.1.延时方式 ADC0809编程模式在软件编写时,应令p2.7=A15=0;A0,A1,A2给出被选择的模拟通道的地址;执行一条输出指令,启动A/D转换;执行一条输入指令,读取A/D转换结果.通道地址:7FF8H~7FFFH下面的程序是采用延时的方法,分别对8路模拟信号轮流采样一次,并依次把结果转存到数据存储区的采样转换程序.START: MOV R1, #50H ;置数据区首地址MOV DPTR, #7FF8H ;P2.7=0且指向通道0 MOV R7, #08H ;置通道数 NEXT: MOVX @DPTR,A ;启动A/D转换MOV R6, #0AH ;软件延时DLAY: NOPNOPNOPDJNZ R6, DLAYMOVX A, @DPTR ;读取转换结果MOV @ R1, A ;存储数据INC DPTR ;指向下一个通道INC R1 ;修改数据区指针 DJNZ R7, NEXT ;8个通道全采样完了吗 ........ 2.中断方式 将ADC作为一个外部扩展的并行I/O口,直接由8031的P2.0和脉冲进行启动.通道地址为FEF8H~FEFFH用中断方式读取转换结果的数字量,模拟量输入通路选择端A,B,C分别与8031的P0.0,P0.1,P0.2(经74LS373)相连,CLK由8031的ALE提供. INTADC:SETB IT1 ;选择为边沿触发方式SETB EA ;开中断SETB EX1 ;MOV DPTR, #0FEF8H ;通道地址送DPTRMOVX @DPTR,A ;启动A/D转换……PINT1: ……MOV DPTR, #0FEF8H ; 通道地址送DPTRMOVX A, @ DPTR;读取从IN0输入的转换结果存入MOV 50H, A ;50H单元MOVX @DPTR,A ;启动A/D转换RETI ;中断返回三,接口电路设计中的几点注意事项1.关于ADC最高工作时钟频率的说明由于ADC芯片内无时钟,所以必须靠外部提供时钟;外部时钟的频率范围为10KHZ~1280KHZ.在前面的ADC通过中断方式与8031单片机接口的电路中,8031单片机的主频接为6MHZ,ALE提供ADC的时钟频率为1MHZ(1000KHZ);实际应用系统使用证明,ADC能够正常可靠地工作.但在用户进行ADC应用设计时,推荐选用640KHZ左右的时钟频率. 2,ADC0816/17与ADC0809的主要区别ADC与ADC相比,除模拟量输入通道数增至16路,封装为40引脚外,其原理,性能结构基本相同.ADC0816和ADC0817的主要区别是:ADC0816的最大不可调误差为±1/2LSB,精度高,价格也高;ADC0817的最大不可调误差为士1LSB,价格低. 习题七 试设计一数据采集系统 2002.10 使用单位: 山东省气象局在东营市孤岛气象观察站设计单位: 山东大学物理与微电子学院2000级设计方案: 自行确定提 示: 对于非模拟物理量,可以用下图示意即可非电物理量传感器A/D转换器
回答者:邹铭乾
Mail: Copyright by ;All rights reserved.后使用快捷导航没有帐号?
查看: 2395|回复: 13
ADC0808为啥仿真出来的数字不正确呢,算法都正确啊,但是
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
#include&reg52.h&
#include &stdio.h&
#include &intrins.h&
#define uchar&&unsigned char
#define uint& &unsigned int
sbit lcdrs=P2^0;
sbit lcdrw=P2^1;
sbit lcden=P2^2;
sbit ST=P2^4;
sbit EOC=P2^5;
sbit OE=P2^6;
sbit CLOCK=P2^7;
uchar a,b,c,d,VOL;
unsigned char code table1[]={&VOL:&};
void delay1ms()
{ unsigned int x,y; for(x=0;x&10;x++) for(y=33;y&0;y--); }
void delay(unsigned int z)
{ for(x=z;x&0;x--)& &delay1ms();}
void write_com(unsigned char com)
lcdrs=0;&&
& && && && && &P3=& && && &
& && && && &delay(5);
void write_data(unsigned char dat)
lcdrs=1;& && &
& && && && &P3=& && && && && && && && && &&&
void init(void)
& && && && &&&lcden=0;
& && && &&&lcdrw=0;
write_com(0x01);& &
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x80);
void display(void)
& & unsigned int i=0;
& & write_com(0x80);& &
& && && &while(table1!='\0')
& && && & write_data(table1);
& && && & i++;
& && && & }
void readtemp()
& && &OE=0;ST=0;ST=1;ST=0;
& && && &while(!EOC); OE=1;
& && && &a=P1; OE=0;&&delay(10);
& && && &VOL=a*500/255;
& && && &b=VOL/100;c=VOL/10%10;d=VOL%10;& && && && &
& && & write_com(0x85); write_data(b+48);write_data(0x2e);write_data(c+48);
& && & write_data(d+48);
& && & write_data('V');
void main()
& &&&init();
& &&&TMOD=0x01;
& & TH0=(6;
& & TL0=(6;
& & TR0=1;
& & ET0=1;
& & CLOCK=0;
& & display();
&&while(1)
& &&&readtemp();
void t0(void) interrupt 1 using 0& && && && && && && && && && && && && && &//这个中断左右是使CLOCK产生500kHZ的脉冲
& & TH0=(6;
& & TL0=(6;
& & CLOCK=!CLOCK;& && && && && && && && &&&
}& && && && && && && && && && && && && && && && && && & 这个例子应该很简单,但是不知道哪里有差错,就是数值不对,哪位大神有空帮忙看看,先谢谢了。我上次看了个网上资料也是这样,我就纳闷,为啥都没人帮人家指出来呢!
本帖子中包含更多资源
才可以下载或查看,没有帐号?
在线时间27 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 16, 距离下一级还需 184 积分
一粒金砂(中级), 积分 16, 距离下一级还需 184 积分
你需要改两个地方:
1、uint a,b,c,d,e,VOL;改为uint a,b,c,d,e,VOL&&因为要显示5v,uchar型范围不够,超过2.55V就显示不正常
2、VOL=a*500/256;改为VOL=a*1.0/256*500;这个应该是和分辨率有关,ADC0808是8位并行,分辨率就是1/256.
另外,仿真电路中ADC0808的输出顺序和标号是相反的,不是1对1,而是1对8。改过后就能正常显示
虽然我昨晚仿真好了 ,但是你回答的太完美了
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
& && && && && &&&这个好上面的 keil文件和仿真图&&,那位大神有空可以看看& &哈哈& && && && &&&我一直感觉好纳闷&&
本帖子中包含更多资源
才可以下载或查看,没有帐号?
在线时间49 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 70, 距离下一级还需 130 积分
一粒金砂(中级), 积分 70, 距离下一级还需 130 积分
我记得有个使能端好像不用关来关去的!!!
在线时间49 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 70, 距离下一级还需 130 积分
一粒金砂(中级), 积分 70, 距离下一级还需 130 积分
你试试接下地~
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
while(!EOC); OE=1;
& && && &a=P1; OE=0;&&delay(10);
& && && &VOL=a*500/255;& && && && && && && && && && && && &哥,你指的是OE吗,还是,这个是自锁功能呀,接地的 话,&&OE=0; 就会输不出结果呀
在线时间49 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 70, 距离下一级还需 130 积分
一粒金砂(中级), 积分 70, 距离下一级还需 130 积分
你需要改两个地方:
1、uint a,b,c,d,e,VOL;改为uint a,b,c,d,e,VOL&&因为要显示5v,uchar型范围不够,超 ...
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
你需要改两个地方:
1、uint a,b,c,d,e,VOL;改为uint a,b,c,d,e,VOL&&因为要显示5v,uchar型范围不够,超 ...
& & 虽然我昨晚仿真好了 ,但是你回答的太完美了&&谢了& && && && &&&哈哈
在线时间8 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
一粒金砂(中级), 积分 20, 距离下一级还需 180 积分
在线时间27 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 16, 距离下一级还需 184 积分
一粒金砂(中级), 积分 16, 距离下一级还需 184 积分
虽然我昨晚仿真好了 ,但是你回答的太完美了&&谢了& && && && &&&哈哈
在线时间188 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 18, 距离下一级还需 182 积分
一粒金砂(中级), 积分 18, 距离下一级还需 182 积分
正在学习中..................................
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
你好。现在能正常运行吗。我也遇到了同样问题
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
一粒金砂(初级), 积分 4, 距离下一级还需 1 积分
你好。我也有这个问题。
Powered by
逛了这许久,何不进去瞧瞧?0808,最全面的0808文章 - 电子工程世界网
在电子工程世界为您找到如下关于“0808”的新闻
0808资料下载
0808基于8051仿真...
0808、实用无级触摸调光灯电路.rar...
与单片机连接的AD八位逐次逼近式0808采样C语言设计程序...
#5625* 可以看到密码!CU100 LG 手动解锁:1477 就可搞定东信EX200手动解锁: 放卡开机 打112 等出现计时后 不停按0808。。。。20秒左右计时结束!按一下关机键 长按# 就解开了!再用**## 000000 确定 确定 看密码!海尔 手动解锁:2327东信手动解锁:1215摩托罗拉 cdma v730 最新解锁方法:插卡...
T410等LG系列包括部分机卡一体机的CDMA手机解锁指令:14773.东信EX200手动解锁:插卡开机打112,等出现计时后,不停地按0808……20秒左右后计时结束;按一下关机键,长按#就解开了;再用**## 000000 确定,确定,看密码。4.
东信EX280手动解锁:①32147...
Maui_META_src_v5.0808 源代码,Maui_META_src_v5……...
0808相关帖子
()interrupt 1{CLK=!CLK;}
请问留步的大神,我这个程序能把采集到的信号从串口输出吗?我用proteus仿真了好多次,不知道哪里的问题!求助! ADC0808采集电压信号,小子这么好学!路过的大神你就踢一脚吧! 没用过0808。。
建议楼主使用板子调试吧。proteus没用过,我不主张纸上谈兵
也没用过0808,不过最好是用板子跑一遍吧
在实践中找问题
我用的0809,程序...
delayms(10);
Lcd_Write_Com_Data(0x60,0x2700);& &
Lcd_Write_Com_Data(0x08,0x0808);&&
Lcd_Write_Com_Data(0x30,0x0214);
Lcd_Write_Com_Data(0x31,0x3715...
  本文以基于AT91RM9200的嵌入式控制系统为例,重点分析系统电源电路的设计思路、方法以及系统电源的安装与调试过程,结合调试过程中碰到的问题,对嵌入式系统电路的调试方法及注意事项进行了分析。随着嵌入式系统的广泛应用,电源电路的设计与调试尤为重要,本文的设计与调试思路值得借鉴。
(本文转自电子工程世界:.cn/gykz/2011/0808...
简介:行业PDA手持终端具有良好的电源管理、重量轻、体积小、性能稳定、成本低廉等特点。适用于各种手持移动金融终端、POS系统。适用行业:公共安全、金融、税务、海关、医疗、商业、工业制造等。本文来自成都明诚科技,专业的嵌入式平台提供商,详细信息请访问/article/news/2010/0808/PDADesign.html
一、行业PDA定制...
,甚至0809不给电的时候单片机都有ST的脉冲输出。。。。。我最近是第一次弄AD,调0809好几天了,一直也不知道哪可能出问题。。。。Proteus仿真0809用0808的信息,仿真是好使的。可是实际做出来就有问题了。
还有您的那个程序移位那里不太明白。
还有,高手能留下QQ号么,想请教一下。真的挺着急的。 回复 沙发 jialaolian 的帖子...
DDFE DJNZ R5,C:080A
C:0x080C DEFA DJNZ R6,C:0808
C:0x080E 1F DEC R7
C:0x080F 80EF SJMP delay(C:0800)
C:0x0811 22 RET
我们看看,R7的值是多少呢?在下面,主函数里面,赋值为0x0F,就是15。通过上面这段汇编程序段,我们用同样的方法来计算一下它的延时时间为(机器周期数请自己...
1、报到格式:时间+祝福、心情、每天的目标或对论坛建议( 正确格式:11.07 繁忙的一天又开始了;:\'( 错误的格式:11.07 我来了);2、报到格式不正确者不予评分;3、重复报到者一定会后悔自己的重复;4、凡每日报到者均有1枚芯币奖励,版主会在24小时内给予奖励。
欢迎大家每日来报到,留下自己的脚印。
&各位版主注意了!&
最近对EEWORLD社区积分...
adc0809高版本也不行
换用adc0808,或者adc0832
这个简单啊,网上搜一下就得到答案了.
proteus里好像没有adc0809的模型,MBWQ 说的不错,换0808吧
打开元件U2,在other properties 中输入“PRIMITIVE=NULL”,也可“{PRIMITIVE=NULL}”大括号表示不将其内容显示到原理图中。PRIMITIVE=NULL应该是...
7E04 MOV R6,#0x04
C:0x MOV R5,#0x74
C:0x MOV R4,#0xD6
C:0x0808 DCFE DJNZ R4,C:0808
C:0x080A DDFA DJNZ R5,C:0806
C:0x080C DEF6 DJNZ R6,C:0804
C:0x080E DFF2 DJNZ R7,C:0802...
LcdWrite_Text(0x12,0x0804);
LcdWrite_Text(0x18,0x0805);
LcdWrite_Text(0x0a,0x0806);
LcdWrite_Text(0x16,0x0807);
LcdWrite_Text(0x14,0x0808...
你可能感兴趣的标签
热门资源推荐}

我要回帖

更多关于 adc0808 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信