单片机解密函数是读取一个设置为输出模式时,一个 IO 口的状态值。当读取的 IO 口
为 1 的时候,输出 1,单片机解密当 IO 口输出为 0 的时候,输出 0。
- /*******************************************************************************
- *
- --------------------------------------------------------------------------------
- * 实 验 名 : 按键实验
- * 实验说明 : 按键按下点亮D1-D4对应LED灯
- * 连接方式 :
- * 注 意 : 所用函数在systick.c和led.c,key.c文件内
- *******************************************************************************/
- #include "public.h"
- #include "led.h"
- #include "key.h"
- #include "systick.h"
- /*******************************************************************************
- * 函 数 名 : key_pros
- * 函数功能 : 按键处理函数,判断按键按下控制对应的LED灯
- * 输 入 : 无
- * 输 出 : 无
- *******************************************************************************/
- void key_pros() //按键处理函数
- {
- if(k_up==1) //判断按键k_up是否按下
- {
- delay_ms(10); //消抖处理
- if(k_up==1) //再次判断按键k_up是否按下
- {
- GPIO_Write(GPIOC,(u16)0xfe);
- }
- while(k_up); //等待按键松开
- }
- if(k_down==0)
- {
- delay_ms(10);
- if(k_down==0)
- {
- GPIO_Write(GPIOC,(u16)(0xfd));
- }
- while(!k_down);
- }
- if(k_left==0)
- {
- delay_ms(10);
- if(k_left==0)
- {
- GPIO_Write(GPIOC,(u16)(0xfb));
- }
- while(!k_left);
- }
- if(k_right==0)
- {
- delay_ms(10);
- if(k_right==0)
- {
- GPIO_Write(GPIOC,(u16)(0xf7));
- }
- while(!k_right);
- }
- }