




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
例1 假如在C51单片机内部RAM中30H 37H单元 38H 3FH单元分别存放有两个8字节BCD码十进制数 设计一段程序将这两个数相加 并把结果存于2FH 37H单元中 小地址存数据的高字节 解题思路 先清CY位 把 37H 和 3FH 进行带CY相加 在进行十进制调整 结果存于37H单元中 把 36H 和 3EH 进行带Cy相加 在进行十进制调整 循环至结束 结果把最高字节的CY存入2FH单元 ORG0000HMOVR2 08HMOVR0 37HMOVR1 3FHCLRCLOP MOVA R0ADDCA R1DAAMOV R0 ADECR0DECR1DJNZR2 LOPCLRARLCAMOV2FH ASJMP END MOVA VARCJNEA 10 NEXT1NEXT1 JCNEXT2MOVR0 1CJNEA 21 NEXT3NEXT3 JNCNEXT4MOVR0 0SJMPNEXT4NEXT2 MOVR0 0FFHNEXT4 MOVFUNC R0SJMP 例3 RAM中STRING开始的区域有若干个字符和数字 一般称为一个字符串 最末一个字符为 统计这些字符数字的数目 结果存人NUM单元 ORG1000HCLRAMOVR0 STRINGLOOP CJNE R0 24H NEXTSJMPCOMPNEXT INCAINCR0SJMPLOOPCOMP INCAMOVNUM ASJMP 例4 从BLOCK单元开始有一个无符号数数据块 其长度存于LEN单元 试求出数据块中最大的数 并存入MAX单元 ORG0000HCLRAMOVR2 LENMOVR1 BLOCKLOOP CLRCSUBBA R1JNCNEXTMOVA R1SJMPNEXT1NEXT ADDA R1NEXT1 INCR1DJNZR2 LOOPMOVMAX ASJMP 例5 每1秒使A中的内容左移一位 主程序 MOVA 01HUP RLAACALLD1sSJMPUP 子程序 D1s MOVR7 10D1ms2 MOVR6 100D1ms1 MOVR5 250DJNZR5 DJNZR6 D1ms1DJNZR7 D1ms2RET 例6 设计节日灯 通过P1 0 P1 7控制8个发光二极管 先亮1灯 隔1秒闪烁10次 然后左移1位闪10次 如此循环 MAIN MOVA 01HLOOP1 MOVR2 10LOOP2 MOVP1 AACALLDELAYMOVP1 00HACALLDELAYDJNZR2 LOOP2RLAAJMPLOOP1DELAY 1秒延时子程序 略 RET 例7 计算10进制数的平方和c a2 b2 ORG0000H 主程序MOVSP 3FH 设置栈底MOVA 31H 取数a存放到累加器A中作为入口参数LCALLSQR 计算a2MOVR1 A 出口参数 平方值存放在A中MOVA 32H 取数b存放到累加器A中作为出口参数LCALLSQR 计算b2ADDA R1 求和MOV33H A 存放结果SJMP SQR PUSHDPHPUSHDPL 保护现场MOVDPTR TABLE 表首地址 DPTRMOVCA A DPTR 查表POPDPLPOPDPH 恢复现场RETTABLE DB0 1 4 9 16 25 36 49 64 81 例8 50H 51H中放的4位8421BCD码 现编写子程序将其放入显示缓冲区3CH 39H中 以便能稳定显示出来 主程序 MOVR0 3CHMOVR1 50HMOVR7 2LCALLLDIR 子程序 LDIR MOVA R1ANLA 0F0HSWAPAMOV R0 ADECR0MOVA R1ANLA 0FHMOV R0 ADECR0INCR1DJNZR7 LDIRRET 例9 设在C51内部RAM中存一无符号数的数组 其长度为100 起始地址是30H 要求将它们从大到小排序 排序后仍存放在原区域中 试编者按程 这就是所谓的 冒泡法 4个数排序最多经过3次外循环就可排出 每次外循环都包含3次内循环 实际上大多情况不用3次外循环就可排完 对于100个数排序也是如此 用不到99次循环 排序就结束 为了提高排序速度 程序中可设一交换标志位 如10H位 每次循环中 若有交换则SETB10H若无交换则CLR10H每次循环结束时 测10H位 判断排序是否结束 ORG1000HBUBBLE MOVR0 30HMOVB 64HCLR10HDECB 长度计数LOOP MOVA R0 内循环的入口MOV20H A 暂存 为交换作准备INCR0MOV21H R0CJNEA 21H BUEU 若 20H 21H 转移BUEU JNCBUNEXT 20H 21H 转移MOVA R0 若 20H 21H 则交换MOV R0 20HDECR0 使R0退格指向小地址M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数字化生产仿真系统创新创业项目商业计划书
- 油菜籽精油提炼创新创业项目商业计划书
- 植物生长调节剂创新创业项目商业计划书
- 植物染料生产创新创业项目商业计划书
- 海水养殖野餐食品设计创新创业项目商业计划书
- 建筑项目基础建设规划流程
- 建筑工地安全管理费用使用计划
- 环保项目资金申请方案示范
- 外研社丽声英语绘本教学方案汇编
- 2025-2030骨科手术机器人临床效益分析与医疗设备采购偏好研究
- 康复养老护理辅具研发
- 2024(苏教版)劳动六年级上册全册教学案
- 2025秋苏教版(2024)小学科学二年级上册(全册)教学设计(附目录P123)
- 110KV、220KV线路迁改工程施工组织设计.11588
- 钢箱梁支架搭设检查验收表
- 旅游文体翻译课件
- 植物病理学课件
- 广西基本医疗保险门诊特殊慢性病申报表
- 幼儿园小班语言活动教案《我会看书》
- DB62∕T 3171-2019 双向螺旋挤土灌注桩技术规程
- 历史时期的气候变迁PPT课件
评论
0/150
提交评论