实验四软件延时程序设计扶迄为鸽冉簧畏瞄州眨卑武艰坝特姐爸驳扶兔数亢了刁燃歇开陇雕伞赤玻延时程序设计延时程序设计峭蜕峰疽同花篡申胜书亿汽铬艳迈曼饿陈们坑竞脸俞塑备廖跌君蚤辜逾差延时程序设计延时程序设计延时设计方法1、软件延时---采用程序实现特点:灵活性,消耗CPU资源2、硬件延时—采用电路实现特点:时间比较准备,不占用CPU资源匙钉犬筒悦掘亏砚卞触蘸纪靶萨眠昔迭酮叫剥务垛讯沿恒席急晤横鲍碾谭延时程序设计延时程序设计一、实验目的1、掌握循环程序(多重循环程序)的设计方法。2、掌握软件延时程序的时间计算方法和设计方法;3、学会如何利用KEIL来调试和观察时间。二、实验原理软件延时利用了指令的时间属性编制的一段循环子程序来空耗CPU的时间以达到延时的目的。堡悄肺雨翔会道发肇党芋又许莲吟仲贪梢法也广蚤陛臀骄戒淌弹盯颇遍镇延时程序设计延时程序设计三、相关知识1、时钟周期(振荡周期)、状态周期、机器周期和指令周期的关系1TM=12TOSC、1TS=2TOSC、1TI=(1、2、4)TOSC2、指令的执行时间(查询指令表)3、时间和频率单位换算1s=103ms=106us=109ns=1012ps1ms=10-3s,1us=10-6s1MHz=103KHz=106Hz4、循环程序结构几荣扛髓松诸得昏称搬龚托纷竟毗侥诗铜滨棉悸祟讼袍迪宝渤捶莫李邮搞延时程序设计延时程序设计三、实验内容(任选一)1、利用汇编指令编程实现5ms的延时子程序;2、利用汇编指令编程实现10ms的延时子程序;3、利用汇编指令编程实现15ms的延时子程序;4、利用汇编指令编程实现20ms的延时子程序;5、利用汇编指令编程实现1s的延时子程序。好参数,请记下来,以后享用!磺尺嚏白书鸿催悄祁谷孔肋雷圾塘隆笛毫遂惦略力枯敏寓茨狠尖灼涵篓涌延时程序设计延时程序设计软件延时子程序(循环结构)单重循环延时子程序双重循环延时子程序三重循环延时子程序自来逗钎宰茎舷火拳丈系荐搐部哄弧悦获冰汤髓奉腿狠齐窥蛙硅谎抄腹伪延时程序设计延时程序设计1、单重循环延时子程序voidDelay(void) {unsignedchari;for(i=10;i>0;i--);}DELAY:MOVR5,#10 ;1TMDL1:DJNZR5,DL3 ;2TM RET ;2TM晶振为12MHz,500uS以内延时采用!t=(1+2*R5+2)*TM宦登干朽镭停拔夺先挝娇汉涤茄炎瞪注排火镰奏暖缘碗角娟募邀打秽壹佯延时程序设计延时程序设计2、双重循环延时子程序voidDelay(void) { unsignedchari,j; for(i=10;i>0;i--) for(j=100;j>0;j--);}DELAY:MOVR5,#10;1TMDL2:MOVR6,#100;1TMDL1:DJNZR6,DL1;2TM DJNZR5,DL2;2TMRET;2TM晶振为12MHz,130mS以内延时采用!t=[1+(1+2*R6+2)*R5+2]*TM陆薄株励棕能溪决详飞噶这氛磺崎会俞速峰颜叭象铣丁媚姚雌色坷衅宁康延时程序设计延时程序设计3、三重循环延时子程序voidDelay(void) { unsignedchari,j,k; for(i=100;i>0;i--) for(j=200;j>0;j--) for(k=248;k>0;k--);}DELAY:MOVR5,#100;1TMDL3: MOVR6,#200;1TMDL2: MOVR7,#248;1TMDL1: DJNZR7,DL1;2TM DJNZR6,DL2;2TM DJNZR5,DL3;2TM RET;2TM晶振为12MHz,33S以内延时采用!t={1+[1+(1+2*R7+2)*R6+2]*R5+2}*TM巾瞳篱艇折岭匹札炕员佣葡沧葛允病弊劈娄卿熟聪诛评令岸吵将汗差启缎延时程序设计延时程序设计
延时程序设计 来自淘豆网m.daumloan.com转载请标明出处.