画了一个原理图,打算做个温控,18B20采样,LED显示档位比如红档40度,绿档30度,蓝档25度
#嘉立创PCB# #DIY设计#
#嘉立创PCB#
#DIY设计#
嘉立创PCB
全部评论 默认 最新
十月华笑 作者
2026-05-29 11:07:34 来自浙江
先点亮LED,用AI写了个代码:一次性成功 ,下星期把按钮功能先加进去。 // 工程:FT60F12X 流水灯 // 时钟:内部HIRC 8MHz,2T模式 // 硬件:SOP8封装,LED低电平点亮,PC5驱动P-MOS // 效果:蓝→绿→橙→红→白,每1秒切换一次 //********************************************************* #include "SYSCFG.h" #include "FT60F12X.h" //==================== 引脚定义 ==================== #define KEY_PIN PA4 // 3脚:按键(上拉输入) #define DS18B20_PIN PA5 // 2脚:温度传感器 #define MOS_PIN PC5 // 4脚:P-MOS驱动 #define LED_BLUE PA2 // 5脚:蓝灯 #define LED_GREEN PA1 // 6脚:绿灯 #define LED_RED PA0 // 7脚:红灯 //==================== 宏定义 ==================== #define DELAY_TIME 1000 // 延时1000ms #define ON 0 // LED低电平点亮 #define OFF 1 // LED高电平熄灭 //==================== 函数声明 ==================== void SYS_INIT(void); void IO_INIT(void); void DELAY_MS(unsigned int ms); void LED_ALL_OFF(void); //==================== 主函数 ==================== void main(void) { SYS_INIT(); // 系统时钟初始化 IO_INIT(); // IO端口初始化 while(1) { // 1. 蓝色 LED_ALL_OFF(); LED_BLUE = ON; DELAY_MS(DELAY_TIME); // 2. 绿色 LED_ALL_OFF(); LED_GREEN = ON; DELAY_MS(DELAY_TIME); // 3. 橙色(红+绿) LED_ALL_OFF(); LED_RED = ON; LED_GREEN = ON; DELAY_MS(DELAY_TIME); // 4. 红色 LED_ALL_OFF(); LED_RED = ON; DELAY_MS(DELAY_TIME); // 5. 白色(红+绿+蓝) LED_ALL_OFF(); LED_RED = ON; LED_GREEN = ON; LED_BLUE = ON; DELAY_MS(DELAY_TIME); } } //==================== 系统初始化(8MHz/2T) ==================== void SYS_INIT(void) { // 配置内部高速时钟8MHz,2T指令模式 OSCCON = 0B01100001; // IRCF=110(8MHz),SCS=1(内部时钟) MSCON = 0B00110000; // 默认配置 GIE = 0; // 关闭全局中断 } //==================== IO初始化 ==================== void IO_INIT(void) { // 所有LED先熄灭 LED_BLUE = OFF; LED
十月华笑 作者
2026-05-29 08:11:24 来自浙江
不会单片机编程,准备用AI写代码
十月华笑 作者
2026-05-28 16:57:40 来自浙江
比如温度到了40度就停止加热,不到40度就开启加热。
已折叠部分评论 展开
没有更多啦~