久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2386|回復: 0
打印 上一主題 下一主題
收起左側

STM32按鍵執行程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:592674 發表于 2019-8-28 15:39 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
自己編寫的按鍵執行程序,實現上翻、下翻、功能、確認、返回的功能。新手編寫,高手繞道!
單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "stdio.h"
  3. #include "tm1620.h"
  4. #include "common.h"
  5. #include "KeyScan.h"
  6. #include "delay.h"
  7. #include "Keyexec.h"
  8. #include "tim.h"

  9. ErrorStatus HSEStartUpStatus;

  10. void RCC_Configuration(void);
  11. void NVIC_Configuration(void);
  12. #ifdef  DEBUG
  13. /*******************************************************************************
  14. * Function Name  : assert_failed
  15. * Description    : Reports the name of the source file and the source line number
  16. *                  where the assert error has occurred.
  17. * Input          : - file: pointer to the source file name
  18. *                  - line: assert error line source number
  19. * Output         : None
  20. * Return         : None
  21. *******************************************************************************/
  22. void assert_failed(u8* file, u32 line)
  23. {
  24.   /* User can add his own implementation to report the file name and line number */
  25.   printf("\n\r Wrong parameter value detected on\r\n");
  26.   printf("       file  %s\r\n", file);
  27.   printf("       line  %d\r\n", line);
  28.    
  29.   /* Infinite loop */
  30.   /* while (1)
  31.   {
  32.   } */
  33. }
  34. #endif

  35. void RCC_Configuration(void)
  36. {
  37.   /* RCC system reset(for debug purpose) */
  38.   RCC_DeInit();//復位RCC時鐘

  39.   /* Enable HSE */
  40.   RCC_HSEConfig(RCC_HSE_ON);//RCC配置

  41.   /* Wait till HSE is ready */
  42.   HSEStartUpStatus = RCC_WaitForHSEStartUp();

  43.   if(HSEStartUpStatus == SUCCESS)
  44.   {
  45.     /* HCLK = SYSCLK */
  46.     RCC_HCLKConfig(RCC_SYSCLK_Div1);  
  47.   
  48.     /* PCLK2 = HCLK */
  49.     RCC_PCLK2Config(RCC_HCLK_Div1);//72Mhz

  50.     /* PCLK1 = HCLK/2 */
  51.     RCC_PCLK1Config(RCC_HCLK_Div2);
  52.                
  53.                 RCC_ADCCLKConfig(RCC_PCLK2_Div6);//ADC時鐘   72/6=12M

  54.     /* Flash 2 wait state */
  55.     FLASH_SetLatency(FLASH_Latency_2);
  56.     /* Enable Prefetch Buffer */
  57.     FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

  58.     /* PLLCLK = 8MHz * 9 = 72 MHz */
  59.     RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);

  60.     /* Enable PLL */
  61.     RCC_PLLCmd(ENABLE);

  62.     /* Wait till PLL is ready */
  63.     while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
  64.     {
  65.     }

  66.     /* Select PLL as system clock source */
  67.     RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

  68.     /* Wait till PLL is used as system clock source */
  69.     while(RCC_GetSYSCLKSource() != 0x08)
  70.     {
  71.     }
  72.   }
  73. }

  74. /*******************************************************************************
  75. * Function Name  : NVIC_Configuration
  76. * Description    : Configures Vector Table base location.
  77. * Input          : None
  78. * Output         : None
  79. * Return         : None
  80. *******************************************************************************/
  81. void NVIC_Configuration(void)
  82. {
  83. #ifdef  VECT_TAB_RAM  
  84.   /* Set the Vector Table base location at 0x20000000 */
  85.   NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
  86. #else  /* VECT_TAB_FLASH  */
  87.   /* Set the Vector Table base location at 0x08000000 */
  88.   NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x9000);
  89. #endif
  90. }

  91. void IWDG_Configuration(void)
  92. {
  93.         IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);//啟動寄存器讀寫
  94.         IWDG_SetPrescaler(IWDG_Prescaler_32);//40K時鐘32分頻
  95.         IWDG_SetReload(0xfff);                 //計數器數值         819.2ms
  96.         IWDG_ReloadCounter();                //重啟計數器
  97.         IWDG_Enable();                       //啟動看門狗
  98. }



  99. u8 Value;
  100. u8 Value1;
  101. u8 Value2;
  102. u8 Value3;
  103. int main(void)
  104. {
  105.         RCC_Configuration();
  106.         //NVIC_Configuration();
  107.         __set_FAULTMASK(0);  //打開所有中斷
  108.         IOOUT_Init();
  109.         TM1616_init();
  110.         KeyScan_Init();
  111.   Timer3_Init(49);
  112.   Timer2_Init(9999);
  113.         while(1)
  114.         {        
  115.                  key_function();
  116.                  key_execute();
  117.   }
  118.         
  119. }
復制代碼

所有資料51hei提供下載:
按鍵執行程序.7z (182.27 KB, 下載次數: 23)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情精品久久久久久 | 在线播放国产一区二区三区 | 在线观看亚洲精品视频 | 亚洲在线免费观看 | 欧美一区二区三区在线观看视频 | 81精品国产乱码久久久久久 | www天天操 | 日韩中文字幕在线视频观看 | 欧美精品一区二区三区视频 | 国产羞羞视频在线观看 | 欧美精品一区二区在线观看 | 久久精品亚洲 | 亚洲精品专区 | 久久国产综合 | 视频一区二区中文字幕 | 99伊人| 午夜不卡福利视频 | 国产精品无| 91精品久久久久久久久 | 91精品国产一区二区三区 | 综合精品久久久 | 99在线资源 | 91毛片在线观看 | 免费av手机在线观看 | 在线天堂免费中文字幕视频 | 亚洲一二视频 | 色男人的天堂 | 国产不卡视频 | 久久成人一区 | 国产精品免费一区二区 | 国产成人久久久 | 免费久久网站 | 一区二区三区四区在线视频 | 久久国产精品-久久精品 | 高清亚洲| 色综合久久久久 | 一级欧美一级日韩片 | 国产精品观看 | 国产东北一级毛片 | 亚洲精品视频在线播放 | 欧美 日韩精品 |