找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1158|回复: 3
打印 上一主题 下一主题
收起左侧

大佬们按键中断求帮助

[复制链接]
跳转到指定楼层
楼主
ID:1050622 发表于 2022-12-25 15:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <REGX52.H>

sbit key1 = P2^4;
sbit key2 = P2^5;
sbit key3 = P2^6;
sbit key4 = P2^7;
unsigned char sz[]={0x10,0x00,0x78,0x02,0x12,0x19,0x30,0x24,0x79,0x40};//数码管值
void Timer0Init(void)                //1毫秒@12.000MHz
{
        TMOD &= 0xF0;                //设置定时器模式
        TMOD |= 0x01;                //设置定时器模式
        TL0 = 0x30;                //设置定时初值
        TH0 = 0xf8;                //设置定时初值
        TF0 = 0;                //清除TF0标志
        TR0 = 1;                //定时器0开始计时
        EA=1;                        //定时器总开关
        ET0=1;                        //定时器0开关
}
bit keydq = 1;//按键当前值
bit bc = 1;//保存前一次的值

void main()
{
       
        unsigned char i; //数值变化
        P2=0xfe;//矩阵按键选择P2.0低电平
        Timer0Init();
        while(1)
        {  
                if(key2==0)
                {
                        P0=0X55;
                }
                if(keydq != bc) //当前值与前一次不一样
                {
                       
                        if(bc == 0)
                        {
                                i++;       
                                if(i >= 9)
                                        {
                                                i=0;
                                        }
                                }
                }
                P1=sz[i];
                bc=keydq;
        }
}

void time0() interrupt 1
{
        unsigned char keybuf=0xff;
        P2=0XFE;
        TL0 = 0x30;                //设置定时初值
        TH0 = 0xf8;                //设置定时初值
        keybuf=(keybuf<<1) | key2;
        if(keybuf==0x00)
        {
                keydq=0;
        }       
        else if(keybuf==0xff)
        {
                keydq=1;
        }
        else
        {}
}

程序如上在main中将keydq换成key1则按键正常使用,求大佬帮看看哪里写的有问题

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1050622 发表于 2022-12-26 14:09 | 只看该作者
小白求求懂得大佬看看是哪里问题,2天来没搞懂
回复

使用道具 举报

板凳
ID:1052096 发表于 2023-4-27 20:25 | 只看该作者
宏定义的是key1
回复

使用道具 举报

地板
ID:18591 发表于 2024-2-2 09:52 | 只看该作者
非常好,谢谢楼主
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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