8051单片机编写汇编程序,将20H单元中的“0”~“F”的ASCII码转换为1位十六进制数,存储到20H单元。
时间: 2023-07-16 17:11:57 浏览: 127
把键盘输入的ASCII码转换为二进制输出的汇编程序(0~F)
4星 · 用户满意度95%
以下是用8051单片机汇编语言编写的转换程序:
```
ORG 0H ;程序起始地址
MOV R0, #0 ;将循环计数器R0初始化为0
MOV DPTR, #20H ;将数据指针DPTR初始化为20H
AGAIN: MOV A, R0 ;将循环计数器R0中的值传送到累加器A
ADD A, #'0' ;将ASCII码的值'0'加到累加器A中,使其成为对应字符的ASCII码
MOVX @DPTR, A ;将累加器A中的值存储到DPTR指向的内存单元中
INC R0 ;将循环计数器R0中的值自增1
INC DPTR ;将数据指针DPTR指向下一个内存单元
CJNE R0, #16, AGAIN ;如果循环计数器R0中的值不等于16,则跳转到AGAIN
RET ;程序结束,返回
```
上述程序的功能是将20H单元中的“0”~“F”的ASCII码转换为1位十六进制数,存储到20H单元。程序中使用了循环计数器R0和数据指针DPTR,通过循环将ASCII码转换为对应的十六进制数,并依次存储到20H~2FH单元中。
阅读全文