
想做一个单片机,会的朋友请帮助一下呗。谢谢了。
1.2.3.4个按个对应,千,百,十,个四个数码管,为了调数方便,然后调出来数做为延时的时间。比如,,我想延时,,125毫秒,把数数码管调125,,然后等待触发开关信号(...
1.2.3.4个按个对应,千,百,十,个四个数码管,为了调数方便,然后调出来数做为延时的时间。
比如,,我想延时,,125毫秒,把数数码管调 125,,然后等待触发开关信号(可以是微动开关,可以是光敏传感),触发后,延时125毫秒,继电器吸合。这就是一次工作。再触发开关,,延时,,继电器吸合。。希望延时能准些,(调成125后,延时是这个时间,调成250后,就是刚才的2倍。这样就行了。)。。不用125毫秒非要是125毫秒也成。 展开
比如,,我想延时,,125毫秒,把数数码管调 125,,然后等待触发开关信号(可以是微动开关,可以是光敏传感),触发后,延时125毫秒,继电器吸合。这就是一次工作。再触发开关,,延时,,继电器吸合。。希望延时能准些,(调成125后,延时是这个时间,调成250后,就是刚才的2倍。这样就行了。)。。不用125毫秒非要是125毫秒也成。 展开
3个回答
展开全部
这个实现起来很容易,给你说个思路供参考:
1.四个按键可以分别调整个十百千位,按键每按一次对应位变量在原有基础上加1,超过十清零,处理完后,更新一次显示。每个按键可以定义一个变量,如分别对应A,B,C,D。
2.每个变量对应十种情况即0,1,2,3,。。9,可以通过Case语句实现。
如 case 1:对应1的数码管显示程序,这个显示程序应该比比皆是,七段码,再简单不过了。
3.触发信号触发后,可以将4个按键的变量进行处理 D*1000+C*100+B*10+A ,结果作为调用延时函数的次数,如果想要准确的延时,可以将延时函数通过定时器实现,或者将 D*1000+C*100+B*10+A作为定时器的定时常数。
4.调试完工。
1.四个按键可以分别调整个十百千位,按键每按一次对应位变量在原有基础上加1,超过十清零,处理完后,更新一次显示。每个按键可以定义一个变量,如分别对应A,B,C,D。
2.每个变量对应十种情况即0,1,2,3,。。9,可以通过Case语句实现。
如 case 1:对应1的数码管显示程序,这个显示程序应该比比皆是,七段码,再简单不过了。
3.触发信号触发后,可以将4个按键的变量进行处理 D*1000+C*100+B*10+A ,结果作为调用延时函数的次数,如果想要准确的延时,可以将延时函数通过定时器实现,或者将 D*1000+C*100+B*10+A作为定时器的定时常数。
4.调试完工。
更多追问追答
追问
总算有明白人回复了,,谢谢你看懂我写的了。。我明白你说的,但是我不太会,,能不能给编一下,,谢谢了。。给金币的。。。
追答
对金币不感兴趣,只是闲着没事答答题。
不会才更应该自己动手去编,如果调试不通,可以帮你看看。这种事还是亲力亲为的好,要不就失去做的意义了,属于浪费时间了。本身代码就很简单,自己都不想动手,那以后难点的就更没戏了。
展开全部
void Delay125us() //@11.0592MHz
{
unsigned char i, j;
_nop_();
_nop_();
i = 2;
j = 84;
do
{
while (--j);
} while (--i);
}
{
unsigned char i, j;
_nop_();
_nop_();
i = 2;
j = 84;
do
{
while (--j);
} while (--i);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有单片机方面的课程视频,是否可以帮到你呢?
希望对你有用!
记得采纳呀!
希望对你有用!
记得采纳呀!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询