定时器综合实验报告.docx

定时器综合实验报告.docx

ID:54974143

大小:38.36 KB

页数:8页

时间:2020-04-25

定时器综合实验报告.docx_第1页
定时器综合实验报告.docx_第2页
定时器综合实验报告.docx_第3页
定时器综合实验报告.docx_第4页
定时器综合实验报告.docx_第5页
资源描述:

《定时器综合实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、南京信息职业技术学院综合实验报告1课程:低功耗单片机应用技术报告名称:定时器综合实验班级:11431P分组:分组2姓名学号:11431P0311431P0211431P0681.综合练习名称:定时器综合实验2.综合练习目的:1)了解低功耗单片机结构及基本工作原理;2)掌握低功耗单片机IO口配置和使用方式;3)掌握低功耗单片机时钟系统的配置方式;4)掌握低功耗单片机定时器工作原理及配置方式;5)能独立完成对单片机程序的修改和编写。3.综合练习要求:1)时钟配置:XT1和XT2打开,SMCLK=MCLK=3*XT2=1

2、2.00MHzACLK=XT1=32.767Hz;2)定时器:P7.4(TB0.2)输出PWM波,要求:频率50.00Hz;占空比可调的(2.5%~7.5%);高电平周期范围(0.5ms~2.5ms);3)每按一下P2.1,高电平周期增加0.1ms;每按一下P1.1,高电平周期减小0.1ms;4)每按一下P2.1,LED1闪烁一下;每按一下P1.1,LED2闪烁一下;4.综合练习分析:该程序的目的是为了输出稳定的PWM波来控制舵机。首先要设置时钟,需要把三倍的外部时钟XT2提供给SMCLK于MCLK=12.00MH

3、z,XT1提供给ACLK=32.767Hz,这样就有频率50.00Hz了。之后就是占空比于高电平周期了,它要求占空比可调的(2.5%~7.5%),高电平周期范围(0.5ms~2.5ms)。要实现这个要求,就需要按键来实现了:每按一下P2.1,高电平周期增加0.1ms;每按一下P1.1,高电平周期减小0.1ms,而按键就需要中断服务程序了,中断服务程序是用IF语句来实现的。最后,该程序运行就可以来控制舵机了。而本实验还有一点要求,就是需要按键闪烁,也就是I/O端口的设置,这样本实验就完美成功了。81.项目实施:软件流

4、程图加计数外部时钟XT1,XT2中断服务程序时钟定时器I/O接口配置主函数6.项目总结:通过这次实验,加深了定时器的使用,以及定时器设置方法的应用,懂得了中断对于程序的作用和定时时间的设定。在这次实验之前,我对中断的概念总是很模糊,不太明白中断子程序该在什么时候执行,直到自己动手用汇编编程,翻书仔细把书中关于中断的部分看了一遍,在结合书上的例题终于对中断有了个大致的了解。我们知道在其他单片机中我们测脉冲宽度可以利用外部中断在上升沿河下降沿各读取一次定时器值来测定。但51单片机没有上升沿中断,也就没有办法测出高电平宽

5、度。现在我们可以这样做,令TR0=1,GATE=1,这时定时器的启动只有INT0控制。当INT0为高电平时定时器启动,为低电平时定时器关闭。我们设置下降沿中断,在中断中就可以读取高电平所占的时间了。但是这样做只能得到高电平时间按。要想得到脉冲周期,可以再开一个定时器,另外一个就正常工作,这样就可以得到脉冲周期。也就可以求出脉冲宽度了。定时器会存在误差,原因是在执行定时器中断的时候,会占用3到8个机器周期不等。这段时间我们并没有算到计数器初值里面。要想消除误差:1.可以把定时器低八位设为0,中断中只要给TH0赋值,因

6、为此时定时器已经开始启动了,低八位其实已经不是0了。2.将低四位设为0.赋初值时,利用ORLTL1,#;加上你设定的初值。还有其他方法。还有一点T0和T1的工作方式28看似工作方式是一样的,其实T1在方式2的时候不能中断,而T0是可以中断的。通过这次实训,我收获了很多,一方面学习到了许多以前没学过的专业知识与知识的应用,另一方面还提高了自己动手做项目的能力。本次实训,是对我能力的进一步锻炼,也是一种考验。从中获得的诸多收获,也是很可贵的,是非常有意义的。在实训中我学到了许多新的知识。是一个让我把书本上的理论知识运用

7、于实践中的好机会,原来,学的时候感叹学的内容太难懂,现在想来,有些其实并不难,关键在于理解。附录(源程序代码):#include"msp430.h"voidClkInit(void);voidTimerInit(void);voidGPIOInit(void);voidmain(void){WDTCTL=WDTPW+WDTHOLD;ClkInit();TimerInit();GPIOInit();__bis_SR_register(GIE);while(1);}#pragmavector=PORT1_VECTOR_

8、_interruptvoidPort_1(void){__delay_cycles(4000);if(0x02&P1IN){8P1IFG&=~0x02;}else{P4OUT

9、=BIT7;if(TBCCR2>=7500)TBCCR2=7500;elseTBCCR2=TBCCR2+300;P1IFG&=~0x02;__delay_cycles(12000);P

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。