单片机与电脑串口通信,无论发什么信息都收到00,求问是怎么回事?代码见下面。

作者&投稿:农炉 (若有异议请与网页底部的电邮联系)
89C52 无论SBUF等于什么 接收到的数据都是00~

SBUF是双register, 读跟写不是同一个实体, 分别是两个同名同地址的实体register, 因此不能自己写自己读.

波特率可能不对
你发送的数据就是0

当然老是接收到00了,我给你解释一下:你的串口中断函数不止是在接收数据的时候执行,在执行while(!Ti);时等待发送完成时也会触发中断函数,此时sbuf里面为空,数据之前被取走了。解决办法:把串口中断函数改为:void ser()interrupt 4
{if(Ri)
{Ri=0;
a=sbuf;

if (Ti)

}}
当然老是接收到00了,我给你解释一下:你的串口中断函数不止是在接收数据的时候执行,在执行while(!Ti);时等待发送完成时也会触发中断函数,此时sbuf里面为空,数据之前被取走了。解决办法:把串口中断函数改为:void ser()interrupt 4{if(Ri){Ri=0;a=sbuf;
flag=1;
}if (Ti){}}
再说一句,sbuf里面的数之前被取走的话就为0了,速度给分啊,用手机打了老半天

void ser() interrupt 4 //串口中断函数
{
if(RI)
{
RI=0;
a=SBUF; //收到的数据存入缓冲器,然后赋给a
flag=1;
}
}
另外看看你的波特率,应该有问题,9600的话初值应该是0xfd,初始化时也没有设置1T模式,缺省状态应该12T模式的。

TMOD = 0x20; //设置定时器1为工作方式2
TH1 = 0xd9; //装初值,设定波特率为9600
TL1 = 0xd9;
……
d9,这是设定 9600 吗?


单片机端口被设为串口通信时,还能进行位操作吗?
当然是可以直接进行操作的,因为它上面有个通信入口,通过这个入口就可以直接操作了。

51单片机串口通信能干神马?想用它控制1602或者12864有没有可能,应该怎...
单片机串口通信应用非常广泛,远程通信、单片机多机控制啊,一个主单片机控制10几个副单片机通信,这个就没有必要多说了,你想用电脑PC串口和单片机串口控制1602液晶显示数据,通过电脑PC串口调试助手发生数据,单片机把接收到电脑PC串口发送的数据,送到LCD1602液晶显示,这个很简单,例如:你把单片机串口...

串口RS232和RS485和RS422的区别是什么?
RS232接口就是串口,电脑机箱后方的9芯插座,旁边一般有 "|O|O|" 样标识。 一般机箱有两个,新机箱有可能只有一个。笔记本电脑有可能没有。 有很多工业仪器将它作为标准通信端口。通信的内容与格式一般附在仪器的用户说明书中。 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串...

电脑串口COM1(9针),能否直接接到单片机的RXD,TXD引脚进行通信。
不能,PC机是RS232电平,单片机是ttl电平,直接相连,会导致单片机损坏。用一片max232芯片即可。

9600波特率在51单片串口通信中起什么作用?
我好像记得9600是单片机和上位机通信的波特率,两机之间似乎就不用9600,记得不一定对啊。。

拉力机的组成元件有哪些
它通过计算机背后的串口(COM号)进行通信,此技术比较成熟、可靠,使用方便。四、驱动系统 主要是用于万能材料试验机的横梁移动,其工作原理是由伺服系统控制电机,电机经过减速箱等一系列传动机构带动丝杆转动,从而达到控制横梁移动的目的。通过改变电机的转速,可以改变横梁的移动速度。

pl2303hX串口通讯电压怎么是4.1V
HX芯片的USB转串口方法.并将其应用到计算机与羊片机通信中

有一台交换机和台式电脑,如何用windows自带的超级终端进行将两者连接...
二、设置“超级终端”连接好后,接通交换机和电脑电源并开机。Windows 98\/Me\/2000都提供“超级终端”服务,如果没有可以在“添加\/删除程序”中的“通讯”组内添加。你也可以使用其他符合VTY100(终端的一种标准,现在很少见)标准的终端模拟程序。在第一次运行“超级终端”时,系统默认为通过Modem连接,会...

新买的数码相机如何使用
除了在相机本身的液晶屏上回放画面,也可以通过视频线将相机和电视机连起来,在电视机上观看照片,以方便大家一起分享。第六步:将照片传到电脑上以保存和加工 数码相机和电脑的连接一般通过两种方式:串口和USB口。串口的优点是所有的计算机上都有,但缺点是速度比较慢,传输速度最快只能达到115200K。

