




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、教学导航教学导航义务单义务单义务预备义务预备案例示范案例示范知识梳理与总结知识梳理与总结义务作业义务作业教教知识重点(1)中断控制用存放器;(2)中断效力函数的编写;(3)定时器任务方式及控制存放器的运用知识难点定时器任务方式;中断效力函数的编写引荐教学方式以义务入手,经过流水灯的定时控制程序的编写逐渐认识中断系统、定时器/计数器的作用,深化对中断系统与定时器的了解,掌握中断效力函数的编写方法及中断呼应的机制。建议学时8学时学学引荐学习方法经过对教师提供的电路图,编写程序,完成仿真调试,了解相关实际知识,学会运用。必需掌握的实际知识(1)单片机中断系统; (2)中断控制用存放器;(3)中断效力
2、函数的编写; (4)单片机定时器构造;(5)任务方式及控制存放器;(6)定时器的运用必需掌握的技艺中断程序、定时器运用程序的编写,仿真调试技巧。教学导航教学导航任务任务3 以定时方式控制流水灯以定时方式控制流水灯义务单义务单义务描画义务二是利用单片机的并行I/O口外接流水灯,采用并行输入/输出方式控制发光二极管实现流水灯,在实现该义务时,每次点亮一个灯后要延时,否那么无法看到流水灯效果,义务二经过软件方法实现延时。本义务要求利用单片机的定时器/计数器,让流水灯指定时间循环点亮发光二极管。义务要求如图3-1所示,由P0衔接8只发光二极管,实现如下流水灯的功能:1要求每隔1s从左至右循环点亮发光二
3、极管;2按自定时间间隔从左至右循环点亮发光二极管,点亮最右边的发光二极管后,再从右至左循环点亮。实现方法1利用Proteus仿真运转,按义务要务虚现流水灯。2在实训设备上按义务要求连线,运转程序。任务任务3 以定时方式控制流水灯以定时方式控制流水灯3.1 中断系统3.2 定时器/计数器任务任务3 以定时方式控制流水灯以定时方式控制流水灯3.1 3.1 中断系统中断系统3.1.1 3.1.1 中断的概念与作用中断的概念与作用3.1.2 MCS 513.1.2 MCS 51单片机中断系统单片机中断系统3.1.3 3.1.3 中断效力函数中断效力函数 任务任务3 以定时方式控制流水灯以定时方式控制流
4、水灯 3.1.1 3.1.1 中断的概念与作用中断的概念与作用外部设备是微机的重要组成部分,而微机和外部设备之间不是直接相连的,而是经过不同的接口电路来到达彼此间的信息传送的。CPU与外部交换信息的方式:1程序控制传送方式2中断传送方式3直接存储器存取DMA方式任务任务3 以定时方式控制流水灯以定时方式控制流水灯1.1.中断的定义中断的定义 他正在专心看书,忽然铃响,于是他记下正在看的书的页数,去接,接完后再回来接着看书。日常中断的例子日常中断的例子任务任务3 以定时方式控制流水灯以定时方式控制流水灯什么是中断?什么是中断? 中断是指计算机在执行某段程序的过程中, 由于计算机系统内、外的某种缘
5、由, 暂时中止原程序的执行, 转去执行相应的处置程序, 并中断效力程序执行完后, 再回来继续执行被中断的原程序的过程。 任务任务3 以定时方式控制流水灯以定时方式控制流水灯1)CPU与外设并行任务。处理与外设并行任务。处理CPU速度快、外设速度速度快、外设速度慢的矛盾。慢的矛盾。2)实时处置。控制系统往往有许多数据需求采集或输实时处置。控制系统往往有许多数据需求采集或输出。实时控制中有的数据难以估计何时需求交换。出。实时控制中有的数据难以估计何时需求交换。3)缺点处置。计算机系统的缺点往往随机发生,如电缺点处置。计算机系统的缺点往往随机发生,如电源断电、运算溢出、存储器出错等。采用中断技术,系
6、统源断电、运算溢出、存储器出错等。采用中断技术,系统缺点一旦出现,就能及时处置。缺点一旦出现,就能及时处置。4实现人机交互:人和单片机交互普通采用键盘和实现人机交互:人和单片机交互普通采用键盘和按键,可以采用中断的方式实现,中断方式时按键,可以采用中断的方式实现,中断方式时CPU执行效执行效率高,而且可以保证人机交互的实时性,故中断方式在人率高,而且可以保证人机交互的实时性,故中断方式在人机交互中得到广泛运用。机交互中得到广泛运用。任务任务3 以定时方式控制流水灯以定时方式控制流水灯3.1.2 MCS-513.1.2 MCS-51中断系统中断系统中断系统是指能实现中断功能的那部分硬件电路中断系
7、统是指能实现中断功能的那部分硬件电路和软件程序。和软件程序。对于对于MCS-51MCS-51单片机,大部分中断电路都是集成在单片机,大部分中断电路都是集成在芯片内部的,只需和中断输入线上的中断恳求信芯片内部的,只需和中断输入线上的中断恳求信号产生电路才分散在各中断源电路或接口芯片电号产生电路才分散在各中断源电路或接口芯片电路里。路里。 任务任务3 以定时方式控制流水灯以定时方式控制流水灯 IE0TCONSCONINT0 IT0=0 IT0=1INT1 IT1=0 IT1=1TF0 IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然优先级自然优先级矢量地址高级中断恳求高
8、级中断恳求自然优先级自然优先级矢量地址低级中断恳求低级中断恳求PX0PT0PX1PT1PSIEIP 中断标志位中断源允许总允许EA中断优先级任务任务3 以定时方式控制流水灯以定时方式控制流水灯1. MCS-511. MCS-51的中断源和中断标志的中断源和中断标志 中断源是指引起中断的事件。中断源是指引起中断的事件。 在单片机中,中断源是指引起中断缘由的设备或在单片机中,中断源是指引起中断缘由的设备或事件,或发出中断恳求信号的源泉。通常有事件,或发出中断恳求信号的源泉。通常有I/O设备、实时控制系统中的随机参数和信息缺点源设备、实时控制系统中的随机参数和信息缺点源等。等。任务任务3 以定时方式
9、控制流水灯以定时方式控制流水灯1外部中断源:MCS-51系列单片机有2个外中断源,称为外中断0和1,经由单片机上的P3.2、P3.3这两个外部引脚引入,为 、 。 2内部中断源 定时器溢出中断源。定时器溢出中断源由内部定时器/计数器产生,属于内部中断。 串行口中断源。串行口中断是由内部串行口中断源产生。 INT1INT0(1) (1) 中断源中断源任务任务3 以定时方式控制流水灯以定时方式控制流水灯1)TCON中的中断标志位中的中断标志位 D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0(2)(2)中断恳求标志中断恳求标志MSB8FH 8EH 8DH 8CH 8
10、BH 8AH 89H 88H(LSB) 外部中断外部中断INT0中断标志中断标志位位(TCON.1) : IE01,外部中断,外部中断1向向CPU恳求中断恳求中断 外部中断外部中断INT0触发方式触发方式控制位控制位(TCON.0): IT0=0,电平触发方式,电平触发方式 IT0=1, 下降沿触发方式下降沿触发方式留意:该存放器可以位寻址。任务任务3 以定时方式控制流水灯以定时方式控制流水灯在电平触发方式下,在电平触发方式下,CPUCPU呼应中断时,不能自动呼应中断时,不能自动去除去除IE0IE0标志。也就是说,标志。也就是说,IE0IE0形状完全由形状完全由 形形状决议,所以在中断前往前必
11、需撤除状决议,所以在中断前往前必需撤除 的低电的低电平平, ,否那么会引起反复中断;而在负跳变触发方式否那么会引起反复中断;而在负跳变触发方式下,当下,当CPUCPU呼应中断时,硬件会自动使呼应中断时,硬件会自动使IE0IE0清清0 0。在负跳变触发方式下,为保证在负跳变触发方式下,为保证CPUCPU能检测到负跳能检测到负跳变,的高、低电平常间至少应坚持变,的高、低电平常间至少应坚持1 1个机器周期。个机器周期。INT0INT0采样INT0采样INT0采样INT0任务任务3 以定时方式控制流水灯以定时方式控制流水灯1TCON的中断标志位的中断标志位 TCON8FH 8EH 8DH 8CH 8B
12、H 8AH 89H 88HD7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT0T0溢出中断标志溢出中断标志(TCON.5): T0启动计数后,计满溢出由硬件启动计数后,计满溢出由硬件置位置位TF0=1,向,向CPU恳求中断,此标恳求中断,此标志不断坚持到志不断坚持到CPU呼应中断后,才由呼应中断后,才由硬件自动清硬件自动清0。也可用软件查询该标志,。也可用软件查询该标志,并由软件清并由软件清0。任务任务3 以定时方式控制流水灯以定时方式控制流水灯 D7D6D5D4D3D2D1D0SM0 SM1 SM2 RENTB8RB8TIRI2) SCON的中断标志位的中断标志位
13、(MSB)9FH 9EH 9DH 9CH 9BH 9AH 99H 98H(LSB) 留意:该存放器可以位寻址!RI (SCON.0)串行接纳中断标志。TI (SCON.1)串行发送中断标志。任务任务3 以定时方式控制流水灯以定时方式控制流水灯1中断允许控制中断允许控制中断允许存放器中断允许存放器IE 2. 中断控制中断控制D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0(MSB)AFH AEH ADH ACH ABH AAH A9H A8H(LSB)中断允许存放器IE对中断的开放和封锁实行两级控制。所谓两级控制,就是有一个总开、关中断控制位EA,当EA0时,那么屏蔽一切的中断恳
14、求,即任何中断恳求都不接受;当EA1时,CPU开放中断,但五个中断源还要由IE的低5位的各对应控制位的形状进展中断允许控制。任务任务3 以定时方式控制流水灯以定时方式控制流水灯实例3-1假设我们要设置外中断1、定时器1中断允许,其它不允许,请设置IE的相应值。位D7D6D5D4D3D2D1D0符号EAESET1EX1ET0EX0值10001100(MSB)AFH AEH ADH ACH ABH AAH A9H A8H(LSB)(a)SFR赋值IE=0 x8c(b)用位赋值EA1;CPU开中断ET11;定时/计数器1允许中断EX11;外中断T1允许中断任务任务3 以定时方式控制流水灯以定时方式控
15、制流水灯2 2中断优先级控制中断优先级控制 MCS-51单片机有两个中断优先级:高级中断和低单片机有两个中断优先级:高级中断和低级中断。级中断。 每一个中断源都可以经过编程确定为高优先级中断每一个中断源都可以经过编程确定为高优先级中断或低优先级中断。或低优先级中断。 假设假设CPU当前正在为低优先级中断效力,在开中断当前正在为低优先级中断效力,在开中断的条件下,它能被另一个高优先级中断恳求所中断的条件下,它能被另一个高优先级中断恳求所中断,转去为高级中断效力,再前往到被中断了的低级,转去为高级中断效力,再前往到被中断了的低级中断的效力程序,这即为中断嵌套。中断的效力程序,这即为中断嵌套。 任务
16、任务3 以定时方式控制流水灯以定时方式控制流水灯中断嵌套过程中断嵌套过程CPU执行执行高级中断高级中断效力效力高级中断恳求高级中断恳求前往低级中断程序前往低级中断程序前往主程序前往主程序呼应高级中断呼应高级中断低级中断恳求低级中断恳求CPU执行执行低级中断低级中断呼应低级中断呼应低级中断CPU在执行在执行的主程序的主程序任务任务3 以定时方式控制流水灯以定时方式控制流水灯中断优先级存放器中断优先级存放器IPIPD7D6D5D4D3D2D1D0PSPT1PX1PT0PX0(MSB)BFH BEH BDH BCH BBH BAH B9H B8H(LSB) 公用存放器公用存放器IP为中断优先级存放器
17、,用户可用软件为中断优先级存放器,用户可用软件设定设定 相应位为相应位为1,对应的中断源被设置为高优先级,相,对应的中断源被设置为高优先级,相应位为应位为0,对应的中断源被设置为低优先级,对应的中断源被设置为低优先级 系统复位时,均为低优先级系统复位时,均为低优先级 该存放器可以位寻址该存放器可以位寻址任务任务3 以定时方式控制流水灯以定时方式控制流水灯自然优先权顺序自然优先权顺序 中中 断断 源源同级内优先权陈列同级内优先权陈列外部中断0中断(IE0)定时器/计数器0中断(TF0)外部中断1中断(IE1)定时器/计数器1中断(TF1)串行接口中断(TI/RI) 最 高 最 低任务任务3 以定
18、时方式控制流水灯以定时方式控制流水灯MCS-51系列单片机中断呼应原那么:系列单片机中断呼应原那么:1)高级中断恳求可以中断正在执行的低级中断。高级中断恳求可以中断正在执行的低级中断。2)同级或低级中断恳求不能中断正在执行的中断。同级或低级中断恳求不能中断正在执行的中断。3)多个中断源同时向多个中断源同时向CPU恳求中断,首先呼应优先恳求中断,首先呼应优先级别最高的中断恳求;多个同级中断源同时向级别最高的中断恳求;多个同级中断源同时向CPU恳恳求中断,求中断,CPU经过内部硬件查询,按自然优先级确定经过内部硬件查询,按自然优先级确定优先呼应哪一个中断恳求。优先呼应哪一个中断恳求。任务任务3 以
19、定时方式控制流水灯以定时方式控制流水灯解:IP的首3位没用,可恣意取值,设为000,后面根据要求写就可以了。位位D7D6D5D4D3D2D1D0符号符号XXXPSPT1PX1PT0PX0值值00000110实例实例3-2 3-2 设有如下要求,将设有如下要求,将T0T0、外中断、外中断1 1设为高优先级设为高优先级,其它为低优先级,求,其它为低优先级,求IPIP的值。的值。IP的值就是的值就是06H。任务任务3 以定时方式控制流水灯以定时方式控制流水灯实例实例3-3 3-3 在上例中,假设在上例中,假设5 5个中断恳求同时发生个中断恳求同时发生,求中断呼应的次序。,求中断呼应的次序。解:呼应次
20、序为解:呼应次序为定时器定时器0外中断外中断1外中断外中断0实时器实时器1串行串行中断。中断。 位位D7D6D5D4D3D2D1D0符号符号XXXPSPT1PX1PT0PX0值值00000110任务任务3 以定时方式控制流水灯以定时方式控制流水灯1中断呼应的时序中断呼应的时序任务任务3 以定时方式控制流水灯以定时方式控制流水灯 没有同级或高优先级的中断正在处置; 正在执行指令必需执行完最后一个机器周期换言之, 正在执行的指令完成前, 任何中断恳求都得不到呼应; 假设正在RETI或读写IE或IP存放器,那么必需执行完当前指令的下一条其它指令之后才会呼应。 任务任务3 以定时方式控制流水灯以定时方
21、式控制流水灯单片机一旦呼应中断恳求单片机一旦呼应中断恳求, 就由硬件完成以下功能就由硬件完成以下功能: 自动去除相应的中断恳求标志位串行口中断自动去除相应的中断恳求标志位串行口中断恳求标志恳求标志RI和和TI除外除外; 维护断点和现场,把被呼应的中断源所对应的维护断点和现场,把被呼应的中断源所对应的中断效力程序的入口地址中断矢量送入中断效力程序的入口地址中断矢量送入PC, 从从而转入相应的中断效力程序。而转入相应的中断效力程序。 终了中断效力程序,恢复断点和现场,并前往终了中断效力程序,恢复断点和现场,并前往呼应中断之前的程序继续执行。呼应中断之前的程序继续执行。任务任务3 以定时方式控制流水
22、灯以定时方式控制流水灯3.1.3 3.1.3 中断效力函数中断效力函数C51编译器支持在编译器支持在C言语源程序中直接编写言语源程序中直接编写8051单片机的中断效力函数,从而减轻运用汇编言语单片机的中断效力函数,从而减轻运用汇编言语的繁琐程度,提高了开发效率。的繁琐程度,提高了开发效率。任务任务3 以定时方式控制流水灯以定时方式控制流水灯1.1.中断效力函数的普通方式中断效力函数的普通方式void 函数名(void interrupt m unsing n代表中断号,是一个常量,取值范围是0-31。C51编译器允许32个中断,从8m+3处产生中断向量 代表中断函数将要选择运用的存放器组,也是
23、一个常量,取值范围是03。 任务任务3 以定时方式控制流水灯以定时方式控制流水灯程序存储器程序存储器ROMROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口(中断号m=4)0003H:外部中断0入口(中断号m=0)000BH:定时器/计数器0中断入口(中断号m=1)0013H:外部中断1入口(中断号m=2)001BH:定时器1 /计数器中断入口(中断号m=3)002BHMCS-51MCS-51单片机中断入口单片机中断入口8字节任务任务3 以定时方式控制流水灯以定时方式控制流水灯关于关于USING的阐明的阐明using不仅可以用于中断效力函数的定义中,也可以不
24、仅可以用于中断效力函数的定义中,也可以用于普通的内部函数,但不能用于外部函数。用于普通的内部函数,但不能用于外部函数。就中断效力函数而言就中断效力函数而言假设不运用假设不运用using,那么在进入中断效力函数的时候,那么在进入中断效力函数的时候,中断函数中所用到的全部任务存放器都要入栈,中断函数中所用到的全部任务存放器都要入栈,函数前往之前一切的存放器内容出栈;函数前往之前一切的存放器内容出栈;假设运用假设运用using,那么在进入中断效力函数的时候,那么在进入中断效力函数的时候,只将当前任务存放器组入栈,用只将当前任务存放器组入栈,用using指定的任务存指定的任务存放器组的内容不变也不入栈
25、,函数前往之前将被维放器组的内容不变也不入栈,函数前往之前将被维护的任务存放器组出栈。护的任务存放器组出栈。任务任务3 以定时方式控制流水灯以定时方式控制流水灯 1运用using可缩减中断效力函数的入栈操作时间,因此可以使中断得到更及时的处置;但同时,运用using要非常小心,要保证存放器组切换在所控制的区域内,否那么会导致错误。 2中断函数的编写包括两部分:中断源的初始化函数和中断效力函数。概括地说,中断源初始化函数就是对中断源所需求的一些变量进展设置,其方式与其他普通函数一样普通在主函数里实现;而中断效力函数就是规定系统在发生相应的中断的时候要执行哪些操作。 3中断函数的调用过程与普通函数
26、调用类似,但普通函数是程序中事先安排好的;而何时调用中断函数事先无法确定,调用中断函数的过程是由硬件自动完成的。任务任务3 以定时方式控制流水灯以定时方式控制流水灯中断函数既不能进展参数传送,也没有前往值,因中断函数既不能进展参数传送,也没有前往值,因此,中断函数的方式参数列表和函数类型标识符名此,中断函数的方式参数列表和函数类型标识符名均为均为void。定时器定时器0的定义方式:的定义方式:void intr_time0(void) interrupt 1 任务任务3 以定时方式控制流水灯以定时方式控制流水灯2.2.中断函数的编写中断函数的编写(1)中断的初始化所谓初始化,是对将要用到的MC
27、S-51系列单片机内部部件或扩展芯片进展初始任务形状设定。针对中断来说,就是对IE,IP进展初始化编程,实现如下要求:1CPU开中断与关中断。2某个中断源中断恳求的允许和制止屏蔽。3各中断源优先级别的设定。4外部中断恳求的触发方式。任务任务3 以定时方式控制流水灯以定时方式控制流水灯(2)(2)中断效力函数中断效力函数中断效力函数就是规定系统在发生相应的中断的中断效力函数就是规定系统在发生相应的中断的时候要执行哪些操作。时候要执行哪些操作。 任务任务3 以定时方式控制流水灯以定时方式控制流水灯实例实例【实例【实例3-4】P1.3外接一个扬声器,当与外接一个扬声器,当与P3.3外外部中断部中断1
28、输入引脚变为低电平常,扬声器发声。输入引脚变为低电平常,扬声器发声。任务任务3 以定时方式控制流水灯以定时方式控制流水灯实例实例3-43-4#includesbit p13=P13;void main() IT0=0; EA=1;EX1=1; p13=1; while(1);void isr_int1() interrupt 2int i; p13=p13; for(i=1000;i0;i-);任务任务3 以定时方式控制流水灯以定时方式控制流水灯实例实例3-5:3-5:电平触发与跳变触发的比较电平触发与跳变触发的比较#include#includevoid serial_init();void
29、 isr_int0();main() serial_init(); IT0=0;EA=1;EX0=1; while(1);void isr_int0() interrupt 0 printf(External interrupt 0 respondedn); void serial_init() SCON=0X52; MOD=(TMOD&0X0F)|0X20; TH1=221; TR1=1;任务任务3 以定时方式控制流水灯以定时方式控制流水灯电平触发的输出情况电平触发的输出情况任务任务3 以定时方式控制流水灯以定时方式控制流水灯跳变触发输出情况跳变触发输出情况main() serial
30、_init(); IT0=1; EA=1;EX0=1; while(1);任务任务3 以定时方式控制流水灯以定时方式控制流水灯案例案例4 4:蒸汽锅炉参数越限报警控制:蒸汽锅炉参数越限报警控制液位上、下限SL1、SL2开关取自“色带指示报警仪,分别接P1.3,P1.2。蒸汽压力下限SP开关接P1.1。炉堂温度上限ST开关接P1.0。P1.7P1.4输出接发光二极管,与4个参数对应,越限时那么相应的LED点亮。任务任务3 以定时方式控制流水灯以定时方式控制流水灯#includevoid isr_int0(void);main() IT0=0; EX0=1; EA=1; while(1) 主函数初
31、始化主函数初始化void isr_int0(void) interrupt 0 char temp1; P1 = 0 x0ff; temp1 = P1; temp1 =temp10;i-):任务任务3 以定时方式控制流水灯以定时方式控制流水灯3.2.1 3.2.1 定时器定时器/ /计数器的构造计数器的构造3.2.2 3.2.2 定时器定时器/ /计数器的任务方式计数器的任务方式任务任务3 以定时方式控制流水灯以定时方式控制流水灯3.2.1 3.2.1 定时器定时器/ /计数器的构造计数器的构造可编程定时,经过对系统时钟脉冲计数而获得延可编程定时,经过对系统时钟脉冲计数而获得延时,时,MCSM
32、CS5151定时定时/ /计数器的优点:计数器的优点:可实现定时、计数功能,有利用实时控制可实现定时、计数功能,有利用实时控制不占用不占用CPUCPU时间时间定时精度高,修正方便定时精度高,修正方便任务任务3 以定时方式控制流水灯以定时方式控制流水灯1. 1. 定时定时/ /计数器的组成计数器的组成定时/计数器的构造框图 微微处处理理器器TH1TL1TH0TL0TCONTMOD任务任务方式方式任务任务方式方式T1T0P3.5(T1)P3.4(T0)任务任务3 以定时方式控制流水灯以定时方式控制流水灯 (1) (1)构造组成部分构造组成部分 两个16位的二进制定时/计数器T0、T1T0/T1分别
33、由两个8位的计数器组成,均属SFR存放器T0由TH0、TL0构成,字节地址为8CH、8AHT1由TH1、TL1构成,字节地址为8DH、8BH;相关的控制存放器方式存放器TMOD控制存放器TCON任务任务3 以定时方式控制流水灯以定时方式控制流水灯定时功能定时功能 对片内机器周期进展计数,即每个机器周对片内机器周期进展计数,即每个机器周期产生一期产生一 个计数脉冲,计数加个计数脉冲,计数加1。实时控制、实时采样、定时控制等。实时控制、实时采样、定时控制等。振荡器振荡器12 加加 1计数器计数器TFx恳求恳求中断中断TX端端C/T=0C/T=1控制信号控制信号TRx2 2任务原理任务原理任务任务3
34、 以定时方式控制流水灯以定时方式控制流水灯2 2任务原理任务原理计数功能计数功能 对片外从对片外从T0P3.4、T1P3.5引脚输入的引脚输入的外部脉冲信号进展计数,下降沿计数加外部脉冲信号进展计数,下降沿计数加1。计数。计数频率为晶振频率的频率为晶振频率的1/24。消费线上产品计数、检测电机转速等功能。消费线上产品计数、检测电机转速等功能。振荡器振荡器12 加加 1计数器计数器TFx恳求恳求中断中断TX端端C/T=0C/T=1控制信号控制信号TRx任务任务3 以定时方式控制流水灯以定时方式控制流水灯定时定时/ /计数器初值预置计数器初值预置初值X的计数方法设最大值为 M, 计数值为 N, 初
35、值为X, Tcy=12晶振频率定时形状: XM定时时间/Tcy计数形状 : XMN要求检测到100个脉冲,发中断恳求,通知CPU,选计数功能,计数初值为156设定时/计数器为8位加1计数器,要求定时每隔100s时间,发一次中断恳求设机器周期1s,选定时功能,计数初值为156任务任务3 以定时方式控制流水灯以定时方式控制流水灯2. 2. 方式控制存放器方式控制存放器TMODTMODSFR存放器,地址89H控制T0、T1的任务方式仅可字节寻址T/CGATEM1 M0GATEM1M0T/C T1方式控制 T0方式控制任务任务3 以定时方式控制流水灯以定时方式控制流水灯M1和和M0:任务方式选择位:任
36、务方式选择位 M1 M0方式方式阐明阐明0 0013位计数器位计数器TH的高的高8位和位和TL的低的低5位位0 1116位计数器位计数器1 02自动重装入初值的自动重装入初值的8 8位计数器位计数器1 13定时器定时器0 0:分成两个独立的:分成两个独立的8 8位计数器位计数器定时器定时器1 1: 停顿计数停顿计数任务任务3 以定时方式控制流水灯以定时方式控制流水灯C/ 定时/计数功能选择位。 为“0,定时方式 为“1,计数方式GATE:门控位,定义T1/T0的启动方式,GATE=0,非门控方式(内部启动):TR0/1=1,启动定时器任务; TR0/1 =0,停顿定时器任务。GATE=1,门控
37、方式(外部启动) TR0/1=1且引脚INT0/1 =1才启动。T任务任务3 以定时方式控制流水灯以定时方式控制流水灯SFR存放器,地址存放器,地址88H即参与定时控制又参与中断控制即参与定时控制又参与中断控制与定时控制相关的有与定时控制相关的有4位位TF1/TF0:当:当T1/T0的计数器计数溢出时,该位置的计数器计数溢出时,该位置“1;TR1/TR0:T1/T0运转控制位。软件将其置运转控制位。软件将其置“1时,启动时,启动T1/T0任务。任务。TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 任务任务3 以定时
38、方式控制流水灯以定时方式控制流水灯M1M0=00 ;作定时器:作定时器:TMOD=00000000=00H作计数器:作计数器:TMOD=00000100=04H13位计数器;位计数器; TH:8位位 TL:低:低5位,高位,高3位不用。位不用。1. 任务方式任务方式0任务任务3 以定时方式控制流水灯以定时方式控制流水灯任务任务3 以定时方式控制流水灯以定时方式控制流水灯计数初值最大计数值为213=8192定时时间:T =213-T0的初值Tcy 计数个数:S=213 - T0的初值 任务任务3 以定时方式控制流水灯以定时方式控制流水灯(1)向TMOD存放器中写入任务方式控制字(2)向定时/计数
39、器TH0、TL0或TH1、 TL1装入初值(3)启动定时/计数器置位TR0/TR1)(4)如采用中断方式,置位ET0ET1、 EA、IP等中断存放器任务任务3 以定时方式控制流水灯以定时方式控制流水灯实例实例3-63-6:知单片机晶振频率:知单片机晶振频率6MHz6MHz,利用,利用T0T0的方式的方式0 0在在P1.0P1.0引脚输出周期为引脚输出周期为500us500us的方波的方波解:解:1方波波形如下图方波波形如下图 2TMOD初始化初始化 00H 3计数初值:计数初值: 计数初值计数初值=213 -欲计数脉冲数欲计数脉冲数=213 -T/ Tcy =213-250/2=1F83H =
40、00011111100 00011B TH1=0 xFC,TL1=0 x03 4TCON初始化,初始化,TR01任务任务3 以定时方式控制流水灯以定时方式控制流水灯 #includesbit p10=P10;main() TMOD=0; TH0=0XFC; TL0=0X03; TR0=1; while(1) while(TF0=0); p10=p10; TH0=0XFC; TL0=0X03; TF0=0; 任务任务3 以定时方式控制流水灯以定时方式控制流水灯 #includesbit p10=P10;void isr_t0();main()TMOD=0; TH0=0XFC; TL0=0X03;
41、 TR0=1; EA=1;ET0=1; while(1);void isr_t0( ) interrupt 1 p10=p10; TH0=0XFC; TL0=0X03;任务任务3 以定时方式控制流水灯以定时方式控制流水灯实例3-7 单片机晶振频率12MHz,利用T0的方式0实现1s延时,每隔1s钟使P1.0引脚翻转一次。1TMOD初始化初始化 00H 2计数初值:计数初值: 定时时间:定时时间:tmax=81921us=8.192ms ;取;取5ms 1秒延时实现:秒延时实现:5ms延时延时200次次 T0 的的 初值:初值: =213-5000s/1s =3192 =0C78H=000 01
42、100011 11000B TH0=63H,TL0=18H任务任务3 以定时方式控制流水灯以定时方式控制流水灯源程序清单:源程序清单:#includevoid isr_time0(void);sbit P10=P10;unsigned int counter=200;void main()TMOD = 0X00; TH0=0X63;TL0=0X18; TR0=1; EA=1;ET0=1; while(1);void isr_time0() interrupt 1 counter-; if(!counter) counter=200; P10 =P10; TH0=0X63; TL0=0X18;
43、任务任务3 以定时方式控制流水灯以定时方式控制流水灯M1M0=01作定时器:作定时器:TMOD=00000000=01H作计数器:作计数器:TMOD=00000100=05H16位计数器,逻辑构造框图如下:位计数器,逻辑构造框图如下:振荡器振荡器12TF0中断中断T0C/T=0C/T=1GATEINT0端端TR0 TH0(8位位) TL0(8位位)控制控制l&lEAET0&任务任务3 以定时方式控制流水灯以定时方式控制流水灯实例实例3-8 3-8 利用利用T0T0的方式的方式1 1完成例完成例3-63-6的功能即在的功能即在P1.0P1.0引脚输出周期为引脚输出周期为500us
44、500us的方波。的方波。1TMOD初始化初始化 01H 2计数初值:计数初值: 计数初值计数初值=216 -欲计数脉冲数欲计数脉冲数=216 -T/ Tcy =216-250/2 =65411=FF83H 因此因此TH1=0 xFF,TL1=0 x833TCON初始化,初始化,TR014开中断:开中断:EA=1;ET0=1任务任务3 以定时方式控制流水灯以定时方式控制流水灯源程序清单源程序清单/主函数主函数#includevoid isr_time0(void);sbit P10=P10;void main()TMOD = 0X01; TH0=-1258; TL0=-125; TR0=1;E
45、A=1;ET0=1; while(1);小技巧:小技巧:实践运用中,在利用实践运用中,在利用C51编编程时,计数初值可以直接程时,计数初值可以直接用如下方法表示:用如下方法表示:TH0=-1258; /取计数初取计数初值的高值的高8位位0FFHTL0=-125; /自动取计数初自动取计数初值的低值的低8位位83H不需求计算出详细的计数不需求计算出详细的计数初值。但读者要清楚计算初值。但读者要清楚计算计数初值的原理。计数初值的原理。/中断效力函数中断效力函数void isr_time0(void) interrupt 1 P10 = P10; TH0=-1258; TL0=-125;任务任务3
46、以定时方式控制流水灯以定时方式控制流水灯M1M0=10 作定时器:作定时器:TMOD=02H 作计数器:作计数器:TMOD=06H自动重置初值的自动重置初值的8位计数器,逻辑构造如图:位计数器,逻辑构造如图:振荡器振荡器12TF0中断中断T0GATEINT0TR0 TL0(8位位) TH0(8位位)控制控制重 新重 新装入装入ll&C/T=0C/T=1&EAET0任务任务3 以定时方式控制流水灯以定时方式控制流水灯案例案例5 5 啤酒消费线自动装箱控制啤酒消费线自动装箱控制某啤酒自动消费线,每消费某啤酒自动消费线,每消费12瓶执行装箱操作,将消瓶执行装箱操作,将消费出的啤酒自动
47、装箱,用单片机实现该控制要求。费出的啤酒自动装箱,用单片机实现该控制要求。任务任务3 以定时方式控制流水灯以定时方式控制流水灯解:假设啤酒消费线上装有传感安装,每检测解:假设啤酒消费线上装有传感安装,每检测一瓶啤酒就向单片机发送一个脉冲信号,运用一瓶啤酒就向单片机发送一个脉冲信号,运用计数功能就可实现该控制要求。计数功能就可实现该控制要求。1TMOD初始化初始化 06H2计数初值:计数初值: TH0TL0 28120F4H任务任务3 以定时方式控制流水灯以定时方式控制流水灯程序清单程序清单#includevoid isr_time0(void);void main() TMOD=0 x06;
48、TL0=0Xf4; TH0=0Xf4; TR0=1; ET0=1;EA=1; while(1);void isr_time() interrupt 1 int i,time=600; P37=0; /驱动电机转动驱动电机转动 while(time -)/假设装箱时间固定假设装箱时间固定 for(i=500;i0;i-); P37=1; /装箱终了电机停顿转动装箱终了电机停顿转动任务任务3 以定时方式控制流水灯以定时方式控制流水灯4.4.任务方式任务方式3 3振荡器振荡器12TF1T1中断中断 TH0(8位位)TR1控制控制T0端端C/T=0C/T=1GATEINT0端端TR0振荡器振荡器12T
49、F0T0中断中断 TL0(8位位)控制控制ll&EAET0仅作定时仅作定时器用器用! !任务任务3 以定时方式控制流水灯以定时方式控制流水灯M1M0=11T0、T1的设置和运用不同的设置和运用不同T0两个两个8位的计数器位的计数器TL0:运用:运用T0原有控制资源,功能与方式原有控制资源,功能与方式0、1一样。一样。TH0:借用:借用T1的的TR1、TF1,只能对片内机器周期脉,只能对片内机器周期脉冲计数,冲计数, 作作8位定时器。位定时器。T0初值计算完全同方式初值计算完全同方式 2。任务任务3 以定时方式控制流水灯以定时方式控制流水灯T1依然可任务于方式依然可任务于方式02,C/
50、控制位仍可使控制位仍可使T1任任务在定时器或计数器方式,由于其务在定时器或计数器方式,由于其TR1、TF1被被T0的的TH0占用,因此计数溢出时只能将输出结果送至占用,因此计数溢出时只能将输出结果送至串行口,即用作串行口波特率发生器。串行口,即用作串行口波特率发生器。T1任务于方式任务于方式2,因定时初值能自动恢复,用作波,因定时初值能自动恢复,用作波特率发生器。特率发生器。因定时器因定时器1的的TR1被占用,其启动和封锁比较特殊被占用,其启动和封锁比较特殊:当设置好任务方式时,当设置好任务方式时,T1自动开场运转。自动开场运转。送入一个设置定时器送入一个设置定时器1为方式为方式3的方式字即可
51、停顿的方式字即可停顿T1 。T任务任务3 以定时方式控制流水灯以定时方式控制流水灯实例实例3-9 3-9 知系统晶振知系统晶振12MHz12MHz,试用定时器,试用定时器0 0的方式的方式3 3实现实现1s1s的延时设每秒让的延时设每秒让P0.0P0.0所接的发光二极管闪烁一次所接的发光二极管闪烁一次 。TMOD初始化初始化 07H TH0作为定时器,定时时间作为定时器,定时时间250us;初值;初值28250=06HTL0作为计数器,计数作为计数器,计数200次;初值次;初值28200=38H因因250s*200=50ms,那么需引进一个变量,那么需引进一个变量,TL0计数满后该变量加计数满后该变量加1,直至,直至20那么为那么为1s任务任务3 以定时方式控制流水灯以定时方式控制流水灯主函数主函数#includesbit P00=P00;sbit P34=P34;unsigned char count;void delay();main() TMOD=7; TH0=0 x06; TL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 45286-2025信息技术手持式移动设备增强现实系统技术规范
- 2025年莱芜下载货运从业资格证模拟考试系统试题
- 单位空调安装合同范本
- 刑法中劳务合同范本
- 刊物设计制作合同范本
- 写好运输合同范本
- 农户贷款合伙经营合同范本
- 企业重组收购合同范本
- 供热设备买卖合同范本
- 代理银行开户合同范本
- 2025年01月吉林白山市长白朝鲜族自治县事业单位公开招聘工作人员(含专项)和边境村稳边固边工作专干84人(1号)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 课题申报参考:产教融合背景下护理专业技能人才“岗课赛证”融通路径研究
- 2025年四川省阿坝州小金县面向县外考调事业单位人员13人历年高频重点模拟试卷提升(共500题附带答案详解)
- 北京市东城区2024-2025学年高三(上)期末思想政治试卷(含答案)
- 1.2 男生女生 课件 -2024-2025学年统编版道德与法治七年级下册
- 【化学】常见的盐(第2课时)-2024-2025学年九年级化学下册(人教版2024)
- 2025年南通科技职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 真需求-打开商业世界的万能钥匙
- 《矿山隐蔽致灾因素普查规范》解读培训
- 第1课 立足时代 志存高远 (课件+视频)- 【中职专用】高一思想政治《心理健康与职业生涯》(高教版2023·基础模块)
- 19S406建筑排水管道安装-塑料管道
评论
0/150
提交评论