数码转换实验学号:1042402025姓名:张炎峰专业:电气工程与自动化2
1、实验目的1、掌握不同进制数及编码相互转换的方法,加深对数码转换的理解;2、熟悉KeilC51集成开发环境的操作及程序调试方法
2、实验设备PC机一台,TD-NMC+教学实验系统、或“TD-PIT++教学实验系统+TD-51系统平台”、或“TD-PITE教学实验系统+TD-51系统平台”2
3、实验内容1、将BCD码整数0~255存入片内RAM的20H\21H\22H中,然后转换为二进制整数00H~FFH,保存到寄存器R4中
2、将16位二进制整数存入R3、R4寄存器中,转换为10进制整数,以组合BCD形式存储在RAM的20H\21H\22H单元中
4、实验步骤1、二进制整数转换为十进制整数实验参考例程:ORG0000HLJMPMAIN程序初始清零ORG0100HMAIN:MOVR0,#22H//转换结果低位地址存入R0MOVA,R0//将转换结果低位地址压入堆栈PUSHACCMOVR7,#03HCLRALP1:MOV@R0,ADECR0寄存器A中此时为零,通过将他赋值给20H、21H、DJNZR7,LP122H将他们三个寄存器清零POPACC将22H赋值给R0,既转换结果低位地址赋值给R0MOVR0,AMOVR7,#16用于作为控制16位二进制数转换的循环控制数LP2:PUSHACC保存转换结果地位地址CLRC将进位标志位清零,在下面对R4的循环左移中将R4低位赋值为零MOVA,R4首先对R4进行循环左移,并将其R4最高位存到RLCA进位标志位,R4最低位赋值为0,然后将R3循环MOVR4,A左移,并将R4的最高位赋值给R3的最低位,MOVA,R3达到16位二进制数整体左移一位并将16位二进RLCA制数的最高位保存到进位标志位MOVR3,AMOVB,#03H十进制数有六位