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

如题所述

首先,是单灯如何点亮的问题,无非就是某个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;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-06-14
通过定时器中断来做一个1ms时基,然后累加这个时基1000次的时候,清零累加并翻转IO口。追问

本人初学者

能编个程序吗

追答

可以!在哪个mcu上运行?

相似回答