24小时热门版块排行榜    

查看: 770  |  回复: 2

ban123456

新虫 (初入文坛)

[求助] 51单片机的问题 已有2人参与

小弟刚开始自学51单片机,自己把独立按键和静态数码管组合起来
想要实现,按一下,LED灯亮,再按一下,LED灯灭,数码管显示1,以此类推到3
可是,有的时候正常,有的时候按下复位键或重启电源,情况不是如此,按一次灯亮时数码管数字改变,这是为什么呢?谢谢大神帮助?


#include "reg52.h"

typedef unsigned int u16;
typedef unsigned char u8;

sbit k1=P3^1;
sbit led=P2^0;
sbit SLA=P2^2;
sbit SLB=P2^3;
sbit SLC=P2^4;

void delay(u16 i)
{
        while(i--);
}

void keypros()
{
        if (k1==0)
        {
                u8 a;
                delay(1000);
                if(k1==0)
                {
                        led=~led;
                }
                while(!k1);
                a=a+1;
        }       
}

u8 code smgduan[4]={0x3f,0x06,0x5b,0x4f};

void Digdisplay()
{
                u8 a;
                u8 b;
                u8 c;
                b=a%2;
            c=a/2;
       
                if (c<4&&b==0)
                {
                SLA=0;SLB=0;SLC=0;       
                P0=smgduan[c];
                }                               
}  

void main()
{
         u8 a;
         a=0;
         while(1)
         {          
          keypros();
          Digdisplay();
         }
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cdeda

至尊木虫 (知名作家)

【答案】应助回帖


感谢参与,应助指数 +1
ban123456: 金币+1 2020-04-01 21:14:37
你那个a都是局部变量,无法传递参数的哦
客观认识世界。
2楼2020-03-30 21:18:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

www1

银虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
ban123456: 金币+1 2020-04-01 21:15:03
没有初始化才是最麻烦的事情。要自己在main函数开始的时候写自己的端口和变量的初始化的代码,就不会有这个问题。
3楼2020-03-31 10:57:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ban123456 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料与化工(0856)304求B区调剂 +4 邱gl 2026-03-10 7/350 2026-03-10 21:22 by 英语大词典
[考研] 313分生物学求调剂 +5 Yyt杨1 2026-03-09 7/350 2026-03-10 18:58 by 清风月
[考研] 085600 材料与化工 295 求调剂 +8 dream…… 2026-03-10 8/400 2026-03-10 18:24 by ms629
[考研] 一志愿天津大学,英一数二305分求调剂,四六级已过 +7 小小番的茄 2026-03-09 7/350 2026-03-10 16:48 by ztnimte
[考研] 08工科 +5 li李乐成 2026-03-06 5/250 2026-03-10 14:51 by 在风落中
[考研] 一志愿:武汉理工,材料工程,英二数二 总分314 +3 2202020125 2026-03-10 4/200 2026-03-10 13:54 by xiongyaxuan
[考研] 求调剂 一志愿苏州大学,0856化工323分 | 本科应化 | 有专利/竞赛/科研助手经历 | +7 橙子cyx 2026-03-06 9/450 2026-03-10 12:03 by kiokin
[考研] 一志愿山东大学,总分327,英语二79,有论文,有竞赛,已过四六级 +3 木木目目1 2026-03-09 3/150 2026-03-09 19:52 by yuningshan
[考研] 一志愿南大化学339分求调剂,四六级已过,有比赛,有文章 +7 Gallantzhou 2026-03-07 7/350 2026-03-09 18:38 by 30660438
[考研] 337求调剂 +3 睡醒,。 2026-03-09 3/150 2026-03-09 10:02 by 求调剂zz
[考研] 297求调剂 +3 胡达灵 2026-03-05 5/250 2026-03-08 23:13 by 清风月
[考研] 理学287分求调剂 +4 看看我. 2026-03-05 4/200 2026-03-08 22:11 by qingfeng258
[教师之家] 交大前校长王树国:现在最先进的科技并不在大学实验室,而是在企业研究院 +4 zju2000 2026-03-08 6/300 2026-03-08 19:15 by zju2000
[考研] 304求调剂 +4 52hz~~ 2026-03-05 5/250 2026-03-07 15:47 by lature00
[考研] 268求调剂 +4 刘合华 2026-03-05 4/200 2026-03-06 11:18 by lature00
[考博] 2026申博自荐 六级440电催化方向 +4 樱落成影花成双 2026-03-05 4/200 2026-03-06 07:57 by L135790
[考研] 材料085601一志愿哈工大317 +4 压迫感行 2026-03-04 4/200 2026-03-05 20:08 by 黑衣馒头人
[考研] 材料调剂 +5 ws 上岸鸭 2026-03-05 5/250 2026-03-05 20:06 by houyaoxu
[考研] 求调剂,学校研究所都可以,材料与化工267分 +6 wmx1 2026-03-05 6/300 2026-03-05 20:01 by houyaoxu
[考研] 材料学硕080500复试调剂294 +3 四叶zjz 2026-03-04 3/150 2026-03-05 07:09 by kunm555
信息提示
请填处理意见