版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
5.1定时/计数器《单片机应用技术(C语言版)》5.1.1定时/计数器的结构计数器结构计数脉冲0000000011011111111100000000溢出进位翻转8位计数器:00H~FFH,0~25616位计数器:0000H~FFFFH,0~65535计数器结构计数脉冲0000000011011111111100000000溢出进位翻转定时功能:计数脉冲来自机器周期如果晶振频率为12MHz,机器周期为1us1us计数器结构计数脉冲0000000011011111111100000000溢出进位翻转计数功能?计数器结构计数脉冲000000001010111溢出进位翻转计数功能:计数脉冲来自外部引脚计数器结构计数脉冲0000000010溢出标志位TF0计数器结构计数脉冲1111111011溢出标志位TF000000000101申请中断单片机的定时器/计数器示意结构CPU51单片机TMODTCONT116位加法计数器T016位加法计数器T0、T1: 两个16位的计数器。TCON: 控制寄存器TMOD: 方式寄存器定时器/计数器的电路结构每一个16位定时器都有两个8位计数器构成,例如:T0可分为高8位TH0和低8位TL0。16位计数器的构成高8位TH0TL0低8位T0CPU内部机器周期T18位TH1TL18位T08位TH0TL08位内部机器周期计数器外部脉冲输入端P3.4计数器外部脉冲输入端P3.5TMODTCON定时和计数功能的区别TMOD是什么工作方式寄存器:1.选择定时计数器的4种工作方式2.选择定时or计数3.决定启动方式TMODSFR字节地址BF0HACCE0HPSWD0HIPB8HP3B0HIEA8HP2A0HSBUF99HSCON98HP190HTH18DHTH08CHTL18BHTL08AHTMOD89HTCON88HTMOD的格式76543210GATEC/TM1M0GATEC/TM1M0T0T1工作方式选择76543210GATEC/TM1M0GATEC/TM1M0T0T1工作方式功能工作方式M1M013位计数器方式00016位计数器方式1018位计数器,初值自动重装方式210分成两个8位计数器,仅用于T0。T1停止使用方式31176543210GATEC/TM1M0GATEC/TM1M0T0T1功能选择1计数0定时内部机器周期T18位TH1TL18位T08位TH0TL08位内部机器周期计数器外部脉冲输入端P3.4计数器外部脉冲输入端P3.5功能选择76543210GATEC/TM1M0GATEC/TM1M0T0T1门控位1TR0=1,INT0=1共同启动定时器0TR0=1启动定时器,不受INT0控制门控位1TR1=1,INT1=1共同启动定时器0TR1=1启动定时器,不受INT1控制启动控制的选择76543210GATEC/TM1M0GATEC/TM1M001100001具体编程应用TMOD=0x61;十六进制数61H(01100001)赋值给TMOD寄存器1.这是一个字节赋值的操作。2.代表什么含义呢?小练习1:用T0设计完成一个秒表,13位定时,TR0软件启动;小练习2:用T0做一个计步器,16位计数,TR1启动。TCON是什么控制寄存器:1.启动控制2.计满溢出控制TCONSFR字节地址BF0HACCE0HPSWD0HIPB8HP3B0HIEA8HP2A0HSBUF99HSCON98HP190HTH18DHTH08CHTL18BHTL08AHTMOD89HTCON88HTCON可以进行位寻址TCON的格式76543210TF1TR1TF0TR0低4位:和定时计数器无关中断系统中才使用高4位:分别控制T0、T1的启动与溢出启动控制76543210TF1TR1TF0TR0T1启动位TR1=1,启动T1工作TR1=0,停止T1工作T0启动位TR0=1,启动T0工作TR0=0,停止T0工作TR0=0
//位操作指令,给TR0位清0TCON76543210TF1TR1TF0TR0TCONTF0:定时器T0的溢出标志位。TF1:定时器T1的溢出标志位。1计数溢出,硬件自动置10中断方式:硬件自动清0查询方式:软件清0溢出标志溢出标志的应用76543210TF1TR11TR0TCONwhile(!TF0);//查询TF0,这是查询方式的应用TF0=0;//如果计满溢出,将TF0清0取反76543210TF1TR1TF0TR0中断方式下TF0的应用何时置1?如何清0?定时器/计数器的编程控制过程写TMOD设置工作方式步骤一:设置工作方式①①步骤二:初始值设置①①写TMOD设置工作方式计算初始值并写入THx、TLx②步骤三:启动定时器①①②写TMOD设置工作方式计算初始值并写入THx、TLx启动定时器③步骤四:查询是否溢出①①②③④数值递增被查询写TMOD设置工作方式计算初始值并写入THx、TLx启动定时器查询是否溢出?溢出标志清0否是看看这段程序的过程吧5.1.2定时/计数器的工作方式76543210GATEC/TM1M0GATEC/TM1M0T0T1工作方式功能工作方式M1M013位计数器方式00016位计数器方式1018位计数器,初值自动重装方式210分成两个8位计数器,仅用于T0。T1停止使用方式311知识回顾:工作方式的选择工作方式1的逻辑结构16位计数器启动控制方式1:16位的计数器最大计数值:216=6553616位计数器启动控制011定时计数工作方式1下定时/计数功能的选择16位计数器启动控制011TRx工作方式1下门控位的控制16位计数器启动控制011TRx工作方式1下溢出标志的产生011TRx工作方式1下溢出后的处理特别注意:溢出后要重新装载初始值三种不同工作方式的比较中规中矩:方式0简单精准:方式2一分为二:方式3位数13位8位两个8位最大值8192256256特点和方式1基本一样溢出后自动重装载只用于T0,两个独立的计数器工作方式0方式0:13位计数器,TL的低5位和TH的全部8位。特点:逻辑结构和编程方法都与方式1基本相同。工作方式2方式2:8位计数器,只有TL的8位在计数。特点:溢出后会给TH一个指令,实现重装载。因此,在方式2下,THx和TLx
的值必须相同。工作方式3方式3:只适用于T0特点:TL0、TH0一分为二,为独立的两个8位定时器TH0只能定时定时器/计数器的初始值不同方式的计数最大值工作方式计数器位数计数最大值方式013位213=8192方式116位216=65536方式28位28=256方式38位28=256如何设定初始值工作方式计数器位数计数最大值计数250的初始值方式013位213=81928192-250方式116位216=6553665536-250方式28位28=256256-250方式38位28=256256-250T初值=M-COUNT其中 M:
计数的最大值 COUNT:计数次数计数250次,初值是多少?写入THx、TLx工作方式计数器位数计数最大值计数250的初始值THX
、TLX的写入方式013位213=81928192-250THX=(8192-250)/32TLX=(8192-250)%32方式116位216=6553665536-250THX=(65536-250)/256TLX=(65536-250)%256方式28位28=256256-250THX=TLX=256-250方式38位28=256256-250TLX=256-250计数值COUNT怎样算?计数方式下:COUNT即为所需要的计数值;定时方式下:COUNT=t时间/T机器周期;
其中t时间:已知定时时间感谢您的观看Thanks
for
your
attention.
5.2中断系统《单片机应用技术(C语言版)》5.2.1什么是中断生活中的中断例子主人看书——任务A电话铃响——出现另外一个需要立刻解决的事件B暂停看书——中断任务A放好书签——记录断点,便于接续接听电话——处理B继续看书——继续任务A中断原因:一个人不能同时完成两件事!单片机的中断示意图主程序:CPU正在运行的程序断点:主程序被打断的地方中断服务子程序:处理特定事件的一段程序CPU的中断与生活中的实例非常相似;中断系统:interruptsystem单片机的中断过程中断请求中断响应中断返回中断服务中断请求中断响应中断服务中断返回中断的几个基本概念中断源:
一些特定的事件,也称中断请求信号;中断请求:
中断源要求服务所提出的请求;断点:主程序被打断的地方;中断服务程序:处理特定事件的一段程序;中断响应:
CPU转去执行中断服务程序的过程。简言之,中断是一种使CPU中止正在执行的程序,而转去处理特殊事件的操作。中断的优点提高CPU的效率
CPU和外设可以同时工作实时处理CPU可以及时处理随机事件,增强实时控制性故障处理针对难以预料的情况或故障进行及时处理,保证系统可靠性
5.2.251单片机中断系统的结构单片机的中断结构示意图中断标志中断允许优先级高级低级中断源单片机的中断系统结构中断源中断标志中断允许优先级中断处理子程序单片机的中断源中断源(5个)P3.2外部中断请求0(低电平或下降沿有效)T0定时器T0内部定时器T0计满溢出后P3.3外部中断请求1(低电平或下降沿有效)T1定时器T1内部定时器T0计满溢出后RX或TX串行口接收或发送完一帧串行数据后从中断源到中断处理程序中断处理子程序5.2.3中断有关寄存器中断请求的标志——TCON中断请求的标志——SCON响应中断后需软件清0中断允许寄存器IE例,若允许T1中断,则指令如下:ET1=1;EA=1;或:IE=0X88;该寄存器可以位寻址!中断优先级寄存器IP中断优先级寄存器1:高优先级0:低优先级低优先级可被高优先级中断注意高优先级不能被低优先级中断中断的自然优先权中断源同一级自然优先权外部中断0最高级最低级定时器T0外部中断1定时器T1串行口5.2.4中断处理过程中断响应中断响应:从中断请求标志有效,到CPU开始执行中断服务程序的那一段过程。什么叫中断响应中断响应的条件①中断源发出中断请求②总中断允许位EA置
1③申请中断的中断源允许位置1。满足所有的条件①CPU正在响应同级或更高优先级的中断;②当前指令未执行完;③正在执行中断返回或访问寄存器IE和IP没有阻断的情况中断响应的过程1、保存断点地址2、自动调用中断服务程序主程序main(){语句1;语句2;语句3:语句4:语句n;}断点说明:CPU硬件自动完成保存地址的任务中断响应的过程1、保存断点地址2、自动调用中断服务程序主程序main(){语句1;语句2;语句3:语句4:语句n;}中断服务程序voidint_1()interrupt2using2{语句1;语句2;语句3:语句4:具体的中断处理程序语句n;}断点中断响应的时间主程序main(){语句1;语句2;语句3:语句4:语句n;}中断服务程序voidint_1()interrupt2using2{语句1;语句2;语句3:语句4:语句n;}断点中断响应的时间大约为3
8个机器周期中断服务程序实例外部中断0函数int_0外部中断1函数int_1中断服务程序的定义中断服务程序以函数形式存在;中断函数定义语法如下:
void函数名()
interruptn[usingm]中断源n外部中断00定时器01外部中断12定时器13串行口4寄存器组m组00组11组22组33中断服务程序的定义分析例,中断服务程序定义如下:voidint_1()interrupt2using2{语句1;语句2;语句3;语句4;语句n;}中断源n外部中断00定时器01外部中断12定时器13串行口4寄存器组m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 行政执法证考试试题及答案
- 2025年广东省广州市九年级历史上册期中考试试卷及答案
- 2026年中国专用闪光灯市场调查研究报告
- 2026年中国上贴式贴标机市场调查研究报告
- 2026年中国三工位管端加工机市场调查研究报告
- 2026年中国RF接头市场调查研究报告
- 2026年中国PS塑料镜市场调查研究报告
- 2026年贵州住院医师-贵州住院医师胸心外科历年参考题库含答案解析
- 2026年行政执法考试-公安民警高级执法资格考试历年参考题库含答案解析
- 2026年经济建设高峰论坛知识竞赛-就业创业知识竞赛历年参考题库含答案解析
- 超声两非管理办法
- 设备故障管理办法
- 2025年国企中层竞聘笔试题目+答案
- 口腔癌术后口腔冲洗技术-中华护理学会团体标准2024
- 军兵种知识教案及课件
- DBJ33T 1292-2023 装配型附着式升降脚手架安全技术规程
- 食材配送卫生安全管理制度
- 部编版语文六年级上册第二单元-习作:多彩的活动-课件(共33张课件)
- CJT 288-2017 预制双层不锈钢烟道及烟囱
- 护理学基础(高职)全套教学课件
- 三角函数在音乐、艺术中的体现及其教学
评论
0/150
提交评论