单片机实验定时器 Timer AB
- 格式:doc
- 大小:2.83 MB
- 文档页数:5
1 单片机原理实验报告
学生姓名 所在班级 实验日期 实验组成员 实验成绩
2014.5.15
实验三 、 定时器 Timer A/B
【实验目的】
1. 熟悉μ’nSP™IDE集成开发环境的使用方法;
1. 通过实验熟悉定时器 Timer A/B 的工作原理。
2. 掌握预置数单元 P_TimerA/B_Data 和定时控制单元 P_TimerA/B_Ctrl 的设置方法
3. 掌握定时器 Timer A/B 的编程方法。
【实验设备】
1. 装有 Windows 系统和 µ’nSP™ IDE 集成开发环境的 PC 机一台,µ’nSP™十六位单片机实验箱一 个,示波器一台。
2. 本实验用到的实验箱硬件模块为:SPCE061A 核心及周边电路模块(包含 32 个 I/O 口),发光 二极管电路模块。
【实验要求】
1. 编程要求:编写一个汇编语言程序。
2. 实现功能:设置不同的计数初值、不同的占空比和不同的时钟源,IOB8 同时和一个发光二极管 和示波器连接,用户可以通过观察二极管点亮的持续时间和熄灭持续的时间,通过示波器观察 信号波形的占空比变化和频率。
3. 实验现象:计数初值不同、占空比不同、时钟源不同,发光二极管的亮灭状态变化就不同。
【实验原理】
TimerA 和 TimerB 定时器启动后,在预置数单元 P_TimerA_Data 或 P_TimerB_Data 内置入一个计数
初值 N 后,在所选的时钟源频率下开始向计数增加的方向计数 N+1,N+2,……FFFEH,当计数到
FFFFH 后,再来一个计数时钟则溢出到 0000H,这时的计数时间为(FFFF-N)*1/(TimerA 或者 TimerB
的时钟 源频率)。比如,当启动 TimerA 定时器后,TimerA 时钟源频率选择为 1024Hz,计数初值设置为 0xF7FF, 则它的计数时间为(FFFF-F7FF)*1/1024=2s。 产生溢出时,一方面,如果已经打开TimerA或者TimerB中断,会产生中断请求信号TA_TimeOut_INT 或 TB_TimeOut_INT,被 CPU 响应后执行相应的中断服务程序。与此同时,计数初值 N 会被自动重新置 入定时器/计数器内,并重复上述加计数的过程。 另一方面,该溢出信号会作为脉宽调制输出计数器的时钟源输入,使其输出一个具有四位可调的脉 宽调制占空比输出信号 APWMO 或 BPWMO,其中 IOB8、IOB9 分别为 APWM、BPWM 的输出端。 Timer的溢出频率取决于时钟源的选择和计数初值的选择,而PWM的输出频率受Timer的溢出频率的控 制:Timer的溢出信号经一个4位计数器和一个4位半加器,并通过P_TimerA_Ctrl设置脉宽后,输出的信号 即为PWM信号;Timer溢出一次,4位计数器计一次数,当计数器计满十六次时输出一个周 2 期的PWM信号, 所以PWM信号的频率为Timer溢出频率的1/16;比如Timer溢出的频率为16Hz,则PWM的频率为1Hz。所 以事实上可以归结为PWM信号的频率取决于时钟源的选择和计数初值的选择。 PWM
信号的脉宽是通过 P_TimerA_Ctrl(700BH)或者 P_TimerB_Ctrl(700DH)单元单元来设置的。 通过写入 P_TimerA_Ctrl(700BH)的第 6~9 位可选择设置 APWMO 输出波形的脉宽占空比;同理,写 入
P_TimerB_Ctrl(700DH)单元的第 6~9 位,便可选择设置 BPWMO 输出波形的脉宽占空比。相同频 率不同的占空比的信号输出控制二极管的亮灭,表现为点亮的时间和熄灭的时间各相同,表现在波形上为高、低电平持续的时间不同。如图 1-33。
【程序流程图】
主程序流程图如图 1-35,初始化 IOB8 为同相低电平输出口,设置计数器初值和时钟源频率, 3 然后 程序进入主循环,在循环中进行清看门狗操作。IOB8 端口会输出预置频率和占空比的高低电平脉冲,并 以此点亮、熄灭连接在 IOB8 上的发光二极管。
【实验步骤】
1. 根据程序流程图编写汇编语言程序;
2. Rebuild All;
3. 按照硬件连接图连接电路;
4. 下载程序,运行;
2、程序运行情况(仿真软件): 4
3、单片机实验箱硬件连接图
4、程序运行结果 5
实验现象:
根据LED灯闪烁的公式:T=t*(0x10000-n。),其中小t为时钟源的周期,要实现0.5s的延时,得出计数的初值为:n。=0x10000-0.5/(1/32k)。从实验箱上可观察到在一个时钟周期内,另一个LED灯闪烁的次数。
【实验总结】
1、实验中遇到的问题及解决办法
答:1、问题:对时钟周期的选取,LED灯与输出端口的连接、高低电平的设置。和对其硬件的连接熟练程度,在程序的编写上存在一定的错误率.,程序设计逻辑把握不到位.在初值的设置和要实现的延时时间上需要一定的讲究。
2、解决方法:通过老师的示范和演示,同学之间的相互交流沟通学习,一步步的完成了此实验,并在老师的详细讲解下熟悉了个窗口的功能及硬件的了解和正确的连接,做出与实验目的相符合的结果。
2、自己在考虑本实验时的想法及实现情况
答:对该实验的设计上,要追求用最简洁的程序代码编写,逻辑清晰明了,步骤少,条理清楚,用高级语言(C语言)完成编写,经过事先的计算测量,得到能肉眼观察的范围后再导入硬件进行运算展示。并在实验箱上看到相应的实验现象,记录数据是否与理论相符合,最后完成本次实验。