松翰单片机SN程序

上传人:壹****1 文档编号:499364801 上传时间:2023-03-09 格式:DOCX 页数:19 大小:48.63KB
返回 下载 相关 举报
松翰单片机SN程序_第1页
第1页 / 共19页
松翰单片机SN程序_第2页
第2页 / 共19页
松翰单片机SN程序_第3页
第3页 / 共19页
松翰单片机SN程序_第4页
第4页 / 共19页
松翰单片机SN程序_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《松翰单片机SN程序》由会员分享,可在线阅读,更多相关《松翰单片机SN程序(19页珍藏版)》请在金锄头文库上搜索。

1、#define MAIN_GLOBAL#include .incconfig.h/ 主函数/void main(void)InitCPU();Ram_init();LED1_LEAVE_OFF();LED2_LEAVE_OFF();FGIE = 1;/ 开启中断 while(1) _clrwdt();_nop(); if(TimeFlag) TimeFlag=0;Time_Fun(); / 基准时间函数 / Red_Fun();/* / 继电器 负载输出函数/* void Work_scan(void)static uchar CaiDeng_Cnt = 0; if(Open_Flag & !

2、Error_Flag) M0T0R2_0N();/同步电机if(Heat_Leave = 1) if(Fan_0N_Flag & !YanShi_Cnt)YanShi_Cnt = 4; else if(!Fan_ON_Flag) FENG_M0T0R1_0N()风机Fan_ON_Flag = 1; if(YanShi_Cnt = 4) HEAT1_0N();Heat1_0N_Flag = 1;HEAT2_0FF();Heat2_0N_Flag = 0;else if(Heat_Leave = 2)if(Fan_0N_Flag & !YanShi_Cnt)YanShi_Cnt = 4; else

3、 if(!Fan_0N_Flag) FENG_M0T0R1_0N()风机Fan_0N_Flag = 1; if(YanShi_Cnt = 4) HEAT1_0N();Heat1_0N_Flag = 1; if(YanShi_Cnt = 8) HEAT2_0N();Heat2_0N_Flag = 1; else if(YanShi_Cnt = 60) Fan_0N_Flag = 0;FENG_M0T0R1_0FF(); HEAT1_OFF();Heat1_ON_Flag = 0;HEAT2_OFF();Heat2_ON_Flag = 0; if(CaiDeng_Leave = 1)LED_RED

4、 = 1; LED_GREEN = 0;LED_BLUE = 0;else if(CaiDeng_Leave = 2)LED_RED = 0; LED_GREEN = 1;LED_BLUE = 0;else if(CaiDeng_Leave = 3)LED_RED = 0; LED_GREEN = 0;LED_BLUE = 1;else if(CaiDeng_Leave = 4)LED_RED = 1; LED_GREEN = 1;LED_BLUE = 1;else if(CaiDeng_Leave = 5)if(!CaiDeng_Cnt)LED_RED = 1;LED_GREEN = 0;L

5、ED_BLUE = 0;else if(CaiDeng_Cnt = 30) LED_RED = 0;LED_GREEN = 1; LED_BLUE = 0;else if(CaiDeng_Cnt = 60)LED_RED = 0; LED_GREEN = 0; LED_BLUE = 1;else if(CaiDeng_Cnt = 90)LED_RED = 1; LED_GREEN = 1; LED_BLUE = 1;CaiDeng_Cnt ;if(CaiDeng_Cnt = 120)CaiDeng_Cnt = 0;elseLED_RED = 0;LED_GREEN = 0;LED_BLUE =

6、 0;elseM0T0R2_0FF();/同步电机 HEAT1_0FF(); 加热器 1 Heat1_0N_Flag = 0;HEAT2_0FF();/ 加热器 2Heat2_0N_Flag = 0;LED1_LEAVE_0FF();/2 档灯LED2_LEAVE_0FF();/1 档灯 LED_HU0YAN_0FF()火焰LED_RED = 0;LED_GREEN = 0;LED_BLUE = 0; if(YanShi_Cnt = 60 | Error_Flag) Fan_ON_Flag = 0;FENG_M0T0R1_0FF()关闭风机 /* 红外输入判断函数_MAIN_EXTERN uc

7、har Redn_C nt; 按键值_MAIN_EXTERN uchar Red_Data; 按键值 _MAIN_EXTERN uchar Old_Red_Data; 按键值 _MAIN_EXTERN uchar Red_ID;*/ void Red_Fun(void)/static uchar Red_Data_Bit_Cnt = 0;/TEST = !TEST;/if(Red_In_Cnt = 100) / /Red_ID = 0;/Red_Data = 0;/Red_Data_Bit_Cnt = 0;/Red_In_Cnt = 0;/if(!Red_ID)if(RED_IN)if(Red

8、_In_Cnt = 60&Red_In_Cnt = 26&Red_In_Cnt =3)Red_Data =10)Red_Data |= 1; Red_Data_Bit_Cnt ; if(Red_Data_Bit_Cnt = 8) if(Red_Data != _0100_0000b) RedRed_ID = 0;Red_Data_Bit_Cnt = 0;Data = 0;if(Red_Data_Bit_Cnt = 24)Red_Down_Flag = 1;Old_Red_Data= Red_Data;Red_ID = 0;Red_Data_Bit_Cnt = 0; Red_Data = 0;R

9、ed_In_Cnt = 0;/ / / /*/ 时基走时函数/void Time_Fun(void)static uchar Time5MS_Cnt = 0,Time10MS_Cnt = 0,Time100MS_Cnt = 0,Time500MS_Cnt = 0;static uchar T10S_Cnt = 0,T30min_Cnt;static uchar Buzz_ON_Cnt = 0,Error_Cnt = 0,PingDao_Cnt = 0; Time5MS_Cnt ;if(Time5MS_Cnt = 5) /5MS 时间基准Time5MS_Cnt = 0;/ AD_fun();Ti

10、me10MS_Cnt ;/if(Time10MS_Cnt = 10) /10MS 时间基准Time10MS_Cnt = 0;KeyFun();LedDisplay();if(Buzz_Flag)Buzz_ON_Cnt ; if(Buzz_ON_Cnt = 15) Buzz_ON_Cnt=0;Buzz_Flag = 0;Time100MS_Cnt ;if(Time100MS_Cnt = 100)/100MS 时间基准 Time100MS_Cnt = 0;Time500MS_Cnt ; if(Time500MS_Cnt = 5) Time500MS_Cnt = 0; if(YanShi_Cnt =

11、 20)/10ST10S_Cnt = 0; T30min_Cnt ; if(T30min_Cnt = 180)/180=30 分钟 T30min_Cnt = 0;YuYue_Time -; if(!YuYue_Time) Open_Flag = 0; Buzz_Flag = 1; Heat_Leave = 0; YanShi_Cnt = 0; HuoYan_Leave = 3; YuYue_Time = 0;Work_scan();/ if(!PINGDAO_IN)PingDao_Cnt ; if(PingDao_Cnt = 10) Error_Flag = 1;Open_Flag = 0; if(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号