双字节bcd乘法单片机

双字节bcd乘法单片机

ID:25182298

大小:77.68 KB

页数:9页

时间:2018-11-18

双字节bcd乘法单片机_第1页
双字节bcd乘法单片机_第2页
双字节bcd乘法单片机_第3页
双字节bcd乘法单片机_第4页
双字节bcd乘法单片机_第5页
资源描述:

《双字节bcd乘法单片机》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MM大学MMMMMMM学院实验报告课程名称单片机原理及其接口技术实验名称双字节BCD码乘法及数据排序实验实验类型设计型姓名00学号00日期00地点00成绩教师00评语:一、实验目的1.进一步熟悉51汇编指令,掌握汇编语言的设计和调试方法。2.设计十进制乘法和程序,了解如何通过调用系统提供的内置数码显示,键盘输入子程序。3.熟悉如何使用高效方法对数据排序。二、实验内容1.从键盘上输入4位被乘数、乘数,实现4位十进制的乘法,结果显示在数码管上。其中键盘输入和数码显示可调用星研集成软件的内置函数实现,说明和参考实例见3

2、.6节。说明:可分步走,先省略键盘输入和数码显示,直接设定被乘数和乘数进行乘法,在验证乘法功能正确之后,在增加键盘输入和数码显示的功能。2.调试状态下借助星研集成软件直接修改片内RAM30H~3FH单元,数值任意,然后对其冒泡排序,检查排序结果。三、实验仪器STARES598PCI试验仪、PC机一台四、实验原理图A3区:JP51的p1口---G6区:LED五、设计思路1.双字节4位BCD码乘法2.冒泡排序五、实验程序1.双字节4位BCD码乘法EXTRNCODE(Display8,GetBCDKey)BUFFER2

3、DATA70H;8字节显示缓冲区BUFFERDATA30HBLOCKdata50HRESULTDATA40HF1BIT0D1H;PSW.1ORG0000HLJMPSTARTORG0100HSTART:MOVSP,#60HCLRF1;先清除显示,再接收键输入START1:MOVR0,#BUFFERMOVA,#4;按键次数LCALLGetBCDKey;得到双字节十进制数(乘数)MOVR0,#BUFFERACALLBCD2B;转换成二进制数MOVBLOCK,R3MOVBLOCK+1,R4SETBF1;接收到第一个键,才

4、清除显示MOVR0,#BUFFERMOVA,#4;按键次数LCALLGetBCDKey;得到双字节十进制数(减数)MOVR0,#BUFFERACALLBCD2BMOVBLOCK+2,R3MOVBLOCK+3,R4MOVR4,BLOCK;四个BCD入口参数MOVR5,BLOCK+1MOVR6,BLOCK+2MOVR7,BLOCK+3MOVR0,#RESULTlCALLMLTYMOVR3,RESULTMOVR2,RESULT+1MOVR1,RESULT+2MOVR0,RESULT+3ACALLB4toD4;字节二进制

5、数转十进制数;R0R1R2R3为二进制数,R4R5R6R7为压缩BCD码MOVA,R7ANLA,#0FHMOVBUFFER2,AMOVA,R7ANLA,#0F0HSWAPAMOVBUFFER2+1,AMOVA,R6ANLA,#0FHMOVBUFFER2+2,AMOVA,R6ANLA,#0F0HSWAPAMOVBUFFER2+3,AMOVA,R5ANLA,#0FHMOVBUFFER2+4,AMOVA,R5ANLA,#0F0HSWAPAMOVBUFFER2+5,AMOVA,R4ANLA,#0FHMOVBUFFER2+

6、6,AMOVA,R4ANLA,#0F0HSWAPAMOVBUFFER2+7,AMOVR0,#BUFFER2LCALLDisplay8sjmp$BCD2B:MOVR1,#BUFFERMOVR2,#2S:MOVA,@R1PUSHACCANLA,#0FHMOVR0,APOPACCJNBACC.4,NEXT1;分别判断4,5,6,7位是否为1,分别加上10,20,40,80XCHA,R0ADDA,#10XCHA,R0NEXT1:JNBACC.5,NEXT2XCHA,R0ADDA,#20XCHA,R0NEXT2:JNBAC

7、C.6,NEXT3XCHA,R0ADDA,#40XCHA,R0NEXT3:JNBACC.7,NEXT4XCHA,R0ADDA,#80XCHA,R0NEXT4:MOVA,R0PUSHACCINCR1DJNZR2,SPOPACCMOVR0,APOPACCMOVB,#100;高2位(千位、百位)乘以100MULABADDA,R0MOVR3,A;转换成的二进制数放在R4R3中MOVA,BADDCA,#0MOVR4,ARET;字节二进制数转十进制数;R0R1R2R3为二进制数,R4R5R6R7为压缩BCD码;;;;;;;;

8、该子程序也可以模仿书上(胡汉才)例4.22,采用除以10、其余数为个位数字,其商继续除以10得十位数字,依次类推B4toD4:CLRAMOVR4,AMOVR5,AMOVR6,AMOVR7,AMOVB,#32LOOP:CLRCMOVA,R3RLCAMOVR3,AMOVA,R2RLCAMOVR2,AMOVA,R1RLCAMOVR1,AMOVA,R0RLCAMOVR0,AMOV

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。