51单片机利用串口接收GPS信号并液晶显示C语言.doc

51单片机利用串口接收GPS信号并液晶显示C语言.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机利用串口接收GPS信号并液晶显示C语言

#include reg52.h //89C52单片机头文件 #include LCD_code.h //液晶LCD的字模文件 #include intrins.h //功能引脚定义 sbit A = P0^7; //数据1/命令0选择 sbit RW = P0^6; //读1/写0 sbit E1 = P0^4; //片选1(Master) sbit E2 = P0^5; //片选2(slave) sbit LED= P0^3; //背光 sbit up = P0^0; //向上翻页键 sbit down= P0^1; //向下翻页键 #define data P2 //液晶并行数据 //液晶显示控制命令表 #define disp_on 0xAf //显示关闭 #define disp_off 0xAe //显示打开 #define disp_start_line 0xC0 //显示起始地址(后5位-表示0-31行) #define page_addr_set 0xB8 //页地址设置(0~3) #define col_addr_set 0x00 //列地址设置(0~61) #define status_busy 0x80 //0=ready #define modeRWite 0xEE //写模式 #define dynamic_driver 0xA4 //动态驱动 #define adc_select 0xA0 //clockwise #define clk32 0xA9 //刷新时钟设置1/32 #define clk16 0xA8 //刷新时钟设置1/16 #define reset 0xE2 //软件复位 #define uchar unsigned char #define uint unsigned int //全局变量,及标志位定义 uchar time_counter = 0; //定时器的软件计数器 uchar key = 0; //键盘值 uchar serial_counter; //串行计数器 bit disp_flag = 0; //显示更新标志 uchar bdata serial_byte = 0; //串行口标志位定义字节 sbit Sflag = serial_byte^0; //串行接收头部标志,一下8个都定义在serial_byte内 sbit G1flag = serial_byte^1; sbit Pflag = serial_byte^2; sbit G2flag = serial_byte^3; sbit G3flag = serial_byte^4; sbit Aflag = serial_byte^5; sbit DFflag = serial_byte^6; sbit ENflag = serial_byte^7; bit r_flag = 0; unsigned char idata serial_buff[77]; //串行接收缓冲 //uchar code head[] = {$,G,P,G,G,A,,}; //bit serial_flag = 0; ////液晶操作主要函数//////////////////////////////////////////////////////////// //void lcd_init(void) //引用:lcd_init(); 说明:LCD初始化; //////////////////////////////////////////////////////////////////////////////// //void lcd_clr(void) //引用:lcd_clr(); 说明:LCD清屏; //////////////////////////////////////////////////////////////////////////////// void lcd_init(void); //LCD初始化 void lcd_clr(void); //LCD清屏 void wait_ready(void); //等待ready void draw_bmp(uchar col,uchar layer,uchar width,uchar *bmp); //点阵码显示输出 void ASCII2BCD(void); //ASCII码转换为BCD码 void logo(void); //开机画面显示 /* 中断程序 */ ///////////////

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档