⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gps.lis

📁 利用AVRM16单片机读与GPS接收模块进行通信
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 00CE                   .blkb 2
                        .area idata
 00CE 3F00              .byte 63,0
                        .area data(ram, con, rel)
 00D0                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00D0                   .blkb 2
                        .area idata
 00D0 00FC              .byte 0,252
                        .area data(ram, con, rel)
 00D2                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00D2                   .blkb 2
                        .area idata
 00D2 7C00              .byte 124,0
                        .area data(ram, con, rel)
 00D4                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00D4                   .blkb 2
                        .area idata
 00D4 003E              .byte 0,62
                        .area data(ram, con, rel)
 00D6                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00D6                   .blkb 2
                        .area idata
 00D6 7800              .byte 'x,0
                        .area data(ram, con, rel)
 00D8                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00D8                   .blkb 2
                        .area idata
 00D8 001E              .byte 0,30
                        .area data(ram, con, rel)
 00DA                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00DA                   .blkb 2
                        .area idata
 00DA E000              .byte 224,0
                        .area data(ram, con, rel)
 00DC                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00DC                   .blkb 2
                        .area idata
 00DC 0007              .byte 0,7
                        .area data(ram, con, rel)
 00DE                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00DE                   .blkb 2
                        .area idata
 00DE 8000              .byte 128,0
                        .area data(ram, con, rel)
 00E0                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00E0                   .blkb 2
                        .area idata
 00E0 0001              .byte 0,1
                        .area data(ram, con, rel)
 00E2                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 00E2                   .dbsym e tu _tu A[128:128]c
                        .area text(rom, con, rel)
 0054                   .dbfile E:\单片机\AVR程序\GPS通信\gps.c
 0054                   .dbfunc e send_8bit _send_8bit fV
 0054           ;              i -> R20
 0054           ;             ch -> R22
                        .even
 0054           _send_8bit::
 0054 0E940000          xcall push_gset2
 0058 602F              mov R22,R16
 005A                   .dbline -1
 005A                   .dbline 234
 005A           ;    delay_1ms();
 005A           ;   }
 005A           ; /*-----------------------------------------------------------------------
 005A           ; 延时函数
 005A           ; 系统时钟:8M
 005A           ; -----------------------------------------------------------------------*/
 005A           ; 
 005A           ; /***************************************************************************************************
 005A           ;                                      下面为12864液晶模块驱动程序
 005A           ; ****************************************************************************************************/
 005A           ; //汉字图像   若将其用另文件存放则显示汉字不正常
 005A           ; const uchar HZ[19][32]={
 005A           ; /*--  文字:  过  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x40,0x10,0x20,0x10,0x30,0x10,0x20,0x10,0x07,0xFE,0x00,0x10,0x02,0x10,0xE1,0x10,
 005A           ; 0x21,0x90,0x21,0x10,0x20,0x10,0x20,0x50,0x20,0x20,0x58,0x00,0x87,0xFE,0x00,0x00,
 005A           ; 
 005A           ; //下面是数字10: 构造分法,用1与0的数码,把0的数码交替地放在1代码后面
 005A           ;   //0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x18,0x70,0x24,0x10,0x42,0x10,0x42,0x10,0x42,
 005A           ;   //0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x7c,0x18,0x00,0x00,0x00,0x00,
 005A           ;   
 005A           ; /*--  文字:  去  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
 005A           ; 0x7F,0xFE,0x02,0x00,0x06,0x00,0x08,0x20,0x10,0x10,0x3F,0xF8,0x10,0x10,0x00,0x00,
 005A           ; 
 005A           ; /*--  文字:  属  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x3F,0xFC,0x20,0x04,0x3F,0xFC,0x20,0x00,0x2F,0xF8,0x20,0x80,0x27,0xF8,0x24,0x88,
 005A           ; 0x27,0xF8,0x20,0x80,0x2F,0xFC,0x28,0xA4,0x48,0xF4,0x4B,0x14,0x88,0x04,0x08,0x0C,
 005A           ; 
 005A           ; /*--  文字:  于  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x00,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,
 005A           ; 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x09,0x00,0x05,0x00,0x02,0x00,
 005A           ; 
 005A           ; /*--  文字:  死  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x00,0x00,0x7F,0xFE,0x08,0x40,0x08,0x40,0x1F,0x40,0x11,0x46,0x21,0x58,0x32,0x60,
 005A           ; 0x4A,0x40,0x8A,0x40,0x04,0x40,0x04,0x42,0x08,0x42,0x30,0x42,0xC0,0x3E,0x00,0x00,
 005A           ; 
 005A           ; /*--  文字:  神  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x20,0x20,0x10,0x20,0x10,0x20,0xFD,0xFC,0x05,0x24,0x09,0x24,0x11,0xFC,0x39,0x24,
 005A           ; 0x55,0x24,0x95,0xFC,0x11,0x24,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,0x10,0x20,
 005A           ; 
 005A           ; /*--  11文字:  空字  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//11
 005A           ;  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 005A           ; /*--  文字:  现  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x00,0x00,0xFF,0xF8,0x12,0x08,0x12,0x48,0x12,0x48,0x12,0x48,0x7E,0x48,0x12,0x48,
 005A           ; 0x12,0x48,0x12,0xA8,0x1C,0xA0,0xE1,0x22,0x01,0x22,0x02,0x22,0x04,0x1E,0x08,0x00,
 005A           ; 
 005A           ; /*--  文字:  在  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x02,0x00,0x02,0x00,0x7F,0xFE,0x04,0x00,0x04,0x00,0x08,0x40,0x18,0x40,0x17,0xFC,
 005A           ; 0x30,0x40,0x50,0x40,0x90,0x40,0x10,0x40,0x10,0x40,0x17,0xFE,0x10,0x00,0x00,0x00,
 005A           ; 
 005A           ; /*--  文字:  与  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x00,0x00,0x08,0x00,0x08,0x04,0x0F,0xFE,0x08,0x00,0x08,0x00,0x0F,0xFC,0x00,0x04,
 005A           ; 0x00,0x04,0x00,0x24,0x7F,0xF4,0x00,0x04,0x00,0x04,0x00,0x48,0x00,0x30,0x00,0x00,
 005A           ; 
 005A           ; /*--  文字:  未  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0xFF,0xFE,0x03,0x00,
 005A           ; 0x03,0x80,0x05,0x40,0x05,0x20,0x09,0x18,0x31,0x0E,0xC1,0x04,0x01,0x00,0x01,0x00,
 005A           ; 
 005A           ; /*--  文字:  来  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x01,0x00,0x01,0x00,0x3F,0xFC,0x01,0x00,0x09,0x30,0x05,0x20,0x03,0x40,0x7F,0xFE,
 005A           ; 0x01,0x80,0x03,0x40,0x05,0x20,0x09,0x18,0x31,0x0E,0xC1,0x04,0x01,0x00,0x01,0x00,
 005A           ; 
 005A           ; /*--  文字:  却  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x08,0x00,0x08,0x7C,0x08,0x44,0x7F,0x44,0x08,0x44,0x08,0x44,0x08,0x44,0xFF,0x44,
 005A           ; 0x10,0x44,0x12,0x44,0x21,0x44,0x27,0xD4,0x79,0x48,0x20,0x40,0x00,0x40,0x00,0x40,
 005A           ; 
 005A           ; /*--  文字:  由  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,
 005A           ; 0x3F,0xF8,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x3F,0xF8,0x20,0x08,0x00,0x00,
 005A           ; 
 005A           ; /*--  文字:  我  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x06,0x40,0x38,0x50,0x08,0x48,0x08,0x48,0x08,0x40,0xFF,0xFE,0x08,0x40,0x08,0x48,
 005A           ; 0x0E,0x28,0x38,0x30,0xC8,0x20,0x08,0x50,0x09,0x92,0x08,0x0A,0x28,0x06,0x10,0x02,
 005A           ; 
 005A           ; 
 005A           ; /*--  文字:  们  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x0A,0x00,0x09,0x00,0x11,0xBC,0x11,0x04,0x34,0x04,0x24,0x04,0x64,0x04,0xA4,0x04,
 005A           ; 0x24,0x04,0x24,0x04,0x24,0x04,0x24,0x04,0x24,0x04,0x24,0x14,0x24,0x08,0x00,0x00,
 005A           ; 
 005A           ; 
 005A           ; /*--  文字:  掌  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x11,0x10,0x09,0x20,0x7F,0xFE,0x40,0x04,0x0F,0xE0,0x08,0x20,0x0F,0xE0,0x00,0x00,
 005A           ; 0x3F,0xF0,0x01,0x00,0x3F,0xF8,0x01,0x00,0x7F,0xFC,0x01,0x00,0x05,0x00,0x02,0x00,
 005A           ; 
 005A           ; /*--  文字:  握  --*/
 005A           ; /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 005A           ; 0x20,0x00,0x23,0xFC,0x22,0x04,0xFB,0xFC,0x22,0x00,0x23,0xFE,0x2A,0x40,0x32,0x88,
 005A           ; 0x63,0xFC,0xA2,0x24,0x22,0x20,0x23,0xFC,0x24,0x20,0x24,0x20,0xAB,0xFE,0x40,0x00,
 005A           ; };
 005A           ; 
 005A           ; //图象数组
 005A           ; uchar tu[]={
 005A           ; 0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,
 005A           ; 0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,
 005A           ; 0x00,0x1F,0xF8,0x00,0x00,0x1F,0xF8,0x00,0x00,0x3F,0xFC,0x00,0x00,0x3F,0xFC,0x00,
 005A           ; 0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0x1F,0xFF,0xFF,0xFC,0x07,0xFF,0xFF,0xF0,
 005A           ; 0x03,0xFF,0xFF,0xE0,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,
 005A           ; 0x07,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xE0,0x0F,0xFF,0xFF,0xF0,0x0F,0xFE,0x3F,0xF0,
 005A           ; 0x1F,0xF8,0x1F,0xF8,0x1F,0xE0,0x07,0xF8,0x3F,0xC0,0x01,0xFC,0x3F,0x00,0x00,0xFC,
 005A           ; 0x7C,0x00,0x00,0x3E,0x78,0x00,0x00,0x1E,0xE0,0x00,0x00,0x07,0x80,0x00,0x00,0x01,
 005A           ; };
 005A           ; 
 005A           ; //发送8位数据
 005A           ; void send_8bit(uchar ch)
 005A           ; {
 005A                   .dbline 236
 005A           ;  char i;
 005A           ;  for(i=0;i<8;i++)
 005A 4427              clr R20
 005C 13C0              xjmp L21
 005E           L18:
 005E                   .dbline 237
 005E           ;  {  setCKL;
 005E                   .dbline 237
 005E DB9A              sbi 0x1b,3
 0060 01E0              ldi R16,1
 0062 10E0              ldi R17,0
 0064 CFDF              xcall _delay_nus
 0066                   .dbline 238
 0066           ;     if((ch<<i)&0x80)setRW;
 0066 062F              mov R16,R22
 0068 142F              mov R17,R20
 006A 0E940000          xcall lsl8
 006E 802F              mov R24,R16
 0070 8078              andi R24,128
 0072 11F0              breq L22
 0074                   .dbline 238
 0074 DA9A              sbi 0x1b,2
 0076 01C0              xjmp L23
 0078           L22:
 0078                   .dbline 239
 0078           ;       else clearRW; 
 0078 DA98              cbi 0x1b,2
 007A           L23:
 007A                   .dbline 240
 007A DB98              cbi 0x1b,3
 007C 01E0              ldi R16,1
 007E 10E0              ldi R17,0
 0080 C1DF              xcall _delay_nus
 0082                   .dbline 241
 0082           L19:
 0082                   .dbline 236
 0082 4395              inc R20
 0084           L21:
 0084                   .dbline 236
 0084 4830              cpi R20,8
 0086 58F3              brlo L18
 0088                   .dbline -2
 0088           L17:
 0088 0E940000          xcall pop_gset2
 008C                   .dbline 0 ; func end
 008C 0895              ret
 008E                   .dbsym r i 20 c
 008E                   .dbsym r ch 22 c
 008E                   .dbend
 008E                   .dbfunc e WriteData _WriteData fV
 008E           ;           data -> R20
                        .even
 008E           _WriteData::
 008E 0E940000          xcall push_gset1
 0092 402F              mov R20,R16
 0094                   .dbline -1
 0094                   .dbline 245
 0094           ;       clearCKL;
 0094           ;  }
 0094           ; }
 0094           ; //写数据
 0094           ; void WriteData(uchar data)//
 0094           ; {
 0094                   .dbline 246
 0094           ;   setRS;
 0094 D99A              sbi 0x1b,1
 0096                   .dbline 247
 0096           ;   send_8bit(0xfa);
 0096 0AEF              ldi R16,250
 0098 DDDF              xcall _send_8bit
 009A                   .dbline 248
 009A           ;   send_8bit(data&0xf0);
 009A 042F              mov R16,R20
 009C 007F              andi R16,240
 009E DADF              xcall _send_8bit
 00A0                   .dbline 249
 00A0           ;   send_8bit(data<<4);
 00A0 042F              mov R16,R20
 00A2 0F70              andi R16,#0x0F
 00A4 0295              swap R16
 00A6 D6DF              xcall _send_8bit
 00A8                   .dbline 250
 00A8           ;   clearRS;  
 00A8 D998              cbi 0x1b,1
 00AA                   .dbline -2
 00AA           L24:
 00AA 0E940000          xcall pop_gset1
 00AE                   .dbline 0 ; func end
 00AE 0895              ret
 00B0                   .dbsym r data 20 c
 00B0                   .dbend
 00B0                   .dbfunc e WriteCommand _WriteCommand fV
 00B0           ;        command -> R20
                        .even
 00B0           _WriteCommand::
 00B0 0E940000          xcall push_gset1
 00B4 402F              mov R20,R16
 00B6                   .dbline -1
 00B6                   .dbline 254
 00B6           ; }
 00B6           ; //写地址
 00B6           ; void WriteCommand(uchar command)//
 00B6           ; { 
 00B6                   .dbline 255
 00B6           ;   setRS;
 00B6 D99A              sbi 0x1b,1
 00B8                   .dbline 256
 00B8           ;   send_8bit(0xf8);
 00B8 08EF              ldi R16,248
 00BA CCDF              xcall _send_8bit
 00BC                   .dbline 257
 00BC           ;   send_8bit(command&0xf0);
 00BC 042F              mov R16,R20
 00BE 007F              andi R16,240
 00C0 C9DF              xcall _send_8bit

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -