欢迎来到天天文库
浏览记录
ID:35342126
大小:61.86 KB
页数:5页
时间:2019-03-23
《实验2:cc2530定时器实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、计算机科学与技术学院实验报告课程名称:无线传感器网络原理与应用实验二:CC2530定时器实验一、实验目的了解并学会使用CC2530芯片的定时器。二、实验内容用定时器1和定时器3采用中断方式实现定时,分别控制红绿灯的状态翻转。定时器1自由运行模式,8分频;定时器3自由运行,128分频。定时器1为16位定时器,在自由运行模式下,从0x0000到OxFFFF反复计数;定时器3为8位定时器,在自由运行模式下,从0x00到OxFF反复计数。当到达计时值时,定时器会产生中断,中断函数就是处理相应定时器产生的中断。三、
2、实验环境硕件:鼎轩WSN实验箱(汇聚网关、烧录线),PC机;软件:IAR软件。四、实验步骤CC2530芯片包含四个定时器(Timer1>Timer2.Timer3.Timer4)和一个休眠定吋器(SleepTimer)。Timerl是16位的定时器,支持典型的定时/计数功能以及PWM功能,该定时器共冇三个捕捉/比较通道,每个通道使用一个单独的1/0引脚。Timerl的时钟频率是由系统时钟分频得到,首先由寄存器中的CLKON.TICKSPD分频,系统时钟是32MHz的情况下,CLKON.TICKSPD可以将
3、该时钟频率分频到32MHz(TTCKSPD为000).16MHz(TICKSPD为001)、8MHz(TICKSPD为010)、4MIIz(TICKSPD为Oil)、2MIIz(TICKSPD为100)、lMIIz(TICKSPD为101)、0.5MHz(TICKSPD为110)、0.25MHz(TICKSPD为111);分频后的时钟频率可以被T1CTL.DIV分频,分频数为1、8、32、128。因此,在32MHz的系统频率下,Timerl的最小时钟频率为1953.125Hz,最大时钟频率为32MHzoT
4、imer2主要用于为802.15.4标准中的CSMA/CA算法提供定时。该定吋器即使在节点处于低功耗状态卜•仍然运行。Timer3和Timer4是两个8位的定时器,主要用于捉供定时/计数功能。SleepTimer主要将节点从超低功耗工作状态唤醒。木实验用到定时器1和定吋器3,当定吋器到达计数值吋,产生一处屮断,在中断处理函数里面进行相应处理。与定时器1相关的控制寄存器有:T1CTL(0xE4)-定时器1的控制和状态位名称复位R/W描述7:4■00000RO保用3:2DIV[l:0]00R/W分频器划分值。
5、产生主动的时钟边缘用来更新计数器,如下:00:标记频率/I01:标记频率/810:标记频率/3211:标记频率/1281:0MODE[1:0]00R/W选择定时器1模式。定时器操作模式通过卜列方式选择:00:暂停运行。01:自由运行,从0x0000到OxFFFF反复计数。10:模,从0x0000到T1CC0反复计数。II:正计数/倒计数,从0x0000到TICCO反复计•数并H从TICC0倒计数到0x0000:T1STAT(OxAF)-定时器1状态位名称奴位R/W描述7:6■0R0保阳5OVF1F0R/W
6、0定时器1计数器溢出中断标志。当计数器在口由运行或模模式卜达到垠终计数值时设覽,当的以倒计数模式卜达到零时倒计数。吗1没有形响.4CH4IF0R/W0定时器1通道4中断标志。当通道4中断条件发生时设置。写1没有影晌。3CH3IF0RW0定时器1通道3中断标志。当通道3中断条件发生时设置。写1没有老响。2CU2IF0R/W0定时器】通道2中断标志.当通道2中断条件发生时设置.W1没有形响。1CH1IF0R/W0定时器1通道1中断标志。当通道1中断条件发生时设置。写1没有影晌。0CH0IF0R/W0定时器0通
7、道4中断标志。当通道0中斷条件发生时设■・写1没有够响.1)打开鼎轩WSN实验箱,检查实验箱设备,确保实验箱设备完整、连接无误后,连接电源线,打开电源开关;2)用烧录线连接汇聚网关上的烧录接口与PC机USB接口;3)双击打开目录(/cc2530-simplc-dcmo/TlT3_interrupt)卜•的丄程图标TlT3_interrupt.eww打开工程;4)点击IAR中的图标按钮编译程序;5)完成编译后若没有错误信息,将实验箱节点编程开关上汇聚网关开关拨上去,点击调试并下载按钮将程序下载到汇聚网关上;
8、6)实验现象为红绿灯的状态定时翻转。7)修改实验代码,用定时器4实现红灯的状态定时翻转。程序代码程序员文件为/cc2530-simple-demo/TlT3_interrupt/TlT3_interrupt.c.初始化LED灯voidlnitLed(void)P1D1RRLED=GLED二=OXOC;//Pl_2,Pl_3定义为输出1;1;//点亮红灯和绿灯/^x^x{初始化定时器1//voidInitTl()T1CTL=0x
此文档下载收益归作者所有