下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四讲定时器控制LED闪烁一、定时器简介定时器,简单的说,就像单片机内的一个闹钟。它以单片机的时钟作为计数基准,根据计数数值不同来改变定时时间,并可以设置使时间满足定时条件时进行一系列操作。下面是msp430g2553的datasheet对其定时器的介绍:*两个16feTimer_A,分别具有三个捕获/比较寄存器从这里开始,我们介绍的部件往往会涉及很多寄存器,初学者往往由于配置不全,不能得到想要的效果。因此,学习这一部分,尽量参考用户手册和相关例程进行分析。二、定时器4配置我们要实现使用定时器控制LED闪烁,需要使用定时器中断来控制。定时器中断与外部中断的具体原理一样,都是从主程序中断,处理完
2、中断服务函数再返回。区别只在于触发条件,定时器中断的触发条件是定时器计数溢出(计数数值达到设定数值)。12.1Timer_AIntroductionTimer_A戌自16-bittimer/counterwithihr-ecptur/compareregisters.Timer_Acansupportmurtlpiecapture/compares,PWMoutputs,endIntervaltirning.Timer_Aaiw帕!5extensiveInterruprcapabilities.Interrupl$maybegeneratefromth申counteranqv自rflowcon
3、ditionsandfromeachofthecaptura/eorinpararegisters.Timr_Afeaturesinclude:Asynchronous16-bittimer/counterwiH*if&uroperatingmodesSeiectableandconfigurmbletlack$ourceTwoorthreeconfigurablecapture/compareregIsters-ConfigurableoutputswltiiPWMcapabilityAsynchconou吕InputmndoutputlatchingIrtterrupivectorregi
4、sterforfastdecodingofallTlnner_Ainterrupts这是用户手册对定时器A的介绍:16位定时/计数,4种计数模式,可选时钟源,2到3个捕获比较寄存器,异步输入输出锁存,定时中断寄存器。16位定时/计数,是指计数数值范围是0-65535,与设置好的时钟源来组合成一定的定时时长。如时钟周期为1us,那么要定时1ms,计数数值就需要设置为1000。122.3TimrModeControlThetimerhasfourmodesofoperationawdescribedinTahie2-1:stop,uip,continuou.andup/down.Theoperat
5、ingmodeIsselectedwiththeMCxbfts.Table12-1.TimerModesMCXscription00stopTTietimerIshailed.01UpTheiimerr-EpealedlyEauntefromzerutolihevalueofTACCR.010contmucyusThetimerrepealed1countsfromzerotoDFFFFh.11UptownThetunerr-epealedl!oountsfromzerDuptothevalueofTAGCR0andbacKdowtozero.图是定时模式的介绍,一般采用增计数模式即可,即每次
6、定时从0计数到设置的数值。定时器配置最重要的部分在于TACLR寄存器,其16位所代表的含义如下图,具体配置内容可从用户手册和头文件内查出,这里不做一一介绍,在例程中再进行讲解。TACTL,TlmerAControlRegister15141312111090UnusedTASSELXrw-(o)rw-(O)W-(0)rw-(o)rw-(U)rw-0)IDxMCXTACLRTAIETAIFGrw-(o)rw-(O)W-(0)rw-(o)rw-0)nrflJ)rw-0)三、实践操作这里,由于我们的单片机默认时钟为DCO1MHZ,16位定时器计数数值65536,所以最大定时时长为65.536ms。在
7、这里我们进行0.05s的定时,每隔0.05s触发一次中断函数,使LED亮0.05s,灭0.05s,并交替进行。为了方便调试,我们先使用延时的方法使LED闪烁,确认单片机以及LED工作正常。顺便复习一下对IO的操作。#includevoiddelay(inti)whiLe(i一;voidmainvoid)/Stopwatahdogtimertcent七土亞曰outresetWDTCTL=WDTPW+WDTHOLD;P1DLR|=0X01JwhiLe(1)P1OUTr=0X01;delayC3G0G0;下面就到定时器的核心配置了。我们要设置定时器,核心部分当然是TACTL寄存器,它是定时器工作的关
8、键,涉及到定时器所采用的时钟周期以及计数方式。接下来设置定时时间,即计数数值TACCR0。当然为了使用定时中断,要记得打开中断。具体配置如下图所示,相关定义可从头文件中查出。其中CCIE是指打开定时器中断,最后的_EINT();是打开总中断,两者缺一不可。TASSEL_2可从头文件中查出,指定时器A采用子系统时钟SMCLK,在不做设置时为默认DCO(数控振荡器)的值1MHZ。MC_2指采用增计数模式。而数值50000*时钟周期1us=50ms,为我们的定时时长。voidmainvoid)/Stopwa.tchdogWDTCTL=WDTPW+timer-亡c?preT/enttliaeout_r
9、eset囚口THOLD;P1DIR|=OXClyTACCTLO=CCZE;TACCRO=5G00C;-+MC2;TACTL=rTASSEL_2EZMI?);while(1)到此,主函数中的配置已经结束了,但还缺少了定时中断服务函数,它的格式是一定的。如下图:#pragmavector=2IMERGAOVECTORinterruptvoidTimeA(voidP1OUT*二0 x01;CCRO-4=500-0匚;|需要说明的是,函数的名字可以自己定义。增计数模式需要重新装载计数数值50000,TACCR0和CCR0在头文件中的定义是相同的,写哪个都可以。如下这些寄存器都是有可选名字的,可以根据习惯使用。严Alte#define#define#define#define#define#define#define#define#define#dsfins#define#definen3.ter&glster-names2诈/CCLOUACCULC-CCTL12ACC2L1CC2L22ACC2L2CCRC-2ACCR0CCR12ACCR1CCR22ACCR2CC2LG2ACC2LC-CCL1_UAGCUL1CC2L2_2ACC2L2_CCRC_ACCR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程系列初中高级职称评审条件
- 甘肃省天水市一中2017-2018学年高一下学期第一学段考试地理试题(理)
- 税法案例分析单选题100道及答案解析
- 人教部编八年级语文上册《一着惊海天》示范课教学课件
- 小学安全教育教案-全
- 专利技术转让居间佣金合同
- O2O电子商务模式发展研究
- 2023-2024学年全国小学四年级上语文人教版期中试卷(含答案解析)
- 热力学第一定律
- 2024年郑州客运从业资格证考试考什么
- 资本的剩余价值
- 年产3万吨镁砖隧道窑设计计算说明
- T∕CREA 005-2021 老年人照料设施与适老居住建筑部品体系标准
- BlueCat核心服务保障专家
- 绿树成荫(带意大利文)简谱五线谱钢琴谱正谱.pdf.docx
- 最新苏教版小学信息技术六年级上册教案机器人教案
- Minitab全面培训教程(最新完整版)
- 配电箱(柜)技术协议书范本
- 外研三起五年级上册英语Module10-Unit-1-He-was-in-the-kitchen教案
- 水的组成教学设计
- 刑释解教人员重新违法犯罪情况的调查分析及预防对策
评论
0/150
提交评论