单片机汇编语音程序设计.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例3-10 编写多字节数×10程序。 内部RAM以20H为首址的一片单元中存放着一个多字节符号数,字节数存放在R7中,存放方式为低位字节在低地址,高位字节在高地址,要求乘10后的积仍存放在这一片单元中。 分析 用R1作该多字节的 地址指针,部分积的低位仍 存放于本单元,部分积的高 位存放于R2,以便和下一 位的部分积的低位相加。 以R7作字节数计数。 编程如下: 345 H * 0A H 32 H + 28 H 2B H + 1E H 20B H ORG 0000H CLR C ;清进位位C MOV R1,#20H ;R1指示地址 MOV R2,#00H ;存积的高八位寄存器R2清0 S10:MOV A, @R1 ;取一字节送A MOV B,#0AH ;10送B PUSH PSW MUL AB ;字节乘10 POP PSW ADDC A,R2 ;上次积高八位加本次积低八位 MOV @R1,A ;送原存储单元 MOV R2,B ;积的高八位送R2 INC R1 ;指向下一字节 DJNZ R7,S10 ;未乘完去SH10,否则向下执行 MOV @R1,B ;存最高字节积的高位 SJMP $ 例如 12 23 65 09 89 比较大小 不交换(0) 12 23 65 09 19 12 23 65 09 19 交换(1) 12 23 09 65 19 不交换(0) 交换(1) 12 23 65 09 19 12 23 09 19 65 最大 交换(1) 不交换(0) 12 23 09 19 65 12 09 23 19 65 交换(1) 12 09 19 23 65 不交换(0) 交换(1) 12 23 09 19 65 12 09 19 23 65 最大 12 09 19 23 65 09 12 19 23 65 09 12 19 23 65 09 12 19 23 65 09 12 19 23 65 MCS-51单片机有着优异的位逻辑功能,可以方便的实现各种复杂的逻辑运算.这种用软件替代硬件的方法,可以大大简化甚至完全不用硬件,但比硬件要多花运算时间。 例3-17 编写一程序,以实现图3-4中的逻辑运算电路. 3.6 位操作程序设计 其中P1.1和P2.2分别是端口线上的信息,TF0和IE1分别是定时器定时溢出标志和外部中请求标志, 25H和26H分别是两个位地址, 运算结果由端口线P1.3输出。 图3-4 硬件逻辑运算电路 程序如下: START:MOV C,P2.2 ORL C,TF0 ANL C,P1.1 MOV F0,C MOV C,IE1 ORL C,/25H ANL C,F0 ANL C,/26H MOV P1.3,C SJMP $ 例3-18 设累加器A的各位ACC.0~ACC.7分别记为X0~X7,编制程序用软件实现下式: Y=X0X1X2+X0 X1 X2+X0X1X2X3+X4 X5 X6X7 X0 BIT ACC.0 X1 BIT ACC.1 X2 BIT ACC.2 X3 BIT ACC.3 X4 BIT ACC.4 X5 BIT ACC.5 X6 BIT ACC.6 X7 BIT ACC.7 ORG 0000H MOV C,X0 ANL C,X1 ANL C,X2 MOV 00H,C ;

文档评论(0)

糖糖 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档