发 帖  
原厂入驻New
[问答]

求大神指教:STC单片机矩阵点亮小灯

1097 STC单片机 单片机
分享
#include<stc15.h>
sbit LED2=P0^7;
void delay(char i)
        while(i--);        
void main()
P0=P0M0;
P1=P0M0;
P2=P0M0;
P3=P0M0;
P4=P0M0;
P5=P0M0;

P5=(P5&0x0c)|(temp>>2);
                   temp!=0x0f;
                   {
                   if(temp!=0x0f)
                   switch(temp)
                                case(0X0b):        u=1;break;
                                case(0X0e):        u=3;break;
                        //测试
                        switch(temp)
                                case(0X70):        u=u;break;
                                case(0Xd0): u=u+8;break;
                        }
                        {
                                a++;
                }
        while(1)
        switch(u)
        case(0):led1=1;break;
        case(2):led1=1;break;
        case(4):led1=1;break;
        case(6):led1=1;break;
        case(8):led1=1;break;
        case(10):led1=1;break;
        case(12):led1=1;break;
        case(14):led1=1;break;
        }
}



0
奖励5积分
2020-12-1 00:22:59   评论 分享淘帖 邀请回答
5个回答
while(1)都没大括号啊
2020-12-1 08:57:00 评论

举报

先说这个程序能通过编译不报错吗
2020-12-1 09:39:02 评论

举报

不好意思了 = =发出来系统吞了一半= = #include<stc15.h>
sbit led1=P0^6;
sbit led2=P0^7;
#define uchar unsigned char        ;
void delay(char i)
{
        while(i--);       
}
void main()
{         char temp,u,a=0;
P0=P0M0;        
P0=P0M1;
P1=P0M0;
P1=P0M1;
P2=P0M0;
P2=P0M1;
P3=P0M0;
P3=P0M1;
P4=P0M0;
P4=P0M1;
P5=P0M0;
P5=P0M1;

P2=(P0&0xc0)|(temp&0x03);
P5=(P5&0x0c)|(temp>>2);
P4=(P4&0xf0)|(temp>>4);
                   temp!=0x0f;
                   if(temp!=0x0f)
                   {
                   delay(1000);
                   if(temp!=0x0f)
                   {temp=0x0f;
                   switch(temp)
                   {case(0X07):        u=0;break;
                                case(0X0b):        u=1;break;
                                case(0X0d): u=2;break;
                                case(0X0e):        u=3;break;
                        }
                        temp=0XF0;
                        switch(temp)
                        {
                                case(0X70):        u=u;break;
                                case(0Xb0):        u=u+4;break;
                                case(0Xd0): u=u+8;break;
                                case(0Xe0):        u=u+12;break;
                        }
                        while((a<50)&&(temp!=0xf0))         
                        {
                                delay(1000);
                                a++;
                        }
                }
        }
        while(1)
        {
        switch(u)
        {
        case(0):led1=1;break;
        case(1):led2=1;break;
        case(2):led1=1;break;
        case(3):led2=1;break;
        case(4):led1=1;break;
        case(5):led2=1;break;
        case(6):led1=1;break;
        case(7):led2=1;break;
        case(8):led1=1;break;
        case(9):led2=1;break;
        case(10):led1=1;break;
        case(11):led2=1;break;
        case(12):led1=1;break;
        case(13):led2=1;break;
        case(14):led1=1;break;
        case(15):led2=1;break;
        }
        }
}
2020-12-1 10:30:26 5 评论

举报

5 条评论
  • 2020-12-1 10:40

    这个程序走起来有什么问题吗

    葛明 回复 阿信509: 2020-12-1 11:19

    能生成.HEX文件 也没有检查出什么错误 就是按键没有效果LED灯不亮  想询问一下是哪里有问题吗(换一个LED闪烁的程序试过了LED灯好使) 还是说我的几个引脚 P2627P5253P44P45P46P47像文件里这样写一起不对啊

    葛明 回复 阿信509: 2020-12-1 11:20

    大哥能看出来哪里有问题吗求指教了 = =萌新选手一枚

    阿信509 回复 葛明: 2020-12-2 15:04

    问题好多我就不一一列举了,有个方法,你可以从最简单的功能开始,比如说你可以先点亮任一个灯开始,逐步进取

    葛明 回复 阿信509: 2020-12-3 17:58

    点亮一个灯?不会我编什么44矩阵进去啊 我这是要尝试矩阵编译有没有问题你跟我说点亮小灯干嘛 = =

程序结构问题,会只运行最后一个while,具体效果看进入最后一个while时u的值是多少,然后就没变化了
2020-12-1 11:17:43 1 评论

举报

1 条评论
  • 2020-12-1 11:33

    while 循环结构里面我加入了break不是可以跳出循环吗 刚刚尝试吧while 删了就留了switch结构还是没效果= =大哥有什么解决办法就是可以让44矩阵按键能点亮LED吗

跳出以后就不知道程序在干什么了
2020-12-3 13:33:49 1 评论

举报

1 条评论

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表