您的当前位置:首页实验一BCD十六进制码转换

实验一BCD十六进制码转换

2022-01-21 来源:乌哈旅游


本科实验报告

课程名称: 单片机原理与接口技术

实验项目: BCD/十六进制码转换

实验地点: 电机馆跨越机房

专业班级: 学号:

学生姓名:

指导教师:

2015 年 4 月 14 日

1. 实验目的

(1) 熟悉编码转换程序

(2) 掌握编写和运行子程序的技巧 2、实验设备

计算机一台:KeilC51和Proteus 3、实验内容

将片内RAM 20H单元中两位BCD码转换成相应的十六进制码,转换结果保存于22H单元 4、实验原理提示

常用BCD码转十六进制码的方法为“乘十加数”法。例如,将BCD码10010010(表示十进制数92)转换成十六进制编码表示形式,算法为:HY=(09*0A+02)H =5CH。其中YH为转换后的十六进制数。再二进制运算中乘法可以用移位(左移)实现,*0A可以写成*08+*02,其中*08是将被乘数左移3为,*02是将被乘数左移1为。则(09*0A+02)

H=(09+08+09*02+02)D=(01001000+00010010+00000010)B=(01011100)B=5CH。

5.BCD码转换成十六进制码的实验程序流程图如图

(20H)低4位 B (20H)高4位 A 开始

A R7 (A)左移3位 R6 R7 A

6.实验程序 ORG 0000H

MOV 20H,#92H ;元中

MOV A,#0FH ;0FH ANL A,20H ; MOV B,A ; MOV A,#0F0H ;0F0H ANL A,20H ; SWAP A ; MOV R7,A ;(A)左移1位 R7 (R7)+(R6) R6 (R6)+(B) 22H 结束 把BCD码(1001 0010)放入20H地址单赋值到A

获得直接地址单元20H中的低4位 (A)赋值给B 赋值到A

获得直接地址单元20H的高4位赋值给A 把高4位交换到低4位 (A)赋值给R7

RL A ;A中值左移一位 RL A ;A中值左移一位 RL A ;A中值左移一位 MOV R6,A ;(A)赋值给R6 MOV A,R7 ;(R7)赋值给A RL A ;A中值左移一位 MOV R7,A ;(A)赋值给R7 ADD A,R6 ;(R6)+(R7)赋值给A ADD A,B ;(B)+(A)赋值给A MOV 22H,A ;(A)赋值给22H SJMP $ ;程序到此处死循环 END 7.实验结果

因篇幅问题不能全部显示,请点此查看更多更全内容