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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機的心率脈搏儀源程序+電路

[復制鏈接]
ID:573032 發(fā)表于 2019-6-27 11:18 | 顯示全部樓層 |閱讀模式
硬件構(gòu)成:單片機+最小系統(tǒng)+LCD1602液晶顯示模塊+紅外傳感器+運放模塊+蜂鳴器模塊+LED指示燈模塊+按鍵模塊

按鍵可以設(shè)置心率的上下限報警值,四個按鍵:復位按鍵、設(shè)置、加、減;


1.單片機型號STC89C52。
2.本系統(tǒng)自帶單片機上電復位電路,晶振電路,手動復位電路(即復位按鍵)。
3.可以用按鍵設(shè)置,設(shè)置心率的上、下限報警值,并具有掉電保存,保存在STC單片機的內(nèi)部,上電無需重新設(shè)置。
4.當實際測到的心率次數(shù)超過上限或低于下限時,蜂鳴器報警提示心率不正常。
5.LCD1602液晶第一行顯示當前的心率,單位是心率/分鐘,第二行顯示設(shè)定的上、下限報警值。
6.把手指放在光電傳感器上,要輕輕的壓在傳感器上面,盡量要其他手指支撐起要測脈搏的手指頭。
7.手指放上去后5秒左右指示燈會閃爍,說明已經(jīng)測到您的脈搏了。
8.人脈搏跳動的時候,血液的透光性不一樣會導致接收器那邊接收的信號強弱不一樣,因此可以把變化的信號濾波、放大、整形等系列處理后 ,單片機利用外部中斷對其進行計數(shù),最終換算成人一分鐘脈搏的跳動次數(shù)顯示在液晶屏上。

電路原理圖如下:
QQ截圖20190627111110.png

單片機源程序如下:
  1. #include<reg52.h>
  2. #include<stdio.h>
  3. #include<intrins.h>
  4. #include"lcd1602.H"
  5. #define uchar unsigned char
  6. #define uint unsigned int
  7. #define ulong unsigned long
  8. unsigned int i,n,ci,dd[11],jj,j,k,tmp;
  9. bit w=0;
  10. uchar bh;
  11. ulong time;
  12. sbit spd = P2^0;


  13. external0() interrupt 0//外部中斷服務(wù)程序
  14. {
  15.           w=~w;
  16.         if(w==0)
  17.         {
  18.           EX0=0;
  19.           ET0=1;
  20.           TH0=0x0;
  21.       TL0=0x0;
  22.           n=0;
  23.         }
  24.         else
  25.         {
  26.                 time=n*65536+TH0*256+TL0;
  27.                 dd[jj]=30000000/time;
  28.                 jj++;
  29.                 if(jj>10)
  30.                 {
  31.                    jj=0;
  32.                    for(j=0;j<11;j++)
  33.                       for(k=0;k<11-j;k++)
  34.                              {
  35.                                      if(dd[k]>dd[k+1])
  36.                                           {
  37.                                                    tmp=dd[k];
  38.                                                   dd[k]=dd[k+1];
  39.                                                  dd[k+1]=tmp;
  40.                                          
  41.                                           }
  42.                                           

  43.                                  
  44.                                  }
  45.                    if(dd[5]>50&&dd[5]<200)ci=((dd[4]+dd[5]+dd[6])/3)+11;
  46.         
  47.                 }
  48.                 TH0=0x0;
  49.         TL0=0x0;
  50.                 n=0;
  51.         
  52.         }
  53. }
  54. void timer0(void) interrupt 1
  55. {
  56. n++;

  57. }

  58. void delay(void)   //誤差 0us
  59. {
  60.    unsigned char a,b,c;
  61.     for(c=123;c>0;c--)
  62.         for(b=116;b>0;b--)
  63.             for(a=9;a>0;a--);
  64. }

  65. /////////////////////////////////////////////////////////////////
  66. void main(void)
  67. {
  68. InitLcd();//
  69. DelayMs(15);
  70. IT0=1;     //INT0下降沿中斷
  71. EX0=1;     //允許INT1中斷
  72. TMOD=0x1;
  73. TH0=0x0;
  74. TL0=0x0;
  75. TR0=1;
  76. ET0=1;
  77. EA=1;

  78. while(1)
  79. {
  80.          if(n>10)
  81.          {
  82.                  n=0;         
  83.                  jj=0;
  84.                  ci=0;
  85.                 TimeNum[0]='N';
  86.          TimeNum[1]='O' ;
  87.              TimeNum[2]=' ' ;
  88.              TimeNum[3]='I' ;        
  89.              TimeNum[4]='N' ;
  90.                  TimeNum[5]='P' ;
  91.                  TimeNum[6]='U' ;
  92.                  TimeNum[7]='T' ;
  93.                  TimeNum[8]=' ' ;
  94.                   ShowString(0,TimeNum);
  95.              ShowString(1,Test1);
  96.           }
  97.           else        
  98.           {
  99.                   if(w==0&&EX0==0)
  100.                     {
  101.                           delay();
  102.                           EX0=1;
  103.                         }  

  104.                   TimeNum[0]=' ';
  105.          TimeNum[1]=' ' ;
  106.              TimeNum[2]=' ' ;
  107.              TimeNum[3]=' ' ;        
  108.              TimeNum[4]=' ' ;         
  109.                  TimeNum[5]=' ' ;
  110.                   
  111.                   if(ci/100>0)TimeNum[6]=ci/100+'0' ; else TimeNum[6]=' ' ;
  112.                   if(ci/100==0&&ci%100/10>0)TimeNum[7]=ci%100/10+'0' ; else TimeNum[7]=' ' ;
  113.                   TimeNum[8]=ci%10+'0' ;
  114.                   ShowString(0,TimeNum);
  115.                   ShowString(1,Test1);
  116.                   if(ci>100)spd=0;else spd=1;
  117.             }
  118.   
  119.    }
  120. ;
  121. }
