




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、时序/计数器和实验,本发明是时序/计数器的概念MCS51单片机的时序/计数器定时器的动作模式和控制方法教室实验,时序/计数器的概念,计数器的定义:输入时钟的个数能够修正预测的结果的RAM中存储的准确的时钟信号计数器=计时器、MCS51的定时/计数器、MSC51芯片内有2个16位计时器/计数器,即计时器0(T0)和计时器1(T1),它们具有定时和事件计数的功能这里,T0由2个8位特殊功能寄存器TH0和TL0构成,T1由TH1和TL1构成。 每个计时器可以根据软件设置为定时操作模式或计数操作模式以及其他灵活多样的控制功能模式(指计时器的四种操作模式)。 另外,定时动作方式是在计时器使用时,将输入的
2、时钟脉冲或晶体振荡器的输出进行12分频而得到,因此计时器也可以视为修正计算机的机械周期的计数器(由于每个机械周期包含12个振荡周期,因此在每个机械周期中将计时器加1,将输入的时钟脉冲作为机械周期因此,其频率是水晶振动频率的1/12。 如果水晶振动频率为12MHZ,则计时器每次接收一个输入脉冲时的时间为1us。设定为计数动作模式、计数动作模式时,以读取T0(P3.4)和T1(P3.5)对外部脉冲信号进行计数。 单片机采样T0或T1的输入电平,如果之前的机械周期采样为1,而下一个机械周期采样值为0,则计数器加1,因此最高计数频率变成振荡频率的1/24。 为了在某一水平改变之前至少被采样一次,要求水
3、平保持时间在至少一个完整的机器周期内。 总之,计时器T0或T1在不管计时器或计数操作方式如何都对内部时钟或外部事件进行计数时,不占用CPU时间,并且存在暂停CPU的当前操作的可能性,只要没有计时器/计数器的好处即可。 由此可见,计时器是单片机中高效且动作灵活的部件。 中断讲义,中断的概念在程序执行中,自动回应意外的紧急事态的发生。 通常是为了避免查询方式的编程。 使用最多的是外部中断和计时器中断。 外部中断:键程序定时器中断:定时器和循环扫描等应用程序发生中断服务程序中断时,主程序暂停,跳转到中断服务程序,执行完“应答中断”呼叫后,返回主程序中断服务程序不能调用,没有门槛值,不知道程序制作时在
4、程序的哪里发生中断。 在中断讲义、c语言中为了实现中断服务程序而采用特殊的函数,被称为“中断服务函数”,形式是void函数名() interrupt N函数名是任意的,但一般是有意义的函数名,例如int0_srv; n表示中断矢量号码,外部INT0的中断服务函数中断矢量号码为0,外部中断INT1的N=2,计时器T0的N=1,计时器T1的N=3。 定时器的使用方法是什么? 定时器的控制,有关MCS51定时器/计数器的寄存器MCS51定时器/计数器有4个动作模式,其动作模式的选择和控制由2个特殊功能寄存器(TMOD和TCON )的内容决定。 TMOD和TCON寄存器在复位时各位被清零。 计时器的方
5、式寄存器TMOD特殊功能寄存器TMOD是计时器的方式控制寄存器,寄存器中的各位的定义由图表示。 上位4位用于计时器1,下位4位用于计时器0。 定时器的方式寄存器TMOD M1 M0 :定时器/计数器的4个动作方式选择、定时器的方式寄存器TMOD C/T:定时器方式或计数器方式选择位。 C/T=1时,为计数器方式。 C/T=0时,采用定时方式。 GATE定时器/计数器运行控制位用于判断对应的外部中断请求针(INT0,INT1)是否参与T0或T1的动作控制。在GATE=0时,如果计时器控制寄存器TCON中的TR0(或TR1)被设置为- 1,则允许T0(或T1)开始计数(稍后将描述TCON的各个位的
6、含义)。 GATE=1时,不仅TCON中的TR0和TR1组,还必须在P3端口的P3.2和P3.3端子变为高电平后才允许计数。 定时器控制寄存器TCON TR0:T0的运行控制位。 此位置1或清零用于实现启动计数或停止计数。 TF0:T0的溢出中断标志位。 T0计数溢出时硬件自动设定为1的CPU中断处理时,硬件清零。 TR1:T1的运行控制位的功能与TR0相同。 TF1:T1的溢出中断标志位与TF0发挥作用。 模式1及应用程序、MCS51定时器动作模式M1:M0设定为01时,定时器被选择为模式1动作。 在该方式中,从TH0和TL0构成16位计数器。 当GATE=0时,如果TCON中的TR0为1,
7、则由TL0和TH0组成的16位计数器开始计数。 GATE=1时,此时只有TR0=1无法计数,P3.2管脚不是1则无法使计数器动作。 当GATE=1和TR0=1时,TH0 TL0是否计数取决于P3.2管脚的信号,并且当P3.2从0变为1时开始计数。 P3.2从1变为0时停止计数,可用于测量P3.2端出现的脉冲宽度。 从16位计数器为0或设定的初始值开始,将1加上全部“1”,再加上1,将发生溢出。 此时,TCON的TF0位被设置为1,计数器被设置为全“0”,并且MCS51计时器使用步骤(在方法1中操作)来初始化TMOD,以设置操作模式。 根据时间间隔,修正TH0和TL0的数值进行初始化。 公式如下
8、。 此处,当FOSC使用晶体振荡频率(单位:Hz )的计时器,并且t使用时序间隔(单位:S )的中断系统时,需要设置中断使能控制寄存器(IE )的ET0或ET1并且开启全局中断(EA=1)。 也请写下中断服务函数。 设定TR0或TR1,启动计时器。 时间间隔修正算式的导出过程修正算出时钟周期: MCS51的计时器的时钟源为CPU的动作时钟,因此时钟周期t。 例如,在水晶振动频率是24MHz的情况下,t=0.5*10-6S校正在定时间隔内经历的时钟周期的数目n。 例如,如果期望的定时间隔是10mS,则N=20000。 修正TH0:TL0的初始值。 T=10mS,FOSC=24MHz,结果为455
9、35,模式0与应用,该模式结构和动作与模式0基本相同,唯一的区别在于16位寄存器(TH0和TL0)仅有13位。 其中TL0的前3位未使用,其侑位是13位全体的后5位,TH0占前8位。 当存在TL0的下位5位溢出时,前进到TH0的TH0存在溢出时,前进到中断标志TF0来申请中断。 模式0的最大定时时间:模式1的最大定时时间:模式实例程序、void init_tc0(void)/24MHz时定时10mS TMOD |=0 x01; 定时器模式TH0=(65535 - 20000) 8; /初始值高的8位TL0=(65535 - 20000) /条件始终为真,死周期、蜂鸣器实验一中断方式使用计时器,
10、实验内容:使用计时器T0计时器,每隔1S鸣响一次蜂鸣器,每隔一秒鸣响一次。 蜂鸣器实验一中断方式使用计时器,蜂鸣器实验一中断方式使用计时器,蜂鸣器实验一中断方式使用计时器,OUT3为了驱动蜂鸣器,锁存器U22的使能端子变为高电平,CS4和WR同时变为低电平,因此在P2和P3端子void init_tc0(void)/24MHz时间定时10mS TMOD |=0 x01。 定时器模式TH0=(65535 - 20000) 8; /初始值高的8位TL0=(65535 - 20000) /启动计时器、蜂鸣器实验一中断方式计时器、void tc0_srv(void) interrupt 1/计时器0中
11、断服务程序th0=/复位初始值高的8位TL0=(65535 - 20000) /条件始终为真,死周期、蜂鸣器实验中断的方式为计时器、流水灯实验2、实验内容:每隔1S点亮8个发光二极管。关闭蜂鸣器的程序代码: P3,代码管实验的3定时中断方式是扫描代码管,8段的代码管由8段的LED构成,各LED阴极或阳极并排,称为“位选择线”:共阴、共阳、其侗点击各段好,段码表就可以点亮与所需字形对应的各段,显示对应的数字。 一般将与数字对应的段列表作为数组的形式称为段代码表。 数字管实验的3个定时中断方式是扫描数字管,多位一体型的数字管将多个8段数字管的段选择线分别合为一个,引出位选择线。 静态显示和扫描显示
12、、静态显示共阳代码管:通用终端连接Vcc、单片机的一个8位io (以p0为例)与段选择线连接,p0只要输出相应段代码的反转代码就可以将对应的数字共阴电线管:公共端接地,用单片机的8位io (以p2为例)连接段选择线,p2输出对应的段电线后,显示对应的数字。 MCS51的IO端口通电能力较弱,不推荐使用此连接方法。 扫描显示是多位数字管的共阴/共阳数字管的公共端也由IO端口控制,各位依次显示,利用人眼的视觉暂时效果,使所有的位一起显得明亮。 位选择线的电流可能增大(例如,8位数字管同时点亮,相当于64个LED同时发光的电流),一般由晶体管或数字芯片驱动。 学习板上的数字管理扫描显示电路、数字管理
13、实验3定时中断方式扫描数字管理、数字管理实验3定时中断方式扫描数字管理、动态扫描程序代码、for(com=0 com 8; com )/位选择计数P2=0 x00; P3/消隐、防重影、动态扫描:使8根代码管分别显示0、1、2、3、4、5、6、7 :使8根代码管同时从0到7显示,时间间隔为1S。 数字管实验3定时中断方式扫描数字管、模式2及应用、模式TL0(或TL1)配置在能够自动重装的8位计时器/计数器中。 在TL0计数溢出的情况下,不仅将溢出中断标志TF0设为1,还将TH0的内容自动重新加载到TL0中。 在此,TL0用作8位计数器,并且TH0用于维持初始值。 程序初始化时,TL0和TH0由
14、软件赋予相同的初始值。 当TL0计数溢出时,设置TF0,将TH0的初始值自动加载到TL0,继续计数并重复循环。 模式2以及应用程序、定时动作模式用时,其时序时间为计数动作模式用时,最大计数长度为256 (外部脉冲)。 此操作模式允许用户软件省略重载常量的语句,从而生成相当准确的计时时间。 模式2程序示例: void init_tc0(void)/24MHz时序0.1mS TMOD |=0 x02; /定时器模式TH0=56; /初始值高位8比特TL0=56; /初始值低的8位EA=1; /打开全局中断ET0=1。 /开定时中断TR0=1; 启动计时器void TC0_ SRV (void )中断1/计时器0中断服务程序void主(void ) init _ TC0(); while(1); /条件总是真的、死周期、模式3以及应用,当T0被设置为模式3时,TL0和TH0被分成两个相互独立的8位计数器。 TL0使用原始T0的每个控制位、读取和中断源C/T、门、TR0、TF0和T0。 TL0除了仅使用8位寄存器以外,执行与模式0、模式1完全相同的功能和动作。 TH0只能作为简单的内部修正时使用,不能作为外部修正数。 占有T1的控制比特TR1和中断标志比特TF1。 没有T1动作模式3,但可以设定为模式02。 如果将T0用于模式3,则T1的TR1和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生知党史感党恩课件
- 临海小学招生管理办法
- 会议同意通过管理办法
- 人员核酸台账管理办法
- 云南电梯安全管理办法
- 小学生省略号课件
- 会员礼品管理办法细则
- 云南学校管理办法细则
- 企业资金流动管理办法
- 互助担保贷款管理办法
- 偏执性精神障碍
- 中医跟师总结论文3000字(通用3篇)
- 附件1:上海市新增医疗服务项目价格申请受理表
- 2022年陕西二级造价工程师造价管理考试真题及答案
- 《服务设计》课程教学大纲
- 消防维保方案(消防维保服务)(技术标)
- 阿勒泰布尔津县高校毕业生“三支一扶”计划招募考试题库
- 少儿硬笔书法启蒙教学30讲PPT课件配套教案
- 岩棉施工方案改
- 钢筋配筋全套表格
- GB/T 1688-1986硫化橡胶伸张疲劳的测定
评论
0/150
提交评论