51单片机连接串口读取传感器数据,C#GDI绘制示波形图

(一)C#GDI绘制示波形图,连接串口读取传感器数据,针对51单片机。

(1)GDI绘图,及上位机串口读取介绍。

  • 我对GDI不是很了解,简单介绍。
  • 首先你可以确定一块画布,我的是在GroupBox控件里面的
    Graphics graphics = groupBox2.CreateGraphics();
  • 其次你要创建一支画笔
  • Pen TablePen = new Pen(Color.FromArgb(0x00, 0x00, 0x00));Pen有很多种方法,这里我就光写了颜色。
  • 接下来你就可以画了
  • public void DrawLine(Pen pen, int x1, int y1, int x2, int y2);
    public void DrawLine(Pen pen, float x1, float y1, float x2, float y2);
    pen:
    // System.Drawing.Pen,它确定线条的颜色、宽度和样式。
    //
    // x1:
    // 第一个点的 x 坐标。
    //
    // y1:
    // 第一个点的 y 坐标。
    //
    // x2:
    // 第二个点的 x 坐标。
    //
    // y2:
    // 第二个点的 y 坐标。
    绘制:
    graphics.DrawLine(颜色, x, y, x,y);//具体绘制成什么样子取决于你想要的图形还有单位格大小。
    - 串口接受部分
    - 分为两种接受,一种是字符,一种是16进制。
    - serialPort1.ReadExisting()//字符串型接受,串口会自动处理不需要转换。
    - byte[] data = new byte[serialPort1.BytesToRead]; //定义接受缓冲区域然后存放起来
    serialPort1.Read(data, 0, data.Length);//读出数据在这里插入图片描述
    这是上位机的显示结果,具体的串口设置和文字转换内容不再介绍。

(2)下位机dht11(可用其他)串口介绍。

#include<reg52.h>
#include<dht11.h>
#include<chuankou.h>
void delay()
{
uint a;
a=50000;
while(a–);
}
void main()
{
uint i;
init_com();//串口初始化
while(1)
{
RH();//dtt11头文件
i=U8T_data_H;//读取温度值
xie_com(i);//写入串口
delay();
}
}
///功能:串口初始化,波特率9600,方式1,频率11.0592MHZ///
void init_com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
void xie_com(uchar i) //串口发送一字节
{
SBUF=i;
while(TI==0);
TI=0;
}
介绍的不是很详细,仅供大家参考,如果有需要下方留言。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页