找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机交通灯调试的时候独立按键按下去没反应,其他正常 求各位前辈指教

查看数: 3930 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-2-1 17:20

正文摘要:

无按键按下时红灯和绿灯倒计时时间为30s,黄灯时间为5s,按键1有两种模式:第一种模式是改变宝田路时间,第二种模式(即再按一下按键1),改变前进路时间 按键2和按键3分别是在不同模式下时间加1和时间减1;按键4是 ...

回复

ID:213173 发表于 2019-2-4 08:48
lhblhb 发表于 2019-2-3 14:46
试过了还是不行,还是要感谢你,新春快乐

看了你的电路图,P2高4位还有其他用途,所以判断按键时不能随意改变P2状态。可以这样写:
void DULIANJIAN()                        //独立按键模块
{        
        u8 i;                                        //临时变量
        i=GPIO_TRAFFId;                        //读P2口赋值变量i
        i&=0x0f;                                 //高4位清0,保留低4位
        if(i!=0x0f)                                //判断有键按下
        {
                delay(100);                        //延时
                if(i!=0x0f)                        //确认有键按下
                {
                        switch(i)                //按键键位的确定
                        {
                                case(0x0e):key_can=1;break;
                                case(0x0d):key_can=2;break;
                                case(0x0b):key_can=3;break;
                                case(0x07):key_can=4;break;
                        }
                }
        }
}
ID:473748 发表于 2019-2-3 15:44
zhengchong60 发表于 2019-2-1 18:54
电路图也上上来看看,应该不难

这个是我仿照开发板的电路设计的,静态数码管,34位显示宝田路时间,78位显示前进路时间
ID:473748 发表于 2019-2-3 14:46
wulin 发表于 2019-2-1 20:20
void DULIANJIAN()               //独立按键模块
{        
        GPIO_TRAFFId=0x0f;                       ...

试过了还是不行,还是要感谢你,新春快乐
ID:213173 发表于 2019-2-1 20:20
void DULIANJIAN()               //独立按键模块
{        
        GPIO_TRAFFId=0x0f;                        //P2口
        if(GPIO_TRAFFId!=0x0f)                //判断按键
        {                                 
                delay(100); //延时
                if(GPIO_TRAFFId!=0x0f)
                {
                        switch(GPIO_TRAFFId)        //按键键位的确定
                        {
                                case(0x0e):key_can=1;break;
                                case(0x0d):key_can=2;break;
                                case(0x0b):key_can=3;break;
                                case(0x07):key_can=4;break;
                        }
                        while(!GPIO_TRAFFId);
                }
        }
}
ID:473186 发表于 2019-2-1 18:54
电路图也上上来看看,应该不难

评分

参与人数 3黑币 +57 收起 理由
shuisheng60 + 35
找人PK + 12
sheng7533967 + 10

查看全部评分

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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