找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4090|回復: 2
打印 上一主題 下一主題
收起左側(cè)

基于AT89c52的脈搏檢測程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:209881 發(fā)表于 2017-6-10 16:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

單片機脈搏檢測源程序如下:
  1. unsigned char key_value;            //存放鍵盤返回
  2. unsigned char key_flag=0;//定義有鍵按下的標志
  3. unsigned char i,j,t,m,DelayTime,DispBuf[3];
  4. unsigned int n,mb;


  5. #include "reg52.h"
  6. #include "lcd.c"
  7. #include "hardware.c"
  8. #include "user.c"
  9. #include "key.c"
  10. #include "string.h"
  11. #include "intrins.h"

  12. void delay(DelayTime);
  13. void main()
  14. {
  15.         EA=0;
  16.         LCD_Initial();
  17.         delay_20ms(10);
  18.         LCD_Write(0,0x01);           //清屏
  19.         LCD_Print(5,0,"Welcome!");
  20.         delay_20ms(10);
  21.         LCD_Print(0,0,"MaiBoCeLiang");
  22.         LCD_Print(0,1,"e Control!");
  23.         delay_20ms(10);
  24.         LCD_Write(0,0x01);           //清屏
  25.         LCD_Print(0,0,"LSTC");
  26.         LCD_Print(0,1,"by LWL&MZL");
  27.         delay_20ms(10);
  28.         LCD_Write(0,0x01);           //清屏
  29.        
  30.         TMOD=0x01;        //定時器T0工作于方式1
  31.         TH0=0xec;
  32.         TL0=0x78;        //T0定時時間為5ms
  33.         IE=0X83;         //開中斷
  34.         IT0=1;           //外部中斷0為邊沿觸發(fā)方式
  35.         TR0=1;           //開定時器T0
  36.         for(;;)          //脈搏指示燈控制
  37.         {       
  38.                 if(P3_0==0)
  39.                 {
  40.                         delay(200);
  41.                         P3_0=1;
  42.                 }
  43.         }

  44. }
  45. external0() interrupt 0//外部中斷服務(wù)程序
  46. {
  47.         P3_0=0;          //點亮指示燈
  48.         if(n==0)
  49.         mb=0;
  50.         else
  51.         mb=12000/n;      //計算每分鐘脈搏數(shù)
  52.         DispBuf[2]=mb%10;//取個位數(shù)
  53.         mb=mb/10;
  54.         DispBuf[1]=mb%10;//取十位數(shù)
  55.         DispBuf[0]=mb/10;//取百位數(shù)
  56.         n=0;
  57. }
  58. Timer0() interrupt 1//定時中斷服務(wù)程序
  59. {       
  60.         TH0=0xec;
  61.         TL0=0x78;
  62.         t=BitTab[j];//取位值
  63.         P3=P3|0x38;//P3.3-P3.5送1
  64.         P3=P3&t;   //P3.3-P3.5輸出取出的位值
  65.         t=DispBuf[j];//取出待顯示的數(shù)
  66.         t=DispTab[t];//取字形碼
  67.         P1=t; //字型碼由P3輸出顯示
  68.         j++;  //j作為數(shù)碼管的計數(shù)器,取值0-2,顯示程序通過它確認顯示哪個數(shù)碼管
  69.         if(j==3)
  70.         j=0;
  71.         n++;
  72.         if(n==2000)//10秒鐘測不到心率,n復位
  73.         n=0;
  74. }
  75. ……………………

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

所有資料51hei提供下載:
脈搏程序.rar (22.63 KB, 下載次數(shù): 29)



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

使用道具 舉報

沙發(fā)
ID:210017 發(fā)表于 2017-6-11 09:44 | 只看該作者
此帖僅作者可見

使用道具 舉報

板凳
ID:346704 發(fā)表于 2018-6-7 09:50 | 只看該作者
此帖僅作者可見

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表