版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章定时器与计数器原理和应用何宾2023.09设计实例一:定时器/计数器设置和中断生成该设计将使用定时器/计数器0的工作模式0(即16位重加载模式),并在定时器/计数器0溢出时产生中断,中断的频率为1Hz,并通过驱动STC32G系列单片机硬件开发平台上的8个LED灯来验证设计的正确性设计实例一:定时器/计数器设置和中断生成
--设计实现在该设计中,使用IRC的频率为12.000MHz。由于该设计中,使用了定时器/计数器0模块内的预分频器TM0PS,而该寄存器在XSFR区域中,因此必须通过设置EAXFR为“1”,STC32G系列单片机中的处理器才能访问XSFR区域设计实例一:定时器/计数器设置和中断生成
--设计实现#include"stc32G.h"//包含头文件stc32G.h
voidTimer0_Isr()interrupt1//定义中断函数Timer0_Isr(),中断号为1{P6=~P6;//端口P6的驱动逻辑取反}voidmain() //定义主函数main{ P4=0;//端口P4所有引脚拉低到逻辑“0”(低电平) P4M0=0;//寄存器P4M0初始化为0 P4M1=0;//寄存器P4M1初始化为0,P4设置为准双向设计实例一:定时器/计数器设置和中断生成
--设计实现P6M0=0;//寄存器P6M0初始化为0 P6M1=0;//寄存器P6M1初始化为0 P6=0;//端口P4所有引脚拉低到逻辑“0”(低电平)EAXFR=1;//扩展寄存器(XFR)访问使能,EAXFR设置“1” TM0PS=0x0F; //设置定时器时钟预分频 AUXR&=0x7F; //定时器时钟12T模式 TMOD&=0xF0; //设置定时器模式TL0=0xDC; //设置定时初始值低寄存器TL0 TH0=0x0B; //设置定时初始值高寄存器TH0TF0=0; //清除TF0标志 TR0=1; //启动定时器/计数器0设计实例一:定时器/计数器设置和中断生成
--设计实现ET0=1; //使能定时器0中断 EA=1;//使能全局中断EA while(1);//无限循环}设计实例二:定时器/计数器对外部脉冲计数本节将介绍利用定时器/计数器0对外部脉冲计数的方法当每按下/释放一次STC32G系列硬件开发平台上标记为T0的按键时,就触发定时器/计数器0对外部脉冲的一次计数设计实例二:定时器/计数器对外部脉冲计数
--硬件设计原理在STC32G系列单片机硬件开发平台上提供了用于给定时器/计数器0提供外部脉冲输入的电路在该电路中,标记为SW21的外部按键通过限流电阻R7接入了STC32G12K128单片机的P3.4引脚P3.4引脚是定时器/计数器0的外部计数脉冲输入引脚标记为SW22的外部按键通过限流电阻R8接入了STC32G12K128单片机的P3.5引脚P3.5引脚是定时器/计数器1的外部计数脉冲输入引脚设计实例二:定时器/计数器对外部脉冲计数
--硬件设计原理STC32G系列单片机硬件开发平台上,按键SW21标记为T0,按键SW22标记为T1当按下按键T0时,按键将接地,呈现逻辑“0“(低电平)状态,通过电阻R7后,STC32G12K128单片机的引脚P3.4输入为逻辑”0“(低电平)当释放按键T0时,由于STC32G12K128单片机内部为所有的引脚都提供了可选的4.1kΩ电阻,因此当使能该上拉电阻时,STC32G12K128单片机的引脚P3.4输入为逻辑”1“(高电平)在STC32G12K128单片机内提供可选配的上拉电阻,将显著减少单片机外部需要使用额外上拉电阻的元件个数设计实例二:定时器/计数器对外部脉冲计数
--硬件设计原理当按下按键T1时,按键将接地,呈现逻辑“0“(低电平)状态,通过电阻R8后,STC32G12K128单片机的引脚P3.5输入为逻辑”0“(低电平)当释放按键T1时,由于STC32G12K128单片机内部为所有的引脚都提供了可选的4.1kΩ电阻,因此当使能该上拉电阻时,STC32G12K128单片机的引脚P3.5输入为逻辑”1“(高电平)设计实例二:定时器/计数器对外部脉冲计数
--使用的寄存器在该设计中,使用了P3和P6端口,该端口使用了端口模式寄存器和上拉电阻寄存器对于端口P6的有关寄存器,本书前面已经进行了详细的介绍,在此仅介绍与P3端口有关的寄存器使用的寄存器
--端口模式寄存器在STC32G系列单片机中,为P3口提供了两个端口模式寄存器PxM0和PxM1(x为对应的端口号)用于为一组端口内不同的引脚设置不同的驱动方式,包括准双向、推挽输出、高阻输入和开漏输出P3端口模式寄存器P3M0位于SFR地址为0xB2的位置。当复位后,该寄存器的内容为“00000000”位索引76543210名字P37M0P36M0P35M0P34M0P33M0P32M0P31M0P30M0使用的寄存器
--端口模式寄存器P3端口模式寄存器P6M1位于SFR地址为0xB1的位置。当复位后,该寄存器的内容为“11111100”位索引76543210名字P37M1P36M1P35M1P34M1P33M1P32M1P31M1P30M1使用的寄存器
--端口上拉电阻控制寄存器P3端口上拉电阻控制寄存器P3UP位于XSFR地址为0x7EFE13的位置。当复位后,该寄存器的内容为“00000000”当P3xPU(x为具体的位索引号)为“0”时,禁止端口内部的4.1kΩ上拉电阻;当P3xPU为“1”时,使用端口内部的4.1kΩ上拉电阻注:引脚P3.0和引脚P3.1上的上拉电阻值会略小一些位索引76543210名字P37PUP36PUP35PUP34PUP33PUP32PUP31PUP30PU设计实例二:定时器/计数器对外部脉冲计数
--设计实现#include"stc32G.h"//包含stc32G.h头文件,该文件包含寄存器的定义/*****用于处理定时器0中断的中断服务程序Timer0_Isr******/voidTimer0_Isr()interrupt1{P6=P6+1;//给端口P6的值递增1}voidmain() //定义main主函数{EAXFR=1;//使能处理器访问XSFRP4M0=0;//寄存器P4M0初始化为0设计实例二:定时器/计数器对外部脉冲计数
--设计实现P4M0=0;//寄存器P4M0初始化为0 P4M1=0;//寄存器P4M1初始化为0,P4端口准双向 P6M0=0;//寄存器P6M0初始化为0 P6M1=0;//寄存器P6M1初始化为0,P6端口准双向P4=0;//P4端口所有引脚拉低 P6=0;//P6端口所有引脚拉低 P3M0=0;//寄存器P3M0初始化为0 P3M1=0;//寄存器P3M1初始化为0,P3端口准双向P3PU=0x10;//使能P3.4引脚的内部4.1kΩ上拉电阻 TMOD=0x04; //将定时器/计数器0设置为计数方式设计实例二:定时器/计数器对外部脉冲计数
--设计实现TL0=0xff;//TL0寄存器的值为0xff
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产后脱发的黑芝麻食疗
- 小型物流公司财务出纳制度
- 2026曲靖市专职消防员招聘面试题及答案
- 解答高考作文题目及答案
- 《项目探究:制作信息安全指南》教案-2025-2026学年鲁教版(新教材)小学信息技术三年级下册
- 电子签名使用安全规范
- 2026年幼儿园生态教育
- 2026年幼儿园温馨汇报
- 2026年介绍中国幼儿园的
- 2026年幼儿园大战蛀牙虫
- 危重病人血液透析护理
- 音体美新教师培训
- 《半纤维素》团体标准(征求意见稿)-0629
- 2026年叉车人员培训考试题库及完整答案一套
- (正式版)DB61∕T 2103-2025 《砖瓦用页岩矿资源储量核实技术规范》
- 药用植物育种学课件
- 2025苏超联赛考试真题及答案
- 运动时合理的呼吸方法
- 中医诊所医生聘用合同(标准版)4篇
- 敦煌壁画教学课件
- 消渴的中医护理常规课件
评论
0/150
提交评论