PMS150G采用定时器按键控制LED口精确定时2秒和4秒亮灭,让大家学会定时器的综合运用,不多少,直接上代码,如有不懂,请联系我
#include “extern.h”
bit LED1 : PA.0 //定义LED灯的引脚
bit LED2 : PA.4 //定义LED灯的引脚
bit p_key : PA.5
word time_10ms=0;
word time_100ms=0;
word time_power=0;
word reload_T16;
byte key_40ms=0;
byte F_LED;
byte F_POWER;
/*******************************************************************************/
void T16M_Init(void)
{
$ T16M SYSCLK,/16,bit10; //T16的时钟源选择,内部的时钟分频器,中断源选择(当选择位由低到高或者由高到低时,发生中断事件);
//时钟源选择可以选择STOP, SYSCLK, PA4_F, IHRC, EOSC, ILRC, PA0_F;分频器可选择/1, /4, /16, /64
//中断源可选择BIT8, BIT9, BIT10, BIT11, BIT12, BIT13, BIT14, BIT15
reload_T16 = 1024 - 625; //每次进中断为10ms;
//计算公式为 [1/(时钟源/分频器)]*(中断源-reload_T16)=[1/(1M/16)]*(2^10-(1024-625))=0.01s
stt16 reload_T16; //设定计数器初始值reload_