登录
首页
单片机论坛
回帖
发帖
正文
主题:请教如何重复利用定时器T0 T1控制不同的定时时间?
点击:1493 回复: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
工控新闻
中控技术与中煤信息签署AI共创合作协议,共启煤化工智能化新征程
西克即将亮相IAS工业自动化展,与您共创智能传感新未来
尼得科精密检测技术将参展electronica India 2025
华北工控| FW-1108HG:搭载海光3000系列处理器,适用于AI算力数据中心
国内首个“世界模型” 机器人系统在蓉诞生
服贸会创新首发,ABB三大成果构建电气设备生命周期服务新生态
施耐德电气发布新质服务行业生态联合宣言
尼得科将参展欧洲国际机床展览会(EMO2025)
更多新闻资讯