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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4244|回復: 5
打印 上一主題 下一主題
收起左側

基于51單片機+LabVIEW的脈搏心率計程序設計

[復制鏈接]
跳轉到指定樓層
樓主
可以用上位機控制。
使用pulsesensor傳感器。
具體算法是:在AD里面檢測波峰,記錄一分鐘有多少個波峰,從而計算出心率。



單片機源程序如下:
  1. #include <reg52.h>
  2. #include<intrins.h>
  3. #include <stdio.h>
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. sbit dula=P2^6;
  7. sbit wela=P2^7;
  8. sbit adwr=P3^6;
  9. sbit adrd=P3^7;
  10. uchar flag,a;
  11. unsigned char flag_uart,flag_time,flag_on,a,i,t0_num,ad_val,rate,rate1;
  12. uchar x,y,z;
  13. float ad_vo;
  14. uchar code table1[]={
  15. 0x3f,0x06,0x5b,0x4f,
  16. 0x66,0x6d,0x7d,0x07,
  17. 0x7f,0x6f,0x77,0x7c,
  18. 0x39,0x5e,0x79,0x71};
  19. uchar code table2[]={
  20. 0xbf,0x86,0xdb,0xcf,
  21. 0xe6,0xed,0xfd,0x87,
  22. 0xff,0xef,0xf7,0xfc,
  23. 0xb9,0xde,0xf9,0xf1};
  24. void delayms(uint xms)
  25. {
  26.         uint i,j;
  27.         for(i=xms;i>0;i--)
  28.                 for(j=110;j>0;j--);
  29. }
  30. void init()
  31. {
  32. TMOD=0x21;
  33. SCON=0x50;
  34. TH0=(65536-45872)/256;
  35. TL0=(65536-45872)%256;
  36. TH1=0xfd;
  37. TL1=0xfd;
  38. TR1=1;
  39. ET0=1;
  40. SM0=0;
  41. SM1=1;
  42. REN=1;
  43. EA=1;
  44. ES=1;
  45. }
  46. void display(uchar value)
  47. {
  48. uchar bai,shi,ge;
  49. bai=value/100;
  50. shi=value%100/10;
  51. ge=value%10;
  52. dula=1;
  53. P0=table2[bai];
  54. dula=0;
  55. P0=0xff;
  56. wela=1;
  57. P0=0x7e;
  58. wela=0;
  59. delayms(5);
  60. dula=1;
  61. P0=table1[shi];
  62. dula=0;
  63. P0=0xff;
  64. wela=1;
  65. P0=0x7d;
  66. wela=0;
  67. delayms(5);
  68. dula=1;
  69. P0=table1[ge];
  70. dula=0;
  71. P0=0xff;
  72. wela=1;
  73. P0=0x7b;
  74. wela=0;
  75. delayms(5);
  76. }
  77. void display1(uchar value1)
  78. {
  79. uchar bai1,shi1,ge1;
  80. bai1=value1/100;
  81. shi1=value1%100/10;
  82. ge1=value1%10;
  83. dula=1;
  84. P0=table1[bai1];
  85. dula=0;
  86. P0=0xff;
  87. wela=1;
  88. P0=0x77;
  89. wela=0;
  90. delayms(5);
  91. dula=1;
  92. P0=table1[shi1];
  93. dula=0;
  94. P0=0xff;
  95. wela=1;
  96. P0=0x6f;
  97. wela=0;
  98. delayms(5);
  99. dula=1;
  100. P0=table1[ge1];
  101. dula=0;
  102. P0=0xff;
  103. wela=1;
  104. P0=0x5f;
  105. wela=0;
  106. delayms(5);
  107. }
  108. uchar get_ad()
  109. {
  110.      uchar adval;
  111.          adwr=1;
  112.          _nop_();
  113.          adwr=0;
  114.          _nop_();
  115.          adwr=1;
  116.          P1=0xff;
  117.          adrd=1;
  118.          _nop_();
  119.          adrd=0;
  120.          _nop_();
  121.          adval=P1;
  122.          adrd=1;
  123.      return adval;
  124. }
  125. void main()
  126. {
  127.      init();
  128.            x=0;

  129.           
  130.      wela=1;
  131.      P0=0x7f;
  132.      wela=0;
  133.      while(1)
  134.          {
  135.            if(flag_uart==1)
  136.                    {
  137.               flag_uart=0;
  138.                           ES=0;
  139.                           TI=1;
  140.               switch(flag_on)
  141.                           {
  142.                   case 0:
  143.                           TR0=1;
  144.                                                   break;
  145.                   case 1:
  146.                           TR0=0;
  147.                                                   break;
  148.                   case 2: puts( "Error!\n");
  149.                           break;
  150.               }
  151.               while(!TI);
  152.                           TI=0;
  153.                           ES=1;
  154.           }
  155.           if(flag_time==1)
  156.                   {   
  157.                       flag_time=0;
  158.           ad_val=get_ad()*500/256;
  159.                                   
  160.                                   ad_vo=(float)ad_val/100;
  161.                                   if(ad_val>=250)
  162.                                         {z=y;y=x;
  163.                                         rate=600/(y-z);}
  164.                                         if(rate>0&&rate>=60&&rate<=100)
  165.                                         {rate1=rate;}
  166.                                        
  167.                                                                                                                        
  168.                                        
  169.                                   
  170.                                        
  171.          
  172.                   ES=0;
  173.                   TI=1;
  174.                                
  175.           printf("%.2f\n",ad_vo);
  176.                   while(!TI);
  177.                   TI=0;
  178.                   ES=1;
  179.                
  180.                   }
  181.                         display(ad_val);
  182.                         if(rate>=60&&rate<=100)
  183.       display1(rate);       
  184.                              
  185.       else
  186.                         display1(rate1);
  187.                                                
  188.                   }
  189.                 }
  190. void timer0()interrupt 1
  191. {  
  192.        
  193.    TH0=(65536-45872)/256;
  194. ……………………

  195. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
心率脈搏計 文件夾.rar (40.31 KB, 下載次數: 81)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:544871 發表于 2019-5-22 18:40 | 只看該作者
所以LabVIEW的部分在哪里呢
回復

使用道具 舉報

板凳
ID:210588 發表于 2019-6-21 08:11 | 只看該作者
有電路原理圖嗎
回復

使用道具 舉報

地板
ID:568556 發表于 2019-6-21 08:59 | 只看該作者
謝謝樓主
回復

使用道具 舉報

5#
ID:706441 發表于 2020-3-11 16:28 | 只看該作者

有電路圖嗎
回復

使用道具 舉報

6#
ID:410291 發表于 2020-4-12 11:08 | 只看該作者
你好,有線路連接圖嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品一区二区三区蜜桃久 | 日韩中文字幕一区二区 | 国产精品mv在线观看 | 欧美电影在线 | 大象视频一区二区 | 日日摸天天添天天添破 | 久久婷婷色 | 精品视频一区二区 | 欧美激情视频网站 | 日本三级线观看 视频 | 亚洲成人三区 | 中文字幕不卡 | 久久久久91 | 欧美一级黄色片免费观看 | 久久久久国产一区二区三区 | 中文字幕日韩一区 | 欧美日韩一区在线 | av乱码| 人妖一区 | 亚洲成人一区 | www.色五月.com | 国产一区二区在线免费 | 久久久久国产 | 亚洲播放| 亚洲电影中文字幕 | 一区中文 | 国产精品国产成人国产三级 | 91麻豆产精品久久久久久夏晴子 | 成人性视频免费网站 | 四色永久 | 成人午夜视频在线观看 | 97福利在线 | 日本中文在线 | 国产精品成人在线播放 | 久久99视频 | 精品少妇一区二区三区在线播放 | 美女黄色在线观看 | 久久视频精品 | 久久伊| 久在线观看| 婷婷桃色网 |