芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

单片机解密STM32单片机实现按键功能 源码

单片机解密函数是读取一个设置为输出模式时,一个 IO 口的状态值。当读取的 IO 口
为 1 的时候,输出 1,单片机解密当 IO 口输出为 0 的时候,输出 0。

  1. /*******************************************************************************
  2. *                 
  3. --------------------------------------------------------------------------------
  4. * 实 验 名                 : 按键实验
  5. * 实验说明       : 按键按下点亮D1-D4对应LED灯
  6. * 连接方式       :
  7. * 注    意                 :         所用函数在systick.c和led.c,key.c文件内
  8. *******************************************************************************/

  9. #include "public.h"
  10. #include "led.h"
  11. #include "key.h"
  12. #include "systick.h"


  13. /*******************************************************************************
  14. * 函 数 名         : key_pros
  15. * 函数功能                   : 按键处理函数,判断按键按下控制对应的LED灯
  16. * 输    入         : 无
  17. * 输    出         : 无
  18. *******************************************************************************/
  19. void key_pros()          //按键处理函数
  20. {
  21.         if(k_up==1)          //判断按键k_up是否按下
  22.         {
  23.                 delay_ms(10); //消抖处理
  24.                 if(k_up==1)         //再次判断按键k_up是否按下
  25.                 {
  26.                         GPIO_Write(GPIOC,(u16)0xfe);                        
  27.                 }
  28.                 while(k_up); //等待按键松开
  29.         }
  30.         if(k_down==0)
  31.         {
  32.                 delay_ms(10);
  33.                 if(k_down==0)
  34.                 {
  35.                         GPIO_Write(GPIOC,(u16)(0xfd));               
  36.                 }
  37.                 while(!k_down);
  38.         }
  39.         if(k_left==0)
  40.         {
  41.                 delay_ms(10);
  42.                 if(k_left==0)
  43.                 {
  44.                         GPIO_Write(GPIOC,(u16)(0xfb));               
  45.                 }
  46.                 while(!k_left);
  47.         }
  48.         if(k_right==0)
  49.         {
  50.                 delay_ms(10);
  51.                 if(k_right==0)
  52.                 {
  53.                         GPIO_Write(GPIOC,(u16)(0xf7));               
  54.                 }
  55.                 while(!k_right);
  56.         }        
  57. }



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信