A. 如何获取单片机发送来的串口数据并实时计算、显示出来
用上位机程序处理就行了,串口通信。单片机、电路、计算机软件可找我。
B. 单片机上的数据发送到电脑上的显示
不知道你对单片机和电脑知识的掌握程度,我通俗点讲一下:
硬件:
单片机和电脑都有串口,而且需要配置的东西也差不多。区别在于,单片机输出的TTL电平,电脑输出的是232信号。所以单片机需要再接一个232芯片(全双工)转换。
还有另一种简单的方式单片机接一个RS485芯片(半双工)。去市场买个USB转485转换线,装上驱动,把USB插头插到电脑上,就会虚拟一个串口出来。
软件:
单片机软件:先配置要串口的波特率、停止位、数据位、效验方式等。然后把需要发送的数据依次放入串口缓冲寄存器。检测到发送完毕标志之后再放入下一个数据。接收也是收到接收标志之后,从串口缓冲寄存器读出数据就好了。因为单片机不同寄存器、标志的名字不同,具体操作有些差异,这里不细讲了。
电脑软件:最简单的就是用串口助手。要注意的是一般的串口助手只支持4个端口。而虚拟串口排在4个以后。所以需要改下虚拟端口的编号。右击我的电脑---管理-----计算机管理-----端口(com和LPT)---右击一个虚拟串口---属性----端口设置----高级----COM端口号选1-4,依次确定就好了。
如果你想做成专用软件的话,可以先学习用下VB最容易上手,而且网上例程也非常多。操作也类似单片机。先选择端口配置好波特率什么滴,打开端口。之后接收或者发送数据。
C. 怎么将单片机收集的温度数据显示到电脑屏幕上
1,利用单片机的串口和单片机的串行接口相连,当然中然还有RS232转换电路。
2,单片机编程,把想要发送的数据发送到PC上。
3,PC端要显示数据,需要一个窗口,最简单是利用“串口助手”软件。
4,如果不想用上述该软件,你可以用VB,VC等自己编一个上位机软件。即可显示你想要的数据。
D. 我想通过串口把51单片机和电脑连接起来,这样就可以把单片机发送上来的数据在电脑上显示出来
如果你只是简单想看一下单片机与电脑的收发数据的话,不用自己写那么麻烦啊,上网下载一个“串口调试助手”就可以解决你的问题了。
如果你是工作需要的,可以用组态软件,也可以自己写,用VB会方便很多,用VC也行,用这两个网上会有很多的资料和教程。
E. 51单片机的数据怎么显示于vs
1.先看一下显示的结果:
在这里插入图片描述
源代码:
#include <reg51.h>
typedef unsigned int u16;
typedef unsigned char u8;
u8 code smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极
u16 num=2021;//要显示的数字
/*延时函数*/
void delay(u16 i)
{
while(i--);
}
/*显示函数*/
void display()
{
u16 x = 0;
while(1)
{
switch(x)
{
case 0:P2 = 0x0e;P0 = smg[num / 1000];break; //显示2
case 1:P2 = 0x0d;P0 = smg[(num % 1000) / 100];break; //显示0
case 2:P2 = 0x0b;P0 = smg[(num % 1000) % 100 / 10];break; //显示2
case 3:P2 = 0x07;P0 = smg[num % 10]; break; //显示1
}
delay(1000);//延时,增大延时我们可以看到数码管是交替点亮的
x = ++x % 4;//取模,当x=4时,通过与4取模就让x的值重新变回0
}
}
/*主函数*/
void main()
{
display();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
2.如何在数码管显示小数点呢?
对与共阴极数码管来说,直接将要显示的数字与0x80相或
例如:
要想在数码管上显示数字2,对于本电路图来说,直接让P0=0x5b即可; 0x5b=01011011,
但怎么显示'2.'呢? 对于共阴极数码管来说,只需要让P0=0x5b | 0x80, 即P0=11011011,即点亮dp位
1
2
3
4
1
2
3
4
显示结果:在这里插入图片描述
源代码:
#include <reg51.h>
typedef unsigned int u16;
typedef unsigned char u8;
u8 code smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//共阴极
u16 num=2021;//要显示的数字
/*延时函数*/
void delay(u16 i)
{
while(i--);
}
/*显示函数*/
void display()
{
u16 x = 0;
while(1)
{
switch(x)
{
case 0:P2 = 0x0e;P0 = smg[num / 1000]|0x80;break; //显示2. 只修改了此语句
case 1:P2 = 0x0d;P0 = smg[(num % 1000) / 100];break; //显示0
case 2:P2 = 0x0b;P0 = smg[(num % 1000) % 100 / 10];break; //显示2
case 3:P2 = 0x07;P0 = smg[num % 10]; break; //显示1
}
delay(1000);//延时,增大延时我们可以看到数码管是交替点亮的
x = ++x % 4;//取模,当x=4时,通过与4取模就让x的值重新变回0
}
}
/*主函数*/
void main()
{
display();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
以上就是51单片机数码管显示数字及小数点了,但仅仅以共阴极数码管为例,大家还可以思考一下如何用共阳极数码管实现
proteus中数码管: 7-SEG-MPX4 (CC是共阴极,CA是共阳极)
F. 单片机存储的数据怎么调用显示
请参考
1、首先做一块电路板(或者买一块带USB通讯的开发板),将PIC32的USB通讯管脚D+、D-通过USB座子引出来连接到电脑上。2、配置单片机USB模块代码程序,可以通过Harmony配置生成代码。3、把程序下载到单片机,电脑的端口上识别出来,说明硬件连接成功。4、电脑会自动安装USB驱动,也可以手动安装,写程序把采样的数据发送到USB口。5、打开串口调试助手,读取单片机USB接口输出的数据,波特率可以设置到最大。
G. 组态王如何发送数据、如何接收单片机发送的数据组态王和单片机之间的地址是怎么定义和连接的
首先要看你需要用什么驱动设备,选准了驱动设备,设置好地址,就可以在数据词典里设置变量,根据协议设置i/o变量,设置放送命令频率,再在画面输出
H. 51单片机的数据怎么显示于vs
1、首先在VS中安装C/C++ Extension Pack扩展和安装Keil Assistant扩展。
2、其次安装完成后点击扩展设置。添加keil的可执行文件的路径。
3、最后用vscode打开项目文件夹,即可在VS中显示51单片机数据了。
I. 如何使pc机从串口读取单片机数据并显示之
首先硬件要有max232芯片做电平转换
或者直接用pl2303做usb转串口.
软件要有一个串口调试工具.
至于程序就是
(1):设置串口相关寄存器
注意波特率设置
(2):把数据放在sbuf里面
(3):检查是否发送完毕没完等待
发完了就继续放
各种单片机设置方法不一样就给你一个51
的程序你参考一下:
//wx原创
串口调试程序
向pc发送数据
用于调试观察数据
#include
#include
sbit
k1=p10;
void
ckfszf(char
zf);
void
ckfszfc(char
fsgs,char
zfc[]);
bit
cksnbzw=0;
char
fsb[]={"abcdef"};
main()
{
pcon=0x80;
//串口设置
tmod=0x20;
//
以t1定时器为波特发生器
波特率:19200
th1=0xfd;
tl1=0xfd;
tr1=1;
scon=0x50;
//串口设置模式一完毕
while(1)
{
ti=1;
ckfszfc(6,fsb);
ckfszf('
');
ckfszfc(9,"1234567890");
ckfszf('
');
ckfszf('
');
ckfszf('
');
ckfszfc(12,"aabbccddeeffgg");
ckfszf('
');
while(1);
}
}
//字符
串口发送函数
由串口向外发送一个字符
//参数1:要发送字符
//返回值:无
//备注:
本函数内部检查上次发送是否结束
//
全局初始化要求:ti=1
保证第一次进入此函数之前ti=1
void
ckfszf(char
zf)
{
while(ti==0);
//等待发送完毕
ti=0;
sbuf=zf;
}
//字符串
串口发送函数
由串口向外发送一个字符串
//参数1:要发送字符串个数
取值:0~255
//参数2:要发送字符串数组名
或字符串本身
//返回值:无
//备注:
本函数内部检查上次发送是否结束
//
全局初始化要求:ti=1
保证第一次进入此函数之前ti=1
void
ckfszfc(uchar
fsgs,char
zfc[])
{
uchar
i;
cksnbzw=1;
for(i=0;i
评论
0
0
加载更多
J. 单片机如何实现多路模拟量的数据采集、显示
普通单片机实现多路模拟量的数据采集、显示需要:
外部连接一个多通道输入的ADC芯片,单片机按照一定的周期驱动模拟开关切换到不同的模拟通道,设计模数转换控制器的控制程序,可以进行定时模拟信号采集和显示。
(10)组态怎样显示单片机的数据扩展阅读:
单片机基本结构及作用:
1、运算器
运算器由运算部件——算术逻辑单元(Arithmetic & Logical Unit,简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。
ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。
运算器有两个功能:
执行各种算术运算。
执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。
运算器所执行全部操作都是由控制器发出的控制信号来指挥的,并且,一个算术操作产生一个运算结果,一个逻辑操作产生一个判决。
2、控制器
控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的“决策机构”,即协调和指挥整个微机系统的操作。其主要功能有:
从内存中取出一条指令,并指出下一条指令在内存中的位置。
对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。
指挥并控制CPU、内存和输入输出设备之间数据流动的方向。
微处理器内通过内部总线把ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。外部总线又称为系统总线,分为数据总线DB、地址总线AB和控制总线CB。通过输入输出接口电路,实现与各种外围设备连接。
3、主要寄存器
累加器A
累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。
数据寄存器DR
数据寄存器通过数据总线向存储器和输入/输出设备送(写)或取(读)数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。
指令寄存器IR和指令译码器ID
指令包括操作码和操作数。
指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。
当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。
程序计数器PC
PC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。
地址寄存器AR
地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。
显然,当CPU向存储器存数据、CPU从内存取数据和CPU从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当CPU和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。