07 2023 档案

摘要:IO口输出固定频率和占空比的PWM信号驱动蜂鸣器鸣响 void buz(void) { if(buz_flg) { buz_cnt = 200; //运行200ms 0.2s Pwm0Init(1000,500); //频率1k,占空比%50 buz_flg = 0; } if(buz_cnt == 阅读全文
posted @ 2023-07-15 10:28 steven_lg 阅读(145) 评论(0) 推荐(0)
摘要:原理:分时驱动LED_PIN1,LED_PIN2,LED_PIN3为低电平。再来同时置位LED_SEG1,LED_SEG2,LED_SEG3,LED_SEG4,达到分时点亮矩阵LED的效果, 缺点是LED比正常点亮暗一些,其他无差异。 上程序 void swled(void) { static ui 阅读全文
posted @ 2023-07-15 10:23 steven_lg 阅读(82) 评论(0) 推荐(0)
摘要:原理 正转方向的环形分配器编码为 A→AB→B→BC→C→CD→D→DA→A,则反转环形分配 器编码为 A→DA→D→CD→C→BC→B→AB→A。 1.不进电机正反转 void motor_step(uint8_t dir) { static step = 0; if(dir == 1) //反转 阅读全文
posted @ 2023-07-14 16:50 steven_lg 阅读(873) 评论(0) 推荐(0)
摘要:1.设置按键为键盘唤醒,按键为低,触发按键中断,唤醒MCU void KbAppInit(void) { SET_COL_ALL_IN; //列输入 SET_ROW_ALL_OUT1; //行输出高电平 RemoteGroup=0; RollingCode=0; ResetUserTimer(&Ke 阅读全文
posted @ 2023-07-11 15:17 steven_lg 阅读(179) 评论(0) 推荐(0)
摘要:采用分时复用的方法,定时置位行,检测列,确定按下的按键,输出不同的按键值。 void KbScanProcess(void) { //uint8_t Row=0; //按键所在行 //uint8_t Col=0; //按键所在列 //uint8_t RowCount=0; //按键触发行的个数,用于 阅读全文
posted @ 2023-07-11 15:03 steven_lg 阅读(59) 评论(0) 推荐(0)
摘要:1.发射端发出定义字节的数据。 case 8: //色温加 { if(step>5) { RemoteCmd[1]=0x6A; RemoteCmd[7]=0x80; KeyDownNoSendEn=0; //按键按下但不发送RF指令失能 KeyReleaseSendEn=0; UpdataKeyRe 阅读全文
posted @ 2023-07-11 14:52 steven_lg 阅读(87) 评论(0) 推荐(0)
摘要:1.闪烁流程的实现 void LightFlicker(void) //闪灯处理:清码对码 { if(Flicker) //有闪灯计数 { if(PwmAdjustmenting==0) //调节已经稳定 { PwmAdjustmenting=1; //处于不稳定态 if(tickstatus==0 阅读全文
posted @ 2023-07-10 11:30 steven_lg 阅读(172) 评论(0) 推荐(0)
摘要:对码原理:遥控器发出对码指令,灯具根据接收的指令,对比EEPROM存储的UID,一致则处理;未找到则,将当前第一个UID清除,并存储改UID到序列末尾。 清码原理:遥控器发送清码指令,灯具根据接收指令,对比EEPROM的UID,一致则返回UID组数据,并执行清码操作(清除EEPROM存储的UID); 阅读全文
posted @ 2023-07-10 11:15 steven_lg 阅读(901) 评论(0) 推荐(0)
摘要:原理:将要发送的数值进行和的累加,在数据帧最后2BYTE和数据一起发送出去。接收端先进行和累加,再提取最后2BYTE数据进行对比,确定数据的正确性。 效果:能有效去除RF2.4g因发射端不稳定,而引起的数据接收出错的问题,增加产品稳定性。 1.发射端处理 Checksum.uint16=0; for 阅读全文
posted @ 2023-07-10 10:59 steven_lg 阅读(221) 评论(0) 推荐(0)
摘要:1.程序初始化,设定RGB颜色比例。 PwmTarVal[0] = RPwm; PwmTarVal[1] = GPwm; PwmTarVal[2] = BPwm; 2.时序1ms程序渐变色效果,PWM输出程序。 for(i=0;i PwmCurVal[i]) { PwmCurVal[i]++; } 阅读全文
posted @ 2023-07-06 15:26 steven_lg 阅读(493) 评论(0) 推荐(0)