单片机怎么定时一小时,谢谢

供稿:hz-xin.com     日期:2025-01-14
请帮忙写一段程序,单片机定时器如何定时1小时后停5S又接着定时1小时?

#include
#define uchar unsigned char
#define uint unsigned int
void TI2_way0(uint numerical);//定时器2 16位定时计数 numerical 定时计数数值 传统方式
void TI2_way1(uint numerical);//定时器2 16位自动重装定时计数 numerical 定时计数数值
void TI2_RUNset(bit state,way,control);//计数器/定时器2 运行与设置函数
/*定时器2相关函数开始*/
void TI2_way0(uint numerical) //定时器2 numerical 定时计数数值
{
numerical=(65536-numerical); //计算出定时值
TH2=(numerical/256); //定时器2的高8位计数值
TL2=(numerical%256); //定时器2的低8位计数
}
/*定时器2 16位自动重装定时计数 numerical 定时计数数值*/
void TI2_way1(uint numerical)//定时器2 16位自动重装定时计数 numerical 定时计数数值
{
//numerical=(65536-numerical); //计算出定时值
TH2=RCAP2H=(numerical/256); //定时器2的高8位计数值
TL2=RCAP2L=(numerical%256); //定时器2的低8位计数
}
/*
计数器/定时器2 运行与设置函数
state 0关闭定时计数器2 1启动定时计数器2
way 0定时器模式 1计数器模式
control 0:16位自动重装定时器计数器 1:16位捕获
*/
void TI2_RUNset(bit state,way,control)//计数器/定时器2 运行与设置函数
{
//IPH=PT2H; //定时器2中断优先级控制高位
RCLK=0;//接收时钟标志,0:使用定时器1作为串口接收发生器 1:使用定时器2作为串口接收发生器
TCLK=0;//发送时钟标志,0:使用定时器1作为串口发送发生器 1:使用定时器2作为串口发送发生器
switch(control) //启动方式选择
{
case 0x00:CP_RL2=0;EXEN2=0;break; // 0:16位自动重装定时器计数器
case 0x01:CP_RL2=1;EXEN2=1;break; // 1:16位捕获 捕获模式使能位
}
switch(way) //启动方式选择
{
case 0x00:C_T2=0;break; //定时器模式
case 0x01:C_T2=1;break; //计数器模式
}
TR2=state;//定时器2的启动控制位,1:启动定时器 0:停止定时器
ET2=1; //定时器2中断使能位
EA =1; //打开总中断
}
/*
void Timing_count2() interrupt 5 //引脚P10
{
TF2=0;//定时器2溢出标志,由硬件置1,必须由软件清0
EXF2=0;//定时器2的外部标志,由硬件置1,必须由软件清0

}
*/

这个很容易的。比如你的时钟频率f = 1MHz,计数器为16bit
1h = 60*60 = 3600s,而一个周期为1us
那么你要计数为3600*10^6us = 50000*1200*6000
那么你可以定义两个int型变量,分别为cnt1,cnt2
计数器设定计数值为50000,每次进入中断以后,cnt1+1
如果cnt1 = 6000,cnt2 + 1
直到cnt2 = 1200即可。

很容易做到啊,如用单片机自身的定时器定时50毫秒,记20次得1秒,再记3600次,就得一个小时了。不过用单片机自身的定时器的话,可能会有所偏差,而且偏差累积会越来越大。
所以可以用专门的实时时钟来做,如DS1302,读里面的时分秒数据就可以了,一般偏差不会很大。在开始计时的时候,保存当前的时间,时间相差为1个小时的时候,报警就可以了。

单片机怎么定时一小时,谢谢
很容易做到啊,如用单片机自身的定时器定时50毫秒,记20次得1秒,再记3600次,就得一个小时了。不过用单片机自身的定时器的话,可能会有所偏差,而且偏差累积会越来越大。所以可以用专门的实时时钟来做,如DS1302,读里面的时分秒数据就可以了,一般偏差不会很大。在开始计时的时候,保存当前的时间,时...

电脑怎样设置一小时后关机电脑定时关机命令怎么设置
1、界面左下角搜索栏搜索“控制面板”,打开“控制面板”2、然后点击控制面板里的“管理工具”② 怎么设置电脑在1个小时或2个小时后自动关机 Windows XP的关机是由Shutdown.exe程序来控制的,位于Windows\\System32文件夹中。如 果想让Windows 2000也实现同样的效果,可以把Shutdown.exe复制到系统目录下。

怎么样让电脑每周一至周五定时关机1个小时的的命令 谢谢啦
要定时关机一小时,要重启只有用软件了。要用命令关机的话这个命令可以 at 14:00 Shutdown -s 14:00 是你要关机的时间。用DOS命令只能做到重启,或关机。 要关机后过一段时候再重启可能做不到。

尼康单反相机如何定时拍。
1、首先打开相机的照片拍摄菜单,找到“间隔拍摄”。2、然后在该节目中,点击打开“开始选项”。3、设置开始的时间,可以设置几分钟,几小时,甚至哪天哪个时间开始。4、然后回到前一页,选择打开“间隔时间”。5、隔多长时间拍摄一张,比如下图所示是间隔10分钟拍摄一张,这样就完成了。

电脑怎么定时关机
详情请查看视频回答

定时开关控制器怎么设置
1、先按取消键,恢复按钮,并解锁屏幕。2、按分按钮,可以进行定时开关的分钟数值调整,再按下星期按钮,调整好每周定时区间。3、选择自动模式,操作成功后,定时也设定好了。定制开关的种类众多,有的开关还可以通过蓝牙连接手机进行调整时间等,具体的操作方法步骤,大家可参考产品说明书。

惠普电脑设置自动关机惠普电脑如何定时关机
您好,感谢您选择惠普产品。电脑设置自动关机,和操作系统有关与电脑型号无关,一般可通过 shutdown命令操作。如: 点击开始--运行 输入 shutdown -s -t 3600 ,就是一小时之后自动关机。希望以上回复能够对您有所帮助。Ⅱ 惠普笔记本怎样设置时间设定关闭电脑 设置电脑的定时自动关机,方法很多,...

定时插座怎么设置时间
为一台饮水机设置周一到周五早8点到11点和周一到周五下午13点到17点的2个时间段开启步骤:★、校对现在的时刻,同时按下“时钟”和“小时”即可调整时钟的小时显示,按一次增加一小时,长按可快速调整,采用同样的方法,可以设置当前的星期,分钟。★、首先连续按“模式”键,将工作模式由“关”切换到...

电脑自动关机是怎么设置了!
1、界面左下角搜索栏搜索“控制面板”,打开“控制面板”2、然后点击控制面板里的“管理工具”3、在管理工具里点击“计划任务程序”4、先点击下任务计划程序库,然后在中间的空白位置点击右键,选择“创建基本任务”,也可以点击右边的“创建基本任务”5、给定时关机的任务取个名字,如“定时关机”,然后...

如何给电脑设定定时开关机!
可以在任务计划程序中设置,设置自动开机:1、鼠标右键单击此电脑,选择管理,进入页面。2、展开系统工具,点击任务计划程序,在右边点击创建基本任务。3、弹出窗口,在页面中输入名称和描述,下一步,在触发器中选择时间点,下一步。4、选择开始时间,每隔天数,下一步,点击启动程序,下一步。5、在程序...