两片单片机通过串口一发一收的C语言例程
\/* 甲机串口程序:甲机向乙机发送控制命令字符,甲机同时接收乙机发送的数字,并显示在数码管上。*\/ include<reg51.h> define uchar unsigned char define uint unsigned int sbit LED1=P1^0;sbit LED2=P1^3;sbit K1=P1^7;uchar Operation_No=0; \/\/操作代码 \/\/数码管代码 uchar code...

杭锦后旗15933559354: 单片机串口通信 发什么返回什么 -
益樊安福: 串口通讯当然发送数据,返回接收到的数据.

杭锦后旗15933559354: 单片机串口通信有什么应用?举几个例子 -
益樊安福: 单片机串口通讯用途很多的,列举如下: 1、用于下载程序,有ISP功能的单片机借助于串口来下载控制程序,比较方便,省了编程器烧录的麻烦. 2、用于将采集数据上传到电脑,单片机一般做底层工作,电脑做数据分析工作,他们之间的数据交换利用串口比较方便. 3、可以利用串口对单片机进行控制. 4、利用串口进行数据交换,采用主从方式,可以控制设备协调工作. 等等............

杭锦后旗15933559354: 怎么实现51单片机与电脑串口之间的通信? -
益樊安福: 首先,单片机和微机通信的电气标准要一致,微机串口一般是RS232电气标准,所以要加电平转换芯片,大多用MAX232,一般单片机实验板上都提供这样的标准串口. 其次,要分别编写上位机和下位机软件程序,单片机程序参照例程、教科书...

杭锦后旗15933559354: 单片机能通过串行口发送程序指令吗 -
益樊安福: 这个完全可以实现,电脑和单片机可以通过串口进行通讯,至于通讯的内容你完全可以自定义,好好看看书吧,这方面内容很多的

杭锦后旗15933559354: 51单片机和PC串口通信问题 -
益樊安福: 这个不是通讯问题.发送过来的实际编码应该都是一样的,但因为在单片机通讯中,中文占两个字符(BYTE),英文和数字占一个字节,在英文和中文混排的时候,部分软件的显示功能对中文显示不给力(其实这是在BOM和UNICODE等技术出现之前,中文系统的通病),尤其是当中文之前的英文为单数个的时候,经常容易显示为乱码.因此才有了各种多国语言规范,防止混排出现乱码的问题.简单的说,就是编码显示问题,你的通讯接收应该都是正确的.

杭锦后旗15933559354: 单片机与pc串口通信的问题?? -
益樊安福: 会的,所有的软件处理都是基于硬件的.不过由于现在的好多软件VB,VC等等都有直接处理这些串口的控件,所以PC上的软件就不需要再进行底层开发了,只要使用控件的控制就行了,还是非常简单的.并且如果是使用485协议的话还要有个232转485的转换芯片,一般来讲单片机和PC是都没有现成的485协议串口的.

杭锦后旗15933559354: 单片机串行通信的实际作用???举例来说. -
益樊安福: 单片机串行通信的实际作用:一般用于和外部设备交换数据的 举例来说:一、比如和PC的串口机通信,单片机可以采集一些模拟量(温度,湿度,气体浓度等),将这些模拟量转换成数字量后通过串行通信接口传输个PC机,PC机上还得编写一个简单的应用软件,可以显示这些模拟量(温度,湿度,气体浓度等)的值,这个简单的应用软件应具有串口设置,数据显示,绘制曲线等功能.还可以通过PC机串口发送数据给单片机,用来控制单片机的工作状态等等.和PC机通信应该是应用最广泛的. 二、和其他串口设备通信:单片机一般充当控制器的角色,通过串口发送一定格式的数据来控制与之相连设备的动作,同时设备也会反馈回来一些自己的状态信息给单片机,供单片机进行判断,做出相应的控制.

杭锦后旗15933559354: 单片机与PC的通信 -
益樊安福: 单片机和PC机通信采用串口通信就行,没有主从之分,除非你用的是PC机和多单片机通信.串口是全双工的,可以同时收发.我原来做过一个温度传感器的系统,用单片机采集温度,用数码管显示,并通过串口传给PC机,PC机用VC6.0编写界面程序,把单片机发上来的数显示到界面上,同时将数据存储到ACCESS中,还在界面上画出温度变化曲线.可以传给你.发到你邮箱了.

杭锦后旗15933559354: 求原理:单片机通过串口向PC发送的数据,是以什么形式保存的?是保存在电脑哪个寄存器里吗?还是…… -
益樊安福: 1 单片机通过串口向PC发送的数据,要想保存,则必须以文件的形式保存在硬盘中. 2 允许接受(发送)的状态寄存器是计算机串行接口芯片上的寄存器. 呵呵 情况就是这个情况 事情就是这个事情 想要给分 就加吧

杭锦后旗15933559354: 串口可以单片机和单片机之间通信吗 -
益樊安福: 当然可以啦,三个串口通信设备要连在同一条总线上,如USART;SPI;I2C总线上,51单片机发送的每一串信号都带有地址信息,当发出的地址信息与这三个串口通信设备的某一个地址相同时,单片机就可以这个通信设备通信了,其他的就处于休眠状态.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网