STM8的C语言编程--16位定时器的中断应用.DOC

上传人:天*** 文档编号:3478317 上传时间:2019-05-31 格式:DOC 页数:2 大小:26.50KB
下载 相关 举报
STM8的C语言编程--16位定时器的中断应用.DOC_第1页
第1页 / 共2页
STM8的C语言编程--16位定时器的中断应用.DOC_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、STM8 的 C 语言编程(7)16 位定时器的中断应用在 STM8 中,除了有 8 位的定时器外,还有 16 位的定时器。今天进行的实验就是针对 16 位定时器 2 来进行的。除了计数单元为 16 位的,其它设置与前面8 位的定时器基本一样。下面的程序也是采样中断方式,由定时器 2 的中断服务程序来驱动 LED 的闪烁。具体的程序代码如下,其它注意点见上一篇,另外要注意别忘了修改相应的中断向量。/ 程序描述:通过初始化定时器 2,以中断方式驱动 LED 闪烁/ LED 接在 MCU 的 GPIO 的 PD3 上#include “STM8S207C_S.h“main()/ 首先初始化 GPI

2、OPD_DDR = 0x08;PD_CR1 = 0x08; / 将 PD3 设置成推挽输出PD_CR2 = 0x00;/ 然后初始化定时器 4 TIM2_IER = 0x00; / 禁止中断TIM2_EGR = 0x01; / 允许产生更新事件TIM2_PSCR = 0x01; / 计数器时钟= 主时钟/128=2MHZ/2/ 相当于计数器周期为 1uS/ 设定重装载时的寄存器值/ 注意必须保证先写入高 8 位,再写入低 8 位TIM2_ARRH = 0xEA; / 设定重装载时的寄存器的高 8 位TIM2_ARRL = 0x60; TIM2_CNTRH = 0xEA; / 设定计数器的初值T

3、IM2_CNTRL = 0x60; / 定时周期=1*60000=60000uS=60msTIM2_CR1 = 0x01; / b0 = 1,允许计数器工作/ b1 = 0,允许更新/ 设置控制器,启动定时器TIM2_IER = 0x01; / 允许更新中断_asm(“rim“); / 允许 CPU 全局中断while(1) / 进入无限循环 / 函数功能:定时器 4 的更新中断服务程序/ 输入参数:无/ 输出参数:无/ 返 回 值:无far interrupt void TIM2_UPD_IRQHandler (void)TIM2_SR1 = 0x00; / 清除更新标志PD_ODR = PD_ODR 0x08; / LED 驱动信号取反/LED 闪烁频率=2MHZ/2/60000/2=8.3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。