单片机第四次课(8课时)课件

上传人:我*** 文档编号:145232020 上传时间:2020-09-17 格式:PPT 页数:52 大小:756.50KB
返回 下载 相关 举报
单片机第四次课(8课时)课件_第1页
第1页 / 共52页
单片机第四次课(8课时)课件_第2页
第2页 / 共52页
单片机第四次课(8课时)课件_第3页
第3页 / 共52页
单片机第四次课(8课时)课件_第4页
第4页 / 共52页
单片机第四次课(8课时)课件_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《单片机第四次课(8课时)课件》由会员分享,可在线阅读,更多相关《单片机第四次课(8课时)课件(52页珍藏版)》请在金锄头文库上搜索。

1、第四次课,8课时 11月27日8.30-12.0,11月28日8.30-12.0,交通灯控制系统,项目六 定时/计数应用系统设计,本项目学习目标: (1)制作一个单片机控制的LED定时电路。 (2) 掌握定时/计数的处理过程和使用方法; (5) 掌握定时/计数的程序设计方法;,计数概念的引入,1.从选票的统计谈起:画“正”。这就是计数,生活中计数的例子处处可见。例:录音机上的计数器、家里面用的电度表、汽车上的里程表等等,再举一个工业生产中的例子,线缆行业在电线生产出来之后要计米,也就是测量长度,怎么测法呢?用尺量?不现实,太长不说,要一边做一边量呢,怎么办呢?行业中有很巧妙的方法,用一个周长是

2、1米的轮子,将电缆绕在上面一周,由线带轮转,这样轮转一周不就是线长1米嘛,所以只要记下轮转了多少圈,就可以知道走过的线有多长了。,2、计数器的容量 从一个生活中的例子看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴不断落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。录音机上的计数器最多只计到999.那么单片机中的计数器有多大的容量呢?51单片机中有两个计数器,分别称之为T0和T1,这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。,3、定时 8031中的计数器除了可以作为计数之用外,还可以用作时钟,时钟的用途当然很大

3、,如打铃器,电视机定时关机,空调定时开关等等,那么计数器是如何作为定时器来用的呢? 一个闹钟,我将它定时在1个小时后闹响,换言之,也可以说是秒针走了(3600)次,所以时间就转化为秒针走的次数的,也就是计数的次数了,可见,计数的次数和时间之间的确十分相关。那么它们的关系是什么呢?那就是秒针每一次走动的时间正好是1秒。,结论:只要计数脉冲的间隔相等,则计数值就代表了时间的流逝。由此,单片机中的定时器和计数器是一个东西,只不过计数器是记录的外界发生的事情,而定时器则是由单片机提供一个非常稳定的计数源。那么提供组定时器的是计数源是什么呢?看图1,原来就是由单片机的晶振经过12分频后获得的一个脉冲源。

4、晶振的频率当然很准,所以这个计数脉冲的时间间隔也很准。问题:一个12M的晶振,它提供给计数器的脉冲时间间隔是多少呢?当然这很容易,就是12M/12等于1M,也就是1个微秒。结论:计数脉冲的间隔与晶振有关,12M的晶振,计数脉冲的间隔是1微秒。,4、溢出,让我们再来看水滴的例子,当水不断落下,盆中的水不断变满,最终有一滴水使得盆中的水满了。这时如果再有一滴水落下,就会发生什么现象?水会漫出来,用个术语来讲就是“溢出”。,水溢出是流到地上,而计数器溢出后将使得TF0变为“1”。至于TF0是什么我们稍后再谈。一旦TF0由0变成1,就是产生了变化,产生了变化就会引发事件,就象定时的时间一到,闹钟就会响

5、一样。至于会引发什么事件,我们下次课再介绍,现在我们来研究另一个问题:要有多少个计数脉冲才会使TF0由0变为1。,5、任意定时及计数的方法 刚才已研究过,计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。这个没有问题,问题是我们现实生活中,经常会有少于65536个计数值的要求,如包装线上,一打为12瓶,一瓶药片为100粒,怎么样来满足这个要求呢? 提示:如果是一个空的盆要1万滴水滴进去才会满,我在开始滴水之前就先放入一勺水,还需要10000滴嘛?对了,我们采用预置数的方法,我要计100,那我就先放进65436,再来100个脉冲,不就到了65536了吗。定

6、时也是如此,每个脉冲是1微秒,则计满65536个脉冲需时65.536毫秒,但现在我只要10毫秒就可以了,怎么办?10个毫秒为10000个微秒,所以,只要在计数器里面放进55536就可以了。,一定时/计数器的应用 1计数功能: 生产线上产品计数。每个产品通过得到一个脉冲信号,计数器记录脉冲个数,当计数值与设定值相等,启动包装机器。 检测转速。电机转动一圈发出一个脉冲,计数器记录一秒时间内脉冲个数,显示转速。,2定时功能:用于实时控制,定时采样、定时启动等。当定时时间与设定值相等,执行规定操作。,3、80C51的定时/计数器,实现定时功能,比较方便的办法是利用单片机内部的定时/计数器。也可以采用下

