国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee
ELEOK
標題:
51單片機心率計Proteus仿真圖與源程序
[打印本頁]
作者:
eng
時間:
2021-6-25 02:01
標題:
51單片機心率計Proteus仿真圖與源程序
由于仿真中沒有紅外,手指也模擬不了,其實就是單片機的IO口檢測脈沖信號,那樣用個方波信號模擬就ok
1.png
(63.96 KB)
下載附件
2021-6-25 01:57 上傳
2.gif
(73.9 KB)
下載附件
2021-6-25 01:57 上傳
部分源碼:完整見附件
switch (Xintiao_Con)//此處與上面按鍵的檢測類似
{
case 0: //默認Xintiao_Con是為0的
{
if(!Xintiao)//每10ms(上面的定時器)檢測一次脈搏是否有信號
{
Xintiao_Con++;//如果有信號,變量加一,程序就會往下走了
}
break;
}
case 1:
{
if(!Xintiao) //每過10ms檢測一下信號是否還存在
{
Xintiao_Con++;//存在就加一
}
else
{
Xintiao_Con=0;//如果不存在了,檢測時間很短,說明檢測到的不是脈搏信號,可能是其他干擾,將變量清零,跳出此次檢測
}
break;
}
case 2:
{
if(!Xintiao)
{
Xintiao_Con++;//存在就加一
}
else
{
Xintiao_Con=0;//如果不存在了,檢測時間很短,說明檢測到的不是脈搏信號,可能是其他干擾,將變量清零,跳出此次檢測
}
break;
}
case 3:
{
if(!Xintiao)
{
Xintiao_Con++;//存在就加一
}
else
{
Xintiao_Con=0;//如果不存在了,檢測時間很短,說明檢測到的不是脈搏信號,可能是其他干擾,將變量清零,跳出此次檢測
}
break;
}
case 4:
{
if(Xintiao)//超過30ms一直有信號,判定此次是脈搏信號,執行以下程序
{
if(Xintiao_Change==1)//心率計原理為檢測兩次脈沖間隔時間計算心率,變量Xintiao_Change第一次脈沖時為0的,所有走下面的else,第二次走這里
{
View_Data[0]=(60000/Xintiao_Jishu)/100+0x30;
View_Data[1]=(60000/Xintiao_Jishu)%100/10+0x30;
View_Data[2]=(60000/Xintiao_Jishu)%10+0x30;
if(((60000/Xintiao_Jishu)>=Xintiao_H)||((60000/Xintiao_Jishu)<=Xintiao_L))//心率不在范圍內報警
speaker=0; //蜂鳴器響
else
speaker=1; //不響
View_Change=1; //計算出心率后啟動顯示
Xintiao_Jishu=0; //心跳計數清零
Xintiao_Change=0; //計算出心率后該變量清零,準備下次檢測心率
stop=0; //計算出心率后stop清零
}
else//第一次脈沖時Xintiao_Change為0
{
Xintiao_Jishu=0; //脈沖計時變量清零,開始計時
Xintiao_Change=1;//Xintiao_Change置1,準備第二次檢測到脈沖時計算心率
}
Xintiao_Con=0; //清零,準備檢測下一次脈沖
break;
}
}
}
復制代碼
心率計程序源碼.rar
(31.15 KB, 售價: 2 E幣)
2021-6-25 02:00 上傳
點擊文件名下載附件
售價: 2 E幣
[記錄]
[
購買
]
心率計protues仿真文件.rar
(69.36 KB, 售價: 2 E幣)
2021-6-25 02:00 上傳
點擊文件名下載附件
售價: 2 E幣
[記錄]
[
購買
]
作者:
3121354654
時間:
2022-1-12 19:07
你好,這個仿真原理還有代碼解釋,或者相關報告有嗎
歡迎光臨 ELEOK (http://m.afoofa.cn/)
Powered by Discuz! X5.0