使用的51單片機(jī)作為主控芯片,兩個(gè)51單片機(jī)通過(guò)24L01通信,一個(gè)檢測(cè)吊瓶滴液的速度,如果太快太慢或者不滴液都會(huì)報(bào)警,并發(fā)送到主機(jī),輸液者也可以主動(dòng)通過(guò)按鍵呼叫主機(jī),叢機(jī)用1602顯示,主機(jī)用12864顯示。
Altium Designer畫的原理圖和PCB圖如下:
單片機(jī)源程序如下:
#include #include #include "keys.h" #include "24L01.h" #include "LCD1602.h" #define uint unsigned int #define uchar unsigned char sbit YeDi=P2^0;//紅外信號(hào)采集口 sbit Speaker=P2^4;//蜂鳴器 uchar TX_buf[32]=0; uchar View_Con=0; uchar View_Change=1; uchar View_Con_Change=1; uint Cap_Data=100; uint Cap_View=0; uchar View_Data[8]; uint YeDi_Num=0; void InitTimer0(void) { TMOD |= 0x01; TH0 = 0x0D8; //10000us TL0 = 0x0F0; EA = 1; ET0 = 1; TR0 = 1; } void InitTimer1(void) { TMOD |= 0x10; TH1 = 0x0FC; //1000us TL1 = 0x18; EA = 1; ET1 = 1; } void main() { TX_buf[1]=0; TX_buf[2]=2; TX_buf[3]=5; TX_buf[4]=4; InitLcd(); Lcd_1602_word(0x80,16," NRF24L01 "); //1602第一行顯示 NRF24L01 //Lcd_1602_word(0xc0,16," Connecting "); //1602第二行顯示 Connecting while(NRF24L01_Check()); //檢查24L01是否存在 NRF24L01_Init(); //開機(jī)的時(shí)候需要初始化24l01 InitTimer0(); //定時(shí)計(jì)數(shù)器0初始化 InitTimer1(); //定時(shí)計(jì)數(shù)器1初始化 Lcd_1602_word(0xc0,16," Connecting "); while(1) { if(Key_Change) //如果Key_Change為真 { Key_Change=0; View_Change=1; switch(Key_Value) //選擇鍵值 { case 1: { View_Con_Change=1; if(View_Con==0) { View_Con=1; TR1 = 1; Cap_View=Cap_Data*100; } if(View_Con==2) { View_Con=1; TR1 = 1; } break; } case 2: { if(View_Con==0) //液滴加 { if(Cap_Data<=500) Cap_Data+=10; } break; } case 3: { if(View_Con==0) { if(Cap_Data>10) //液滴減 Cap_Data-=10; } break; } case 4: { if(View_Con==1) { TR1 = 0; YeDi_Num=0; View_Con=2; View_Con_Change=1; TX_buf[0]=0xf5;//蜂鳴器響 TX_buf[5]=4;//用戶呼叫 NRF24L01_TxPacket(TX_buf); NRF24L01_TxPacket(TX_buf); } break; } } } if(View_Change) { View_Change=0; if(View_Con_Change) { View_Con_Change=0; switch(View_Con) { case 0:Lcd_1602_word(0x80,16,"Infusion Set: ");Lcd_1602_word(0xc0,16," ");break; case 1:Lcd_1602_word(0x80,16,"In The Infusion ");Lcd_1602_word(0xc0,16," ");Speaker=1;break; case 2: { Lcd_1602_word(0x80,16,"****Warning*****");Lcd_1602_word(0xc0,16,"****Warning*****");Speaker=0; if(TX_buf[5]<4) while(1); break; } } } switch(View_Con) { case 0: { View_Data[0]=Cap_Data/100+0x30; View_Data[1]=Cap_Data%100/10+0x30; View_Data[2]=Cap_Data%10+0x30; View_Data[3]='m'; View_Data[4]='l'; if(View_Data[0]==0x30) View_Data[0]=' '; Lcd_1602_word(0xcb,5,View_Data); break; } case 1: { View_Data[0]=Cap_View/10000+0x30; View_Data[1]=Cap_View%10000/1000+0x30; View_Data[2]=Cap_View%1000/100+0x30; View_Data[3]='.'; View_Data[4]=Cap_View%100/10+0x30; View_Data[5]=Cap_View%10+0x30; View_Data[6]='m'; View_Data[7]='l'; if(View_Data[0]==0x30) { View_Data[0]=' '; if(View_Data[1]==0x30) { View_Data[1]=' '; } } Lcd_1602_word(0xc8,8,View_Data); break; } } } } } void Timer0Interrupt(void) interrupt 1 { static uchar YeDi_Con; static uchar Key_Time0_Con; TH0 = 0xfc; TL0 = 0x18; Key_Time0_Con++; switch(YeDi_Con) { case 0: { if(YeDi==1) YeDi_Con++; break; } case 1: { if(YeDi==0) {
上一篇:51單片機(jī)知識(shí)點(diǎn)之獨(dú)立按鍵設(shè)總開關(guān)與分開關(guān)
下一篇:單片機(jī)DIY小型電壓表
推薦閱讀
史海拾趣
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 神經(jīng)形態(tài)芯片可能是革新機(jī)器人實(shí)時(shí)電機(jī)控制的未來(lái)
- 從三個(gè)方面理解ARM嵌入式系統(tǒng)
- 自動(dòng)報(bào)警 基于MCU的家庭防盜報(bào)警系統(tǒng)的設(shè)計(jì)
- 存儲(chǔ)控制器及其訪問(wèn)外設(shè)的原理
- 基于51系列單片機(jī)的智能照明控制系統(tǒng)設(shè)計(jì)方案
- 基于STM32的四旋翼飛行器控制系統(tǒng)
- 單片機(jī)應(yīng)用編程技巧解析
- 基于89C52的教室智能節(jié)能照明系統(tǒng)設(shè)計(jì)
- 一種新型的雨量光照傳感器的設(shè)計(jì)
- RISC-V人才該怎么培養(yǎng)?專家這樣說(shuō)
- 割草機(jī)器人,四大流派的巔峰之戰(zhàn)
- 車載顯示迎來(lái)三大革命丨“形態(tài)”革命
- 什么是“CDC+空懸”?
- 汽車電子信息安全:如何有效保護(hù)硬件Debug口?
- 新能源汽車核心技術(shù)之“大三電”、“小三電”
- 芯原如何推動(dòng)RISC-V嵌入式軟件人才發(fā)展?
- Arm 技術(shù)助力《國(guó)家地理》探險(xiǎn)家繪制地球海洋圖景
- Arm SME2 技術(shù)加速安卓 AI 升級(jí),驅(qū)動(dòng)移動(dòng)應(yīng)用下一代功能革新
- VGA接口定義、功能用途和種類
- Vicor 更好的供電方式提升無(wú)人機(jī)飛行時(shí)間飛行半徑及有效載荷
- 報(bào)名贏紅包,到場(chǎng)抽開發(fā)板|2021 RT-Thread 開發(fā)者大會(huì)等你約!
- Microchip ShieldsUP!安全解決方案系列在線研討會(huì)
- 相約秋色~相約北京~恩智浦工業(yè)和物聯(lián)網(wǎng)技術(shù)峰會(huì) 約起來(lái)!
- 有獎(jiǎng)評(píng)測(cè):50套來(lái)自恩智浦全新快速物聯(lián)網(wǎng)原型設(shè)計(jì)套件(價(jià)值350元)
- TI 工業(yè)月,靈感不設(shè)限!21天習(xí)慣養(yǎng)成記!打卡贏好禮啦!
- 嵌入式工程師AI挑戰(zhàn)營(yíng)(第三期):一起來(lái)玩AI自動(dòng)跟蹤算法DeepSORT
- 沁恒CH579M-R1開發(fā)板免費(fèi)測(cè)評(píng),豐富外設(shè)等你體驗(yàn)
- TI有獎(jiǎng)直播:伺服驅(qū)動(dòng)器中電流和電壓測(cè)量解決方案
- 秋風(fēng)送爽,你來(lái)答題我送禮!看Maxim 深入淺出低功耗處理器視頻精彩為您呈現(xiàn)!
- 小米、OPPO等中國(guó)智能手機(jī)廠商重振在印度廣告營(yíng)銷策略
- 臺(tái)面板級(jí)封裝百家爭(zhēng)鳴,但 IC 封測(cè)業(yè)下半年變數(shù)仍存在
- 華為反擊!在美對(duì)Verizon、惠普、思科提起專利訴訟
- 華天科技南京先進(jìn)封測(cè)產(chǎn)業(yè)基地一期投產(chǎn)儀式舉行
- 侵犯無(wú)線音頻系統(tǒng)專利?One-E-Way“盯”上蘋果與Beats
- 電感線圈的檢測(cè)方法
- 220V單相電機(jī)電容器好壞的判斷方法(三)
- 電工技術(shù)中應(yīng)用十分廣泛的交流電容器檢測(cè)方法介紹
- 置身清潔科技賽道,石頭科技能走到哪一步?
- 電容的幾種檢測(cè)方法
- 諸如dm9000網(wǎng)卡芯片,怎么設(shè)置寄存器可以收到自己發(fā)送的數(shù)據(jù)包?
- 《AlientekSTM32例程手冊(cè)》28個(gè)實(shí)驗(yàn)連載-看門狗
- AUOTO DESIGN軟件
- 困惑已久的地址問(wèn)題
- 今天上午10:00 有獎(jiǎng)直播:意法半導(dǎo)體SiC產(chǎn)品及其工業(yè)應(yīng)用指南
- 求助瑞薩芯片
- 求助8051f340和AD7732
- 喊一聲,ti的cortex m4 launchpad今天開始訂購(gòu)了,4.99要的趕快...
- 51控制NRF24L01為什么只能工作幾十秒?
- 單相正弦波逆變電源