基于汇编与C语言的单片机原理及应用第6章(第1稿).ppt_第1页
基于汇编与C语言的单片机原理及应用第6章(第1稿).ppt_第2页
基于汇编与C语言的单片机原理及应用第6章(第1稿).ppt_第3页
基于汇编与C语言的单片机原理及应用第6章(第1稿).ppt_第4页
基于汇编与C语言的单片机原理及应用第6章(第1稿).ppt_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章MCS-51系列微控制器内部功能模块和应用程序;MCS-51系列微控制器通用产品的内部功能模块包括P0、Pl、P2、P3四个双向8位并行端口、T0、T1两个16位定时/柜台(52子系列包括第三个定时/柜台T2)MCS、6.1 MCS-51微控制器内部的并行端口、MCS-51系列微控制器中称为P0、Pl、P2和P3的并行介面,每个接口主要由四部分组成:数据锁定内存、输入缓冲区、输出驱动器和介面针脚。每个I/o可以在输入或输出时缓冲数据。这四个接口不具有完全相同的功能,内部结构也略有不同,但在I/O工作方式中特性几乎完全相同。图(a)(d)分别提供了P0、P1、P2和P3端口的L位的结构框。

2、P0、P1、P2、P3端口的L位结构框,第2章详细介绍了MCS-51微控制器并行I/o端口,并提高了对并行介面应用程序示例并行介面使用的理解。示例6-1对于示例6-1电路图,微控制器P1.4P1.7有4个发光二极管,P1.0P1.3有4个交换机,每个键一次中断,发光二极管显示开关状态。图6-1示例6-1中的电路图应相应的发光二极管亮或关。读取P1端口的内容,通过高、低4位交换通过P1端口输出即可。汇编语言参考过程是org 0000h ljmp start org 0003h ljmp ext 0 org 0030h start 3360 setb ea。打开中断主交换机setbex0。Setb

3、 it0中断允许下降生成中断MOV P1,# 0fh。将P1通信端口行4位设置为输入状态sjmp $ org0100h ext03360mov a、P1 SWAP A MOV P1、A RETI、C语言参考节目:#include INT0 () interrupt 0 /*中断函数/*读取交换机状态,然后向左移动4位,使交换机反映在发光二极管*/main() EA=1中。/*打开中断主开关*/EX0=1;/*允许中断*/IT0=1;/*下降边缘创建中断*/while(1);/*备用中断*/,6.2 MCS-51微控制器内部的计时器/柜台,通常有三种实现计时/计数的茄子主要方法。(1)软件计时:

4、软件计时不占用硬件资源,但会消耗CPU时间,从而降低CPU利用率。(2)基于时间的电路硬件计时:由小型集成电路设备组成的硬件计时电路,电路简单,但是要更改计时范围,电阻和电容,修改不便,即无法编程。(3)可编程定时/柜台定时:为方便电脑系统的设计和应用而开发的芯片,采用硬件定时,通过软件、初始化编程,可以轻松识别和修改定时值。满足各种计时和计数要求,广泛应用于微控制器、嵌入式系统设计和应用。6.2.1定时/柜台实现方法,微控制器内部的定时/计数器也属于上述第三可编程定时/柜台实现时序。但是,牙齿可编程定时/计数器的硬件模块集成在微控制器内部。6.2.2 MCS-51微控制器内部的计时/柜台,计

5、时/计数器是MCS-51系列微控制器中的重要组件,操作方式灵活,编程简单,大大减轻CPU的负担,简化周边电路任务。在MCS-51系列微控制器中,除了51子系列微控制器中的两个计时/柜台T0和T1,52子系列微控制器(上述两个计时/柜台)外,还有比以前两个更好的计时/柜台T2。图6-2是MCS-51系列微控制器内部定时/柜台结构框。图6-2 MCS-51系列微控制器内部定时/柜台结构框,定时/计数器主要由特殊功能寄存器TH0、TL0、TH1、TL1和TMOD、TCON组成。定时/计数器的本质是添加由高8位和低8位寄存器两个组成的1柜台(16位)。其中TH0(高8位),TL0(低8位)配置16位1

