No.100772 作者:shaqidezhu 邮件:zyd0923@tom.com ID:65643 登陆:2次 文章数:2篇 最后登陆IP:219.140.50.226 最后登陆:2010/4/21 9:54:19 注册:2006/12/19 10:10:55 财富:108 发帖时间:2006/12/19 10:15:55 发贴者IP:202.115.159.218 标题:shaqidezhu:请教一个单片机c程序的问题 摘要:No.100772请教一个单片机c程序的问题 各位大侠,请指点下小弟: 在keil下编了一个c语言程序,在protues下仿真通过了,但是实际的电路板却不行。该程序是把GPS发送的数据中提取时间,经度,纬度显示在lcd上。程序如下: #include "REGX52.H" #include "LCD1602.h" unsigned char idata GPSBuffer[32];//GPS发送的时间,经度,纬度共31位 unsigned char idata GPSBuffer1[32]; //串口中断初始化********************************************************************************** void sini() { TMOD=0x20; TH1=0xfa; TL1=0xfa; PCON=0x00; SCON=0xd8; TR1=1; ES=1; EA=1; } //主程序********************************************************************************** void main() { LCD_Initial(); P2=0x05; GPSBuffer[31]='\0'; GPSBuffer1[31]='\0'; sini(); while(1); } //串口中断********************************************************************************* void intrr() interrupt 4 { unsigned char i,j; bit find=0;//数据查找标记 //查找标记符********************************************************************************* for(j=0;j <8;j++) //GPS每帧数据是242位;检验8次 { for(i=0;i <31;i++)//从SBUF收一次数据 { while(RI!=1 ); RI=0; GPSBuffer[i]=SBUF; } for(i=0;i <29;i++)//查找时间,经度,纬度前的标记符 { if(GPSBuffer[i]==0x47&&GPSBuffer[i+1]==0x47&&GPSBuffer[i+2]==0x41)//标记符GGA对应的ASC2码 { find=1;//找到 break; } } if(find==1) break; } //显示程序************************************************************************************** if(fi ......
>>返回讨论的主题
|