单片机,用c语言编,单灯约1hz闪烁,怎么编

发布网友 发布时间:2022-04-23 10:01

我来回答

2个回答

热心网友 时间:2023-09-21 10:02

首先,是单灯如何点亮的问题,无非就是某个GPIO口输出高电平或者低电平(由外部电路决定)使灯亮灭,假设输出高电平为亮,输出低电平为灭。
其次,1hz闪烁,即代表定时1s开、关灯。所以要用到定时器。
代码如下:
#include "stdio.h"

#define LED_ON P1.1 = 1;
#define LED_OFF P1.1 = 0;

bit flag_1s;
bit flag_cnt;

void main(void) {
Sys_Init();

while(1) {

if(flag_1s == 1) {

flag_1s = 0;

if(flag_cnt ^= 1)

LED_ON;

else

LED_OFF;

}

}

}

Sys_Init() {
// 初始化MCU的IO口

// 初始化定时器

}

void Timer_ISR (void) interrupt 1 { // 定时器中断处理函数 1s 进入一次
flag_1s = 1;
}

热心网友 时间:2023-09-21 10:02

通过定时器中断来做一个1ms时基,然后累加这个时基1000次的时候,清零累加并翻转IO口。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com