企查查企业信息查询在线,佛山网站seo哪家好,nofollow标签对网站收录的影响,邯郸品牌策划设计继续进行点灯#xff0c;今天来点简单的#xff0c;红蓝双色爆闪灯#xff0c;上电即可爆闪#xff0c;红色接pa.3.pa.4,蓝色接pa6.和pa.7,低电平点亮LED灯#xff0c;想要高电平点亮#xff0c;或是驱动N管点亮灯#xff0c;可以稍作修改。端口电平输出0改1#xff0c… 继续进行点灯今天来点简单的红蓝双色爆闪灯上电即可爆闪红色接pa.3.pa.4,蓝色接pa6.和pa.7,低电平点亮LED灯想要高电平点亮或是驱动N管点亮灯可以稍作修改。端口电平输出0改11改0即可。 不多说上代码! #include extern.h
/*调试输出开关,关闭之后测试端口不输出了*/ //#define DEBUG
/*1m 标记*/ bit msFlag;
/*us计数*/ byte ucUsCnt; /*ms 计数*/ byte ucMsCnt; Word Reload_T16;
/*可以用示波器观察对应端口*/ #ifdef DEBUG bit US100_OUT :pa.7 bit MS_OUT :pa.6 bit MS10_OUT :pa.0 #endif byte ucLedst;
BIT COM1 : PA.3;
BIT COM2 : PA.4;
BIT COM3 : PA.6;
BIT COM4 : PA.7; #define SEG_A COM4 #define SEG_B COM3 #define SEG_C COM2 #define SEG_D COM1
/*中断服务程序*/ void Interrupt(void) { pushaf; if(Intrq.T16) { STT16 Reload_T16; Intrq.T16 0; ucUsCnt; if(ucUsCnt9) { ucUsCnt0; /*100us*101ms*/ msFlag1; } /*100u task,紧急任务放这边,但这里的任务尽量少, 心脏部位,尽量减少干扰,需要保证tick精准*/ #ifdef DEBUG if(US100_OUT) { US100_OUT0; } else { US100_OUT1; } #endif } popaf; } /*T16设置*/ Void Timer16_Init(void) { /*向上计数 1600就发生中断 1600/16M0.0001s100us,理论设计*/ //Reload_T16 32768 - 1600; /*根据测算(示波器校准),除去误差(约为20个sysclk周期),设置1580这个值可能更准确, SYSCLK越快,误差越小.从进入中断开始,到重新设置计数器,中间大概需要20个sysclk周期*/ Reload_T16 32768 - 1580; /*设置计数器值*/ STT16 Reload_T16; /*配置T16 控制寄存器*/ $ T16M IHRC,/1,BIT15; INTRQ.T16 0; INTEN.T16 1; msFlag0; ucUsCnt0; } void Flash(void) { switch(ucMsCnt) { case 0: COM11; COM21; COM30; COM40; nop; break; case 62: COM11; COM21; COM31; COM41; nop; break; case 124: COM10; COM20; COM31; COM41; nop; break; case 186: COM11; COM21; COM31; COM41; nop; break; } }
void FPPA0 (void) { /*注意,修改了sysclk,Reload_T16要做细微调整,可以试着改动sysclk, 会发现Reload_T16误差变大*/ .ADJUST_IC SYSCLKIHRC/8,IHRC16MHz,init_ram,VDD5V; .delay 20*2000; // $ SHOW_EN in ; $ COM1 OUT,low; $ COM2 OUT,low; $ COM3 OUT,low; $ COM4 OUT,low; /*初始化T16*/ Timer16_Init(); #ifdef DEBUG $ US100_OUT out,low; $ MS_OUT out,low; $ MS10_OUT out,low; #endif ucLedst0; Engint; while (1) { /*1ms标记*/ if(msFlag) { ucMsCnt; if(ucMsCnt249) { /*1ms*1010ms*/ ucMsCnt0; } Flash(); msFlag0; } } } /*creat by zhongvv QQ85547259*/