- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 80C51单片微机的程序设计(m)精要
第四章 80C51单片微机的程序设计 4.2 80C51汇编语言程序设计 设80C51单片机的P1口作为输出口,经驱动电路74LS240(8反相三态缓冲/驱动器)接8只发光二极管,如图4-8所示。当输出位为“1”时,发光二极管点亮,输出位为“0”时为暗。试编程实现:每个灯闪烁点亮10次,再转移到下一个灯闪烁点亮10次,循环不止。 FLASH:MOV A,#01H ;置灯亮初值 FSH0: MOV R2,#0AH ;置闪烁次数 FLOP: MOV P1,A ;点亮 LCALL DY1s ;延时1s MOV P1,#00H ;熄灭 LCALL DY1s ;延时1s DJNZ R2,FLOP ;闪烁10次 RL A ;左移一位 SJMP FSH0 ;循环 RET ; * * * 程序结构:顺序结构 分支结构 循环结构 子程序 中断服务子程序 ORG 0030H START:MOV DPTR, #TABLE MOV A, 20H MOVC A, @A+DPTR MOV 21H, A SJMP $ ORG 0100H TABLE:DB 0,1,4,9,16,25 END 例1:变量存在内部RAM的20H单元中,其取值范围:0~5,编程,用查表法求其平方值存到21H中 4.2 .1 顺序结构程序设计? 开始 表格首地址送DPTR 变量送A(20H) A 查平方表(A+DPTR) A 结束 结果送21H单元:A 21H 设被加数存放于片内RAM的20H(低位字节)、21H(高位字节),加数存放于22H(低位字节)和23H(高位字节),运算结果的和数存放于20H(低位字节)和21H(高位字节)中。实现16位相加,(如果有进位位保存在10H中)。 ORG 0100H ADD_2:PUSH ACC ;将A中内容进栈保护 MOV R0,#20H ;将20H地址送R0 MOV R1,#22H ;将22H地址值送R1 MOV A,@R0 ;被加数低字节内容送A ADD A,@R1 ;低字节数相加 MOV @R0,A ;低字节数和存20H中 例2. 不带符号两字节加法 INC R0 ;指向被加数高位字节 INC R1 ;指向加数高位字节 MOV A,@R0 ;被加数高位字节送A ADDC A,@R1 ;高字节数带进位相加 MOV @R0,A ;高字节数和存21H中 CLR A ADDC A, #00H MOV 10H, A ;进位暂存于10H中 POP ACC ;恢复A原内容 RET 设有一个巡回检测报警装置,需对4 路输入进行控制,每路设有一个最大额定值,为双字节数。控制时需根据检测的路号找出该路对应的最大额定值。设R2用于寄存检测路号,查找到的对应的最大额定值存放于31H和32H单元中。 查找最大允许额定值子程序如下: 例3. 查表 地址 机器码 源程序 注释 ? ORG 2000H 2000 EA MOV A,R2 ;检测路号送A 2001 2A ADD A,R2 ;(R2)×2 2002 F531 MOV 31H,A ;距表首址偏移量 2004 2408 ADD A,#19H ;偏移量(2020H-2007H) 2006 83 MOVC A,@A+PC ;查表,读取第1个字节内容 2007 C531 XCH A,31H ;第1字节存入31H单元 2009 2404 ADD A,#15H ;偏移量(2021H-200CH) 200B 83 MOVC A,@A+PC ;查表,读取第2字节 200C F532 MOV 32H,A ;第2字节存入3
文档评论(0)