怎么写我要求的程序呢?

2019-03-25 19:41发布

#include<pic.h>
#define                UCHAR        unsigned        char
#define                UINT        unsigned        int                       

#define                LS1        RB0                        /*灯*/
#define                LS2        RB1                        /*灯*/               
#define                LS3        RB2                        /*灯*/
#define                RS1        RB3                        /*灯*/
#define                RS2        RB4                        /*灯*/
#define                RS3        RB5                        /*灯*/
#define                PGC        RB6                       
#define                PGD        RB7                       

#define                AUT        RC0                        /*灯*/
#define                MNU        RC1                        /*灯*/
#define                RPO        RC2                        /*灯*/
#define                LPO        RC3                        /*灯*/
#define                IRL        RC4                       
#define                ILL        RC5                       
#define                IRP        RC6                       
#define                ILP        RC7                       

#define                RPH        RD0                        /*灯*/
#define                LPH        RD1                        /*灯*/
#define                ALM        RD2                        /*报警*/
#define                KRH        RD3                        /*按键*/
#define                KAU        RD4                        /*按键*/       
#define                KPO        RD5                        /*按键*/
#define                KPH        RD6                        /*按键*/
#define                KLH        RD7                        /*按键*/

#define                DTL        RE1                        /*灯*/
#define                DTR        RE2                        /*灯*/

#define                NOP                asm("nop")
__CONFIG(PWRTEN & HS & PROTECT & WDTDIS);

void delay();
void init();
/**********************延时程序***********************/
void  delay()              //延时程序
    {
    int i;                //定义整形变量
    for(i=0x100;i--;);    //延时
    }

void main()                        //主函数
{
      while(1)                        //死循环
      {
              delay();
              init();                          
        if(RD7==0)
        {
                PORTB=0xf8;
                PORTC=0xfa;
                PORTD=0x7a;
                PORTE=0xff;
        }
        else if(RD3==0)
        {
                PORTB=0xc7;
                PORTC=0xfa;
                PORTD=0x72;
                PORTE=0xff;
        }
        else if(RD6==0)
        {
                PORTB=0xff;
                PORTC=0xff;
                PORTD=0x00;
                PORTE=0xff;
        }
        else if(RD5==0)
        {
                PORTB=0xff;
                PORTC=0xf2;
                PORTD=0xb8;
                PORTE=0xff;
        }
        else if(RD4==0)
        {
                PORTB=0xff;
                PORTC=0xfc;
                PORTD=0xeb;
                PORTE=0xff;
        }
}
}


void init()                                //I/O口初始化函数
  {
    TRISA=0x00;
    TRISB=0x00;                            
    TRISD=0x00;                            
    TRISC=0xf0;
    TRISE=0x00;
    PORTA=0xff;
    PORTC=0xff;            
    PORTB=0xff;
    PORTD=0xff;
    PORTE=0xff;                            
  }
    这个程序是按键按下灯点亮,只要按键松手,灯就灭(相应按键控制相应灯亮)
我想按键按下灯常亮,松手灯还是亮的,按下另一个键灯变化常亮,应该怎么写呢。。。求教求教啊。。。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。