欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第二章单片机的核心优秀PPT.ppt

    • 资源ID:65720136       资源大小:2.07MB        全文页数:37页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第二章单片机的核心优秀PPT.ppt

    第二章单片机的核心第一页,本课件共有37页一、单片机核心之Timerv1.1 单片机的单片机的Timer图一AT89S51单片机有两个TimerTimer0和Timer1。当Timer工作于定时功能下时,模拟开关打到T位置上,Timer计数电路计算的是单位时间脉冲。单位时间脉冲的周期与单片机的机器周期相等,如果晶振的频率是12MHz,则1个机器周期=1s,于是单位时间脉冲的周期为1s。也就是说,晶振频率=12MHz,Timer计数电路每过1s计数值增加1。所以,在定时结束时Timer计数电路的计数值乘以1s就能知道流逝了多少时间,从而起到定时的功能。第二页,本课件共有37页AT89S51单片机有两个TimerTimer0和Timer1。当Timer工作于定时功能下时,模拟开关打到T位置上,Timer计数电路计算的是单位时间脉冲。单位时间脉冲的周期与单片机的机器周期相等,如果晶振的频率是12MHz,则1个机器周期=1s,于是单位时间脉冲的周期为1s。也就是说,晶振频率=12MHz,Timer计数电路每过1s计数值增加1。所以,在定时结束时Timer计数电路的计数值乘以1s就能知道流逝了多少时间,从而起到定时的功能。第三页,本课件共有37页如果图中模拟开关打到C位置上,进入Timer计数电路的则是外部事件脉冲。这样Timer计数电路的计数值就是外部事件脉冲的个数,这也就是单片机Timer的计数功能。第四页,本课件共有37页1.2.Timer模式控制寄存器模式控制寄存器TMODTMOD是“timermode”的缩写,用于设置Timer的工作模式。TMOD在特殊功能寄存器的地址89H上,如下图所示。第五页,本课件共有37页vAT89S51单片机有两个TimerTimer0和Timer1,它们的工作模式由TMOD中的对应位来分别设置。TMOD的长度为1个字节(8位),高4位和低4位分别控制Timer1和Timer0。其中由M11、M01控制Timer1的工作模式,M10、M00控制Timer0的工作模式。举个例子,我们想令Timer0工作在定时器的模式0下(软件启动),而Timer1工作在计数器的模式1下(软件启动),则设置Timer的指令为“MOVTMOD,#01010000B”。第六页,本课件共有37页Timer寄存器里保存的是计数值,当Timer启动后每过一个机器周期(定时模式)或输入一个外部事件脉冲(计数模式),计数值会自动增加1。通过计数值我们可知道Timer启动之后流逝了多少时间(定时模式)或收到多少个外部事件脉冲。AT89S51单片机有两个Timer,它们有各自的Timer寄存器,且每个Timer寄存器由高位字节寄存器THx和低位字节寄存器TLx组成。即Timer0寄存器由TH0和TL0组成,Timer1寄存器由TH1和TL1组成。这4个寄存器位于特殊功能寄存器的8AH8DH上。第七页,本课件共有37页1.3 Timer控制寄存器控制寄存器TCONTCON是“timercontrol”的缩写,用于控制Timer的启动或停止,并指示Timer是否溢出。TCON在特殊功能寄存器的地址88H上。TCON的高4位的名称及功能描述:第八页,本课件共有37页TCON寄存器中,TFx是溢出标志位,当Timer寄存器计数达最大值之后再增加1时产生溢出,TFx位被硬件置1。于是可通过指令“JBCTFx,rel”或“JBTFx,rel”来判断TFx位是否为1,从而判断定时/计数是否完成。另外,TCON寄存器的TRx位控制Timer启动或关闭。第九页,本课件共有37页1.4 Timer用作定时用作定时/计数器小结计数器小结vAT89S51单片机中提供了2个通用的16位Timer,分别为Timer0和Timer1,它们可以被独立配置成定时或计数器并工作于不同模式下。v注意:AT89S52还提供一个Timer2。v当作为定时器时,Timer将在设定好的时间下工作并在计时完成后产生溢出。当作为计数器时,Timer将计算输入T0或T1管脚的脉冲个数,当计数达到预设的值时Timer同样可以产生溢出。第十页,本课件共有37页1.5 定时器的使用步骤定时器的使用步骤v设置Timer的工作模式。v往Timer寄存器(TL0和TH0)载入计数初始值。v启动Timer。v检测Timer溢出标志(TF0)。v关闭Timer。v清0溢出标志(TF0)。v重新装载计数初始值。第十一页,本课件共有37页1.6计数器的设置计数器的设置在Timer模式控制寄存器TMOD的C/Tx#位用于设置Timer用作定时器或计数器,当C/Tx#=1时,对应的Timer用作计数器。Timer0和Timer1可以被配置成两个独立的计数器,分别对输入单片机T0端(14管脚)和T1端(15管脚)的脉冲进行计数。Timer作计数器使用时,Timer寄存器THx和TLx的计数值记录的是输入单片机的脉冲的个数。第十二页,本课件共有37页Timer作计数器时,实际上是在计算计数脉冲下降沿的个数,或者说在计数脉冲的电平由高跳低时Timer寄存器中的计数值增加1,假如原来TL0=33,计数脉冲来到后每次下降沿使TL0增加1。第十三页,本课件共有37页单片机检测下降沿需要一定的时间。所以外部事件发生的最高频率fe应小于晶振频率/24。假设晶振频率=12MHz,则输入T0或T1口的计数脉冲的最高频率fe应小于500kHz。另外,确保脉冲在跳变之前至少被采样一次,则该电平至少要保持一个机器周期,假设使用12MHz的晶振,计数脉冲的电平信号在跳变之前至少应保持1s。第十四页,本课件共有37页二、单片机核心之中断中断中断的比喻:中断的比喻:任何一件事情的发生都会中断小林看电视的进程而去响应和处理事件。例如,邮递员上门送信,小林必须去开门签收信件,当事件处理完后,小林回去接着看电视。这里,小林比喻的就是单片机,而5个可能发生的事件为单片机的5个中断源外部中断0、外部中断1、Timer0中断、Timer1中断、串行通信中断。第十五页,本课件共有37页2.1 中断服务的指挥中断服务的指挥中断向量表中断向量表vAT89S51单片机有5个中断源:外部中断0(/INT0)、外部中断1(/INT1)、Timer0中断(TF0)、Timer1中断(TF1)、串行通信中断(RI/TI)。当中断使能后,任何一个中断发生时单片机都会到下表所示的对应地址上去执行中断服务子程序。第十六页,本课件共有37页2.2 中断的响应及处理中断的响应及处理vAT89S51单片机的中断源有5种,也就是说有5种方式使单片机产生中断。当一个中断产生时,单片机会按以下的步骤进行响应与处理。v立即暂停当前正在执行的任何指令,并把下一条将要执行的指令地址压入堆栈中。v根据中断的类型在中断向量表中找到对应的地址。v到该地址上开始执行中断服务子程序,直到遇到指令“RETI”,中断服务子程序结束。v执行完中断服务子程序后,从堆栈中弹出在中断产生时保存的将要执行的下一条指令的地址到程序计数器PC中,单片机开始从PC指示的地址继续执行程序。第十七页,本课件共有37页一个潜在的问题:每一个中断服务子程序的存放空间都非常有限,例如,外部中断0的中断向量为0003H,而Timer0中断向量地址为000BH,可见外部中断0的中断服务子程序只有000BH-0003H=8个字节的空间来存放,这8个字节的空间实在也放不了几条指令。解决这个问题:可以把指令“ORG”与跳转指令“JMP”结合来实现中断服务子程序的跳转,从而在另一个更为广阔的的空间中来放置中断服务子程序。第十八页,本课件共有37页2.3 中断使能寄存器中断使能寄存器IE第十九页,本课件共有37页单片机上电复位之后,默认所有中断都被屏蔽(关闭),这意味着即使任何一种中断产生,单片机也不会去响应。为了使单片机能对中断进行响应,或者说使能中断,需要对中断使能寄存器IE进行操作。中断使能寄存器IE是一个特殊功能寄存器,位于特殊功能寄存器区的地址A8H上。中断使能寄存器IE的操作:IE的位7是EA,是所有中断的“总开关”。只有EA=1时,中断才会开放,这时IE中的其他位将使能或屏蔽某一个中断。如果EA=0,所有中断都不会被响应(全被屏蔽)。如果EA=1时,相应的中断由IE中相应的位来控制。控制位置1使能中断;清0则屏蔽中断第二十页,本课件共有37页2.4 外部中断信号输入端外部中断信号输入端/INT0和和/INT1v外部中断0和外部中断1的中断服务子程序入口地址,即中断向量分别为0003H和0013H。这两个外部中断分别由中断使能寄存器IE中的EX0和EX1位来使能或屏蔽。外部的脉冲信号或按钮开关都可以作为中断信号输入到/INTx端使单片机产生中断。第二十一页,本课件共有37页v使单片机产生外部中断的信号有两种方式,一是低电平触发,二是下降沿触发。v当单片机上电复位后,使能外部中断时就默认以低电平方式触发。v在低电平触发模式下,外部中断信号输入端/INT0和/INT1出现低电平就会触发外部中断0或外部中断1。外部中断产生时,单片机会立即停止正在执行的指令,并根据中断向量表中的中断向量转入相应的地址执行外部中断服务子程序。在单片机进入中断服务子程序执行并在中断结束指令“RETI”之前,这个低电平必须撤走,否则将会使单片机执行完指令“RETI”后因/INT0或/INT1仍为低电平而再次进入中断服务子程序。第二十二页,本课件共有37页除了低电平触发外,边沿触发也是一种常用的触发外部中断的模式。在该模式下,/INT0端或/INT1端出现下降沿即可使单片机产生中断。与低电平触发不同,下降沿触发方式不是单片机默认的中断触发方式,所以需要指令来设置单片机工作在该模式下。方法是通过Timer控制寄存器TCON中的IT0位和IT1位来分别控制/INT0和/INT1触发方式。见下图:第二十三页,本课件共有37页第二十四页,本课件共有37页2.5Timer 0中断和中断和Timer 1中断中断Timer是单片机中一个很有用的功能结构,Timer可设置作为定时器或计数器。在使用Timer时,先向Timer寄存器中装载一个计数初始值,通过指令“SETBTRx”来启动Timer,并用类似“JNBTFx,$”的指令来不断检测Timer溢出标志位TFx来判断计数是否完成。在Timer计数期间,单片机除了循环执行指令“JNBTFx,$”对标志位TFx进行判断之外一般不做其他操作。如果在Timer计数的同时我们还需要单片机执行其他操作该怎么办呢?使用Timer中断就可以解决这个实际问题。Timer中断作为AT89S51单片机的中断源之一,会在Timer计数结束时向CPU产生中断,这样就不需要程序中使用循环指令“JNBTFx,$”对标志位TFx进行判断了,而是让Timer到一边自己计数,当计数完成通过中断来告诉程序计数结束。这样一来,在Timer计数过程中,单片机就可以腾出空执行其他指令,等Timer中断产生时再服务即可。第二十五页,本课件共有37页2.6 串行通信中断串行通信中断v单片机串行通信:当设置好串行口控制寄存器SCON的相关位和利用Timer1产生一定的波特率后,单片机即可通过串行口接收或发送数据。发送使用指令“MOVSBUF,A”将累加器A的数据装入缓冲区SBUF后自动发送,我们通过检测SCON中的TI位来判断数据是否发送完成。接收则使用指令“MOVA,SBUF”将接收缓冲区中的数据载入累加器A中,并通过检测SCON中的RI位判断接收的完成情况。单片机串行口发送和接收过程存在一个与Timer应用中相似的问题,就是单片机在判断SCON的TI位或RI位时只能“一心一意”地进行而无法再进行其他操作。而串行通信中断的出现较好地解决了系统中既需要单片机响应串行通信的操作,也同时兼顾其他操作。v关于串行中断我们会在后面的章节中做具体的练习。第二十六页,本课件共有37页2.7 中断优先级中断优先级例如,Timer0中断和外部中断1如果同时产生,单片机会先去响应Timer0中断并处理它的中断服务子程序。完成之后再响应外部中断1,进入相应的中断服务子程序。如果有两个或两个以上的中断同时产生,单片机该先服务方便呢?AT89S51单片机有一个默认的中断优先级,外部中断0的中断优先级最高,串行通信中断优先级最低,其他中断的优先级依次按表中排列依次降低。第二十七页,本课件共有37页如果想改变中断优先级顺序,可通过对中断优先级控制寄存器IP设置来完成。寄存器IP位于特殊功能寄存器区的地址B8H上(左图),是专门用于设置单片机中断优先级的寄存器。第二十八页,本课件共有37页v如果想改变中断优先级顺序,可通过对中断优先级控制寄存器IP设置来完成。寄存器IP位于特殊功能寄存器区的地址B8H上,是专门用于设置单片机中断优先级的寄存器。在单片机上电复位时,中断优先级控制寄存器IP=XXX00000,即所有中断优先控制位均为0。如果想优先响应某个中断,把IP中相应的位置1即可。例如,希望串行通信中断具有最高的服务优先级,可将IP寄存器中的PS位置1,指令为“MOVIP,#00010000B”或“SETBIP.4”。第二十九页,本课件共有37页2.8 中断的使用步骤中断的使用步骤v1)、设置中断的入口地址;v2)、设置中断的触发方式和允许触发的中断;v3)、编写中断的子程序。第三十页,本课件共有37页第三十一页,本课件共有37页2.8 中断的优点中断的优点v除了使单片机提高执行效率之外,中断还有两个优点:v中断下,单片机可以选择特定的中断进行响应和处理。通过中断使能寄存器IE相应的位来使能某个或某些中断,屏蔽那些不需要响应和处理的中断。而轮询下,单片机必须响应和处理每一个设备。v中断下,如果有多个中断同时发生,单片机可以根据程序的设定来优先响应和处理某一中断。而轮询下,单片机逐一对设备进行访问,有需要服务的就服务,没有优先顺序之分第三十二页,本课件共有37页三、蜂鸣器三、蜂鸣器v蜂鸣器(buzzer/beeper,电路符号)是一种信号提示设备,常常用在电子设备的声音提示中。蜂鸣器一般是基于压电原理制成的,其鸣响频率一般在200Hz3kHz,工作电压有3V、5V、9V、15V等几种,工作电流一般在几mA几百mA。第三十三页,本课件共有37页v在单片机系统中经常使用蜂鸣器或扬声器作为声音提示、报警及音乐输出等。v单片机音频接口电路如右图所示。蜂鸣器是一种一体化结构的电子讯响器,采用直流驱动,使用中只需加直流电压(由单片机输出高电平)即可发出单一频率的音频。v驱动扬声器则需要20Hz20KHz的音频信号才能使其发出人耳听到的声音。单片机的端口只能输出数字量,单片机可以输出由高电平和低电平组成的方波,方波经放大滤波后,驱动扬声器发声。声音的单调高低由端口输出的方波的频率决定。第三十四页,本课件共有37页四、继电器四、继电器v继电器通常用于驱动大功率电器并起到隔离作用,由于继电器所需的驱动电流较大,一般都要有三极管等电路的驱动。v如右图上所示是高电平驱动继电器的电路。右图下似乎是低电平驱动继电器,但仔细分析,该电路并不能正常工作,因为单片机输出的高电平也只有+5V,而继电器的工作电压+12V使三极管的发射结处于正偏,继电器并不能释放,而且这个电压加在单片机的输入端还有可能损坏单片机。v所以在使用单片机驱动继电器时采用高电平驱动方式更加安全可靠。第三十五页,本课件共有37页作业:v1、设计并制作一个“叮咚”门铃。要求:当按下按钮开关,单片机从P1.0口依次输出700Hz和500Hz的方波信号,经过简单的放大后驱动扬声器发出“叮咚”声。发挥:自己试着查询一些乐谱,输出一些音乐试试吧!第三十六页,本课件共有37页v2、利用计数器设计并制作一个频率计。v信号从单片机的T1端输入,成为Timer1的计数脉冲信号。单片机对脉冲频率进行计算,完成后由2位七段数码管显示频率值。v3、设计并制作一个花样跑马灯,要求看练习1。v注意:1、本节课要求必须用汇编语言完成3个作业的设计。v2、初学者常犯的错误有:跳转错误容易造成死循环;变量赋值错误造成循环不按照自己的思路运行。第三十七页,本课件共有37页

    注意事项

    本文(第二章单片机的核心优秀PPT.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开