登录
首页
单片机论坛
回帖
发帖
正文
主题:请教如何重复利用定时器T0 T1控制不同的定时时间?
点击:1490 回复:9
楼主
编辑
引用
管理
moxindianqi
D1 D2 D3 D4共4个时间,我要循环走这4个时间,比如D1定时300秒,D2定时20秒,D3定时100秒,D4定时50秒,这个4个时间也是要可以设置的,而且循环的次数也可以设定.那位师傅帮我指点一下,谢谢帮忙!
09-09-06 23:21
1楼
编辑
引用
管理
moxindianqi
这4个时间根据需要,要求可以改变设置的.
09-09-06 23:23
2楼
编辑
引用
管理
赵细顺
D1,D2,D3,D4时间可以设置。
用触摸屏来做,很简单。
09-09-07 07:40
3楼
编辑
引用
管理
甘陵至尊
在中断里面判断控制位,比如20H.0为0,就执行第一段时间,20H.1为0就执行第二段时间,
09-09-07 08:16
4楼
编辑
引用
管理
lwcccf
可能设置你就在屏上做个输入域,其他的逻辑在程序里做好.
09-09-07 08:40
5楼
编辑
引用
管理
fumz78
是PLC做的吗?
如果是
人机改时间,次数也通过人机实现,循环功能通过自已的程序实现
最后修改:
2009-9-7 8:50:40
09-09-07 08:49
6楼
编辑
引用
管理
moxindianqi
谢谢各位,
甘陵至尊你好,我用C语言,汇编还不懂哦,谢谢你的提示.
fumz78你好,是用单片机.
09-09-07 10:16
7楼
编辑
引用
管理
yyddyym
你说不是很清楚,但我尽按我理解你的意思写的,你要是用按键改变参数的话,加个按键程骗序就是了,写得不好,希望大家不要见笑,程序如下
/***************把这个放中断里*******************************************************/
if(k1)
{
t++;
if(t==num_d)
{
t=0;
bit_d=1;
}
}
/***********************************************************************************/
/***********下面为D1-D4走时*********************************************************/
if(num<4) //这里改变MUM值就可以改变循环次数
{
switch(temp)
{
case 0:
num_d=d1; //若中断为10MS D1=30000,为300秒。更改D1-D4的值可以改变时间
k1=1;
if(bit_d)
{
bit_d=0;
k1=0;
temp=1;
}
break;
case 1:
num_d=d2;
k1=1;
if(bit_d)
{
bit_d=0;
k1=0;
temp=2;
}
break;
case 2:
num_d=d3;
k1=1;
if(bit_d)
{
bit_d=0;
k1=0;
temp=3;
}
break;
case 3:
num_d=d4;
k1=1;
if(bit_d)
{
bit_d=0;
k1=0;
temp=0;
num++; //走到D4循环次数加一
}
break;
}
}
09-09-08 01:12
8楼
编辑
引用
管理
moxindianqi
谢谢yyddyym,你的提示真好,按照你的思路我去做一下看.谢谢你!
09-09-08 08:26
9楼
编辑
引用
管理
lixiaobai
应该要用到变址寄存器的吧
09-09-08 19:50
工控新闻
智控未来!华北工控PPC-3312QL工业平板电脑,支持楼宇智能中控平台集成
布局AI视觉应用!华北工控推出多网口工控机BIS-6960I-A12TW-24V
2025年中国机械工程学会机械传动分会年会在长春举办
2025年7月份规模以上工业增加值增长5.7%
施耐德电气中压变频器护航水务“生命线”与“发展线”
埃夫特3414万元芜湖拿地建机器人超级工厂
共创、合作、共赢!缅甸能源局及石化公司高层领导专家莅临和利时考察推进项目合作
资料下载 | ABB HyQ产品组合助力制氢行业降本增效
更多新闻资讯