U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 土豆PE使用教程 >

STM8的C语言编程(5)--8位定时器应用之一

来源:http://www.tudoupe.com时间:2022-06-28

STM8 C 语言编程( 5 )-- 8 位定时器应用之一

STM8 单片机内有多个计时器资源 8 一个固定的计时器,也是常见的 16 位置计时器和先进的计时器。 今天的实验是最简单的 8 位定时器 TIM4 拖延,然后开车 LED 为了简化,这里是一个程序查询,以确定时间表是否生成更新事件,以确定时间表延迟是否结束。

同样还是利用 ST 产生一种开发工具的 C 修改程序的框架,然后修改它 main.c ,修改后的代码如下。

编译后,下载到开发板上,运行程序,你可以看到 LED 在闪烁或使用无线电时,你可以 LED 引脚上看到方波。

这里特别提醒的是,从 ST 在手册中,这个计时器是一个附加程序 1 这个计数器,但在实验过程中我感觉不太好,经过反复的实验,我认为应该减少 1 计算器(也许我的手册是错的,也许有误解)。 例如,在调度器中插入自动加载注册表时 255 在最低的频率上,按照下面的代码计算,生成的频率为 30HZ 在启动时,输入自动装载注册表 1 所产生的最大波频率大约是 3.9K 就是说,实际频率是 ARR 寄存器的值 +1

// 程序描述:通过初始化计时器 4 ,进行延时,驱动 LED 闪烁

//            LED 接在 MCU GPIO PD3

#include "STM8S207C_S.h"

main()

{

// 首先初始化 GPIO

PD_DDR = 0x08;

PD_CR1 = 0x08;              // PD3 设置成推挽输出

PD_CR2 = 0x00;

// 然后初始化定时器 4

TIM4_IER = 0x00;            // 禁止中断

TIM4_EGR = 0x01;            // 允许产生更新事件

TIM4_PSCR = 0x07;           // 计数器时钟 = 主时钟 /128=2MHZ/128

// 相当于计数器周期为 64uS

TIM4_ARR = 255;             // 重载时设置注册表值, 255 是最大值

TIM4_CNTR = 255;            // 设定计数器的初值

// 定时周期 =(ARR+1)*64=16320uS

TIM4_CR1 = 0x01;            // b0 = 1, 允许计数器工作

// b1 = 0, 允许更新

// 设置控制器,开始计时器

while(1)                    // 进入无限循环

{

while((TIM4_SR1 & 0x81) == 0x00);      // 等待更新标志

TIM4_SR1 = 0x00;                       // 清除更新标志

PD_ODR = PD_ODR ^ 0x08;                // LED 驱动信号取反

// LED 闪烁频率 =2MHZ/128/255/2=30.63

}

}

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息