完整源代码: int main(void) { //while(1);// InitAllUserRam(); SysTick_Config(12000); TimeBaseInit(); InitOther(); IOinit(); IICMnit(); ADC_init(); wdt_init(1); #if TYPEC_DAC_CTRL DAC_Init(); #endif//TYPEC_DAC_CTRL // UART_Init(UART0,208); // DelayMCUtimer(10); // printf("reset=%d\t\n",TYPEC.State); DelayMCUtimer(10); setsrcpower(TYPEC_OUT_PD_MAX_WATT); changesrcpdo(); CC_Rule_Cfg(ROLE_UFP); USBAGetOffset(); while(1) { clr_wdt(70000); switch(MainRun.State) { case STATEMAINRUN_RESET: SleepPrePutOnDevice(); MainRun.Timer = 0; POWER.ADCen = 1; MainRun.State = STATEMAINRUN_INIT; break; case STATEMAINRUN_INIT: //if(TimeOut(&MainRun.Timer, 30) == 1) { MainRun.Timer = 0; MainRun.State = STATEMAINRUN_LOOP; } break; case STATEMAINRUN_LOOP: KEY.Flag = KeyCheck(u8KeyData); Timer0EventHandler(); ADCEventHandler(); if(TRUE == CheckDpdm3Mode())//某些快充时序高,要减少其他模块的消耗。 ContractLoop(); //PD协议 I2CreadAndWriteCtrl(); LowBatCtrl(); TYPECctrl(); MICROctrl(); USBA1ctrl(); USBA2ctrl(); DPDM12_ctrl(); ChargeCtrl(); DischargeCtrl(); CapacityCtrl(); NTCctrl(); DisplayCtrl(); OtherFuncCtrl(); //TestAndDebug(); if(StateKeepONtime(((1) //&&(1 == u8KeyData) &&(!Charge.Flag) &&(!Discharge.Flag) //&&(!Display.Mode) ), &MainRun.Timer, 3000)) { POWER.ADCen = 0; IICwrite.WriteAllTrig = 1; MainRun.State = STATEMAINRUN_SLEEP_READY; } break; case STATEMAINRUN_SLEEP_READY: I2CreadAndWriteCtrl(); if(TimeOut(&MainRun.Timer, 50)) { MainRun.Timer = 0; MainRun.State = STATEMAINRUN_SLEEP_READY1; } break; case STATEMAINRUN_SLEEP_READY1: if(TimeOut(&MainRun.Timer, 10)) { MainRun.Timer = 0; MainRun.State = STATEMAINRUN_SLEEP; } break; case STATEMAINRUN_SLEEP: SleepPrePutOffDevice(); MainRun.State = STATEMAINRUN_RESET; bre
2021-11-22 15:46:46 1.65MB PD18-60W移动电源开发包
1
Upgrade to Oracle Database 12c 1Z0-060 exam认证题库
详情:https://blog.csdn.net/caocun_chao/article/details/119843124
2021-11-13 12:02:31 353KB 稳压电源 可调电源 恒流恒压 0-60V
阿里云-2021低碳科技白皮书-60页.pdf
2021-11-13 11:01:28 4.44MB 互联网报告 行业报告 研究报告
详情:https://blog.csdn.net/caocun_chao/article/details/119843124
2021-11-13 09:03:44 340KB 恒流恒压 稳压电源 可调电源 0-20A
2021低碳科技白皮书-60页.pdf
2021-11-12 19:01:48 4.44MB 行业报告
百度地图-2020年度中国城市交通报告
2021-10-14 12:01:47 14.58MB 百度地图城市交通
1
用友培训课件:U9V2.8组件化实施方案实例指导_GL-060外部凭证修改.ppt
2021-10-04 18:02:19 2.65MB
找人编写的51单片机范例-60s倒计时时钟,感觉适合初学者参考
2021-10-04 11:47:49 279B 51单片机范例-60s倒计时时钟
1
毕业论文-60W单体LED路灯状态监测与节能控制系统设计 摘要 本设计采用上位机与下位机相结合的模式实现对LED路灯状态的监测与节能控制。上位机通过串口与PC机连接。下位机有光信号采集模块,经AD转换传给单片机处理后由nRF24L01无线传输给上位机,上位机与PC端软件共同协作完成对LED路灯状态的监控与异常报警显示。单片机采用STC89C52,用光敏电阻采集光信号来判别明暗情况,结合AD转换控制路灯的亮灭,采用低价的nRF24L01无线传输模块收发命令,计时显示和报警显示都通过PC端软件来实现。 关键词:LED路灯;监控;单片机;无线传输 1绪论 1.1设计目的和背景 近年来光伏行业有回暖的势头,光伏组件制造技术日趋成熟,组件的光电转换效率达到了17.5%左右,所以光伏组件用于LED路灯将会成为主流配置。然而组件没有蓄电能力,还得依赖于蓄电池和控制器,所以节能又显得尤为重要。在城市,LED路灯在路灯市场上比较少。一方面,LED路灯在技术上尚不成熟,另一方面,LED路灯相对传统的路灯,在价格上处于劣势,政府在投资上偏于保守。当下人们都提倡环保节能,一系列节能产品层出不穷,照明节能也提上了议程,目前的照明节能发展潜力巨大,以LED为核心的照明产品能节能20%,如果按全国范围来统计,节约的电能相当可观,同时也保护了环境。本设计在技术上对LED路灯系统监控给予支持,通过对路灯的节能控制来对光伏组件应用于LED路灯经济性给予支持。 1.2设计所要实现的目标 本设计所要实现的目标是在经济实用的前提下采用2.4G无线发射接收模块来传输命令。安装在路灯端的单片机及其外设电路负责光线的采集和明暗的判断,判断结果通过AD转换后传给单片机处理,单片机结合无线模块发送高低电平指令,由上位机接收后单片机做出相应处理,将处理结果通过串口输送给PC端,PC端软件控制界面就会显示。如果LED温度过高发生,控制界面就会显示异常信息,并驱动电脑扬声器报警。PC端软件还负责路灯亮灭的定时以及路灯工作时温度显示。利用红外对管模块来达到依据交通实际环境,控制LED路灯的亮灭,节能的效果。 2关键设计方案的优选 2.1基于GSM网络模块的设计方案 2.1.1 GSM模块的性能优劣 首先GSM是最重要的电话通讯网络,覆盖范围也很广泛,使用领域层出不穷。因此GSM模块用于LED路灯监控在技术上是支持的。如果GSM模块用于LED路灯监控系统, 为从GSM收发的数据进行存取或发送配置外设,电路复杂。其次,GSM收发模块对信号有很多要求,比如收到信息后直接从串口弹出,这样比较容易丢信息,此外反复对卡进行读写似乎不太好。另一个大问题是GSM网络收发模块要搭配SIM卡,其一SIM卡有寿命限制,更频繁的通讯只能采用直接输出模式。其二工作稳定性依赖于GSM网络覆盖区的网络通畅度。在信号差的偏远地区,当对路灯进行收发命令控制时,发送的指令容易出错,造成控制系统的不稳定。 2.1.2 GSM模块的成本分析 GSM在价格上处于劣势,在在淘宝网上便宜一点的板子都要100元以上。加上SIM卡,通讯费用,外设抗干扰电路和外围电路,价格最少要200。显然对于大规模投入使用的LED路灯监控系统,其成本高,制作过程复杂,操作不简便,加之元件固有的老化和异常,稳定性也大打折扣。此外维护费用的增加降低了经济效益。 2.2基于nRF24L01无线发射接收模块的设计方案 2.2.1 nRF24L01无线模块的性能优劣 在本次实物制作中使用的nRF24L01无线收发模块在无线传输中应用的比较多。元件集成度高,体积小,可编程,必须要单片机发出的指令才能完成双向收发。但是它可以通过多种信道,而且能快速切换频点。收发一体化,减少外设电路,单发单收系统产品价格虽然低,但是无法避免同频干扰,nRF24L01无线收发能快速跳频,一般有几十个通道可以避开干扰。同时它不受SIM卡的局限