欢迎来到天天文库
浏览记录
ID:57417566
大小:117.00 KB
页数:5页
时间:2020-08-16
《实验一BCD十六进制码转换.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本科实验报告课程名称:单片机原理与接口技术实验项目:BCD/十六进制码转换实验地点:电机馆跨越机房专业班级:学号:学生姓名:指导教师:2015年4月14日1. 实验目的 (1) 熟悉编码转换程序 (2) 掌握编写和运行子程序的技巧 2、实验设备 计算机一台:KeilC51和Proteus3、实验内容 将片内RAM 20H单元中两位BCD码转换成相应的十六进制码,转换结果保存于22H单元 4、实验原理提示 常用BCD码转十六进制码的方法为“乘十加数”法。例如,将BCD码(表示十进制数92)转换成十六进制编码表示形式,算法为:HY=(09*0A
2、+02)H =5CH。其中YH为转换后的十六进制数。再二进制运算中乘法可以用移位(左移)实现,*0A可以写成*08+*02,其中*08是将被乘数左移3为,*02是将被乘数左移1为。则(09*0A+02)H=(09+08+09*02+02)D=(++)B=()B=5CH。 5.BCD码转换成十六进制码的实验程序流程图如图 开始(20H)低4位B(20H)高4位AAR7(A)左移3位R6R7A(A)左移1位R7(R7)+(R6)R6(R6)+(B)22H结束6.实验程序ORG0000HMOV20H,#92H;把BCD码(10010010)放入
3、20H地址单元中MOVA,#0FH;0FH赋值到AANLA,20H;获得直接地址单元20H中的低4位MOVB,A;(A)赋值给BMOVA,#0F0H;0F0H赋值到AANLA,20H;获得直接地址单元20H的高4位赋值给ASWAPA;把高4位交换到低4位MOVR7,A;(A)赋值给R7RLA;A中值左移一位RLA;A中值左移一位RLA;A中值左移一位MOVR6,A;(A)赋值给R6MOVA,R7;(R7)赋值给ARLA;A中值左移一位MOVR7,A;(A)赋值给R7ADDA,R6;(R6)+(R7)赋值给AADDA,B;(B)+(A)赋值给
4、AMOV22H,A;(A)赋值给22HSJMP$;程序到此处死循环END 7.实验结果
此文档下载收益归作者所有