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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1628|回復(fù): 2
收起左側(cè)

STM32單片機(jī)凈水器,水流量計(jì)制作 附程序

[復(fù)制鏈接]
ID:282074 發(fā)表于 2024-4-2 18:52 | 顯示全部樓層 |閱讀模式
家用買的凈水器有時(shí)放水給忘了水灌的到處都是,于是想出做一個(gè)水流量計(jì),要多水就出多少容量水,給大家分享一下;

電源板.jpg 凈水控制.jpg 水流量計(jì).jpg 主機(jī)正面.jpg 主控板.jpg
中斷處理
  1. #include "stm32f10x.h"
  2. #include "delay.h"
  3. #include "exti.h"
  4. #include "led.h"
  5. #include "display.h"
  6. #include "key.h"

  7. void EXIT_Init(void)
  8. {
  9.     GPIO_InitTypeDef GPIO_InitStructure;
  10.     EXTI_InitTypeDef EXTI_InitStructure;                //定義外部中斷結(jié)構(gòu)變
  11.     NVIC_InitTypeDef NVIC_InitStructure;                //定義向量中斷結(jié)構(gòu)變量

  12.     RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB  , ENABLE  );
  13.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//  打開復(fù)用時(shí)鐘
  14.     GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0); //連接中斷管腳PB0

  15.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 ;                //B0-B1 為外部按鍵 作為3個(gè)獨(dú)立外部輸入中斷
  16.     GPIO_InitStructure.GPIO_Mode =  GPIO_Mode_IN_FLOATING;                   // 輸入
  17.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 // 最高輸入速率50MHz
  18.     GPIO_Init(GPIOB, &GPIO_InitStructure);                                 // 選擇B端口

  19.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);//設(shè)置NVIC中斷分組 0位搶占優(yōu)先級(jí),4位響應(yīng)優(yōu)先級(jí)
  20.     NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;//選擇中斷通道0
  21.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//搶占優(yōu)先級(jí)0 只能為0
  22.     NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;//響應(yīng)優(yōu)先級(jí)2 共有16個(gè)
  23.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能中斷
  24.     NVIC_Init(&NVIC_InitStructure);//完成初始化
  25.        
  26.          
  27.     NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn;//選擇中斷通道0
  28.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;//搶占優(yōu)先級(jí)0 只能為0
  29.     NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;//響應(yīng)優(yōu)先級(jí)2 共有16個(gè)
  30.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//使能中斷
  31.     NVIC_Init(&NVIC_InitStructure);//完成初始化

  32.     EXTI_InitStructure.EXTI_Line = EXTI_Line0 | EXTI_Line1;//選擇中斷線路0和1
  33.     EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;//設(shè)置為中斷請(qǐng)求,非事件請(qǐng)求
  34.     EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;//設(shè)置中斷觸發(fā)方式為下降沿觸發(fā)
  35.     EXTI_InitStructure.EXTI_LineCmd = ENABLE;//外部中斷使能
  36.     EXTI_Init(&EXTI_InitStructure);

  37. }

  38. /*
  39. ********************************************************************************
  40. ** 函數(shù)名稱 : EXTI0_IRQHandler(void)
  41. ** 函數(shù)功能 : 外部中斷函數(shù)
  42. ** 輸    入        : 無(wú)
  43. ** 輸    出        : 無(wú)
  44. ** 返    回        : 無(wú)  RESET
  45. ********************************************************************************
  46. */
  47. void EXTI0_IRQHandler(void)
  48. {
  49.     if(EXTI_GetITStatus(EXTI_Line0)!=RESET)//判斷某個(gè)線上的中斷是否發(fā)生
  50.     {
  51.       
  52.         if((GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0)==0))    //按鍵真的被按下
  53.         {
  54.                                            mL=mL+sdmaichong_ml;                          //1脈沖為10ML水
  55.                                                       
  56.                                            LjmL= LjmL+sdmaichong_ml;
  57.                                                                       //100ML累計(jì)一次
  58.                                        

  59.         }
  60.                
  61. //      while(!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_0)); //等待松手 不能使用KEY_B0代替
  62.         EXTI_ClearITPendingBit(EXTI_Line0); //清楚中斷標(biāo)志位
  63.     }
  64. }


  65. /*
  66. ********************************************************************************
  67. ** 函數(shù)名稱 : EXTI1_IRQHandler(void)
  68. ** 函數(shù)功能 : 外部中斷函數(shù)
  69. ** 輸    入        : 無(wú)
  70. ** 輸    出        : 無(wú)
  71. ** 返    回        : 無(wú)  RESET
  72. ********************************************************************************
  73. */
復(fù)制代碼

  1. /*IO使用情況
  2.   A0  A1  A2 A3 A4 A5 A6 A7  鍵盤  B6 B7顯示器  B0水流量感應(yīng)器  C11 5腳 C12 6腳 24C模塊
  3.         C0電磁閥,C1報(bào)警信號(hào)
  4. */
  5. #include "stm32f10x_conf.h"
  6. #include "key.h"
  7. #include "display.h"
  8. #include "delay.h"
  9. #include "oled.h"
  10. #include "led.h"
  11. #include "exti.h"
  12. #include "24C02.h"
  13. #include "timer.h"


  14. int main()
  15. {
  16.           SystemInit();  //將主頻調(diào)整到72M
  17.     LED_Init();
  18.                 OLED_Init();                        //初始化OLED  
  19.                 OLED_Clear() ;
  20.           TIM1_Init();     //初始化定時(shí)器1
  21.           EXIT_Init();
  22.     EXTI0_IRQHandler();
  23. //    EXTI1_IRQHandler();
  24.     AT24CXX_Init(); //24CXX初始化
  25. //                key_Init();
  26.     Read_SmL_LJmL();
  27.    
  28.    while(1)
  29.    {
  30.            HL_key_Display();
  31.            key_scan();
  32.                  Display();         
  33.                         
  34.    }
  35. }

復(fù)制代碼

Keil代碼下載: 水流量計(jì) 多菜單ML.7z (226.49 KB, 下載次數(shù): 33)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:170318 發(fā)表于 2024-4-3 08:50 | 顯示全部樓層
注釋較全,下來(lái)學(xué)習(xí)編程方式,謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:430492 發(fā)表于 2024-4-3 23:11 | 顯示全部樓層
這個(gè)比較實(shí)用,多點(diǎn)這樣的設(shè)計(jì)就好了,感謝樓主!!!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品免费一区 | 国产一级在线 | 国产综合久久久 | 亚洲精品一区二区三区免 | 亚洲网在线 | 久久精品国产一区二区三区不卡 | 亚洲精品一区二区在线观看 | 天天操操操操操 | 性生生活大片免费看视频 | 欧美日韩福利 | 国产精品成人一区 | 欧美黑人一级爽快片淫片高清 | 91看片免费版 | 国产一二区视频 | 国产一区二区三区久久久久久久久 | 亚洲欧洲精品在线 | 在线日韩不卡 | 超碰精品在线 | 国产乱码精品一区二区三区五月婷 | 亚洲网一区 | 毛片日韩 | 日韩在线欧美 | h肉视频 | 国产成人精品一区 | 久久高清国产 | 国产精品久久久久久久久久三级 | 欧美成人a| 中文字幕亚洲区一区二 | 日本一区二区三区四区 | 精产嫩模国品一二三区 | 久久av网 | www.黄色网| 国产激情视频在线免费观看 | 久久久网| 一级中国毛片 | 男女羞羞视频在线看 | 久夜精品 | 色婷婷综合久久久久中文一区二区 | 婷婷久久久久 | 亚洲国产视频一区 | 毛片免费视频 |