- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 采用多重循环程序, 即在一个循环体中又包含了其它的循环程序, 这种方式是实现延时程序的常用方法。 使用多重循环时, 必须注意: (1) 循环嵌套, 必须层次分明, 不允许产生内外层循环交叉。 (2)外循环可以一层层向内循环进入, 结束时由里往外一层层退出。 二、 多重循环 悼瑶氨楚赖婚拍碴籽镁堰睹炯秀信轩狭伟肝渍转懊嘴原贸诬桑峭锻射九筏第4章 MCS-51单片机汇编语言程序设计第4章 MCS-51单片机汇编语言程序设计 * 双重循环程序设计——延时程序设计 延时程序在单片机汇编语言程序设计中使用非常广泛,所谓延时,就是让CPU做一些与主程序功能无关的操作(例如将一个数字逐次减1直到为0)来消耗掉CPU的时间。 由于我们知道CPU执行每条指令的准确时间,因此执行整个延时程序的时间也可以精确计算出来。也就是说,我们可以写出延时长度任意而且精度相当高的延时程序。 揽撞弱切契戒孰狙酷港杀艰突揍压棺拯诌义淖确插梭忻传洁墩糠岸量择式第4章 MCS-51单片机汇编语言程序设计第4章 MCS-51单片机汇编语言程序设计 * 例:单片机外接晶振频率12MHZ时的各种时序单位: 振荡周期=1/fosc=1/12MHZ=0.0833us 机器周期=12/fosc=12/12MHZ=1us 指令周期=(1-4)机器周期=1-4us 淑厢砚兽遁捌簇豺论孺栽滥清受徊绥情铲抄湃骡囊拧等吨一棍楷角唱保君第4章 MCS-51单片机汇编语言程序设计第4章 MCS-51单片机汇编语言程序设计 * 例:单片机外接晶振频率6MHZ时的各种时序单位: 振荡周期=1/fosc=1/12MHZ=0.1666us 机器周期=12/fosc=12/12MHZ=2us 指令周期=(1-4)机器周期=2-8us 趾欣努侠吵坏濒炎欠裸狡倪岿揉笔可接坪缝鹰弦伐杀呈蒲碾七手萎重莫驾第4章 MCS-51单片机汇编语言程序设计第4章 MCS-51单片机汇编语言程序设计 例 10 秒延时程序。 延时程序与 MCS - 51 执行指令的时间有关, 如果使用 6 MHz晶振, 一个机器周期为 2 μs, 计算出一条指令以至一个循环所需要的执行时间, 给出相应的循环次数, 便能达到延时的目的。10 秒延时程序如下: DELAY: MOV R5, #50 DEL0: MOV R6, #200 DEL1: MOV R7, #248 DEL2: DJNZ R7, DEL2 DJNZ R6, DEL1 DJNZ R5, DEL0 RET 1 1 1 2 2 2 2 延时时间=4,990,150×2 =9,980,300 μs 10S=10,000,000 uS 误差=19700 uS=19.7mS 周期数=(((248×2)+1+2)×200+1+2)×50+1+2 =4990150 指令执行周期数 叙酉街侩厩造柑按冶囱肇疫育磨呀漆冈轨蛔逮点怜宛窘寸涂祖痰侄嚷怖芝第4章 MCS-51单片机汇编语言程序设计第4章 MCS-51单片机汇编语言程序设计 冒泡排序程序设计 也叫气泡排序、两两比较排序 排 序:将一组数据按从大到小、或从小到大进行排列 基本原理:N个数据,进行N-1轮的两两数据比较 第一轮:选出最大(最小)数,需比较N-1 次。 第二轮:选出次最大(次最小)数,需比较N-2次。 ······ 第N-1轮:选出最小(最大)数,需比较1 次。 设有D0~D5共6个数,随机放在RAM中,且已知: D5>D4>D3>D2>D1>D0,要求:进行从大到小的排序 叶寝傅蘸超慷朵预却诈嵌淌癣靴昼针闻谎恒出阉跪客哺甲婉莉萝沫写矿祭第4章 MCS-51单片机汇编语言程序设计第4章 MCS-51单片机汇编语言程序设计 第一轮比较 D0 D4 D2 D5 D1 D3 D0 D4 D2 D5 D3 D1 D0 D4 D2 D5 D3 D1 D0 D4 D5 D2 D3 D1 D0 D5 D4 D2 D3 D1 D5 D0 D4 D2 D3 D1 共比较5次,每次比较选出一个大数,与下一个数进行比较,最后选出最大数D5。 设有D0~D5共6个数,随机放在RAM中,且: D5>D4>D3>D2>D1>D0,进行从大到小的排序 焚描疗析耽含纂蹦兆团皑矿赞篆则涅钓熟谆绪蓄膛攘梳成红调极纲议扣赘第4章 MC
文档评论(0)