帶語音播報的GPS系統(tǒng),原理圖和pcb文件,是用ad畫的,大家可以到工廠直接去加工.
0.png (50.39 KB, 下載次數(shù): 154)
下載附件
2016-4-24 22:30 上傳
全部資料(壓縮包)下載:
實例8 帶語音播報的GPS系統(tǒng).rar
(1.65 MB, 下載次數(shù): 272)
2016-4-22 09:05 上傳
點擊文件名下載附件
帶語音播報的GPS系統(tǒng) 下載積分: 黑幣 -5
源程序有語音錄制程序,整體程序,組合放音程序一共3個程序。
下面是部分程序預覽(完整版本請下載本帖附件):
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit lcden=P3^4; //液晶使能端
- sbit lcdrs=P3^5;
- sbit led=P2^0; //指示燈
- sbit key1=P2^2; //按鍵
- sbit key2=P2^3;
- sbit key3=P2^4;
- sbit du=P2^5; //語音發(fā)聲控制端
- uchar flag,i=0;
- bit startflag;
- uchar shishi,shige,a,num;
- uchar suge,sushifen,subaifen,suqianfen;
- uint time,weidu,jingdu;
- uchar table0[45];
- uchar code table[]={"北京時間"};
- uchar code table1[]={"0123456789"};
- uchar code tablewei[]={"緯度:N "};
- uchar code tablejing[]={"經(jīng)度:E "};
- uchar code tabledu[]={"度"};
- uchar code tablesu1[]={"速度:"};
- uchar code tablesu2[]={"km/h"};
- uchar code table2[]={
- //寬的像素數(shù),高的像素數(shù),寬的字節(jié)數(shù),參數(shù)設置可選
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x20,0x00,0x00,0x00,0x00,0x18,0x00,
- 0x00,0x00,0x07,0xC0,0x00,0x00,0x00,0x1E,0x2C,0x78,0x00,0x00,0x00,0x00,0x78,0x00,
- 0x00,0x00,0x7C,0xF8,0x00,0x00,0x01,0x1F,0xFF,0xE3,0x00,0x00,0x00,0x00,0xFE,0x00,
- 0x00,0x07,0xFF,0xFF,0x00,0x00,0x07,0xF9,0x8C,0xF3,0xC0,0x00,0x00,0x01,0xFE,0x00,
- 0x00,0x1C,0x00,0x01,0x80,0x00,0x07,0xE1,0x6C,0x6E,0x00,0x00,0x00,0x01,0xFC,0x00,
- 0x00,0x0F,0xFF,0xFF,0x00,0x00,0x0E,0x7F,0x19,0xC6,0x00,0x00,0x00,0x03,0xFE,0x00,
- 0x00,0x0C,0x00,0x02,0x00,0x00,0x0E,0x33,0x19,0x8E,0x00,0x00,0x00,0x0F,0xFF,0x00,
- 0x00,0x07,0xFF,0xFE,0x00,0x00,0x06,0xBF,0xFF,0x7C,0x00,0x00,0x00,0x0F,0xF1,0x00,
- 0x00,0x0F,0xFF,0xFC,0x00,0x00,0x0E,0x3F,0xFE,0xF0,0x00,0x00,0x00,0x0F,0xF8,0x00,
- 0x00,0x1F,0xFD,0xEC,0x00,0x00,0x1F,0xF0,0x0F,0xFC,0x00,0x00,0x00,0x1F,0xFE,0x00,
- 0x00,0x0F,0xFF,0xFC,0x00,0x00,0x0F,0xFF,0xFE,0xF8,0x00,0x00,0x00,0x7F,0xFF,0x00,
- 0x00,0x3F,0x7F,0xF8,0x00,0x00,0x3E,0x00,0x01,0xE8,0x00,0x00,0x00,0xC3,0xC1,0x80,
- 0x00,0x3F,0xFB,0xD8,0x00,0x00,0x19,0xFF,0xFF,0x20,0x00,0x00,0x00,0x03,0xC0,0x00,
- 0x0F,0xFF,0xFF,0xFF,0x80,0x00,0xFF,0xC7,0x8D,0xF8,0x00,0x0F,0xFF,0xFF,0xFF,0x80,
- 0x0F,0xDE,0xFF,0xFF,0xC0,0x00,0xFC,0x80,0x1F,0xF4,0x00,0x0F,0x3F,0xFF,0xFF,0xC0,
- 0x1F,0xFF,0xFF,0xFF,0xC0,0x01,0xA6,0xDF,0xDF,0x3C,0x00,0x1E,0x3F,0xFF,0xFF,0xC0,
- 0x1F,0xFF,0xFF,0xFF,0x00,0x01,0xFF,0x9F,0x9B,0xF0,0x00,0x1F,0x00,0x3F,0xFF,0x00,
- 0x1F,0xFF,0xFF,0xFF,0x80,0x01,0xF1,0x1F,0xBC,0xF8,0x00,0x1F,0xE0,0x00,0x7F,0x80,
- 0x3F,0xFF,0xFF,0xFF,0x80,0x03,0xFF,0xB1,0xB7,0xF8,0x00,0x3F,0xFF,0xE0,0x1F,0x80,
- 0x3F,0xFF,0xFF,0xFE,0x00,0x03,0xFF,0xFF,0xFF,0xE0,0x00,0x3F,0xFF,0xF0,0x0E,0x00,
- 0x3E,0x00,0x00,0x1F,0x00,0x03,0xFF,0xFF,0xFF,0xF0,0x00,0x3F,0xFF,0xF0,0x0F,0x00,
- 0x3C,0x00,0x00,0x1F,0x00,0x07,0xFE,0xFF,0xFF,0xF0,0x00,0x7F,0xFF,0xE0,0x1F,0x00,
- 0x30,0x00,0x00,0x0C,0x00,0x07,0xFF,0xFF,0x7F,0xC0,0x00,0x7F,0xFF,0xC0,0x1C,0x00,
- 0x3F,0xFF,0xFF,0xFE,0x00,0x07,0xFF,0xFF,0xFF,0xE0,0x00,0x7F,0xFF,0x00,0x3E,0x00,
- 0x3F,0xFF,0xFF,0xFE,0x00,0x0F,0xFF,0xFF,0xFF,0xE0,0x00,0xFF,0xF8,0x00,0xFE,0x00,
- 0x3F,0xFF,0xFF,0xF8,0x00,0x0F,0xFF,0xFF,0xFF,0x80,0x00,0xFF,0xC0,0x01,0xF8,0x00,
- 0x3F,0xFF,0xFF,0xFC,0x00,0x0F,0xFF,0xFF,0xBF,0xC0,0x00,0xFC,0x00,0x07,0xFC,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0x00,0x00,
- 0x00,0x07,0xF0,0x00,0x00,0x00,0x03,0xFF,0xE0,0x00,0x00,0x00,0x1F,0xFC,0x00,0x00,
- 0x00,0x0F,0xF8,0x00,0x00,0x00,0x03,0xF3,0xF0,0x00,0x00,0x00,0x3E,0x1C,0x00,0x00,
- 0x00,0x3F,0xFE,0x00,0x00,0x00,0x03,0xF8,0xE0,0x00,0x00,0x00,0x7B,0xD8,0x00,0x00,
- 0x00,0x7D,0x82,0x00,0x00,0x00,0x01,0xFE,0xE0,0x00,0x00,0x00,0x7F,0x5C,0x00,0x00,
- 0x00,0xCE,0x00,0x00,0x00,0x00,0x07,0xFF,0xF0,0x00,0x00,0x00,0xF7,0xB8,0x00,0x00,
- 0x00,0xEC,0x00,0x00,0x00,0x00,0x0F,0xFB,0xF0,0x00,0x00,0x00,0xF7,0x78,0x00,0x00,
- 0x01,0xF8,0x00,0x00,0x00,0x00,0x03,0xFF,0xE0,0x00,0x00,0x00,0xFF,0xE0,0x00,0x00,
- 0x01,0xB8,0x00,0x00,0x00,0x00,0x03,0xE1,0xE0,0x00,0x00,0x00,0xF8,0x00,0x00,0x00,
- 0x03,0xF3,0xC0,0x00,0x00,0x00,0x0F,0xFB,0xC0,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,
- 0x03,0xC7,0xFE,0x00,0x00,0x00,0x1F,0xFF,0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0x00,
- 0x03,0xE0,0x78,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,
- 0x07,0x8F,0xFC,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x1F,0xC0,0x00,0x00,
- 0x07,0xCE,0x70,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x0F,0xC0,0x00,0x00,
- 0x07,0xC0,0x78,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x01,0xEF,0xC0,0x00,0x00,
- 0x03,0xC0,0xF0,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x07,0xFF,0x80,0x00,0x00,
- 0x03,0xC1,0xC0,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x04,0x6F,0x80,0x00,0x00,
- 0x01,0xC3,0x80,0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x00,0x0F,0xFF,0x00,0x00,0x00,
- 0x00,0xF7,0x80,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x0E,0x3F,0x00,0x00,0x00,
- 0x00,0x7E,0x00,0x00,0x00,0x00,0x3C,0x00,0x00,0x00,0x00,0x07,0xF8,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x03,0xF0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- };
- uchar code table3[]=
- {/*------------------------------------------------------------------------------
- ; 源文件 / 文字 : C:\Users\wzt\Desktop\制作人2.bmp字模
- ; 寬×高(像素): 128×64
- ------------------------------------------------------------------------------*/
- //寬的像素數(shù),高的像素數(shù),寬的字節(jié)數(shù),參數(shù)設置可選
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x1F,0x7F,0x80,0x00,0x80,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x0E,0x00,0x00,0x1F,0xF0,0x3F,0x3F,0xC0,0x05,0xC0,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x0F,0x0E,0x07,0xFF,0xF0,0x3F,0x38,0xC0,0x0C,0xCE,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0x7C,0x07,0xFE,0x00,0x07,0xF9,0x80,0x0E,0xEE,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x07,0xFC,0x03,0x9C,0x00,0x7F,0xFF,0xC0,0x0E,0xEE,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x3F,0xC0,0x00,0x1C,0x00,0x7F,0xDF,0xC0,0x7F,0xFE,0x00,0x00,0x00,
- 0x00,0x00,0x01,0xFF,0x1F,0x00,0x1C,0x00,0x0F,0xE0,0x00,0xFF,0xFF,0x00,0x00,0x00,
- 0x00,0x1C,0x01,0xE7,0xFF,0x00,0x1C,0x00,0x1F,0xFF,0xC1,0xF0,0x07,0x80,0x60,0x00,
- 0x00,0x3E,0x03,0x07,0xFF,0x00,0x0C,0x00,0x3E,0x7F,0xC1,0xE3,0xF7,0x80,0x60,0x00,
- 0x00,0x7C,0x00,0xFF,0x87,0x00,0x0C,0x00,0x7E,0x0E,0x01,0xC7,0xFB,0x80,0xF0,0x00,
- 0x00,0xFC,0x00,0xFE,0xE7,0x00,0x0C,0x00,0xF6,0x0E,0x00,0x1F,0xFD,0x00,0xF8,0x00,
- 0x01,0xDE,0x00,0xFE,0xE7,0x00,0x0C,0x0C,0xE6,0xFF,0xC0,0x03,0xFC,0x01,0x98,0x60,
- 0x03,0xC7,0x00,0x77,0x7F,0x00,0x0F,0xFE,0xC6,0x7F,0xC3,0xFB,0xE0,0x03,0x98,0x60,
- 0x07,0xBB,0x80,0x73,0xF7,0x00,0xFF,0xFE,0x06,0x0C,0x03,0xFF,0xF8,0x07,0xFE,0x60,
- 0xFF,0x3D,0xC0,0x77,0xE7,0x0F,0xFF,0xE0,0x0E,0x0C,0x31,0xFF,0xFE,0x07,0xDF,0xE0,
- 0xFF,0xFD,0xC0,0x3F,0xE7,0x0F,0xF0,0x00,0x0E,0xFF,0xF0,0x03,0xFF,0x0C,0xFF,0xE0,
- 0x7D,0xFE,0xE0,0x38,0xFF,0x84,0x00,0x00,0x0F,0xFF,0xF0,0x27,0x00,0x1F,0xF8,0xF0,
- 0x00,0xEE,0xF0,0x3B,0xFF,0x80,0x00,0x00,0x06,0x00,0x00,0x3F,0x00,0x1F,0x8E,0x78,
- 0x00,0xFE,0x70,0x3B,0xF7,0x80,0x00,0x00,0x00,0x00,0x00,0x3E,0x00,0x38,0x0F,0xFC,
- 0x0F,0x7C,0x78,0x1C,0xDB,0x80,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x78,0xE7,0xFC,
- 0x3F,0x38,0x78,0x1C,0xD9,0x80,0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0xF0,0xFF,0xCC,
- 0x3E,0xBC,0x38,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0xE0,0x7E,0xC0,
- 0x01,0xCB,0xF8,0x00,0x00,0x00,0x70,0x81,0x30,0x07,0x00,0x00,0x00,0xC7,0xFE,0x40,
- 0x01,0xC1,0xF8,0x00,0x00,0x00,0xB0,0x83,0x60,0x07,0x00,0x00,0x00,0x7F,0xFE,0x00,
- 0x00,0xC0,0x00,0x00,0x00,0x01,0xFA,0x83,0x7E,0x06,0x00,0x00,0x00,0x7F,0xF8,0x00,
- 0x00,0xC0,0x00,0x00,0x00,0x01,0xFE,0x87,0xF0,0x06,0x00,0x00,0x00,0x00,0x70,0x00,
- 0x01,0xC0,0x00,0x00,0x00,0x00,0x32,0x8F,0xB0,0x06,0x00,0x00,0x00,0x00,0x63,0x00,
- 0x03,0xC0,0x00,0x00,0x00,0x00,0xFA,0x81,0xBE,0x06,0x00,0x00,0x00,0x00,0x77,0x00,
- 0x00,0x80,0x00,0x00,0x00,0x00,0xAA,0x81,0xB0,0x06,0x00,0x00,0x00,0x00,0x7E,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0x81,0xB0,0x07,0x00,0x00,0x00,0x00,0x3E,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xAA,0x81,0xBE,0x0D,0x80,0x00,0x00,0x00,0x1E,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0xB8,0x81,0xB0,0x18,0xC0,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x23,0x83,0xB0,0x30,0x70,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x20,0x00,0x18,0x00,0x00,0x10,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,
- 0x0F,0xF0,0x27,0x82,0x18,0x00,0x01,0xD6,0x03,0xF0,0x00,0x76,0xC1,0xF8,0x03,0x00,
- 0x01,0x80,0x24,0x03,0x7E,0x00,0x00,0x5C,0x02,0x90,0x00,0x57,0x80,0x60,0x1F,0xF0,
- 0x01,0x80,0xFF,0xC0,0x18,0x00,0x00,0x58,0x02,0xD0,0x00,0x7F,0x00,0x6E,0x18,0x30,
- 0x01,0x80,0x24,0x02,0xFF,0x00,0x01,0xD3,0x02,0xD0,0x00,0x6B,0x03,0xF8,0x0F,0xC0,
- 0x07,0xE0,0x37,0xC2,0x38,0x00,0x01,0x3E,0x02,0xD0,0x00,0x7F,0x80,0x60,0x03,0x00,
- 0x01,0x80,0x67,0x00,0xFF,0x00,0x01,0xDC,0x02,0xD0,0x00,0x57,0x80,0xF0,0x0F,0xC0,
- 0x01,0x80,0xA6,0xC3,0x6C,0x00,0x00,0x56,0x03,0xD0,0x00,0x6F,0xC0,0xD8,0x03,0xC0,
- 0x01,0x80,0x26,0xC7,0x7C,0x00,0x00,0x53,0x83,0x70,0x00,0x7B,0x61,0x8C,0x03,0x60,
- 0x01,0xF0,0x67,0x40,0xCC,0x00,0x01,0xDC,0x06,0x18,0x00,0x6F,0x03,0x0F,0x1F,0xF8,
- 0x1F,0xF0,0x2E,0x21,0x9C,0x00,0x00,0xD8,0x0C,0x0F,0x00,0x67,0x0E,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- };
- uchar code table4[]=
- {
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x03,0x80,0x00,0xE0,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x03,0xE3,0xE0,0x00,0xF8,0x07,0xC0,0x0F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x03,0xF9,0xFC,0x06,0x7F,0x07,0xFF,0xFF,0x78,0x0F,0xC1,0xE0,0x38,0x00,0x00,
- 0x00,0x1F,0xFF,0xFF,0x87,0xFF,0xE0,0x1E,0x3F,0x3E,0x0F,0xC1,0xF8,0xFF,0xE0,0x00,
- 0x00,0x7B,0xFF,0x0F,0x87,0xC3,0xE0,0x7E,0x0F,0x1E,0x07,0xC3,0xF0,0x39,0xC0,0x00,
- 0x00,0xE0,0x3A,0x03,0xEE,0x80,0xF8,0x1E,0x0F,0x3E,0x01,0xC3,0x80,0x3B,0xE0,0x00,
- 0x01,0xC0,0x7C,0x03,0xDF,0x00,0xF0,0xFE,0x07,0x3C,0x01,0xC3,0x80,0x3B,0x80,0x00,
- 0x01,0xC0,0x3C,0x01,0xEF,0x00,0x78,0x1E,0x0F,0xFF,0x00,0xC3,0x80,0x38,0x00,0x00,
- 0x01,0xDF,0xF0,0x01,0xDC,0x00,0x70,0xFC,0x0F,0xFC,0x00,0xE3,0x00,0x38,0x7C,0x00,
- 0x01,0xB9,0xF8,0x01,0xFE,0x00,0x7C,0x7C,0x07,0x0F,0x00,0xE7,0x00,0x7F,0xFC,0x00,
- 0x01,0xF0,0xFC,0x01,0xC7,0x00,0x70,0xFC,0x0F,0x1F,0xC0,0x77,0x00,0x38,0x00,0x00,
- 0x01,0xFF,0xFC,0x03,0xCF,0x00,0xF0,0xFC,0x0F,0x0F,0x00,0x7F,0x00,0x38,0x00,0x00,
- 0x01,0xEE,0x7C,0x03,0xEF,0x00,0xF8,0x3C,0x0F,0x1F,0x00,0x3F,0x00,0x39,0xF0,0x00,
- 0x01,0xFF,0xDC,0x07,0xEF,0x01,0xF8,0xFC,0x1F,0x3F,0xC0,0x3F,0x00,0x39,0xF0,0x00,
- 0x00,0xFF,0xEF,0x9F,0x83,0xE7,0xE0,0x1C,0x3F,0x1C,0x00,0x3C,0x00,0x39,0xF0,0x00,
- 0x00,0x7F,0xC3,0xFE,0x00,0xFF,0x80,0x3D,0xF7,0xF8,0x00,0x3E,0x00,0xFF,0xF8,0x00,
- 0x00,0x00,0x03,0xFC,0x00,0xFF,0x01,0xFF,0xC0,0x00,0x00,0xFE,0x00,0xF8,0x00,0x00,
- 0x00,0x00,0x00,0x78,0x00,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x71,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x71,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x71,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xE3,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x71,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x71,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xC3,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xC3,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x71,0xC7,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xC3,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xE3,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xE3,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x7D,0xF7,0xDF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x79,0xE7,0x9E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
- };
- uchar table5[30];
- uchar code tableshuzi[]= //數(shù)字發(fā)音對照
- {
- 84, //零
- 44, //一
- 48, //二
- 52, //三
- 56, //四
- 60, //五
- 64, //六
- 68, //七
- 72, //八
- 76, //九
- 80, //十
- 88, //百
- };
- void yuyin();
- void shijian(uint x) //一毫秒延時
- {
- uint a,j;
- for(a=x;a>0;a--)
- for(j=110;j>0;j--);
- }
- void writecom(uchar com) //液晶寫命令
- {
- lcdrs=0;
- lcden=0;
- P1=com;
- shijian(1);
- lcden=1;
- shijian(1);
- lcden=0;
- }
- void writedate(uchar date) //液晶寫數(shù)據(jù)
- {
- lcdrs=1;
- lcden=0;
- P1=date;
- shijian(1);
- lcden=1;
- shijian(1);
- lcden=0;
- }
- void pitcure(uchar *p) //液晶畫圖
- {
- uchar a,j;
- writecom(0x36); //打開畫圖指令
- for(a=0;a<32;a++) //寫上半屏
- {
- writecom(0x80+a); //寫縱坐標
- writecom(0x80); //寫橫坐標
- for(j=0;j<16;j++)
- {
- writedate(*p++);
- }
- }
- for(i=0;i<32;i++) //寫下半屏
- {
- writecom(0x80+i); //寫縱坐標
- writecom(0x88); //寫橫坐標
- for(j=0;j<16;j++)
- {
- writedate(*p++);
- }
- }
- // writecom(0x36);
- writecom(0x30); //恢復正常書寫指令
- }
- void init() //初始化
- {
- TMOD=0x20; //定時器1決定串口波特率
- TH1=0XFD;
- TL1=0XFD;
- TR1=1;
- SM0=0; //設定串口中斷方式
- SM1=1;
- REN=1; //打開允許接收
- EA=1; //打開總中斷
- ES=0; //打開外部中斷
- P0=0xff;
- writecom(0x30); //液晶的初始化
- writecom(0x0c);
- writecom(0x01);
- pitcure(table2); //寫入第一幅開機畫面
- shijian(1500);
- pitcure(table3); //寫入第二幅開機畫面
- startflag=1; //將開機標志位置一
- ES=1; //打開串口中斷
- }
- void display()
- {
- uchar j;
- writecom(0x80); //
- //**********寫第一行時間顯示內(nèi)容
- for(j=0;j<8;j++)
- {
- writedate(table[j]);
- }
- writedate(table1[shishi]);
- writedate(table1[shige]);
- writedate(':');
- writedate(table0[9]);
- writedate(table0[10]);
- writedate(':');
- writedate(table0[11]);
- writedate(table0[12]);
-
- //*********寫第二行緯度顯示內(nèi)容
- writecom(0x90);
- for(j=0;j<7;j++)
- {
- writedate(tablewei[j]);
- }
- writedate(table0[19]);
- writedate(table0[20]);
- writedate('.');
- writedate(table0[21]);
- writedate(table0[22]);
- for(j=0;j<2;j++)
- {
- writedate(tabledu[j]);
- }
- //**************寫第三行經(jīng)度顯示內(nèi)容
- writecom(0x88);
- for(j=0;j<8;j++)
- {
- writedate(tablejing[j]);
- }
- writedate(table0[32]);
- writedate(table0[33]);
- writedate(table0[34]);
- writedate('.');
- writedate(table0[35]);
- writedate(table0[36]);
- for(j=0;j<2;j++)
- {
- writedate(tabledu[j]);
- }
- //*************第四行顯示速度
- writecom(0x98);
- for(j=0;j<5;j++)
- {
- writedate(tablesu1[j]);
- }
- writedate(table1[suge]);
- writedate('.');
- writedate(table1[sushifen]);
- writedate(table1[subaifen]);
- writedate(table1[suqianfen]);
- for(j=0;j<4;j++)
- {
- writedate(tablesu2[j]);
- }
- }
- void keyscan() //鍵盤掃描
- {
- if(key3==0)
- {
- shijian(10);
- if(key3==0)
- {
- num++;
- if(num==2)
- num=0;
- while(key3==0); //松手檢測
- if(num==0) //如過等于0開機
- {
- led=1; //指示燈滅
- init(); //進行初始化
-
- }
- if(num==1) //如果等于1關機
- {
- ES=0; //串口中斷關閉
- EA=0; //總中斷關閉
- led=0; //指示燈打開
- writecom(0x01); //清屏
- pitcure(table4); //顯示關機畫面
- writecom(0x01); //清屏
- }
- }
- }
- if(key2==0) //key2按下實現(xiàn)語音播報
- {
- EX0=1; //打開外部中斷
- IT0=1; //外部中斷工作在下降沿觸發(fā)
- yuyin(); //進入語音播報程序
- }
- }
- void deal() //數(shù)據(jù)處理函數(shù)
- {
- uchar temp1,temp2,temp3,temp4,temp5,temp6,shi;
- float v=1.852; //速度轉(zhuǎn)換
- uint su;
- if(flag==1)
- {
-
- if(table0[4]=='M')//確定是否收到"GPRMC"這一幀數(shù)據(jù)
- {
- switch(table0[7]) //分離出小時的十位
- {
- case '0': temp1=0;
- break;
- case '1': temp1=1;
- break;
- case '2': temp1=2;
- break;
-
- }
- switch(table0[8]) //分離出小時的個位
- {
- case '0': temp2=0;
- break;
- case '1': temp2=1;
- break;
- case '2': temp2=2;
- break;
- case '3': temp2=3;
- break;
- case '4': temp2=4;
- break;
- case '5': temp2=5;
- break;
- case '6': temp2=6;
- break;
- case '7': temp2=7;
- break;
- case '8': temp2=8;
- break;
- case '9': temp2=9;
- break;
- }
- //*************速度海里/小時和 公里/小時的轉(zhuǎn)換
- //***************世界時間和北京時間的轉(zhuǎn)換
- shi=temp1*10+temp2;
- if(shi>=16)
- {
- shi=shi-16;
- }
- else
- shi=shi+8; //北京時間快8小時
- shishi=shi/10;
- shige=shi%10;
- switch(table0[46]) //分離出速度個位
- {
- case '0': temp3=0;
- break;
- case '1': temp3=1;
- break;
- case '2': temp3=2;
- break;
- case '3': temp3=3;
- break;
-
- }
- switch(table0[48]) //分離出速度十分位
- {
- case '0': temp4=0;
- break;
- case '1': temp4=1;
- break;
- case '2': temp4=2;
- break;
- case '3': temp4=3;
- break;
- case '4': temp4=4;
- break;
- case '5': temp4=5;
- break;
- case '6': temp4=6;
- break;
- case '7': temp4=7;
- break;
- case '8': temp4=8;
- break;
- case '9': temp4=9;
- break;
- }
- switch(table0[49]) //分離出速度百分位
- {
- case '0': temp5=0;
- break;
- case '1': temp5=1;
- break;
- case '2': temp5=2;
- break;
- case '3': temp5=3;
- break;
- case '4': temp5=4;
- break;
- case '5': temp5=5;
- break;
- case '6': temp5=6;
- break;
- case '7': temp5=7;
- break;
- case '8': temp5=8;
- break;
- case '9': temp5=9;
- break;
- }
- switch(table0[50]) //分離出速度千分位
- {
- case '0': temp6=0;
- break;
- case '1': temp6=1;
- break;
- case '2': temp6=2;
- break;
- case '3': temp6=3;
- break;
- case '4': temp6=4;
- break;
- case '5': temp6=5;
- break;
- case '6': temp6=6;
- break;
- case '7': temp6=7;
- break;
- case '8': temp6=8;
- break;
- case '9': temp6=9;
- break;
- }
- //******************把數(shù)擴大十倍方便下面分離出各個位
- su=temp3*1000+temp4*100+temp5*10+temp6;
- su=su*v;
- suge=su/1000;
- sushifen=su%1000/100;
- subaifen=su%100/10;
- suqianfen=su%10;
- if(startflag==1) //開始標志位置一
- {
- startflag=0; //清零
- writecom(0x01); //清屏
- }
- display(); //屏顯刷新數(shù)據(jù)
- flag=0;
- ES=1; //打開串口中斷
- }
- else //如果接受數(shù)據(jù)不對
- { //標志位清零,并將串口中斷打開
- flag=0;
- ES=1;
- }
- led=1; //關閉led起到閃爍指示信號效果
- }
- }
- void yuyin() //語音播報函數(shù)
- {
- uchar a,b,c,d,e,f,g,h,k,l,m,n,o,shi;
- switch(table0[7]) //分離出小時的十位
- {
- case '0': a=0;
- break;
- case '1': a=1;
- break;
- case '2': a=2;
- break;
-
- }
- switch(table0[8]) //分離出小時的個位
- {
- case '0': b=0;
- break;
- case '1': b=1;
- break;
- case '2': b=2;
- break;
- case '3': b=3;
- break;
- case '4': b=4;
- break;
- case '5': b=5;
- break;
- case '6': b=6;
- break;
- case '7': b=7;
- break;
- case '8': b=8;
- break;
- case '9': b=9;
- break;
- }
- switch(table0[9]) //分離出分的十位
- {
- case '0': c=0;
- break;
- case '1': c=1;
- break;
- case '2': c=2;
- break;
- case '3': c=3;
- break;
- case '4': c=4;
- break;
- case '5': c=5;
- break;
- case '6': c=6;
- break;
- case '7': c=7;
- break;
- case '8': c=8;
- break;
- case '9': c=9;
- break;
- }
- switch(table0[9]) //分離出分的個位
- {
- case '0': c=0;
- break;
- case '1': d=1;
- break;
- case '2': d=2;
- break;
- case '3': d=3;
- break;
- case '4': d=4;
- break;
- case '5': d=5;
- break;
- case '6': d=6;
- break;
- case '7': d=7;
- break;
- case '8': d=8;
- break;
- case '9': d=9;
- break;
- }
- //***************世界時間和北京時間的轉(zhuǎn)換
- shi=a*10+b;
- if(shi>=16)
- {
- shi=shi-16;
- }
- else
- shi=shi+8;
- time=shi*100+c*10+d;
- //***************分離緯度
- switch(table0[19]) //分離緯度的十位
- {
- case '0': e=0;
- break;
- case '1': e=1;
- break;
- case '2': e=2;
- break;
- case '3': e=3;
- break;
- case '4': e=4;
- break;
- case '5': e=5;
- break;
- case '6': e=6;
- break;
- case '7': e=7;
- break;
- case '8': e=8;
- break;
- case '9': e=9;
- break;
- }
- switch(table0[20]) //分離緯度的個位
- {
- case '0': f=0;
- break;
- case '1': f=1;
- break;
- case '2': f=2;
- break;
- case '3': f=3;
- break;
- case '4': f=4;
- break;
- case '5': f=5;
- break;
- case '6': f=6;
- break;
- case '7': f=7;
- break;
- case '8': f=8;
- break;
- case '9': f=9;
- break;
- }
- switch(table0[21]) //分離緯度的十分位
- {
- case '0': g=0;
- break;
- case '1': g=1;
- break;
- case '2': g=2;
- break;
- case '3': g=3;
- break;
- case '4': g=4;
- break;
- case '5': g=5;
- break;
- case '6': g=6;
- break;
- case '7': g=7;
- break;
- case '8': g=8;
- break;
- case '9': g=9;
- break;
- }
- switch(table0[22]) //分離緯度的百分位
- {
- case '0': h=0;
- break;
- case '1': h=1;
- break;
- case '2': h=2;
- break;
- case '3': h=3;
- break;
- case '4': h=4;
- break;
- case '5': h=5;
- break;
- case '6': h=6;
- break;
- case '7': h=7;
- break;
- case '8': h=8;
- break;
- case '9': h=9;
- break;
- }
- weidu=e*1000+f*100+g*10+h;
- //****************分離經(jīng)度
- switch(table0[32]) //分離經(jīng)度的百位
- {
- case '0': k=0;
- break;
- case '1': k=1;
- break;
- case '2': k=2;
- break;
- case '3': k=3;
- break;
- case '4': k=4;
- break;
- case '5': k=5;
- break;
- case '6': k=6;
- break;
- case '7': k=7;
- break;
- case '8': k=8;
- break;
- case '9': k=9;
- break;
- }
- switch(table0[33]) //分離經(jīng)度的十位
- {
- case '0': l=0;
- break;
- case '1': l=1;
- break;
- case '2': l=2;
- break;
- case '3': l=3;
- break;
- case '4': l=4;
- break;
- case '5': l=5;
- break;
- case '6': l=6;
- break;
- case '7': l=7;
- break;
- case '8': l=8;
- break;
- case '9': l=9;
- break;
- }
- switch(table0[34]) //分離經(jīng)度的個位
- {
- case '0': m=0;
- break;
- case '1': m=1;
- break;
- case '2': m=2;
- break;
- case '3': m=3;
- break;
- case '4': m=4;
- break;
- case '5': m=5;
- break;
- case '6': m=6;
- break;
- case '7': m=7;
- break;
- case '8': m=8;
- break;
- case '9': m=9;
- break;
- }
- switch(table0[35]) //分離經(jīng)度的十分位
- {
- case '0': n=0;
- break;
- case '1': n=1;
- break;
- case '2': n=2;
- break;
- case '3': n=3;
- break;
- case '4': n=4;
- break;
- case '5': n=5;
- break;
- case '6': n=6;
- break;
- case '7': n=7;
- break;
- case '8': n=8;
- break;
- case '9': n=9;
- break;
- }
- switch(table0[36]) //分離經(jīng)度的百分位
- {
- case '0': o=0;
- break;
- case '1': o=1;
- break;
- case '2': o=2;
- break;
- case '3': o=3;
- break;
- case '4': o=4;
- break;
- case '5': o=5;
- break;
- case '6': o=6;
- break;
- case '7': o=7;
- break;
- case '8': o=8;
- break;
- case '9': o=9;
- break;
- }
- jingdu=k*10000+l*1000+m*100+n*10+o; //將經(jīng)度合成一個數(shù)
- /**************緯度語音地址編碼*********************/
- table5[0]=0;
- table5[1]=24;
- table5[2]=tableshuzi[weidu/1000];
- table5[3]=tableshuzi[10];
- table5[4]=tableshuzi[weidu%1000/100];
- table5[5]=32;
- table5[6]=tableshuzi[weidu%100/10];
- table5[7]=tableshuzi[weidu%10];
- table5[8]=92;
- /*****************經(jīng)度語音地址編碼************************/
- table5[9]=28;
- table5[10]=tableshuzi[jingdu/10000];
- table5[11]=tableshuzi[11]; //百
- table5[12]=tableshuzi[jingdu%10000/1000];
- table5[13]=tableshuzi[10]; //十
- table5[14]=tableshuzi[jingdu%1000/100];
- table5[15]=32; //點
-
- table5[16]=tableshuzi[jingdu%100/10];
- table5[17]=tableshuzi[jingdu%10];
- table5[18]=92; //度
- /**********作為發(fā)音引導,主要在外部中斷中處理*************/
- P0=table5[0];
- du=1;
- ES=0;
- shijian(50);
- du=0; //第一段結束后將自動產(chǎn)生外部中斷
- a=1;
- }
- void main() //主函數(shù)
- {
- init(); //初始化
- while(1)
- {
- deal(); //處理數(shù)據(jù)
- keyscan(); //鍵盤掃描
- }
- }
- void zhongduan() interrupt 4 //串口中斷
- {
- RI=0; //接收標志清零
- table0[i]=SBUF; //將接收數(shù)據(jù)存入table0中
- i++;
- if(table0[0]=='
- ) //第一個字符為$時接收下面數(shù)據(jù)
- {
- if(i==4) //加這條語句可以增加數(shù)據(jù)糾錯能力
- {
- if(table0[3]!='R')
- i=0;
- }
- if(i==62) //如果接收夠62個則進入
- {
- i=0;
- led=0; //指示燈亮,處理完后滅
- flag=1; //標志位置一
- ES=0; //關閉串口中斷等待數(shù)據(jù)處理
- }
-
- }
- else //如果接收錯誤重新接收
- i=0;
- }
- void INIT0() interrupt 0 //外部中斷
- {
- EX0=0; //關閉外部中斷
- du=1; //關閉發(fā)音控制,準備第二次發(fā)音
- a=1;
- for(a;a<19;a++) //進入循環(huán),播報經(jīng)緯度
- {
- P0=table5[a]; //地址逐步加1
- du=1;
- shijian(20); //讀音打開需要下降沿觸發(fā)
- du=0;
- shijian(450); //適當調(diào)整可以調(diào)整語速
- }
- a=1;
- du=1;
- EX0=0; //發(fā)音結束關閉外部中斷
- ES=1; //打開串口中斷
- EA=1; //發(fā)音結束后打開中斷準備下次發(fā)音
- }
復制代碼
|