资源简介

单片机控制的红外计数器软件设计和硬件设计论文

资源截图

代码片段和文件信息

#include
#define uint unsigned int 
#define uchar unsigned char 

sbit   jia  = P3^4;
sbit  jian  = P3^6;
sbit queren = P3^5;
sbit    ba  = P3^0;
sbit   jiu  = P3^1;

uchar code table[]={
0x7d0x440x7a0x6e
0x470x2f0x3f0x64
0x7f0x67};

int XXX;

void delay10ms(void);
void rekey(void);
void xianshi(uint dat);

void delay10ms(void) //延时程序
{
unsigned char ij;
for(i=20;i>0;i--)
for(j=248;j>0;j--);
}

void rekey(void)
{
    uchar key;
    if(jian==0)
{
    delay10ms();
        if(jian==0)
     {
while(queren!=0)
{
    


                switch(P1)
                            {
                                case 0xfe: //  此按键接0
delay10ms();
if(P1==0xfe)
{
                                    key=0;
        XXX=XXX-key;
   //          xianshi(XXX);
    while(P1==0xfe);
}
                                break;

                                case 0xfd:
delay10ms();
if(P1==0xfd)
{
                                    key=1;
     XXX=XXX-key;
  //          xianshi(XXX);
     while(P1==0xfd);
}
                                break;

                                case 0xfb:
delay10ms();
if(P1==0xfb)
{
                                    key=2;
     XXX=XXX-key;
   //         xianshi(XXX);
     while(P1==0xfb);
}
                                break;

                                case 0xf7:
delay10ms();
if(P1==0xf7)
{
                                    key=3;
     XXX=XXX-key;
   //          xianshi(XXX);
     while(P1==0xf7);
}
                                break;

                                case 0xef:
delay10ms();
if(P1==0xef)
{
                                    key=4;
     XXX=XXX-key;
    //        xianshi(XXX);
     while(P1==0xef);
}
                                break;

                                case 0xdf:
delay10ms();
if(P1==0xdf)
{
                                    key=5;
     XXX=XXX-key;
    //        xianshi(XXX);
     while(P1==0xdf);
}
                                break;

                                case 0xbf:
delay10ms();
if(P1==0xbf)
{
                                    key=6;
     XXX=XXX-key;
    //        xianshi(XXX);
     while(P1==0xbf);
}
                                break;

                                case 0x7f:   // 次按键接7
delay10ms();
if(P1==0x7f)
{
                                    key=7;
     XXX=XXX-key;
      //      xianshi(XXX);
     while(P1==0x7f);
}
                                break;
                     

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

     文件      10132  2010-01-10 18:49  红外计数器\456

     文件       7833  2010-01-10 18:49  红外计数器\456.c

     文件       3806  2010-01-10 18:49  红外计数器\456.hex

     文件         54  2010-01-10 18:49  红外计数器\456.lnp

     文件      22696  2010-01-10 18:49  红外计数器\456.LST

     文件      17040  2010-01-10 18:49  红外计数器\456.M51

     文件      11947  2010-01-10 18:49  红外计数器\456.OBJ

     文件       1066  2010-02-15 16:15  红外计数器\456.Opt

     文件        157  2010-04-05 15:10  红外计数器\456.plg

     文件       2015  2010-01-09 19:07  红外计数器\456.Uv2

     文件       1066  2010-01-25 20:46  红外计数器\456_Opt.Bak

     文件          0  2010-01-09 14:32  红外计数器\456_Uv2.Bak

     文件       5115  2002-04-16 14:32  红外计数器\STARTUP.A51

     文件      11666  2010-01-10 18:49  红外计数器\STARTUP.LST

     文件        749  2010-01-10 18:49  红外计数器\STARTUP.OBJ

     目录          0  2010-07-22 19:01  红外计数器

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

                95342                    16


评论

共有 条评论