1. 单片机怎样通过串口向计算机发送数据
单片机怎样通过串口向计算机发送数据:
单片机可以实现与计算机的发送和接收。首先,要正确配置单片机的串口,包括波特率、使用时钟源、COM口、数据位位数、奇偶校验位、停止位位数等,同时要保证计算机的配置和单片机的一致。然后,把要发送的数据送到发送缓存,只能一个字节一个字节的发送。启动单片机发送,就可以完成发送操作。如果打开接收中断,计算机发送数据过来的时候,就会进入到接收中断,单片机进入接收数据状态。
要注意的是,单片机是TTL电平,而计算机是232电平,所以在硬件电路连接上要有电平转换芯片,常用的有MAX232等。
2. 单片机与电脑相连需要怎么连接
最方便的是COM(串口),Print(并口)也是可以的。USB我是不会用,一般是将USB转成COM口,但要通信,你要学会VC或是其他程序软件,这样才可以写上位机软件。
3. 如何将单片机上的数据传输到电脑上
通过max232串口。将单片机的数据通过RXD和TXD与PC进行通信;
其实你也可以通过下载线和串口助手(或者自己写上位机界面),上传数据;
买一根USB转串口线,接到电脑USB接口上,上传数据也可以;
可能还有其他方式。。。
4. 单片机里面的数据怎么能转换成计算机语言
单片机里面存的是机器码,如果是51的用反汇编软件就可以了,不过反汇编出来也不要抱很大希望,一般比较难看懂。
5. 单片机怎么连接电脑
1、单片机就是一个“微型的电脑“---有RAM,有FLASHI,有CPU,一般也有UART口、USB口,并口等等,但是必须增加外围电路才可以真正的在产品中使用!
2、与电脑连接最简单的办法就是:单片机(晶振、电容等组成最小系统电路)+MAX232芯片+DB9的接头,然后编写通信程序就可以与计算机进行通信了!
3、更复杂的还有USB、RS485、CAN、TCP/IP、无线等等通信方式,需要慢慢了解与学习才行!
6. 51单片机用USB转TTL与计算机通信,可以吗
我用的STM32 72MHZ的,用的就是USB转TTL芯片和PC通信,使用19200波特率没什么问题;51如果波特率不高的话,使用这个USB转TTL没问题的;资料之所以推荐使用串口,我分析原因有两点,第一点是使用转换芯片的话如果波特率高的话,会出现乱码错码丢码的现象,转换的过程毕竟算是个瓶颈 第二点,51单片机的应用不局限于在电脑旁做试验,一些距离比较远的项目是不能用近距离使用范围的USB转TTL芯片的,例如用RS485,RS232这些都是需要用串口的,最终单片机端需要再加一个转换芯片,例如MAX232等,你可能问这不也得用芯片转换么?其实这个MAX232是电平转换芯片,速度会比USB转TTL这样的协议转换芯片快 全手打,请采纳!
7. 怎样用51单片机做计算器啊
1、硬件仿真图
4、程序源代码
#include <reg51.h>#include <intrins.h>
#include <ctype.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
uchar operand1[9], operand2[9];
uchar operator;
void delay(uint);
uchar keyscan();
void disp(void);
void buf(uint value);
uint compute(uint va1,uint va2,uchar optor);
uchar code table[] = {0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,0xff};
uchar dbuf[8] = {10,10,10,10,10,10,10,10};
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
uchar keyscan()
{
uchar skey;
P1 = 0xfe;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xee: skey = '7'; break;
case 0xde: skey = '8'; break;
case 0xbe: skey = '9'; break;
case 0x7e: skey = '/'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
P1 = 0xfd;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xed: skey = '4'; break;
case 0xdd: skey = '5'; break;
case 0xbd: skey = '6'; break;
case 0x7d: skey = '*'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
P1 = 0xfb;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xeb: skey = '1'; break;
case 0xdb: skey = '2'; break;
case 0xbb: skey = '3'; break;
case 0x7b: skey = '-'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
P1 = 0xf7;
while((P1 & 0xf0) != 0xf0)
{
delay(3);
while((P1 & 0xf0) != 0xf0)
{
switch(P1)
{
case 0xe7: skey = '$'; break;
case 0xd7: skey = '0'; break;
case 0xb7: skey = '='; break;
case 0x77: skey = '+'; break;
default: skey = '#';
}
while((P1 & 0xf0) != 0xf0)
;
}
}
return skey;
}
void main()
{
uint value1, value2, value;
uchar ckey, cut1 = 0, cut2 = 0;
uchar operator;
uchar i, bool = 0;
init:
buf(0);
disp();
value = 0;
cut1 = cut2 = 0;
bool = 0;
for(i = 0;i < 9;i++)
{
operand1[i] = '