




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2012年8月3日星期五MCS-51单片机定时/计数器及应用基于Proteus仿真前言:本文对MCS-51单片机的定时/计数器进行了简明扼要的总结和归纳,并在后面举了三个简单的例子,这样有助于更好地理解与掌握。1、 MCS-51单片机有T0和T1两个16位可编程定时/计数器。其中T0由两个特殊功能寄存器TH0和TL0组成,T1由两个特殊功能寄存器TH1和TL1组成。受MCS-51单片机内部工作机制的限制,最高的外部计数脉冲的频率不能超过时钟频率的1/24,并且要求外部脉冲的高电平和低电平的持续时间不能小于一个机器周期。单片机中的定时/计数器不管是用于定时还是计数,本质上都是通过对脉冲的计数实现的,只不过定时功能是对内部固定频率的脉冲信号进行计数,而计数功能是对来自单片机外部引脚T0或T1上的脉冲信号进行计数。定时/计数器的控制主要是通过两个特殊功能寄存器TCON和TMOD实现的。2、 定时/计数器T0,T1控制寄存器TCON:中断请求标志都是当CPU检测到有相应中断发生后,由硬件将相应的标志置1,当CPU响应该中断转向相应的中断处理程序时,由硬件自动将相应的标志位清0.系统复位时,TCON每一位都清零。在查询方式时,TF0,TF1可以由程序查询和清“0”。IT0/ IT1: 外部中断0/1的触发类型控制位,IT0/IT1=1表示下降沿触发,IT0/IT1=0表示低电平触发,可以由软件来设置或清除。IE0/ IE1:外部中断0/1的中断请求标志位,当检测到INT0/INT1引脚上出现外部中断信号的下降沿时,由硬件置位,申请中断。进入中断服务程序后被硬件自动清除。TR0/ TR1:T0/T1运行控制位,靠软件置位或清零,置位时T0/T1开始工作,清零时停止工作。TF0/TF1:T0/T1中断请求标志位,当T0/T1计数溢出归零时,由内部硬件置1,当CPU响应中断并进入中断服务程序后,TF0/TF1自动清零。3、 定时/计数器工作方式寄存器TMOD:TMOD用于确定定时/计数器的工作方式及功能,其中高四位用于控制T1,低四位用于控制T0,4、 工作方式0及应用当TMOD中的M1M0=00时,定时/计数器工作在方式0,构成13位的定时/计数器,它由THi的8位和TLi的低5位组成。当TLi的低5位溢出时,向THi进位。THi溢出时,向中断溢出标志Tfi进位,并申请中断。当C/T =0,工作在定时方式时,定时时间t=(213-t初值)(1/fOSC)12式中:t为定时时间,fOSC 振荡器频率,即系统时钟频率。当fOSC =12MHZ时,方式0最长定时时间为tmax=(213-0)(1/12)12=8192us=8.192ms.定时初值t初值=213-tfOSC /12例:若已知fOSC =12MHZ,要求定时1ms分析:定时初值t初值 = 213-tfOSC /12 = 213-10-3(12106 )/12 = 7192 =1110 0000 11000B所以定时初值TH0=(213-1000)/32;TL0=(213-1000)%32.当C/T =1,工作在计数方式时,计数脉冲个数为N = 213-t初值最大计数脉冲个数为Nmax = 213-0 = 8192同样,如果要改变计数值,可以通过向定时/计数器预先装入初值实现。5、 工作方式1及应用当TMOD中的M1M0=01时,定时/计数器工作在方式1,构成16位的定时/计数器,它由THi的8位和TLi的8位组成。用作定时器时,定时时间t=(216-t初值)(1/fOSC)12当fOSC =12MHZ时,方式1最长定时时间为tmax=(216-0)(1/12)12=65536us=65.536ms.定时初值t初值=216-tfOSC /12用作计数器时,计数脉冲个数为N = 216-t初值最大计数脉冲个数为Nmax = 216-0 = 65536例:若已知fOSC =12MHZ,要求编程实现在P10口输出50HZ方波分析:50HZ方波周期为20ms,因此只需每10ms对P10取反一次,定时时间为10ms所以定时初值t初值 = 216-tfOSC /12 = 216-1010-3(12106 )/12 = 55536=0XD8F0所以定时初值TH0=0XD8;TL0=0XF0.C程序如下:#include sbit P1_0=P10;void main()TMOD=0X01;TH0=0XD8;TL0=0XF0;EA=1;ET0=1;TR0=1;while(1);void t0()interrupt 1TH0=0XD8;TL0=0XF0;P1_0=P1_0;6、 工作方式2及应用当TMOD中的M1M0=10时,定时/计数器工作在方式2,即8位自动重装载方式,它由TLi构成8位计数器,THi仅用来存放时间常数。启动T0/T1前,TLi和THi装入相同的时间常数,当TLi计数溢出时,自动将THi中的初值内容重新装载到TLi中.定时时间t=(28-t初值)(1/fOSC)12当fOSC =12MHZ时,方式2最长定时时间为tmax=(28-0)(1/12)12=256us.定时初值t初值=28-tfOSC /12用作计数器时,计数脉冲个数为N = 28-t初值最大计数脉冲个数为Nmax = 28-0 = 256例: 若已知fOSC =12MHZ,要求编程实现在P10口输出5000HZ方波分析:5000HZ方波周期为0.2ms,因此只需每0.1ms对P10取反一次,定时时间为0.1ms所以定时初值t初值 = 28-tfOSC /12 = 28-0.110-3(12106 )/12 = 156 = 0X9C所以定时初值TH0=TL0=0X9C.C程序如下:#include sbit P1_0=P10;void main()TMOD=0X02;TH0=TL0=0X9C;EA=1;ET0=1;TR0=1;while(1);void t0()interrupt 1P1_0=P1_0;7、 工作方式3及应用当TMOD中的M1M0=11时,定时/计数器工作在方式3。需要说明的是,只有T0才具有工作方式3,T1不具有。T0工作在方式3时,TH0和TL0分成2个独立的8位计数器。其中,TL0既可以用作定时器,又可用作计数器,并使用原T0的所有控制位及其溢出中断标志。TH0只能用作定时器,并使用T1的控制位TR1,溢出中断标志TF1.工作方式3是为了使单片机有1个独立的定时/计数器、1个定时器以及一个串行口波特率发生器的应用场合而特地提供的。这时,可把T1用于工作方式2,T0用于工作方式3。8、 定时/计数器的简单应用实例(一)如下图所示,程序功能用定时/计数器构成秒闪烁LED灯控制器。在P10脚输出周期为2s的方波,实现LED灯循环亮1s,灭1s。T0工作在定时方式1,定时时间为50ms,并且计数20次,这样就达到了定时1s的目的。初值为t初值 = 216-tfOSC /12 = 216-5010-3(12106 )/12 = 15536=0X3CB0所以TH0=0X3C,TL0=0XB0C程序如下:#include sbit P1_0=P10;unsigned char i;void main()TMOD=0X01;TH0=0X3C;TL0=0XB0;EA=1;ET0=1;TR0=1;while(1);void t0()interrupt 1TH0=0X3C;TL0=0XB0;if(+i=20)i=0;P1_0=P1_0;Proteus仿真运行结果如下:9、 定时/计数器的简单应用实例(二)如下图所示,本例设计一个简易多频方波信号发生器,由P10口经过反相器输出正、反相方波信号。8只按钮开关分别控制输出8种不同频率的方波。这里选择T0工作在定时方式1,即16位定时方式,设振荡器频率为12MHZ。则各频率对应定时初值如下:C程序如下:#include sbit output=P10;sbit k1=P00;sbit k2=P01;sbit k3=P02;sbit k4=P03;sbit k5=P04;sbit k6=P05;sbit k7=P06;sbit k8=P07;unsigned char th0,tl0;void main()TMOD=0X01;EA=1;ET0=1;while(1)if(k1=0)th0=0xff;tl0=0xfb;TR0=1;else if(k2=0)th0=0xff;tl0=0xf6;TR0=1;else if(k3=0)th0=0xff;tl0=0xce;TR0=1;else if(k4=0)th0=0xff;tl0=0x9c;TR0=1;else if(k5=0)th0=0xfe;tl0=0x0c;TR0=1;else if(k6=0)th0=0xfc;tl0=0x18;TR0=1;else if(k7=0)th0=0xec;tl0=0x78;TR0=1;else if(k8=0)th0=0xd8;tl0=0xf0;TR0=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医院针灸特色专科科室建设的背景意义及必要性
- 文化资源的高效配置与利用
- 商业地产开发规划基础知识点归纳
- 2025年西班牙语DELEC1考试口语模拟试卷:西班牙语综合运用与实战演练
- T-SDJSXH 04-2021 建筑施工行业安全生产责任保险风险等级评价标准
- 农业绿色技术创新与生态环境保护
- 新兴运动形式在医疗康复中的应用前景
- 法治社会的宪法熏陶
- 老旧厂区改造项目工程方案
- 2025版合作协议货物买卖季度合同
- 清淤工程施工记录表
- 常用数学物理英语词汇
- 商法案例英文版ppt全套教学课件
- 2021年浙江省杭州市西湖区杭州绿城育华小学一级下册期末数学试卷
- 国家储备林改培外业调查技术
- 科技改变生活-PPT课件
- K-H-V行星齿轮减速器 瞿鸿鹏
- T∕CNEA 001.1-2021 核能行业供应商评价与管理规范 第1部分:合格供应商要求及判定规则
- 病毒TCID50测定参考模板
- 贝朗CRRT操作常见报警及处理
- 2020版公路养护工程质量检验评定标准(土建工程部分)
评论
0/150
提交评论