Delphi上位机

来源:互联网 发布:java核心技术 编辑:程序博客网 时间:2024/06/05 12:42


unit 串口;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, CPort, CPortCtl;type  TForm1 = class(TForm)    Label1: TLabel;    ComComboBox1: TComComboBox;    Label2: TLabel;    ComComboBox2: TComComboBox;    Button1: TButton;    ComLed1: TComLed;    ComPort1: TComPort;    Memo1: TMemo;    Edit1: TEdit;    Button2: TButton;    Label3: TLabel;    Label4: TLabel;    procedure FormCreate(Sender: TObject);    procedure ComComboBox2Change(Sender: TObject);    procedure Button1Click(Sender: TObject);    procedure ComPort1RxChar(Sender: TObject; Count: Integer);    procedure Button2Click(Sender: TObject);    procedure Memo1Change(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Form1: TForm1;  //传递波特率  BaudRate:String;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);beginif form1.Button1.Caption='打开串口' then  begin    form1.ComPort1.Port:=form1.ComComboBox1.Text;    //form1.ComPort1.BaudRate:= BaudRate;    form1.ComPort1.Open;    form1.Button1.Caption:='关闭串口' ;    form1.ComComboBox1.Enabled:=false;    form1.ComComboBox2.Enabled:=false;    endelse if form1.Button1.Caption='关闭串口' then   begin     form1.ComPort1.Close;     form1.ComComboBox1.Enabled:=true;     form1.ComComboBox2.Enabled:=true;     form1.Button1.Caption:='打开串口' ;  end;end;procedure TForm1.Button2Click(Sender: TObject);begin//发送串口数据form1.ComPort1.WriteStr(edit1.Text);end;procedure TForm1.ComComboBox2Change(Sender: TObject);begin   if form1.ComComboBox2.ItemIndex=0 thenbegin   form1.ComPort1.BaudRate:=br110;end;if form1.ComComboBox2.ItemIndex=1  then begin   form1.ComPort1.BaudRate:=br300;end;if form1.ComComboBox2.ItemIndex=2 then begin   form1.ComPort1.BaudRate:=br600;end;if form1.ComComboBox2.ItemIndex=3  then begin   form1.ComPort1.BaudRate:=br1200;end;if form1.ComComboBox2.ItemIndex=4  then begin   form1.ComPort1.BaudRate:=br2400;end;if form1.ComComboBox2.ItemIndex=5 then begin   form1.ComPort1.BaudRate:=br4800; end;if form1.ComComboBox2.ItemIndex=6 then begin   form1.ComPort1.BaudRate:=br9600; end;if form1.ComComboBox2.ItemIndex=7  then begin   form1.ComPort1.BaudRate:=br14400; end;if form1.ComComboBox2.ItemIndex=8  then  begin   form1.ComPort1.BaudRate:=br19200;  end;if form1.ComComboBox2.ItemIndex=9  then  begin   form1.ComPort1.BaudRate:=br38400;  end;if form1.ComComboBox2.ItemIndex=10  then  begin   form1.ComPort1.BaudRate:=br56000;  end;if form1.ComComboBox2.ItemIndex=11  then  begin  form1.ComPort1. BaudRate:=br57600;  end;if form1.ComComboBox2.ItemIndex=12 then  begin   form1.ComPort1.BaudRate:=br115200;  end;if form1.ComComboBox2.ItemIndex=13  then  begin   form1.ComPort1.BaudRate:=br128000;  end;  end;procedure TForm1.ComPort1RxChar(Sender: TObject; Count: Integer);  var  Str:String;begin  form1.ComPort1.ReadStr(Str,Count);  form1.Memo1.Lines.Add(Str) ;end;procedure TForm1.FormCreate(Sender: TObject);begin   form1.ComComboBox1.Clear;   form1.ComComboBox1.Items.Add('com1');   form1.ComComboBox1.Items.Add('com2');   form1.ComComboBox1.Items.Add('com3');   form1.ComComboBox1.Items.Add('com4');   form1.ComComboBox1.Items.Add('com5');   form1.ComComboBox1.Items.Add('com6');   form1.ComComboBox1.Items.Add('com7');   form1.ComComboBox1.Items.Add('com8');   form1.ComComboBox2.Clear;   form1.ComComboBox2.Items.Add('110');   form1.ComComboBox2.Items.Add('300');   form1.ComComboBox2.Items.Add('600');   form1.ComComboBox2.Items.Add('1200');   form1.ComComboBox2.Items.Add('2400');   form1.ComComboBox2.Items.Add('4800');   form1.ComComboBox2.Items.Add('9600');   form1.ComComboBox2.Items.Add('14400');   form1.ComComboBox2.Items.Add('38400');   form1.ComComboBox2.Items.Add('56000');   form1.ComComboBox2.Items.Add('57600');   form1.ComComboBox2.Items.Add('115200');   form1.ComComboBox2.Items.Add('128000');   form1.Memo1.Clear;   form1.Edit1.Clear;end;procedure TForm1.Memo1Change(Sender: TObject);beginend;end.


0 0