- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
05.项目五 定时-计数器综合应用
陳慶逸、林柏辰編著---文魁資訊 ARM嵌入式系统 工作模块12 生产线自动打包系统 如图所示,在一个工业生产线上,零件通过一个装有光电传感器的传输带传送,每当零件通过传感器时,传感器向单片机发出一 个脉冲信号, 每通过100个 零件,单片机 发出控制信号, 生产线自动将 100个零件打 包。 生产线自动打包控制电路 用LED模拟打包机; 用按钮模拟零件通过一个装有光电传感器的传输带传送,产生一个脉冲信号,向单片机发出一个计数脉冲信号。 生产线自动打包控制程序 利用T0的方式2、计数功能,每计满100个外部脉冲,从P1.0输出一个低电平脉冲信号(宽度约为0.1ms)。 生产线自动打包系统程序 定时/计数器结构 内设2个16位可编程定时/计数器T0,T1 具有计数方式和定时方式 4种工作模式 定时器/计数器的原理 16位的定时器/计数器实质上是一个加1计数器,可实现定时和计数两种功能,其功能由软件控制和切换。 在定时器/计数器开始工作之前,CPU必须将一些命令(称为控制字)写入定时器/计数器(即初始化)。 初始化 工作方式控制字写入定时器方式寄存器(TMOD); 工作状态控制字(或相关位)写入定时器控制寄存器(TCON); 赋定时/计数初值给TH0(TH1)和TL0(TL1)。 定时功能 每过一个机器周期,计数器加1,直至计满溢出,即对机器周期进行计数。 定时器的定时时间与系统的时钟频率有关。因一个机器周期等于12个时钟周期,所以计数频率应为系统时钟频率的十二分之一(即机器周期)。 如晶振频率为12MHz,则机器周期为1?s。 通过改变定时器的定时初值,并适当选择定时器的长度(8位、13位或16位),可以调整定时时间。 计数功能 通过外部计数输入引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,外部脉冲信号的下降沿触发计数。 计数器在每个机器周期的S5P2期间采样引脚输入电平,若一个机器周期S5P2期间采样值为1,下一个机器周期S5P2期间采样值为0,则计数器加1,再下一个机器周期S3P1期间,新的计数值装入计数器。 检测一个由1至0的跳变需要两个机器周期,外部信号的最高计数频率为时钟频率的二十四分之一。若晶振频率为12MHz,则最高计数频率为0.5MHz。 为了确保给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期以上。 定时器/计数器的应用 定时与延时控制方面 产生定时中断信号,以设计出各种不同频率的信号源; 产生定时扫描信号,对键盘进行扫描以获得控制信号,对显示器进行扫描以不间断地显示数据。 测量外部脉冲方面 对外部脉冲信号进行计数可测量脉冲信号的宽度、周期,也可实现自动计数。 监控系统工作方面 对系统进行定时扫描,当系统工作异常时,使系统自动复位,重新启动以恢复正常工作。 定时器方式寄存器TMOD TMOD的作用是设置T0、T1的工作方式。 TMOD的格式: GATE:门控位。 GATE=0:软件启动定时器 用指令使TCON中的TR1(TR0)置1即可启动定时器1(定时器0)。 GATE=1:软件和硬件共同启动定时器 用指令使TCON中的TR1(TR0)置1时,只有外部中断INT0(INT1)引脚输入高电平时,才能启动定时器1(定时器0)。 定时器方式寄存器TMOD C/T:功能选择位。 C/T=0时,以定时器方式工作。 C/T=1时,以计数器方式工作。 M1、M0:方式选择位。 定时器工作方式选择位定义 定时器控制寄存器TCON TCON的作用是控制定时器的启动与停止,并保存T0、T1的溢出和中断标志。 TCON的格式: TF1(TCON.7):定时器1溢出标志位。 当定时器1计满溢出时,由硬件自动使TF1置1,并申请中断。对该标志位有两种处理方法: 以中断方式工作,即TF1置1并申请中断,响应中断后,执行中断服务程序,并由硬件自动使TF1清0; 以查询方式工作,即通过查询该位是否为1来判断是否溢出,TF1置1后必须用软件使TF1清0。 定时器控制寄存器TCON TR1(TCON.6):定时器1启停控制位。 GATE=0时,用软件使TR1置1即启动定时器1,若用软件使TR1清0则停止定时器1。 GATE=1时,用软件使TR1置1的同时外部中断INT1的引脚输入高电平才能启动定时器1。 TF0(TCON.5):定时器0溢出标志位。 其功能同TF1。 TR0(TCON.4):定时器0启停控制
文档评论(0)