用汇编语言实现简易电压表

来源:百度知道 编辑:UC知道 时间:2024/05/29 14:28:46
功能如下: 题目:简易数字电压表设计
1.采用ADC0809逐次逼近式A/D转换器设计一个电压检测电路并编制相应的程序,使其能将输入的0-5V模拟电压量转换成数字量并在LED/LCD屏上显示;
2.ADC0809每采集一次大约需要100μS,设计程序既可采用查询方式读入A/D转换结果,也可采用中断方式读入结果;
3.模拟电压量由实验箱上的电位器提供,电压范围0-5V,经ADC0809转换得到的数字量范围为0-255;
可用芯片: 8259A ,8255 ,0809 ,SED1520

LED_0 EQU 30H;
LED_1 EQU 31H;
LED_2 EQU 32H;
LED_3 EQU 33H;
ADC EQU 35H;
ST BIT P3.2;
OE BIT P3.0;
EOC BIT P3.1;
ORG 00H;
START: MOV LED_0,#00H;
MOV LED_1,#00H;
MOV LED_2,#00H;
MOV LED_3,#00H;
MOV DPTR,#TABLE;
SETB P3.4;
SETB P3.5;
CLR P3.6;
WAIT: CLR ST;
SETB ST;
CLR ST;
JNB EOC,$;
SETB OE;
MOV ADC,P1;
CLR OE;
MOV A,ADC;
MOV B,#51;
DIV AB;
MOV LED_3,A;
MOV A,B;
MOV B,#5;
DIV AB;
MOV LED_2,A;
MOV LED_1,B;
LCALL DISP;
SJMP WAIT;
DISP: MOV A,#3EH;
CLR P2.3;
MOV P0,A;
LCALL DELAY;
SETB P2.3;
MOV A,LED_1;
MOVC A,@A+DPTR;
CLR P2.2;
MOV P0,A;
LCALL DELAY;
SETB P2.2;
MOV A,LED_2;
MOVC A,@A+DPTR;
CLR P2.1;
MOV P0,A;
LCALL DELAY;
SETB P2.1;
MOV A,LED_3;
MOVC A,@A+DPTR;
ORL A,#80H;