《单片机小灯闪烁控制优秀PPT.ppt》由会员分享,可在线阅读,更多相关《单片机小灯闪烁控制优秀PPT.ppt(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、单片机小灯闪烁控制第1页,本讲稿共14页任务任务1 1:完成小灯闪烁一次的程序设计:完成小灯闪烁一次的程序设计任务描述:利用任务描述:利用p1.0p1.0口实现一个发光二极管亮灭(闪烁)一口实现一个发光二极管亮灭(闪烁)一次的系统设计。次的系统设计。1.1.硬件电路设计:共阴极接法和共阳极接法。连接电路。硬件电路设计:共阴极接法和共阳极接法。连接电路。你能说出图中硬你能说出图中硬件连接有什么问件连接有什么问题吗?题吗?P1.0第2页,本讲稿共14页2.2.软件设计:分析要求,绘制程序流程图。软件设计:分析要求,绘制程序流程图。什么是流程图?为什么要绘制流程图?什么是流程图?为什么要绘制流程图?
2、v程序流程图是人们对解决问题的方法、思路或算法的一种程序流程图是人们对解决问题的方法、思路或算法的一种描述。反映了程序执行的过程。描述。反映了程序执行的过程。v符合人进行逻辑思考的习惯符合人进行逻辑思考的习惯v计算机从根本上来说,没有任何逻辑性,计算机从根本上来说,没有任何逻辑性,所以,你必须告诉所以,你必须告诉它,先做什么,后做什么,遇到什么情况又该做什么,等它,先做什么,后做什么,遇到什么情况又该做什么,等等等v流程图设计本身是一个逐步求精的过程,最终将任务划分流程图设计本身是一个逐步求精的过程,最终将任务划分为若干能由机器指令实现的小模块。为若干能由机器指令实现的小模块。第3页,本讲稿共
3、14页2.2.软件设计:分析要求,绘制程序流程图。软件设计:分析要求,绘制程序流程图。ORG 0000HMOV P1,#00HMOV P1,#01HSJMP$END?第4页,本讲稿共14页2.2.软件设计:编写延时软件设计:编写延时250ms250ms的程序。的程序。*软件延时软件延时250ms程序程序*MOVR0,#0FAHLOW2:MOVR1,#0C8HLOW1:NOP ;1us NOP ;1us NOP ;1us DJNZR1,LOW1 ;2us DJNZR0,LOW2知识点:知识点:1.1.汇编指令汇编指令DJNZDJNZ、NOPNOP(1)(1)条件转移指令条件转移指令 DJNZDJ
4、NZ(减(减1 1非零转移指令)非零转移指令)5助记符格式助记符格式机器码机器码(B)相应操作相应操作机器周期机器周期DJNZ Rn,rel11011rrr relRn(Rn)-1,若若(Rn)0,则则PCPC+rel,否则顺序执行否则顺序执行2DJNZ direct,rel11010101 direct rel(direct)(direct)-1,若若(direct)0,则则PCPC+rel,否则顺序执行,否则顺序执行2第5页,本讲稿共14页2.2.软件设计:编写延时软件设计:编写延时250ms250ms的程序。的程序。*软件延时软件延时250ms程序程序*MOVR0,#0FAHLOW2:M
5、OVR1,#0C8HLOW1:NOP ;1us NOP ;1us NOP ;1us DJNZ R1,LOW1 ;2us DJNZR0,LOW2知识点:知识点:1.1.汇编指令汇编指令DJNZDJNZ、NOPNOP(2)(2)空操作指令空操作指令NOPNOP助记符格式助记符格式机器码机器码(B)相应操作相应操作指令说明指令说明NOP00000000空操作空操作消耗消耗1个机器周期个机器周期第6页,本讲稿共14页2.2.软件设计:编写延时软件设计:编写延时250ms250ms的程序。的程序。*软件延时软件延时250ms程序程序*MOVR0,#0FAHLOW2:MOVR1,#0C8HLOW1:NOP
6、 ;1us NOP ;1us NOP ;1us DJNZR1,LOW1 ;2us DJNZR0,LOW2知识点:知识点:2.2.循环程序设计循环程序设计(1 1)结构特点:结构特点:利用转移指令反复运行需要多次重复的程序段。利用转移指令反复运行需要多次重复的程序段。(2 2)实例:实例:(3 3)循环程序的组成:循环程序的组成:1.1.初始化部分初始化部分(设定循环次数等设定循环次数等)。2.2.循环体循环体(重复执行的部分重复执行的部分,用于完成实际操作用于完成实际操作)3.3.循环控制循环控制(不断修改和判别循环变量不断修改和判别循环变量,直至结束直至结束)。4.4.循环结束处理。循环结束
7、处理。第7页,本讲稿共14页循循环环程程序序设设计计延时程序中延时时间的设定:延时程序中延时时间的设定:源程序:源程序:指令周期指令周期 MOV R3,#(X )H 2个个T机器机器 DEL2:MOV R4,#(Y )H 2个个T机器机器 DEL1:NOP 1个个T机器机器 NOP 1个个T机器机器 DJNZ R4,DEL1 2 个个T机器机器 DJNZ R3,DEL2 2个个T机器机器 指令周期、机器周期指令周期、机器周期T机器机器与时钟周期与时钟周期T时钟时钟的关系:的关系:T机器机器=12T时钟时钟=12 1/fosc=1s (假设晶振频率(假设晶振频率fosc为为12M)延时时间的简化
8、计算结果:延时时间的简化计算结果:(1+1+2)Y X 延时时间怎样计算?若想延时若想延时100ms,只需修改计数初始值,即只需修改计数初始值,即(1+1+2)125 200s=100ms#200#125第8页,本讲稿共14页2.2.软件设计:编写延时软件设计:编写延时250ms250ms的程序。的程序。*软件延时软件延时250ms程序程序*MOVR0,#0FAHLOW2:MOV R1,#0C8HLOW1:NOP ;1us NOP ;1us NOP ;1us DJNZ R1,LOW1 ;2us DJNZR0,LOW2试计算该程序的延时时间是否为试计算该程序的延时时间是否为250ms250ms?
9、(1+1+1+2)Y X=5us 0C8H 0FAH=5us 200 250=250ms也可直接给出也可直接给出十进制数。十进制数。实例实例第9页,本讲稿共14页实例:实例:循循环环程程序序设设计计1S1S延时程序延时程序源程序:源程序:MOV R2,#10 DEL3:MOV R3,#200DEL2:MOV R4,#125DEL1:NOP NOP DJNZ R4,DEL1 DJNZ R3,DEL2 DJNZ R2,DEL3 RET第10页,本讲稿共14页2.2.软件设计:编写总程序。软件设计:编写总程序。第11页,本讲稿共14页任务任务2 2:完成小灯连续闪烁控制程序设计:完成小灯连续闪烁控制
10、程序设计任务描述:利用任务描述:利用p1.0p1.0口实现一个发光二极管连续亮灭(闪口实现一个发光二极管连续亮灭(闪烁)的系统设计。烁)的系统设计。1.1.硬件电路设计:不变!硬件电路设计:不变!2.2.软件设计:流程图如下软件设计:流程图如下第12页,本讲稿共14页任务任务2 2:完成小灯连续闪烁控制程序设计:完成小灯连续闪烁控制程序设计第13页,本讲稿共14页提问提问:1.1.若要改变小灯闪烁的快慢,如何做?若要改变小灯闪烁的快慢,如何做?(改变延时程序的延长时间就可以了。)(改变延时程序的延长时间就可以了。)2.2.延时程序的延长时间可不可以任意减小?延时程序的延长时间可不可以任意减小?(不可以,当减小到一定程度时,人眼无法分辨是否闪烁。)(不可以,当减小到一定程度时,人眼无法分辨是否闪烁。)作业:作业:请用软件设计一个延时请用软件设计一个延时0.5s0.5s的延时程序。的延时程序。第14页,本讲稿共14页