您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 实验一BCD十六进制码转换
本科实验报告课程名称:单片机原理与接口技术实验项目:BCD/十六进制码转换实验地点:电机馆跨越机房专业班级:学号:学生姓名:指导教师:2015年4月14日1.实验目的(1)熟悉编码转换程序(2)掌握编写和运行子程序的技巧2、实验设备计算机一台:KeilC51和Proteus3、实验内容将片内RAM20H单元中两位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位A6.实验程序ORG0000HMOV20H,#92H;把BCD码(10010010)放入20H地址单元中MOVA,#0FH;0FH赋值到AANLA,20H;获得直接地址单元20H中的低4位MOVB,A;(A)赋值给BMOVA,#0F0H;0F0H赋值到AANLA,20H;获得直接地址单元20H的高4位赋值给ASWAPA;把高4位交换到低4位MOVR7,A;(A)赋值给R7AR7(A)左移3位R6R7A(A)左移1位R7(R7)+(R6)R6(R6)+(B)22H结束RLA;A中值左移一位RLA;A中值左移一位RLA;A中值左移一位MOVR6,A;(A)赋值给R6MOVA,R7;(R7)赋值给ARLA;A中值左移一位MOVR7,A;(A)赋值给R7ADDA,R6;(R6)+(R7)赋值给AADDA,B;(B)+(A)赋值给AMOV22H,A;(A)赋值给22HSJMP$;程序到此处死循环END7.实验结果
本文标题:实验一BCD十六进制码转换
链接地址:https://www.777doc.com/doc-2457513 .html