• 大小: 65KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签:

资源简介

矩阵键盘数码管显示+protues仿真(源程序+仿真图)

资源截图

代码片段和文件信息

/*********************************************************************************
* 【作    者】: 雁翎电子
* 【版    本】: V1.0
* 【网    站】: http://ylelectronic.taobao.com/ 
* 【Q      Q】: 348439350
* 【声    明】: 此程序仅用于学习与参考,引用请注明版权和作者信息!
* 【函数功能】: 矩阵键盘 数码管显示
* 【晶    振】:  11.0592M     
* 【硬件连接】: 跳线 选择模块 连接或断开
                 J1 8位数码管模块 连接
 J2 点阵模块 断开
 J3 时钟模块 断开
 J4 8位跑马灯模块 断开
 J6 蜂鸣器模块 断开
 J7 继电器模块 断开                       
* 【使用说明】: 依次按下矩阵键盘的16个按键 数码管上会显示1-16数字
 使用usb下载时,矩阵键盘B2按键会受到影响
 解决办法:取下下载选择2个红色短路帽即可
**********************************************************************************/

/*预处理命令*/
#include    //包含单片机寄存器的头文件
#define uchar unsigned char
#define uint unsigned int

/* 函数申明 -----------------------------------------------*/
void delay(uint z);
void scan(void);
void send595(uchar dat);
void out595(void);
void disp(uchar wuchar d);
void dispoff(void);

/* 变量定义 -----------------------------------------------*/
sbit MOSIO=P2^2;
sbit R_CLKa=P2^3;
sbit S_CLKa=P2^4;
uchar code duan[]={~0x3F~0x06~0x5B~0x4F~0x66~0x6D~0x7D~0x07~0x7F~0x6F};//此表为LED数码管段选字模 
uchar code wei[]={0x010x020x040x080x100x200x400x80}; //此表为LED数码管位选字模
uchar num_key;    //扫描按键计数



/*
********************************************************************************
** 函数名称 : main(void)
** 函数功能 : 主函数
********************************************************************************
*/
void main()
{   
uchar numshige;

while(1)
{ dispoff();
scan();      //调用键盘扫描
switch(num_key)              //键盘扫描值num_key判断,即几号按键被按下
    {
      case 0xee :num=1;break;    //B1按键按下
      case 0xde :num=2;break;    //B2按键按下
      case 0xbe :num=3;break;    //B3按键按下
      case 0x7e :num=4;break;    //B4按键按下
      case 0xed :num=5;break;    //B5按键按下
      case 0xdd :num=6;break;    //B6按键按下
      case 0xbd :num=7;break;    //B7按键按下
      case 0x7d :num=8;break;    //B8按键按下
      case 0xeb :num=9;break;    //B9按键按下
      case 0xdb :num=10;break;   //B10按键按下
      case 0xbb :num=11;break;   //B11按键按下
      case 0x7b :num=12;break;   //B12按键按下
      case 0xe7 :num=13;break;   //B13按键按下
      case 0xd7 :num=14;break;   //B14按键按下
      case 0xb7 :num=15;break;   //B15按键按下
      case 0x77 :num=16;break;   //B16按键按下
    }
if(num<10)
{
disp(60);
delay(8);
disp(7num);
delay(8);
}
else
{
shi=num/10;
ge=num%10;
disp(6shi);
delay(8);
disp(7ge);
delay(8);

}  
}

/*
********************************************************************************
** 函数名称 : delay(uint z)
** 函数功能 : 延时函数
********************************************************************************
*/
void delay(uint z)
{    
    uint ij;
    for(i=z;i>0;i--)
        for(j=110;j>0;j--);
}
/*
********************************************************************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      98666  2013-08-19 23:28  实验10 矩阵键盘数码管显示\Proteus\Last Loaded sssss.DBK

     文件      98589  2013-08-24 00:58  实验10 矩阵键盘数码管显示\Proteus\sssss.DSN

     文件        742  2013-08-24 00:58  实验10 矩阵键盘数码管显示\Proteus\sssss.PWI

     目录          0  2013-08-24 00:58  实验10 矩阵键盘数码管显示\Proteus

     文件       6376  2009-05-07 14:37  实验10 矩阵键盘数码管显示\STARTUP.A51

     文件      14060  2012-04-03 21:45  实验10 矩阵键盘数码管显示\STARTUP.LST

     文件        749  2012-04-03 21:45  实验10 矩阵键盘数码管显示\STARTUP.OBJ

     文件       7227  2012-04-03 21:45  实验10 矩阵键盘数码管显示\矩阵按键

     文件       6012  2012-04-03 21:45  实验10 矩阵键盘数码管显示\矩阵按键.c

     文件       1701  2012-04-03 21:45  实验10 矩阵键盘数码管显示\矩阵按键.hex

     文件         64  2012-04-03 21:45  实验10 矩阵键盘数码管显示\矩阵按键.lnp

     文件      13348  2012-04-03 21:45  实验10 矩阵键盘数码管显示\矩阵按键.LST

     文件      11856  2012-04-03 21:45  实验10 矩阵键盘数码管显示\矩阵按键.M51

     文件       7930  2012-04-03 21:45  实验10 矩阵键盘数码管显示\矩阵按键.OBJ

     文件        269  2013-08-19 23:28  实验10 矩阵键盘数码管显示\矩阵按键.plg

    .......     64933  2013-08-19 23:28  实验10 矩阵键盘数码管显示\矩阵按键.uvopt

     文件      13421  2011-06-02 11:18  实验10 矩阵键盘数码管显示\矩阵按键.uvproj

    .......     64933  2012-04-03 21:51  实验10 矩阵键盘数码管显示\矩阵按键_uvopt.bak

     文件      13422  2011-06-01 00:30  实验10 矩阵键盘数码管显示\矩阵按键_uvproj.bak

     目录          0  2013-08-24 00:53  实验10 矩阵键盘数码管显示

----------- ---------  ---------- -----  ----

               424298                    20


评论

共有 条评论