欢迎来到天天文库
浏览记录
ID:57731064
大小:18.00 KB
页数:2页
时间:2020-09-02
《单片机实验4 子程序设计-- BCD码转换为二进制.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验4.子程序设计----BCD码转换为二进制单字节可存放两位压缩BCD码(0—99)B=D1×10+D0(D1,D0为0—9)十位个位单字节BCD码转换为二进制子程序入口:(R0)=压缩BCD码的地址出口:(A)=转换结果DSFR::MOVA,@R0ANLA,#0F0H;取十位数SWAPA;变为标准BCD码MOVB,#10MULAB;(A)=D1×10MOVR7,A;D1×10暂存R7MOVA,@R0ANLA,#0FH;取个位ADDA,R7;A=D1×10+D0RET1、实验内容:四位压缩BCD码存在20H21H单元D=D3D2D1D0D=D3×1000+D
2、2×100+D1×10+D0=(D3×10+D2)×100+D1×10+D0结果存放30H31HR0,R1赋初值调用DSFR子程序;求D3×10+D2A×100结果存30H31HINCR0ACALLDSFR结果加到30h31HDSFR子程序子程序设计要点:1)子程序一般为多次返复使用的程序段,一般应说明入口条件,DSFR子程序的入口条件是:被转换为二进制的单字节BCD码为间接寻址,间接寻址寄存器为R0。要调用DFSR子程序必需先将压缩BCD码的存放地址赋与R0。而出口条件是指最后结果在哪儿存放。本子程序转换结果在ACC内。2)主程序调用子程序,在调试时一般要先
3、调试子程序、再调试主程序。2、实验步骤1)打开PV32编程序。汇编正确进入调试界面。否则修改程序重新汇编直到通过。2)打开DATD窗口给20H、21H、R6、R7赋值3)单步调试DSFR子程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现问题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。4)设断点调试主程序观察并记禄寄存器、内存的变化。判断程序是否正确。若发现问题重返编辑界面,修改、存盘、汇编。返回调试界面调试通过。3.实验报告1.写出主程序流程图、子程序流程图、程序清单2.根据记渌数据给程序加注解3.调试心得
此文档下载收益归作者所有