跪求大神解答!gps模块发的数据51单片机接不到,搞过的请进

电路是这样连的
测试程序如下:(作用在下面介绍)
#include<reg52.h>
#include<string.h>
#include<stdlib.h>
#define u8 unsigned char
#define u32 unsigned int
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit lcdrw=P3^6;
u8 code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};

char flag,flag2=0;
char date;
double temp1;
void delay(int z)
{
int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}

void write_com(u8 com)
{
lcdrs=0;
lcdrw=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(u8 date)
{
lcdrs=1;
lcdrw=0;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}

void init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd; //波特率为9600(gps波特率也为9600)
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1; //串口中断
lcden=0;
write_com(0x38);
write_com(0x0f);
write_com(0x06);
write_com(0x80);
write_com(0x01);
}

void main()
{
init();
while(1)
{

if(flag==1)
{
ES=0;
write_data('b');
flag=0;
if(flag2>9)
flag2=0;
write_data(table[flag2]);
ES=1;
}
}
}

void ser() interrupt 4
{
RI=0;
date=SBUF;
flag=1;
flag2++;
}
该测试程序的作用是,只要单片机接到数据,lcd上就以个数的形式显示出来
当我用串口小助手手动发送任意数据,lcd上就会表现出来,而将gps模块连接上去以后lcd一点反应也没有,也就是说单片机没接到数据,但是gps模块是没问题的,直接连电脑是能定位的。
这个问题困扰小弟很长时间了,跪求大神解答!!!!

第1个回答  2013-10-13
1、高数三是由《微积分》、《线性代数》、《概率论与数理统计》三门课构成(大家经常称呼它们的简称:微分、线代、概率等)。
2、考试分数百分比情况是:《微积分》82分左右,56%;《线性代数》34分左右,22%;《概率论与数理统计》34分左右,22%。
3、题型结构分布:
选择题 填空题 解答题
微积分 4 4 5
线性代数 2 1 2
概率与数理 2 1 2
4、因为高数三由三门不同的数学课程组成,所以教材上面并不是统一的,有多个版本的教材,这需要由个人自行选择,但建议采用报考学校的本科班的教材(这句话有效度为30%)
第2个回答  2013-10-13
有可能是发送的目的地址不正确,可能单片机的地址和电脑的地址不同。追问

那咋整啊

追答

也有可能是接收程序没有收到数据。

第3个回答  2013-10-13
GPS模块的接口是TTL还是232?
单片机系统这边的接口是TTL还是232?串口小助手与单片机系统如何连接的?追问

单片机是通过232和电脑连接的,是TTL

追答

“单片机是通过232和电脑连接的,是TTL”
TTL直接连电脑?你开玩笑?

追问

单片机当然是通过232连电脑的,gps模块接口是TTL的

追答

你就这么回答我吧:

    GPS模块的232接口是RS-232电平还是TTL电平?从你的描述来看,做过GPS模块直接连接电脑并且测试成功,那么GPS模块的232接口似乎是RS-232电平的。但是你又强调“gps模块接口是TTL的”,存在矛盾。

    单片机系统的232接口是RS-232电平还是TTL电平?从你的描述来看,似乎可以通过电脑软件来测试与之的通信,也就是说单片机系统的232接口应当是RS-232电平的。

追问

    GPS是TTL电平,我是将GPS通过RS232连到电脑上接到了数据

    单片机本身系统是TTL电平,也是通过了一个RS232连到了电脑上的

追答

好的,明白了!
那么,从硬件上来看是没有问题的。波特率你也已经确认一致。现在你需要确认帧格式是否统一,例如是否都是1-8-1-N格式。

追问

恩,虽然不知道什么是帧格式,我去查查吧,分先给你,谢谢你的耐心

追答

有结果的话随时沟通!

本回答被提问者采纳

跪求大神解答!gps模块发的数据51单片机接不到,搞过的请进
回答:GPS模块的接口是TTL还是232? 单片机系统这边的接口是TTL还是232?串口小助手与单片机系统如何连接的?

gps模块与51单片机不能通信
gps模块一般都是输出的3.3V电平信号,如果你用的5V单片机,那多半会出问题。所以换3.3V的单片机系统试试。

51单片机的串口扩展问题
如果一定要用一个串口的单片机,那你可能用普通IO来模拟串口。从网上查资料还是有的。另:你的理解是不是有问题,所谓有A模块不间断输出数据给单片机,可能吗?那你单片机就要不停地处理串口了,还干不干别的。建议你把三个模块都设置为被动发送(即从机)的,最好不要主动的,如果一定要有主动的,...

怎么将RFID模块与单片机相连接
你说的RFID模块是成品的那种带天线带驱动IC的上电直接能读标签的模块么,那样的模块很多是走的RS232接口的通信,检测到标签后就标签编号通过串口发送出去的吧,这样就跟单片机走串口通讯就可以了。如果是单片机驱动RFID读写驱动芯片的话,你得看什么芯片了,有的是SPI接口,有的是并行总线接口。

从底层硬件到上层应用,嵌入式软件的开发可以分为哪几类?
从底层硬件到上层应用,嵌入式软件的开发可以分为以下三类:1、嵌入式操作系统开发 嵌入式操作系统EOS(Embedded Operating System)是一种被广泛使用的系统软件。过去,它主要用于工业控制和国防系统领域。 EOS负责分配和调度嵌入式系统的所有软件和硬件资源,控制和协调并发活动。它必须体现其所在系统的特征,...

相似回答