简易的心电采集电路,包括下位机编程,上位机显示波形


用的是stc12系列单片机做下位机,c++builder编写的上位机显示界面,可以做心电检测波形显示,也可以做普通的示波器
资源截图
代码片段和文件信息
//---------------------------------------------------------------------------

#include 
#pragma hdrstop

#include “MsCom.h“
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link “MSCommLib_OCX“
#pragma resource “*.dfm“
TForm1 *Form1;
AnsiString flag;//***声明了一个选择标志位
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
if(MSComm1->PortOpen==true)
{
Button1->Enabled=false;
Button2->Enabled=true;
Button3->Enabled=true;
Button4->Enabled=true;
Shape1->Brush->Color=clGreen;
}
else
{
Button1->Enabled=true;
Button2->Enabled=false;
Button3->Enabled=false;
Button4->Enabled=false;
Shape1->Brush->Color=clRed;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(Tobject *Sender)
{
if(MSComm1->PortOpen!=true)
{
MSComm1->CommPort=StrToInt(ComboBox1->Text);//选择串口号
MSComm1->Settings=
ComboBox2->Text+““+
ComboBox3->Text+““+
ComboBox4->Text+““+
ComboBox5->Text; //设置串口的属性波特率、奇偶校验、数据位和停止位。
MSComm1->InputMode=1;//设置传入数据的格式,0表示文本形式 1表示二进制形式
MSComm1->RThreshold=1;
MSComm1->PortOpen=true;//打开串口
Button1->Enabled=false;
Button2->Enabled=true;
Button3->Enabled=true;
Button4->Enabled=true;
Shape1->Brush->Color=clGreen;
Application-> MessageBox( “串口打开成功 “ “信息提示框 “MB_OK);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(Tobject *Sender)
{
if(MSComm1->PortOpen!=false)
{
MSComm1->PortOpen=false;
Button1->Enabled=true;
Button2->Enabled=false;
Button3->Enabled=false;
Button4->Enabled=false;
Shape1->Brush->Color=clRed;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(Tobject *Sender)
{
flag=“a“;  //开始选择标志位
MSComm1->Output=StringToOleStr(flag); //把AnsiString型转化成Ole形式
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MSComm1Comm(Tobject *Sender)
{
AnsiString str; //声明一个AnsiString类型的变量
OleVariant rec; //声明一个用于接收数据的OleVariant变量。
//int  count;// 声明一个int类型的变量
static int count=0; //定义一个计数变量
static int i=0j=0;
static unsigned int short temp=0; //声明一个16位的接收转换变量temp
static float value;  //转换后的电压值
//unsigned char buf[128];
Chart1->BottomAxis->SetMinMax(0 200 );
Chart1->LeftAxis->SetMinMax(0 5 );
if(MSComm1->CommEvent==comEvReceive)// 接收缓冲区中是否收到Rthreshold个字符。
{
if(MSComm1->InBufferCount)// 是否有字符驻留在接收缓冲区等待被取出
{
  rec=MSComm1->Input; //取出接收缓冲器内容
  count++;
  switch(count)
  {
  case 1: temp=rec.GetElement(0); break; //转换成字节类型
  case 2: {
          temp=temp*256+rec.GetElement(0); //把两个8位数据转换成16位数据
          value=(float)(temp*5.0/1024);     //转换后的电压值
          Chart1->Series[0]->AddXY ( j value ““ clBlue );
          j++;
          i++;
          if(j==200)
      

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-09-17 23:42  上位机C++ builder版本
     文件        1368  2016-09-18 10:09  上位机C++ builder版本
eadme.txt
     目录           0  2016-09-13 16:34  上位机C++ builder版本上位机1
     文件        3971  2016-09-12 22:00  上位机C++ builder版本上位机1MsCom.cpp
     文件          51  2016-09-12 22:02  上位机C++ builder版本上位机1MsCom.ddp
     文件      207612  2016-09-12 19:10  上位机C++ builder版本上位机1MsCom.dfm
     文件        1745  2016-09-12 18:24  上位机C++ builder版本上位机1MsCom.h
     文件       37504  2016-09-13 16:34  上位机C++ builder版本上位机1MsCom.obj
     文件        3842  2016-09-12 20:22  上位机C++ builder版本上位机1MsCom.~cpp
     文件          51  2016-09-12 20:28  上位机C++ builder版本上位机1MsCom.~ddp
     文件      207612  2016-09-12 19:10  上位机C++ builder版本上位机1MsCom.~dfm
     文件        1745  2016-09-12 18:24  上位机C++ builder版本上位机1MsCom.~h
     文件        3836  2016-09-12 22:02  上位机C++ builder版本上位机1Uint.bpr
     文件        1069  2016-06-22 21:09  上位机C++ builder版本上位机1Uint.cpp
     文件      904704  2016-09-13 16:34  上位机C++ builder版本上位机1Uint.exe
     文件       10477  2016-09-13 16:34  上位机C++ builder版本上位机1Uint.obj
     文件       93236  2016-09-12 21:53  上位机C++ builder版本上位机1Uint.res
     文件       12224  2016-09-13 16:34  上位机C++ builder版本上位机1Uint.str
     文件     3670016  2016-09-13 16:34  上位机C++ builder版本上位机1Uint.tds
     文件        3836  2016-09-12 21:35  上位机C++ builder版本上位机1Uint.~bpr
     目录           0  2016-09-14 15:23  上位机C++ builder版本上位机2
     文件        6262  2016-09-14 15:23  上位机C++ builder版本上位机2MsCom.cpp
     文件          51  2016-09-14 15:23  上位机C++ builder版本上位机2MsCom.ddp
     文件      208178  2016-09-14 15:20  上位机C++ builder版本上位机2MsCom.dfm
     文件        1815  2016-09-13 21:10  上位机C++ builder版本上位机2MsCom.h
     文件       32326  2016-09-14 15:23  上位机C++ builder版本上位机2MsCom.obj
     文件        5659  2016-09-13 23:08  上位机C++ builder版本上位机2MsCom.~cpp
     文件          51  2016-09-13 23:41  上位机C++ builder版本上位机2MsCom.~ddp
     文件      208175  2016-09-13 21:40  上位机C++ builder版本上位机2MsCom.~dfm
     文件        1815  2016-09-13 21:10  上位机C++ builder版本上位机2MsCom.~h
     文件        3836  2016-09-14 15:23  上位机C++ builder版本上位机2Uint.bpr
............此处省略90个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)