[工学]第4章单片机.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第4章单片机

第4章 中断系统、内部定时/计数器 4.1 中断系统 4.2 中断程序设计 4.3 定时/计数器 4.4 定时/计数器的编程 计数初值装入说明(以T0为例) 方式0是13位方式,高8位初值装入TH0,低5位初值装入TL0的低5位,高3位无效。 方式1为16位方式,高8位初值装入TH0,低8位初值装入TL0。 方式2为8位方式(可自动重载),初值既要装入TH0,也要装入TL0。 方式3只适合于T0。TH0和TL0是两个独立计数器,分别装入各自的计数初值。 例4.3 用定时器1、方式0实现1s的延时。已知振荡频率fosc=12MHz 例4.4 用定时器0、方式3实现1s的延时。 小 结 中断是指当机器正在执行程序的过程中,一旦遇到某些异常情况或特殊请求时,暂停正在执行的程序,转入必要的处理(中断服务子程序),处理完毕后,再返回到原来被停止程序的间断处(断点)继续执行。引起中断的事情称为中断源。中断请求的优先级由用户编程和内部优先级共同确定。 中断编程包括中断入口地址设置、中断源优先级设置、中断开放或关闭、中断服务子程序等。本章通过实例分别介绍了采用汇编语言程序和C语言程序编写中断程序。 4.3.3 定时/计数器的工作方式 1、定时器工作方式寄存器TMOD 注意:TMOD不能位寻址,只能由字节设置T/C的工作方式,低半字节设定T/C0, 高半字节设定T/C1。 2、?控制寄存器 TCON(88H) 控制寄存器 TCON除可字节寻址外,各位还可位寻址。各位定义及格式如下: 1) TF1(TCON.7) T/C1的溢出标志位。 当T/C1被允许计数后,T/C1从初值开始加1计数,回零时由高位产生溢出,由硬件自动置TF1为“1”,并向CPU请求中断,当CPU响应并进入中断服务程序后,TF1又被硬件自动清0。TF1也可以由程序查询和清0。 2)TF0(TCON.5) T/C0溢出标志位。其功能同TF1。 3) TR1(TCON.6) T/C1运行控制位。 由软件置位或复位。 当GATE(TMOD.7)为0时, ? TR1 为1时,启动T/C1计数; ? TR1为0时, 停止T/C1计数。 4) TR0(TCON.4) T/C0运行控制位。 其功能同TR1,只是GATE 为TMOD.3。 5) IE1、IT1、IE0、IT0(TCON.3~TCON.0) 外部中断INT1、INT0的中断标志位和申请信号的触发方式控制位。 ? TMOD中控制位C/T设置定时或计数功能 ? M1、M0位的设置选择四种工作方式, ? 即方式0、方式1、方式2和方式3 ? 方式0、1和2时,T/C0和T/C1的工作相同; ? 方式3时,T/C0和T/C1的工作不同。 3、定时/计数器的工作方式 ◆ 方式0 方式0为13位定时/计数方式,由THx提供高8位、TLx提供低5位的计数初值, 当TL1的低5 位溢出时,向TH1进位,而TH1溢出(回零)时向TF1标志进位(硬件置位TF1),并申请中断。还可以通过查询TF1是否置位来判断TH1是否回零溢出。 定时器方式:以振荡源的12分频信号作为计数脉冲 计数器方式:对外部脉冲输入端T0或T1输入的脉冲计数 最大计数值为M =213=8192,每次启动计数前均需预置计数初值。 设定时器初值为C,时钟频率为fosc,则其定时时间T为: T=(M-C)×12/fosc = (8192-C)×12/fosc ◆ 方式1 方式1与方式0基本相同,唯一区别在于: 方式1计数寄存器的位数为16位,由THx和TLx寄存器各提供8位计数初值,最大计数值为216=65536。 定时时间: T =(65536-M0)×12/fosc ◆ 方式2 方式2是8位的可自动重装载计数初值的定时/计数方式,最大计数值为28=256。 定时时间: T =(256-M0)×12/fosc 每当它计满回零时 一方面向CPU发出溢出中断请求, 另一方面从TH1(或TH0)中重新获得初值并启动计数; 也就是CPU 自动将TH1(或TH0)中存放的初值重新装回到TL1(或TL0),并在此初值的基础上对TL1(或TL0)开始新一轮计数,周而复始,直到下一个停止计数或更改工作方式命令为止。 ◆ 方式3 方式3只适合于定时/计数器0(T0)。 当T0工作在方式3时,TH0和TL0成为两个独立的计数器。这时TL0可作定时/计数器,占用T0在TC

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档