如何用3个按键控制流水灯方向和流速同时使用数码管显示当前时间间隔?

有3个按键,一个控制流水灯速度增,一个控制流水灯速度减,一个控制流水方向流水灯有5种时间间隔,分别是0.1s,0.5s,1s,1.5s,2s。用数码管实时显示当前的速度间... 有3个按键,一个控制流水灯速度增,一个控制流水灯速度减,一个控制流水方向
流水灯有5种时间间隔,分别是0.1s,0.5s,1s,1.5s,2s。
用数码管实时显示当前的速度间隔

求哪位好心人帮帮我,给我一个c语言程序,我才初学51单片机。。。就接到这样一个课题。。
展开
 我来答
sayholy
推荐于2016-10-31 · TA获得超过482个赞
知道小有建树答主
回答量:80
采纳率:0%
帮助的人:55.8万
展开全部
有这么好的动手机会,就自己做吧。对以后非常有用(过来人的建议。)。
分享下我思路:
1、将你控制用的单片机datasheet下载下来,不用全看,挑需要的看,其他的以后研究。
2、这个项目只是控制单片机的流水灯而已,由于你未提供原理图,我就假设一个IO口控制一盏灯,程序设计流程如下:
初始化单片机(设置定时器的定时时间为0.1s,控制灯,数码管的IO口设置为输出模式,检测按键的IO口设置为输入模式)
-----> 写三个函数模块(按键检测函数模块keyscan(char times);,流水灯控制模块LED_Ctrl(char times,char direction)(times为间隔时间,dir为流水灯方向);间隔时间显示函数Display(););
-----> 在定时中断函数里分别设置0.1s,0.5s,1s,1.5s,2s的中断标志(即在里面计数,进中断1次,5次,10次,15次,20次。);
-----> 主循环重复跑这几个函数模块
以下为伪代码:
int main(void)
{
Initialize();

while(1)
{

keyscan();
Display(times);
LED_Ctrl(times, dir);//times在keyscan()函数里更改.

}

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式