‘壹’ 求一个 单片机控制电源定时开启、关闭的程序 时间是早上6点 晚上12点
你这个就是一个时钟的问题吗。很简单的啊。只要设计好初始值就可以了。
就是一个定时器的问题的。比如说你设计是100MS一次中断的。那么中断10次就是1S的。那么你就可以设计一些参数值的,用来计算当前的时间的,当参数值到达6点或12点的时候就可以通断开关的。就这样简单的。
‘贰’ 单片机 电池供电
单片机工作电压一般为:5.5v-3.4v(5v单片机),3.8v-2.0v(3v单片机)
你可以选择用电池盒三节大容量AA电池,或者1节5v电池,如果长期供电最好用开关电源(可以购买也可以自己做)。
你主要是用来做什么的呢?
单片机还有一种掉电模式:功耗极低<0.1uA,可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等,你看看你的工作环境适不适合这种模式,具体设置请参见手册。
市场上很容易买到2300mAh的AA电池你买三节3*1.5=4.5V,2300*3/3/24=95.8,算起来也能用两三个月呢...可以考虑一下
还有就是市场上那种便携式的铅蓄电池,也很容易买到,容量也不错
‘叁’ stc12c5a60s2单片机怎样编规定时间里的通断电假设每天晚上十二点断电早上
数据不丢失,在断电前写入内部EEPROM。单片机可以控制断电,但断电后单片机也无法工作了,所以无法控制通电。
‘肆’ 五一单片机控制12864液晶背光的问题。
如果不带PWM也可以用电位器,直接接在原来接p1.4的那条线,去掉三极管和电阻,直接用电位器提供调节。(其实你完全可以为了PWM而换单片机,换完了是一劳永逸,以后还多了ADC可以自动调节背光,可以唱出美妙的音乐,而不再是用方波输出的难听的音乐了)
如果单片机是带PWM的话就好办了,AT89S51当然不带,但是STC12C5A60S2就完全可以带替他,他是51系列单片机拓展型。(PWM不知道可以问我,完整程序我也有)
这样可以通过PWM来控制背光亮度(相当于能让单片机输出模拟信号,而不再只有高低两种电平)编程如下(在利用光敏电阻判断是否到晚上了,主程序就自己编吧):
sbitLED=P1^4;//液晶屏背光定义(PWM控制,不能更改)
/*********************************************************************************************
函数名:PWM初始化函数(控制背光亮度)
调用:PWM_init();
参数:无
返回值:无
结果:将PCA初始化为PWM模式,初始占空比为0
备注:需要更多路PWM输出直接插入CCAPnH和CCAPnL即可
/**********************************************************************************************/
voidPWM_init(void){
CMOD=0x02;//设置PCA定时器
CL=0x00;
CH=0x00;
CCAPM1=0x42;//PWM1设置PCA工作方式为PWM方式(使用时删除//)
CCAP1L=0x00;//设置PWM1初始值与CCAP0H相同
CCAP1H=0x00;//PWM1初始时为0
CR=1;//启动PCA定时器
}
/**********************************************************************************************/
/*********************************************************************************************
函数名:PWM1占空比设置函数(控制背光亮度)
调用:PWM1_set();
参数:0x00~0xFF(亦可用0~255)
返回值:无
结果:设置PWM模式占空比,为0时全部高电平,为1时全部低电平
备注:如果需要PWM1的设置函数,只要把CCAP0L和CCAP0H中的0改为1即可
/**********************************************************************************************/
voidPWM1_set(unsignedchara){
CCAP1L=a;//设置值直接写入CCAP0L
CCAP1H=a;//设置值直接写入CCAP0H
}
/**********************************************************************************************/
/*********************************************************************************************
函数名:8位A/D转换初始化
调用:Read_init(?);
参数:输入的端口(00000XXX其中XXX是设置输入端口号,可用十进制0~7表示,0表示P1.0,7表示P1.7)
返回值:无
结果:
备注:适用于STC12C5A60S2单片机
/**********************************************************************************************/
voidRead_init(unsignedcharCHA){
unsignedcharAD_FIN=0;//存储A/D转换标志
CHA&=0x07;//选择ADC的8个接口中的一个(00000111清0高5位)
ADC_CONTR=0x40;//ADC转换的速度(0XX00000其中XX控制速度,请根据数据手册设置)
_nop_();
ADC_CONTR|=CHA;//选择A/D当前通道
_nop_();
ADC_CONTR|=0x80;//启动A/D电源
DELAY_MS(1);//使输入电压达到稳定(1ms即可)
}
/*********************************************************************************************
函数名:8位A/D转换函数(采集光敏电阻数据)
调用:?=Read();
参数:无
返回值:8位的ADC数据
结果:读出指定ADC接口的A/D转换值,并返回数值
备注:适用于STC12C5A60S2单片机
/**********************************************************************************************/
unsignedcharRead(void){
unsignedcharAD_FIN=0;//存储A/D转换标志
ADC_CONTR|=0x08;//启动A/D转换(00001000令ADCS=1)
_nop_();
_nop_();
_nop_();
_nop_();
while(AD_FIN==0){//等待A/D转换结束
AD_FIN=(ADC_CONTR&0x10);//00010000测试A/D转换结束否
}
ADC_CONTR&=0xE7;//11110111清ADC_FLAG位,关闭A/D转换,
return(ADC_RES);//返回A/D转换结果(8位)
}
/**********************************************************************************************/
/*********************************************************************************************
函数名:自动背光检测程序
调用:AUTO_B();
参数:无
返回值:无
结果:检测环境光并控制背光亮度
备注:
/**********************************************************************************************/
voidAUTO_B(void){//
unsignedchard;
d=Read();
if(read_clock(0xc1)==1){//检查自动调光开关
if(d>0xD0){//
PWM1_set(1);//
}else{
PWM1_set(read_clock(0xc5)*0x1C);//
}
}
}
/*****************************************************************************/
‘伍’ 求一AT89C51单片机声光控灯程序,白天单片机休眠,无论有无声音灯都不亮,晚上有声音时灯亮30秒后熄灭
你这个需要一个光线传感器,或者你直接就定义时间算了,不过时间的话就很死,没有传感器灵活。然后你做一个循环,判断传感器是否有输入,如果有则判断声音传感器是否有输入,有的话就亮灯30S,之后熄灭。
‘陆’ 单片机控制任务比如电源开关晚上关闭白天开启,一定要保持单片机运行吗可以休眠一样吗
可以的,很多单片机可以再保持休眠的状态下面,
然后由外部的事件进行触发恢复任务的运行,执行任务之后又可以自动休眠
这样耗电量很低提交回答
‘柒’ 单片机交通灯白天和夜间两种模式怎么自动切换
白天与夜间可用PLC内部时间自动切换(一般需定期校正内部时间),紧急、检修用三段选择开关两个输入点切换比较方便,不知道你是不是想问这些。
‘捌’ 如何用C语言编写让单片机在规定时间自动进入工作状态啊
只能说给你点思路,我没有用过红外传感器,你的这个设计要抓住思路,自己写个程序框图,温度采集方面用红外传感器,温度采集到了放在哪??因为我们要用,所以这里建一个数组存放温度,其次我们是在晚上11点自动开启温度测量,这里还需要一个时钟芯片来记时的,时钟芯片我就用过DS1302,同样读到的时间我们要用一个数组去记录它,还要写一个功能函数就是判断时间是不是到十一点了,如果到了开启温度测量(就是一个if语句时间到了,时能温度芯片开始测量),至于每过五分钟测量一个人体温度用中断延迟随便你,这个你应该自己可以解决,建议用中断,因为测量温度的同事还要判断人体温度是否下降等问题,好这个函数基本是主要控制的,体温下降还要去控制开关定时器关闭。好好做这个东西不难,而且网上很多资料,加油。。
‘玖’ 单片机如何实现声音白天响黑夜不响
安装智能声控开关。
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/0口和中断系统。
定时器或计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A、D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
采用串行A、D对声音信号的采集,可以通过软件来调节对声音的灵敏度。单片机软件实施对光度的判断,使开关在白天时即使有声音也不工作,在晚上闻声自亮。
‘拾’ 我买了个51单片机开发板,做了个很简单的时钟,如果我让它晚上运行7-8小时,有没有问题长时间工作会坏吗
不会坏的。常年开着都没事