7、面方法:,软件定时:软件定时不占用硬件资源,但占用了CPU时间,降低了CPU的利用率。,二、定时/计数器的结构和工作原理,1、定时/计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。,2、加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向C

8、PU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。 可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。,设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t 。,三、单片机工作的基本时序,机器周期和指令周期 (1) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期, (2) 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 (3) 机器周期: 一个

9、机器周期包含 6 个状态周期S1S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。 (4) 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。,四、定时/计数器的控制,80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。 (一)工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:,TMOD 89H,4、定时/计数器的工作方式,M1M0 工作模式选择位(编程可决定四种工作模

10、式) 0 0 13位定时/计数器 模式0 0 1 16位定时/计数器 模式1 0 8 位定时/计数器(自动重装初值) 模式2 1 1 T0 8位定时/计数 模式3 1 1 T1 停止工作 模式3,模式1,定时器模式时有:Nt/ Tcy 机器周期Tcy,定时时间t 。 计数值N,计数个数与计数初值的关系为:,五、控制寄存器TCON TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:,TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询

11、TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。 TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。 TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。 TR0(TCON.4):T0运行控制位,其功能与TR1类同。,六、定时/计数器应用 初始化程序应完成如下工作: 对TMOD赋值,以确定T0和T1的工作方式。 计算初值,并将其写入TH0、TL0或TH1、TL1。 中断方式时,则对IE赋值,开放中断。 使TR

12、0或TR1置位,启动定时/计数器定时或计数。,任务一 定时50MS,一、内容: P1口所接的LED亮50MS,灭50MS。 二、任务分析 利用定时计数器0,模式一,定时的方式,三、实施 1、计算计数初值 根据公式,X=65536-50000 =15536 =3CB0 TH0=0X3C; TL0=0XB0;,任务二 交通灯控制系统,项目六 定时/计数应用系统设计,用单片机来控制十字路口的交通,在紧急状况下能让特殊车辆优先通行。正常情况下,东西路口和南北路口交替通行,有特殊车辆需通行时,通过中断程序使东西路口和南北路口均禁止通行,保证特殊车辆的优先通行。,单片机原理与应用,电路中采用P1口控制信号

13、灯的亮与灭,某位输出为“1”时,对应的信号灯灭,为“0”时,对应的信号灯就亮。由图可知,P1.0控制东西方向的红灯,P1.1控制东两方向的黄灯,P1.2控制东西方向的绿灯。南北方向的三个灯分别用P1.3、P1.4和P1.5控制。 在正常情况下用主程序来控制,在特殊情况下用中断程序来控制,这里用到了INT0外部中断0。正常情况下,INT0通过R1与电源连接,外部中断0的输入端为高电平,当按钮按下时,INT0与地接通,为低电平,由硬件引起中断,软件进入中断服务程序。,主函数流程框图,硬件电路,单片机原理与应用,主函数(正常状态),中断函数(特殊状态),延时函数(10s、1s),程序设计,单片机原理

14、与应用,/-延时子程序- void delay(uint k) uint i,j; for(i=0;i1000;i+) for(j=0;jk;j+); ,单片机原理与应用,/-外部中断0响应程序-,单片机原理与应用,单片机原理与应用,单片机原理与应用,单片机原理与应用,运行结果,图74 东西路口通行,单片机原理与应用,图75 南北路口通行,单片机原理与应用,图76 特殊车辆通行(中断),单片机原理与应用,项目二 中断应用系统设计,任务四 彩灯控制系统,任务描述 利用单片机中断技术,实现按动按键,使彩灯在三种闪亮方式之间切换。,为了使用单片机的外部中断来检测按键,因而将按连接在外部中断所对应的引

15、脚上,单片机的外部中断可以由引脚上的低电平或下降沿引起中断,所以将按键的另一端连接到地线上,同时将单片机的外部中断引脚置为高电平。彩灯电路由单片机端口P2连接到8只LED构成。,任务分析,由于中断函数与主程序之间的运行,相当于两个程序并行运行,将一个任务分为两个部分处理的具体分解方法有多种,所以用中断函数去控制彩灯的显示。,彩灯控制系统流程图,NO,Y,中断函数流程图,在主程序中,设置了一个判断的标志变量flag,当没有中断发生时,标志flag的值没有被改变,程序保持运行使彩灯按其中某一种花样闪亮显示。如果按下键后,使单片机产生中断,中断函数被调用,标志flag的值将发生一次改变(这里的中断函数就是修改flag的值),在退出中断后,主程序再次执行到判断标志flag时,由于标志flag的值已是新的值,所以将执行另一彩灯控制子程序,彩灯将按另一种花样进行显示。,硬件设计,软件设计,主函数,左移函数,右移函数,花样函数,去抖延时函数,点亮时间延时函数,中断子函数,中断子函数,#include reg51.h #define uchar unsigned char,uchar flag;,uchar light,assum;,部分源程序,void main( ),请参考项目一,编写彩灯左移、右移、花样点亮函数,并补充主函数,完成程序设计。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号