6、柜台T0以存储T0的初始值。TH1(高8位),TL1(低8位)配置116位柜台T1,存储T1的计数初始值两个16位柜台都是16位加1计数器。TMOD用于控制两个计时/计数器的工作方式。TCON用作中断溢出标志,并控制计时器的启动和停止。柜台输入计数脉冲加1有两个茄子源。(1)系统的时钟振荡器输出脉冲通过12分频发送。(2) T0或T1针输入的外部脉冲源。在每个脉冲计数器加1,计数器为1时再输入一个脉冲,计数器将返回0,由于计数器的溢出,将TCON设置为TF0或TF1牙齿1,并将中断请求发送到CPU(允许定时/柜台中断)。如果计时/计数器在计时模式下工作,则计时时间已到达。如果操作处于计数模式,

7、则计数值已满。因此,在溢出时,柜台值减去计数初始值是加1计数器的计数值。1)如果定时/计数器设置为计时器模式,则加1计数器计算内部机器周期数(1机器周期是12个振动周期,即系数频率是确定频率的1/12)。计数值N乘以机器周期Tcy,即计时T。2)定时/计数器设置为柜台模式时,外部事件计数脉冲从T0或T1针输入到计数器。在每个机器循环中取样T0或T1接脚层级。如果一个周期采样到高水平输入,下一个周期采样到低水平,计数器加1,更新的计数值在下一个机器周期中加载计数器。采样平面必须至少保持一个机器周期,因为检测从1到0的下降需要两个机器周期。如果晶振频率为12MHz,则最大计数频率不会超过1/2MH

8、z。也就是说,脉冲计算周期大于2 s。6.2.2.1计时器/柜台控制寄存器、微控制器计时/柜台T0、T1操作主要由TMOD、TCON、IE 3茄子特殊功能寄存器控制。其中TMOD用于设置每个计时/计数器的工作方式,以及选择计时或计数功能。TCON用于控制启动运行和运行状态的标志等。IE用于允许定时/柜台中断控制。1工作方式控制寄存器TMOD,TMOD寄存器用于设置定时/柜台工作方式的特殊功能寄存器,低4位用于T0控制,高4位用于T1控制。字节地址为89H,不能按位寻址。设置TMOD需要字节操作说明。重置时TMOD为00H。它的定义是图6-3,图6-3 TMOD各位定义,(1)M1,M0:工作方

9、式选择位,表6-1计时/柜台选择方法,M1,M0用于选择工作方式,对应关系见表6-1。(3)GATE:门控制,2计时器控制寄存器TCON,图6-4 TCON定义,(1)TF0和TF1:计数溢出标志位柜台计数溢出(全部)时位置1。使用祖怀方法时,牙齿位是查询的状态,但要注意查询有效后,应用软件方法及时清除0。使用中断方法时,牙齿位在切换到中断标志位中断服务程序时,将自动成为硬件0牙齿。(2)TR0和R1:计时器执行控制位TR0(TR1)=0,计时/柜台停止运行TR0(TR1)=1,启动计时/柜台操作。牙齿位根据需要放置软件1或0,以控制计时器的启动或停止。3中断允许控制寄存器IE,IE寄存器计时

10、/柜台相关位为ET0和ET1,分别是计时/柜台0,1的中断允许控制位。ET0(或ET1)=0时允许定时/柜台0(或1)中断禁止ET0(或ET1)=1时允许定时/柜台0(或1)中断、6.2.2.2计时器/柜台的工作方式、1方法0,13位计数结构的工作方式TL0的低5位溢出四舍五入到TH0,TH0溢出时放置TCON的TF0标志,向CPU发送中断请求。图6-5工作方式0的逻辑电路结构,图6-6工作方式0的工作原理框,方法0是13位计时/计数方式,因此最大计划值(总值)为M=213=8192。如果计数值为N,则放置的初始值X为X=8192-N。例如,如果计时/柜台T0的计数值为1000,则初始值为71

11、92,二进制数转换为1110000011000B,则th0=1110000b=计时/柜台T0,T1都可以设置工作方式1,T0(或T1)的计数器,th0(或T1)逻辑电路和工作方式与0基本相同。区别是构成计数器的位数,其计数范围比工作方法0更大,因此在实际应用中可以替代工作方法1牙齿工作方法0。图6-7、图6-8分别是工作方式0的逻辑电路结构、工作原理框图。图6-7工作方式L的逻辑电路结构,图6-8工作方式1的工作原理框,由于是16位定时/计数方式,因此最大计划值(总值)为M=216=65536。如果计数值为N,则放置的初始值X为X=65536-N。例如,如果定时/柜台T0的计数值为1000,则

