📄 gps.lis
字号:
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 + -