[Kinetis] FRDM-K64F按键控制LED点亮

[复制链接]
937|0
 楼主| Micachl 发表于 2016-1-24 19:45 | 显示全部楼层 |阅读模式
还是一个简单的GPIO功能实现,通过查询按键端口电平,来控制LED亮灭。

原理图


用户手册
  1. #include "MK64F12.h"

  2. #define LED0_ON  GPIOB_PCOR |=(1<<21)
  3. #define LED0_OFF GPIOB_PSOR |=(1<<21)

  4. #define LED1_ON  GPIOB_PCOR |=(1<<22)
  5. #define LED1_OFF GPIOB_PSOR |=(1<<22)

  6. #define LED2_ON  GPIOE_PCOR |=(1<<26)
  7. #define LED2_OFF GPIOE_PSOR |=(1<<26)

  8. void Delay(void)
  9. {
  10.         unsigned int i,j;

  11.         for(j=2000;j>0;j--)
  12.                 for(i=1000;i>0;i--);
  13. }

  14. int main(void)
  15. {

  16.         SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK|SIM_SCGC5_PORTB_MASK|SIM_SCGC5_PORTC_MASK|SIM_SCGC5_PORTE_MASK;

  17.         PORTA_PCR4  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
  18.         PORTC_PCR6  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;

  19.         PORTB_PCR21  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
  20.         PORTB_PCR22  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;
  21.         PORTE_PCR26  = PORT_PCR_MUX(1)| PORT_PCR_DSE_MASK;

  22.         GPIOB_PDDR |= (1<<21);
  23.         GPIOB_PDDR |= (1<<22);
  24.         GPIOE_PDDR |= (1<<26);

  25.     for (;;) {

  26.             if((GPIOA_PDIR&(1<<4)) == 0)
  27.             {
  28.                     LED0_ON;
  29.                     LED1_OFF;
  30.                     LED2_OFF;
  31.             //        Delay();
  32.             }
  33.             else if((GPIOC_PDIR&(1<<6)) == 0)
  34.             {
  35.                     LED1_ON;
  36.                     LED2_OFF;
  37.                     LED0_OFF;
  38.             //        Delay();
  39.             }
  40.             else
  41.                 {
  42.                     LED0_OFF;
  43.                     LED1_OFF;
  44.                     LED2_ON;
  45.                 }

  46.     }
  47.     return 0;
  48. }
由于基础的程序比较简单,先把基础的程序都测试一遍。

下面是实物展示。


V51027-120354.mp4_1445918757.gif (2.57 MB, 下载次数: 0)
下载附件
2015-10-27 12:08 上传






您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

300

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部