求助:电子密码锁的显示问题

2020-02-02 09:18发布

本人新手中的新手T T
现在想写一个电子密码锁的程序
要求:
1、用4*4矩阵键盘组成0~9数字键及确认和删除键
2、用8位数码管显示输入的密码及当前状态,当按下数字键0~9中任意一个键时,数码管靠左显示按下数字,再次按下按键时,数码管靠左第二位显示数字,依次类推
3、用一个独立的继电器,控制密码锁开关
请教各位前辈们,这个数码管显示部分应该怎么写,让第一位密码显示在最左面,第二位显示的左边第二位....后面的几位密码依次显示
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
白滚滚
2020-02-03 08:01
void display()
{   
        P0=tab[str[num]];
        CS1=0;
        LEDWR=0;
        LEDWR=1;
        CS1=1;

        P0=~(0x80>>num);
        CS2=0;
        LEDWR=0;
        LEDWR=1;
        CS2=1;
        Delay(1);
        num++;
       num=num&0x07;
   
}
将键值存入到str[]这个数组中,tab[]当中存放的是段选码,然后对数组操作,但是最后出来的结果位选还是不对,请教各位前辈,问题出在哪里?
我想实现的效果是第一个键值显示在DS7数码管,第二个键值显示在DS6.....依次类推

一周热门 更多>