发新帖我要提问
12
返回列表
打印

89C52 流水灯

[复制链接]
楼主: maicon_lb
手机看帖
扫描二维码
随时随地手机跟帖
21
diy1997| | 2013-11-7 16:26 | 只看该作者 回帖奖励 |倒序浏览
你都说得那么清楚了,还叫没有思路?
刚学不要想一开始就能写精简高效的程序,就照你说的一步一步来写,最后调试修改这样就能积累经验了.

使用特权

评论回复
22
sunboy428| | 2013-11-7 16:54 | 只看该作者
maicon_lb 发表于 2013-11-6 23:04
高手都在忙,没人来看帖子,大家都是菜鸟来网上找解答,然后都没人答

其实我找到我要的答案了,只不过在自己想。

使用特权

评论回复
23
16777216| | 2013-11-7 17:07 | 只看该作者
学校作业吗  
自己做的话一步步来 像其他大神说的 分开拆解,感觉你基本的都不会,就想弄这么指定的要求。。。

个人感觉是课堂实验,,,,,,,应付一下的话就算了吧

使用特权

评论回复
24
飞鹰嵌入式| | 2013-11-7 17:10 | 只看该作者
**啊!

使用特权

评论回复
25
unciauncia| | 2013-11-7 17:25 | 只看该作者
77的回答就很不错啊,单片机的东西  这个要自己多试验才行

使用特权

评论回复
26
jing123710| | 2013-11-7 19:49 | 只看该作者
初学者 顶一个

使用特权

评论回复
27
jing123710| | 2013-11-7 19:50 | 只看该作者
其实 我比你还菜

使用特权

评论回复
28
jing123710| | 2013-11-7 19:50 | 只看该作者
23

使用特权

评论回复
29
liu6930892| | 2013-11-7 20:24 | 只看该作者
学习中

使用特权

评论回复
30
栋无止境| | 2013-11-7 21:43 | 只看该作者
找一下郭天祥的51单片机教程看看吧,最近我也在研究,

使用特权

评论回复
31
卧龙生| | 2013-11-7 21:54 | 只看该作者
这个问题,拙计

使用特权

评论回复
32
黄小俊| | 2013-11-7 22:51 | 只看该作者
写四个死循环,每个循环里是每一个状态。每个循环里都有键盘检测程序。,然后键盘检测的时候,四种不同状态进入四个死循环。那个需要保存状态的用个全局变量。。这种办法效率不高。。。这样明白了吗?

使用特权

评论回复
33
woosoo521| | 2013-11-7 22:57 | 只看该作者
祝楼主成功

使用特权

评论回复
34
zdcmac| | 2013-11-7 23:14 | 只看该作者
刚看了帖子写的,参考下,没有长按,长按我还没想出来
#include<reg51.h>
#include<intrins>

#define uint unsigned int

uint temp,number;

sbit key1=P1^1
sbit key2=P1^2

void delay(uint k);

void main()
{
        P0=0xf0;
        P1=0xff;
        while(1)
        {
                if(key1==0)
                {
                        delay(5);
                        if(key1==0)
                        {
                                temp=P0;
                                temp=_crol_(temp,1);
                                while(!key1);
                        }
                else
                {
                        temp=P0;
                        temp=_crol_(temp,1);
                }
                if(key2==0)
                {
                        delay(5);
                        if(key2==0)
                        {
                                temp=P0;
                                temp=_cror_(temp,1);
                                while(!key2);
                        }
                else
                {
                        temp=P0;
                        temp=_cror_(temp,1);
                }
                }
        }
}

使用特权

评论回复
35
zdcmac| | 2013-11-7 23:16 | 只看该作者
额,,,,
是 uint temp;不是uint temp,number;想用定时中断去写长按,还没想到

使用特权

评论回复
36
zdcmac| | 2013-11-8 10:21 | 只看该作者
上面那个是不行的,这问题不像是初学的。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则