?? sh307.c
字號:
#include <stdio.h>
#include <stdlib.h>
#include <absacc.h>
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P1_0=P1^0;
void INITIAL(void); /*液晶顯示初始化*/
void CLEAR(void); /*液晶顯示清屏*/
void locate(uchar page, uchar column); /*指定首字符顯示位置*/
void show(void); /*從當(dāng)前位置開始顯示顯示緩沖區(qū)BUFFER中的內(nèi)容*/
char data BUFFER[15]; /*顯示緩沖區(qū)*/
uchar data NDIG; /*待顯示的字符數(shù)*/
int xdata sumup=0; /*測試用的變量*/
uchar idata stringgps[8];
uint k,i,j,k1;
uint record,number;
uint igps;
uint numbercoma;
uint len1,len2,len3;
uint numgps;
// main()主函數(shù), 初始化變量和液晶的初始顯示內(nèi)容。
void main(void)
{
TMOD=0x20; // 初始化串口
TL1=0xfd;
TH1=0xfd;
SCON=0x50;
PCON=0x00;
IE=0x90;
TR1=1;
P1_0=0;
INITIAL(); /*顯示初始化*/
CLEAR(); /*清屏*/
/*從page 3,column 4開始顯示"sumup=rdy"*/
/*固定長度的字符串顯示*/
locate(3,4);
NDIG=sprintf(BUFFER,"sumup=rdy");
show(); //顯示子函數(shù)
sumup=12345;
/*從page 2,column 4開始顯示"sumup=12345",為含數(shù)值的長度不確定的字符串顯示*/
locate(2,4);
NDIG=sprintf(BUFFER,"sumup=%d",sumup);
show(); //顯示子函數(shù)
/*按鍵查詢方式顯示初始內(nèi)容*/
for (;;)
{
locate(0,2); /*從page 0,column 2開始顯示"k1:<被按下的次數(shù)>"*/
NDIG=sprintf(BUFFER,"k1=%d ",k1);
show();
}
}
serial () interrupt 4 using 1
{
RI=0; //軟件清除中斷標(biāo)志位
//判斷是否收到GPRMC格式語句的第一個字符"$",其數(shù)值為0x24,收到后開始記錄數(shù)據(jù),
//并設(shè)置記錄標(biāo)志record=1。*/
if (SBUF==0x24)
{
record=1;
i=0;
igps=0; // 記錄緯度數(shù)據(jù)字符數(shù)量的變量
numbercoma=0; // 記錄逗號數(shù)量的變量
}
if (record==1) // 開始處理GPRMC中的數(shù)據(jù)信息
{
//利用GPRMC數(shù)據(jù)中的逗號間隔,區(qū)分接收到的字符處于何種數(shù)據(jù)中。
if(SBUF==0x2c) {numbercoma++;}
// 第三個逗號之后的字符屬于緯度數(shù)據(jù)
if (numbercoma==3)
{
stringgps[igps]=SBUF; // 將字符放入字符串"stringgps "中
igps++;
}
//判斷是否收到GPRMC格式語句的字符"*",如果收到,則結(jié)束記錄,開始處理。
if (SBUF=='*')
{
stringgps[igps]='\0'; // 給出結(jié)束數(shù)據(jù)字符串的結(jié)束符
// 開始處理俯仰數(shù)據(jù)的相關(guān)字符,轉(zhuǎn)化為數(shù)據(jù)格式
j=0;
len2=sprintf(stringgps,"%s",stringgps+1);
NDIG=sprintf(BUFFER,"k1:%d ",k1);
show();
if (len2!=0)
{
numgps=atoi(stringgps);
}
// 返回初始值;
numgps=0;
numbercoma=0;
record=0;
igps=0;
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -