找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1662|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

STM32輸入輸出控制程序源碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:761273 發(fā)表于 2020-5-26 08:29 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
基于正點(diǎn)原子的開發(fā)板平臺(tái),測試輸入和輸出,熟悉嵌入式的基本的IO控制,附帶程序源碼,本程序的開發(fā)基于標(biāo)準(zhǔn)庫,親測有效,通過開發(fā)板上的4個(gè)按鈕(KEY_UP、KEY0、KEY1和KEY2,來控制板上的LED和蜂鳴器,通過不同的輸出來控制不同的輸出,具體實(shí)現(xiàn)為按WKUP 按鈕控制蜂鳴器,按KEY2按鈕控制綠燈,按KEY1按鈕控制綠燈,按KEY0按鈕,紅燈綠燈以1秒交替周期閃爍,蜂鳴器以1秒周期通斷。

單片機(jī)源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "led.h"
  4. #include "beep.h"
  5. #include "key.h"


  6. int main(void)
  7. {
  8.         u8 key;
  9.         Stm32_Clock_Init(336,8,2,7);//設(shè)置時(shí)鐘,168Mhz
  10.         delay_init(168);                //延時(shí)初始化
  11.         LED_Init();                                  //初始化與LED連接的硬件接口
  12.         BEEP_Init();                         //初始化蜂鳴器IO
  13.         KEY_Init();                 //初始化與按鍵連接的硬件接口
  14.         LED0=0;                                        //先點(diǎn)亮紅燈
  15.         while(1)
  16.         {
  17.                 key=KEY_Scan(0);         //得到鍵值
  18.                    if(key)
  19.                 {                                                  
  20.                         switch(key)
  21.                         {                                 
  22.                                 case WKUP_PRES:        //控制蜂鳴器
  23.                                         BEEP=!BEEP;
  24.                                         break;
  25.                                 case KEY2_PRES:        //控制LED0翻轉(zhuǎn)
  26.                                         LED0=!LED0;
  27.                                         break;
  28.                                 case KEY1_PRES:        //控制LED1翻轉(zhuǎn)         
  29.                                         LED1=!LED1;
  30.                                         break;
  31.                                 case KEY0_PRES:        //同時(shí)控制LED0,LED1翻轉(zhuǎn)
  32.                                 //        LED0=!LED0;
  33.                                 //  LED1=!LED1;
  34.                                
  35.                                                 while(1)
  36.                                                 {
  37. //                                                                HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_8);       
  38. //                            HAL_Delay(500);
  39. //                                                       
  40.                                                         LED0=0;
  41.                                                         LED1=1;
  42.                                                         BEEP=0;                  
  43.                                                         delay_ms(1000);
  44.                                                         LED0=1;       
  45.                                                         LED1=0;
  46.                                                         BEEP=1;  
  47.                                                         delay_ms(1000);
  48.                                                         LED0=0;
  49.                                                         LED1=0;
  50.                                                         BEEP=0;                  
  51.                                                         delay_ms(1000);
  52.                                                         LED0=1;
  53.                                                         LED1=1;
  54.                                                         BEEP=1;                  
  55.                                                         delay_ms(1000);
  56.                                                 }       
  57.                                                
  58.                                         break;
  59.                                
  60.                                
  61.                         }
  62.                 }else delay_ms(10);
  63.         }
  64. }
復(fù)制代碼

所有資料51hei提供下載:
InputOutputtest.7z (94.33 KB, 下載次數(shù): 10)


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

使用道具 舉報(bào)

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表