单片机查表实验c语言,单片机 查表程序设计实验
查表程序设计实验
2.4 查表程序设计实验
2.4.1 实验目的
学习查表程序的设计方法,熟悉 51 的指令系统。
2.4.2 实验设备
PC 机一台,TD-NMC+教学实验系统、或“TD-PIT++教学实验系统+TD-51 系统平台”、或
“TD-PITE 教学实验系统+TD-51 系统平台”
2.4.3 实验内容
1. 通过查表的方法将 16 进制数转换为 ASCII码;
2
2. 通过查表的方法实现y=x ,其中x为 0~9 的十进制数,以BCD码表示,结果仍以BCD
码形式输出。
2.4.4 实验步骤
1. 采用查表的方法将 16 进制数转换为 ASCII 码
根据 ASCII码表可知,0~9 的 ASCII码为 30H~39H,A~F的 ASCII码为 41H~46H,算
法为(假定待转换的数存放在 R7 中):
当 R7≤9 时,相应的 ASCII码为:R7+30H;
当 R7>9 时,相应的 ASCII码为:R7+30H+07H。
实验程序清单:(Asm4-1.asm)
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV DPTR, #ASCTAB ;表格首地址送DPTR
MOV A, R7 ;R7中为待转换的数
ANL A, #0FH ;取低4位
MOVC A, @A+DPTR ;查表
MOV R5, A ;低4位转换结果送R1
MOV A, R7
ANL A, #0F0H ;取待转换数的高4位
SWAP A ;高4位与低4位交换
MOVC A, @A+DPTR ;查表
MOV R6, A ;高4位转换结果送R2
SJMP MAIN ;设置断点观察结果
;ASCII码表
ASCTAB: DB 30H, 31H, 32H, 33H, 34H
DB 35H, 36H, 37H, 38H, 39H
DB 41H, 42H, 43H, 44H, 45H, 46H
END
实验步骤:
(1)编写实验程序,编译、链接无误后联机调试;
(2)将待转换的数存放在 R7 中,如令 R7 中的值为 0x86;