復制代碼

所有資料51hei提供下載:
心率脈搏儀源碼.zip (60.38 KB, 下載次數(shù): 101)
原理圖 (2).zip (14.08 KB, 下載次數(shù): 50)
原理圖.zip (71.08 KB, 下載次數(shù): 53)

回復

使用道具 舉報

ID:923615 發(fā)表于 2021-5-19 19:49 | 顯示全部樓層
下載后要如何打開呢?安裝些什么軟件,求大神告知
回復

使用道具 舉報

ID:486462 發(fā)表于 2023-2-17 16:53 | 顯示全部樓層
PDF的第三個,源文件有沒有
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99热这里只有精品8 激情毛片 | 国产在线视频在线观看 | 欧美在线日韩 | 久久久久久精 | 欧美日韩专区 | 欧美 日韩 国产 成人 在线 91 | 精品99久久久久久 | 亚洲一级毛片 | 国产精品久久av | 国产精品不卡一区二区三区 | 国产精品视频免费看 | 中文字幕亚洲精品在线观看 | 成年男女免费视频网站 | 亚洲九色 | 三区在线观看 | 91一区二区三区在线观看 | 99久久精品国产一区二区三区 | 欧美在线视频一区二区 | 日韩精品在线一区 | 国产精品一区一区 | 国产精品久久久久久影院8一贰佰 | 亚洲精品成人网 | 超碰在线观看97 | 国产精品完整版 | 中文字幕免费观看 | 中文字幕av中文字幕 | 国产视频一区在线观看 | 国产福利小视频 | 在线免费观看成人 | 久久久精品一区 | 亚洲精品一 | 国产精品一区二区三区久久久 | 久久伊人精品一区二区三区 | 久久精品视频一区二区 | 国产午夜高清 | 精品乱人伦一区二区三区 | 国产福利资源在线 | 欧美国产日本一区 | 久久99网 | 日本在线免费视频 | 天堂在线www|