急求:ADC0809和AT89C51的AD转换汇编程序 模拟量从IN0进入 0809和单片机的P0口连接

如题所述

编写的源程序如下:
ORG 0000H
LOOP: CLR P2.2
SETB P2.2
JNB P2.1,$ ;检测转换是否结束
CLR P2.0
MOV A,P0 ;读取转换结果
SETB P2.0
CLR C
SUBB A ,#2CH ;数值调整,此值是针对本任务,非通用,由表6-2得
MOV DPTR,#TEMPTAB ;查表获得温度值
MOVC A,@A+DPTR
SETB P3.1
SETB P3.2
MOV B,#10 ;将温度值转换为BCD码
DIV AB ;温度十位BCD码在A中,温度个位BCD码在B中
MOV R3,A ;温度十位BCD码暂存R3中
MOV R4,B ;温度个位BCD码暂存R4中
MOV DPTR,#DIGITTAB ;七段数码表首地址送DPTR
MOV A,R3
MOVC A,@A+DPTR ;查表取得温度十位数的七段码
MOV P1,A ;温度十位数送P1口
CLR P3.2 ;开十位显示
ACALL DELAY
MOV A,R4
MOVC A,@A+DPTR ;查表取得温度个位数的七段码
SETB P3.2 ;关闭十位显示;
MOV P1,A ;温度个位数送P1口
CLR P3.1 ;开个位显示
ACALL DELAY
AJMP LOOP
DELAY:MOV R6,#2
D1:MOV R7,#250
D2:NOP
NOP
DJNZ R7,D2
DJNZ R6,D1
RET
DIGITTAB: ;数字0~9的共阳七段显示码
DB 0C0H ;0
DB 0F9H ;1
DB 0A4H ;2
DB 0B0H ;3
DB 099H ;4
DB 092H ;5
DB 082H ;6
DB 0F8H ;7
DB 080H ;8
DB 090H ;9
DB 08EH ;F 错误显示
TEMPTAB: ;温度数据表
DB 90,89,88,87,100,86,85,84,83,100,82,81,100,80
DB 79,100,78,77,100,76,75,100,74,100,73,100,72,71
DB 100,70,100,69,100,68,100,67,100,66,100,65,100,64
DB 100,63,100,62,100,61,100,60,100,100,59,100,58,100
DB 57,100,100,56,100,55,100,54,100,100,53,100,52,100
DB 100,51,100,50,100,100,49,100,48,100,100,47,100,46
DB 100,100,45,100,100,44,100,43,100,100,42,100,100,41
DB 100,40,100,100,39,100,38,100,100,37,100,100,36,100
DB 35,100,100,34,100,100,33,100,32,100,100,31,100,30
DB 100,100,29,100,28,100,100,27,100,26,100,100,25,100
DB 24,100,100,23,100,22,100,21,100,20,100,100,19,100
DB 18,100,17,100,16,100,15,100,14,100,13,100,12,100
DB 11,100,10,9, 100,8, 100,7, 6, 100,5, 4, 100,3
DB 2, 1, 100,0
END
温馨提示:内容为网友见解,仅供参考
无其他回答

求at89c51单片机和adc0809 ad转换器的连接方法 有图的发847926557@qq...
while(EOC == 0);OE = 1;Display_Result(P3);OE = 0;} } void Timer0_INT() interrupt 1 { CLK = !CLK;}

利用单片机AT89C51与ADC0808设计一个数字电压表,能够测量0~5V的直流电...
与双积分相比,逐次逼近式A\/D转换的转换速度更快,而且精度更高,比如ADC0808、ADC0809等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送入单片机进行分析和显示。本设计中,由于对精度没做很大要求,我们采用逐次逼近式A\/D转换ADC0808,精度为0.02,所以四位LED显示中的最后一位...

恳求各位高手:帮忙看一下这个单片机课设题目呗。题目为 ADC0808转换 谢 ...
如下图所示,从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接+5V电压。4.电路原理图 图1.27.1 5.系统板上硬件连线 (1).把“单片机系统板”区域中的P1端口的P1.0-P1.7用8芯排线连接到“动态数码显示”区域中的A B C...

单片机实训总结范文5篇
对于模数转换部分,单片机89C51通过P0口的I\/O线向ADC0809发送锁存地址以及复位、启动转换等信号,并查询转换状态。 ADC0809启动转换后,将0-8个通道一次输入的电压信号转换成相应的数字量,供89c51读取使用,并且将EOC置1供单片机查询转换状态。而滑动变阻器负责将阻值信号转换成电压信号,再送到ADC0809的八个通道。当单片机查...

懂80C51单片机的进~
懂80C51单片机的进~ 条件:80C51单片机,ADC0809,LCD1602及按键。目的:8路PT100温度巡检0~100度。1)电路图2)说明(大致主要的引脚功能等设计说明)3)流程图4)ADC0809和LCD1602的驱动子程序我知道不... 条件:80C51单片机,ADC0809,LCD1602及按键。目的:8路PT100温度巡检0~100度。1)电路图 2)说明(大致主要的引脚...

数字电压表电路怎么设计啊
为此,我们设计了数字电压表,此作品主要由A\/D0808转换器和单片机AT89C51构成,A\/D转换器在单片机的控制下完成对模拟信号的采集和转换功能,最后由数码管显示采集的电压值。此设计通过调试完全满足设计的指标要求。电路设计简单,设计制作方便有较强的实用性。关键词:ADC0808;单片机AT89C51;数字电压表Abstract: In this ...

相似回答