单片机C语言编程

我现在有两个程序,一个是温度测量的,一个是步进电机的,他们的主程序段中都使用了定时器,他们的定时器初值不同,但是我现在需要写个用温度控制步进电机的程序,怎么将两个程序融合... 我现在有两个程序,一个是温度测量的,一个是步进电机的,他们的主程序段中都使用了定时器,他们的定时器初值不同,但是我现在需要写个用温度控制步进电机的程序,怎么将两个程序融合到一起比较合适
现在的问题是一个定时器用于18b20测温,一个用于步进电机的转动,可是我还需要一个定时器来控制数码管的显示,怎么搞?支个招。。。
展开
 我来答
songsheping
2011-02-12 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:130万
展开全部
使用两个定时器或一个定时器中使用两个计数都能满足你的要求。
建议使用一个定时器和一个计数器即可,如计数器为i,则
if(i%测温定时==0)
温度测量();
if(i%步进电机定时==0)
步进电机控制();
注:此时要求两个控制模块的定时步长是一致,比如都是1ms
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a105865094
2011-02-17 · TA获得超过240个赞
知道小有建树答主
回答量:571
采纳率:100%
帮助的人:248万
展开全部
数码管显示程序放在18b20的那个定时器或电机的那个定时器么
像下面的程序一样,数码管显示,已经该时间时相应的数码管闪烁都用了同一个定时器
要是C51系列的单片机你程序发来看能不能给你整合下我邮箱105865094@qq.com

void timer0(void)interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
temp++;
if(key.index1)//被选择的时间闪烁
{
shan++;
if(shan==30) flag&=~(1<<(key.index1+1));
if(shan==60){flag=flag|(1<<(key.index1+1));shan=0;}
}
if(temp==10)
{
temp=0;
tmiao++;
if(press)tmiao--;
if(tmiao==10)
{
tmiao=0;
miao++;
if(miao==60)
{
fen++;miao=0;
if(fen==60)
{
shi++;fen=0;
if(shi==100)shi=0;
}
}
}
}
P3=tmiao;
switch(tt)
{
case 0:if(flag_miao){dis_shuma(5,miao%10);}tt=1;break;
case 1:if(flag_miao){dis_shuma(4,miao/10);}tt=2;break;
case 2:if(flag_fen){dis_shuma(3,fen%10);}tt=3;break;
case 3:if(flag_fen){dis_shuma(2,fen/10);}tt=4;break;
case 4:if(flag_shi){dis_shuma(1,shi%10);}tt=5;break;
case 5:if(flag_shi){dis_shuma(0,shi/10);}tt=0;break;
default:break;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tangnaner
2011-02-14 · 超过26用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:82万
展开全部
最简单的方法:52有三个定时器,多个定时器2
还有一种方法是定时器复用,减小定时器初值,设两个不同变量自加,分别控制测温和数码管的显示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mingfengm
2011-02-12 · 超过19用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:45.1万
展开全部
用同一个定时器, 加两个时间计数器来计数, 当计数满足要求时控制温度或者步进电机.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xtkjli
2011-02-14
知道答主
回答量:14
采纳率:0%
帮助的人:0
展开全部
请问你的单片机还需要与其它设备(如,上位机)进行串行通信吗?如果不需要选用52系列的单片机就可以满足了(T0、T1、T2三个定时器)。
或者DS18B20不用定时器(不用串口),用普通I/O(如,P1.0)口编程,控制DS18B20、读取数据,可以省出1个定时器,用51系列单片机可以满足。我经常这样用的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式