技术要求:用ADC0808对模拟信号进行转换,转换结果送7段数码管显示,同时用发光二极管显示转换值的二进制码。5位数码管的前两位显示“AD”。字样,后三位显示A/D转换结果,采用串行显...
技术要求:用ADC0808对模拟信号进行转换,转换结果送7段数码管显示,同时用发光二极管显示转换值的二进制码。5位数码管的前两位显示“AD”。字样,后三位显示A/D转换结果,采用串行显示方法。
把下面的汇编改成C语言
DBUF0EQU30H
TEMPEQU40H
DINBIT0B0H
CLKBIT0B1H
ORG0000H
START:
MOVR0,#DBUF0;显示缓冲器存放0AH,0DH,-,0XH
MOV@R0,#0AH;DDBUF0 (30H)赋值
INCR0;DBUF1 (31H)
MOV@R0,#0DH
INCR0
MOV@R0,#10H
INCR0
MOVDPTR,#0FEF3H;ADC0808 A/D地址
MOVA,#0;清零
MOVX@DPTR,A;启动AD转换
JNBP3.3,$;等待EOC为高电平转换结束
MOVXA,@DPTR;读入转换结果
MOVP1,A;转换结果送入发光二极管
MOVB,A;累加器内容存入B中
SWAPA;A的内容高4位与低4位交换
ANLA,#0FH;A的内容高4位清零
XCHDA,@R0;A/D转换结果高4位送入DBUF3
INCR0
MOVA,B;读出A/D转换后的结果
ANLA,