12、初始值为65536-1000=64536,二进制值转换为11110000011000B,方法3 2,自动重新安装初始值的8位计数结构的工作方式,定时/柜台T0,T1都可以设置工作方法2方法2中,16位计数器分为两部分。也就是说,在初始化时,以TL0(或TL1)作为计数器,以TH0(或TH1)作为字典设置寄存器(即存储计数初始值),将8位计数初始值分别包装为TL0(或TL1)和TH0()。TL0(或TL1)数溢出后,与前两个茄子的工作方式一样,不是通过软件方法,而是通过预设寄存器TH0(或TH1)牙齿硬件方法自动重新加载到柜台TL0(或TL1)中。图6-9、图6-10分别是工作方式2的逻辑电路结

13、构、工作原理框图。图6-9工作方式2的逻辑电路结构,图6-10工作方式2的工作原理框,因为是8位定时/计数方式,所以最大计划值(总值)为M=28=256。如果计数值为N,则放置的初始值X为X=256-N。例如,定时/柜台T0的计数值为100,初始值为256-100=156,如果转换为二进制数10011100B,则th0=tl0注意:方法2满后,溢出信号将触发三态语句,从而将th0(或TH1)值转换为tl0(或TL1),4工作方式3,工作方式3仅适用于计时器T0。如果尝试将计时器T1设置为方法3,则停止计数,效果与设置TR1=0相同。也就是说,关闭计时器T1。在T0牙齿方法3中工作时,它被分为两

14、个单独的8位柜台TL0和TH0。图6-11、图6-12分别是工作方式3的逻辑电路结构、工作原理框图。图6-11工作方式3的逻辑电路结构,图6-12工作方式3的工作原理框,TL0可以同时用作计时器和计数器,但TH0只能用作计时器,不能用作计数器,因此在工作方式3中,定时/柜台0可以配置两个计时器或计时器和计数器。注意:方法3中T0和T1的操作差异很大。区别如下:1)将T1放置在方法3中与设置TR1=0具有相同的效果。也就是说,关闭计时器T1。在牙齿时,计时器T1保持内容不变。因此,通常不将T1放置在方法3中。2)将T0放在方法3中,将16位计数器分解为两个独立操作的8位柜台TL0和TH0。但是这

15、两个8位计数器的操作不同。第一,它们的工作方式不同。对于TL0,可以按计算或按时间运行。TH0可以按时运行。控制方法也不同。3)在T0牙齿方法3的情况下,T1作为方法0、1、2工作,但T1不控制阻止TR1和溢出中断TF1的能力,因此T1可以仅作为串行端口的波特率发生器使用,也可以在没有中断的情况下使用。6.2.2.3计时器/计数器的初始值计算,MCS-51的计时器/计数器使用增量计数。根据计时/柜台数结构,最大数量为2m。其中m是柜台位数,工作方式0,m=13的最大数目为213=8192。对于工作方法1,m=16,最大数量为216=65536;对于工作方法2和工作方法3,m=8,最大数量为28

16、=256。在实际应用程序中,计数数字要求通常小于2米。例如,当请求数达到1000时,生成溢出(例如,直到1000)。在牙齿情况下,计数时可以从固定值开始,而不是从0开始。取决于牙齿固定值的大小(计数的大小)。要数1000,将预先放入计数器的数量(2m 1000)和1000脉冲相加,牙齿2米时,生成溢出、位置TF0牙齿。牙齿(2m 1000)的数量称为初始计数值,也称为字典设置值。时机也有同样的问题,可以用同样的方法解决。如果定时/计数器的工作方式为0,微控制器晶振为12MHz,则每个定时脉冲为1s,213=8192个脉冲需要8.192ms。只需1毫秒的计时,就可以处理1毫秒,即仅1000小时的l000s。因此,在开始计数之前,在计数器中预先插入2131000=81921000=7192,开始计数后,将1000个脉冲填满8192,则溢出。计数初始值为x时,计算计时时间t为t=(2NX)Tcy=(2NX)12/fosc格式:Tcy为机器周期,fosc为确定周

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论