- 博客(7)
- 收藏
- 关注
原创 按键控制小风扇——PWM调档
通过按键改变直流电机小风扇的转速,转速分为:停止、低档、中档和高档,各档转速应差异明显,档位可循环切换,改变风扇转速的脉冲信号由。定义了一个名为 turn 的数组,包含4个元素,用于存储不同的PWM占空比值。配置了外部中断0和中断1的触发方式为边沿触发,并使能了外部中断。当外部中断0触发时,i 自增,并进行循环切换不同的PWM占空比。根据变量 i 的值,设置P0口的输出状态,实现LED的亮灭效果。定义了一系列特殊功能寄存器的地址宏,用于配置和控制PWM模块。定义了一个整数 i,用于选择不同的PWM占空比。
2023-10-26 23:12:24 1135
原创 通过串口指令实现对两枚WS2812B全彩LED的控制
使用 _rgb_buf_R、_rgb_buf_G 和 _rgb_buf_B 缓冲区来存储颜色数据,然后通过 Send_GRB() 函数发送到RGB设备。根据接收到的字符数据(temp_G、temp_R、temp_B)设置对应的颜色值(turn_G、turn_R、turn_B)。如果是接收中断(RI 标志位),将接收到的数据存储在 temp_data 数组中,并根据接收的数据进行相应的操作。RGB_Send0() 和 RGB_Send1():用于将数据发送到全彩LED,通过控制 WB 引脚实现。
2023-10-26 23:08:21 556
原创 基于STC8系列单片机对DS18B20和TM1650的电子温度计设计
实现了从DS18B20温度传感器读取温度数据,并在TM1650数码管上显示温度值。同时,还处理了DS18B20未响应的情况,以及负温度的显示。定义了不同精度的延时函数,如 Delay1us()、Delay5us()、Delay50us()、Delay240us() 和 Delay800ms()。根据读取到的温度数据,将温度数据以BCD码的形式写入TM1650LED数码管,实现温度显示。驱动的数码管模块实现温度检测和显示功能,温度显示含一位小数。
2023-09-28 13:57:27 1136
原创 综合流转灯
如果当前处于手动流转灯模式(mod_flag 等于0),则执行以下操作:设置 key_flag 为1,用于控制流转灯变换颜色。如果当前处于手动流转灯模式(mod_flag 等于0),则执行以下操作:当 key_flag 为1时,执行以下操作:使用 Delay200ms 函数实现200ms的延时,以控制颜色变换的速度。如果当前处于基础流转灯模式(mod_flag 等于1),则执行以下操作:控制LED灯流转,依次点亮三个LED,然后循环。当 led_bit 超过2时,将其重置为0,实现循环流转。
2023-09-28 13:43:56 435
原创 变速RGB流转灯
变速RGB流转灯 流转灯初始间隔为200mS,通过按键KEY2改变流转灯的间隔,每次按键间隔时间增加200mS;当间隔时间增加到1S后再次按键间隔时间恢复为初始值200mS
2023-09-28 13:40:02 433
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人