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;
}
介绍的不是很详细,仅供大家参考,如果有需要下方留言。

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值