| 还是一个简单的GPIO功能实现,通过查询按键端口电平,来控制LED亮灭。 
  原理图
 
 
  用户手册
 
 由于基础的程序比较简单,先把基础的程序都测试一遍。#include "MK64F12.h"
#define LED0_ON  GPIOB_PCOR |=(1<<21)
#define LED0_OFF GPIOB_PSOR |=(1<<21)
#define LED1_ON  GPIOB_PCOR |=(1<<22)
#define LED1_OFF GPIOB_PSOR |=(1<<22)
#define LED2_ON  GPIOE_PCOR |=(1<<26)
#define LED2_OFF GPIOE_PSOR |=(1<<26)
void Delay(void)
{
        unsigned int i,j;
        for(j=2000;j>0;j--)
                for(i=1000;i>0;i--);
}
int main(void)
{
        SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK|SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTC_MASK|SIM_SCGC5_PORTE_MASK;
        PORTA_PCR4  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
        PORTC_PCR6  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
        PORTB_PCR21  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
        PORTB_PCR22  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
        PORTE_PCR26  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
        GPIOB_PDDR |= (1<<21);
        GPIOB_PDDR |= (1<<22);
        GPIOE_PDDR |= (1<<26);
    for (;;) {
            if((GPIOA_PDIR&(1<<4)) == 0)
            {
                    LED0_ON;
                    LED1_OFF;
                    LED2_OFF;
            //        Delay();
            }
            else if((GPIOC_PDIR&(1<<6)) == 0)
            {
                    LED1_ON;
                    LED2_OFF;
                    LED0_OFF;
            //        Delay();
            }
            else
                {
                    LED0_OFF;
                    LED1_OFF;
                    LED2_ON;
                }
    }
    return 0;
}
 下面是实物展示。
 
 
 
  V51027-120354.mp4_1445918757.gif (2.57 MB, 下载次数: 0) 下载附件
 
 2015-10-27 12:08 上传 
 
 
 
 
 
 |