日志档案

发表于 2007-1-3 0:09:48

6

标签: 无标签

从简单学起之三,按键学习



本程序主要是按键练习,在实验板的LED数码管显示对应的按键的编号。

#include <REGX52.H>

typedef unsigned int uuint;
typedef unsigned char uchar;

#define KEY1 P2_0                //定义 KEY1
#define KEY2 P2_1                //定义 KEY1
#define KEY3 P2_2                //定义 KEY1
#define KEY4 P2_3                //定义 KEY1
#define KEY5 P2_4                //定义 KEY1
#define KEY6 P2_5                //定义 KEY1
#define KEY7 P2_6                //定义 KEY1
#define KEY8 P2_7                //定义 KEY1

const uchar LEDSEG[]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //段数组定义

const uchar LEDBIT[]={0x7f, 0xbf, 0xdf, 0xef, 0xf7,0xfb,0xfd,0xfe} ;              //位数组定义

void mDelay(uchar Dat)       //延时子程序
{
     uchar j;
     while (--Dat)
           for (j=110;j>0;--j);      
}

main()                                 //主程式
{

           uchar dat,i;
           P1_5=0;            
        while(1)
       {
                 P1_4=0;            //允许键盘部分
                 if(!KEY1) dat="1";
                 if(!KEY2) dat="2";
                 if(!KEY3) dat="3";
                 if(!KEY4) dat="4";
                 if(!KEY5) dat="5";
                 if(!KEY6) dat="6";
                 if(!KEY7) dat="7";
                 if(!KEY8) dat="8";
                   P1_4=1;            //禁止键盘部分                  
                 

            P0=LEDSEG[dat] ;     //取得数组 sstbl 第 i+1 个数据并输出至PO (将数值显示于 LED 上)
            P2=LEDBIT[i++] ;       //扫瞄第 i 个数码管
            if(i >=8)           //若 i 大于等于 8 则
                i="0" ;           //令 i = 0
            mDelay(5) ;      //延时
           
           
       }
}

系统分类: 单片机   |   用户分类: 单片机   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(984)    回复(5)  

投一票您将和博主都有获奖机会!

最新评论

  • wang1jin

    2007-1-9 1:14:15

    我晕...

    电路图...去我博客找吧...

  • zhce

    2007-1-8 11:26:40

    电路图你找wang1jin吧

     

  • wang1jin

    2007-1-3 12:25:27

    帮老指顶一顶.HE HE.

  • jqwx

    2007-1-6 11:27:24

    博主,请问电路图在哪里呢,可以发个 看看么

  • cocappjj

    2007-1-5 15:34:46

    我这个算是跟风啦:D