标题: 为什么单片机proteus仿真矩阵按键不行? [打印本页]

作者: 召唤师    时间: 2020-4-4 23:43
标题: 为什么单片机proteus仿真矩阵按键不行?
代码如下:
#include<reg52.h>
sbit ADDR0=P1^0;
sbit ADDR1=P1^1;
sbit ADDR2=P1^2;
sbit ADDR3=P1^3;
sbit ENLED=P1^4;
sbit key1=P2^4;
sbit key2=P2^5;
sbit key3=P2^6;
sbit key4=P2^7;
sbit LED1=P0^0;
sbit LED2=P0^1;
sbit LED3=P0^2;
sbit LED4=P0^3;

int main()
{
   ENLED=0;
   ADDR3=1;
   ADDR0=0;
   ADDR1=0;
   ADDR2=0;
        P2=0xFE;
        while(1){
        LED1=key1;
        LED2=key2;
        LED3=key3;
        LED4=key4;
        }
return 0;
}

问题就是:按下k1,k2,k3,k4,并不能控制灯的亮和灭。只有把keyout1端口直接接地,keyout2~4端口接上5V电源才正常。我把照片和附件附上,麻烦各位帮我看看。

51hei截图20200404234817812.jpg (68.86 KB, 下载次数: 57)

51hei截图20200404234817812.jpg

lesson8按键.zip

27.37 KB, 下载次数: 8


作者: shuisheng    时间: 2020-4-5 08:38
建议上坛子找一个成功的例子来调试更明白清楚一些
作者: xuyaqi    时间: 2020-4-5 09:23
程序缺键扫描,可参考别人键扫描程序。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1