📄 gps.lst
字号:
(0224) }
(0225) }
(0226) Ram_12864();
E6E DEAD RCALL _Ram_12864
E6F 940C 0F24 JMP pop_xgsetF00C
_Write_Com_12864:
cmdcode --> R10
E71 92AA ST R10,-Y
E72 2EA0 MOV R10,R16
(0227) }
(0228)
(0229) /**********************************************************************/
(0230)
(0231)
(0232) void Write_Com_12864( unsigned char cmdcode )//写控制字
(0233) {
(0234) CS12864_H;
E73 9AA8 SBI 0x15,0
(0235) RS12864_L;//写控制字RS = 0 ; RW = 0 ; E :H->L
E74 98AA CBI 0x15,2
(0236) RW12864_L;
E75 98AB CBI 0x15,3
(0237) Delay_1us();
E76 DD88 RCALL _Delay_1us
(0238) CS12864_L;
E77 98A8 CBI 0x15,0
(0239) DATA_PORT_12864 = cmdcode ;
E78 BAAB OUT 0x1B,R10
(0240) Delay_1us();
E79 DD85 RCALL _Delay_1us
(0241) E12864_H;
E7A 9AAC SBI 0x15,4
(0242) Delay_1us();
E7B DD83 RCALL _Delay_1us
(0243) E12864_L;
E7C 98AC CBI 0x15,4
(0244) Delay_1us();
E7D DD81 RCALL _Delay_1us
(0245) CS12864_H;
E7E 9AA8 SBI 0x15,0
E7F 90A9 LD R10,Y+
E80 9508 RET
_Write_Data_12864:
Dispdata --> R10
E81 92AA ST R10,-Y
E82 2EA0 MOV R10,R16
(0246) }
(0247)
(0248)
(0249) void Write_Data_12864 ( unsigned char Dispdata )//写数据到LCD
(0250) {
(0251) CS12864_H;
E83 9AA8 SBI 0x15,0
(0252) RS12864_H;//写控制字RS = H ; RW = 0 ; E :H->L
E84 9AAA SBI 0x15,2
(0253) RW12864_L;
E85 98AB CBI 0x15,3
(0254) Delay_1us();
E86 DD78 RCALL _Delay_1us
(0255) CS12864_L;
E87 98A8 CBI 0x15,0
(0256) DATA_PORT_12864 = Dispdata ;
E88 BAAB OUT 0x1B,R10
(0257) Delay_1us();
E89 DD75 RCALL _Delay_1us
(0258) E12864_H;
E8A 9AAC SBI 0x15,4
(0259) Delay_1us();
E8B DD73 RCALL _Delay_1us
(0260) E12864_L;
E8C 98AC CBI 0x15,4
(0261) Delay_1us();
E8D DD71 RCALL _Delay_1us
(0262) CS12864_H;
E8E 9AA8 SBI 0x15,0
E8F 90A9 LD R10,Y+
E90 9508 RET
_Clr_Scr_12864:
page --> R20
col --> R22
E91 934A ST R20,-Y
E92 936A ST R22,-Y
(0263) }
(0264)
(0265) void Clr_Scr_12864(void)//清屏
(0266) {
(0267) unsigned char col,page; //12864 占据128行8页每页128列
(0268) for(page=0;page<8;page++)
E93 2744 CLR R20
E94 C010 RJMP 0x0EA5
(0269) {
(0270) Write_Com_12864(0X10);//SET COLUMN ADDRESS = 0X00 UPPER-4BIT
E95 E100 LDI R16,0x10
E96 DFDA RCALL _Write_Com_12864
(0271) Write_Com_12864(0X00);//SET COLUMN ADDRESS = 0X00 LOWER-4BIT
E97 2700 CLR R16
E98 DFD8 RCALL _Write_Com_12864
(0272) Write_Com_12864(0xB0|(page&0X0F));
E99 2F04 MOV R16,R20
E9A 700F ANDI R16,0xF
E9B 6B00 ORI R16,0xB0
E9C DFD4 RCALL _Write_Com_12864
(0273) for(col=0;col<128;col++)
E9D 2766 CLR R22
E9E C003 RJMP 0x0EA2
(0274) {
(0275) Write_Data_12864(0x00);
E9F 2700 CLR R16
EA0 DFE0 RCALL _Write_Data_12864
EA1 9563 INC R22
EA2 3860 CPI R22,0x80
EA3 F3D8 BCS 0x0E9F
EA4 9543 INC R20
EA5 3048 CPI R20,0x8
EA6 F370 BCS 0x0E95
EA7 9169 LD R22,Y+
EA8 9149 LD R20,Y+
EA9 9508 RET
_Set_Scr_12864:
page --> R20
col --> R22
EAA 934A ST R20,-Y
EAB 936A ST R22,-Y
(0276) }
(0277) }
(0278) }
(0279)
(0280) void Set_Scr_12864(void)//全显示程序
(0281) {
(0282) unsigned char col,page; //12864 占据128行8页每页128列
(0283) for(page=0;page<8;page++)
EAC 2744 CLR R20
EAD C010 RJMP 0x0EBE
(0284) {
(0285) Write_Com_12864(0X10);//SET COLUMN ADDRESS = 0X00 UPPER-4BIT
EAE E100 LDI R16,0x10
EAF DFC1 RCALL _Write_Com_12864
(0286) Write_Com_12864(0X00);//SET COLUMN ADDRESS = 0X00 LOWER-4BIT
EB0 2700 CLR R16
EB1 DFBF RCALL _Write_Com_12864
(0287) Write_Com_12864(0xB0|(page&0X0F));
EB2 2F04 MOV R16,R20
EB3 700F ANDI R16,0xF
EB4 6B00 ORI R16,0xB0
EB5 DFBB RCALL _Write_Com_12864
(0288) for(col=0;col<128;col++)
EB6 2766 CLR R22
EB7 C003 RJMP 0x0EBB
(0289) {
(0290) Write_Data_12864(0xFF);
EB8 EF0F LDI R16,0xFF
EB9 DFC7 RCALL _Write_Data_12864
EBA 9563 INC R22
EBB 3860 CPI R22,0x80
EBC F3D8 BCS 0x0EB8
EBD 9543 INC R20
EBE 3048 CPI R20,0x8
EBF F370 BCS 0x0EAE
EC0 9169 LD R22,Y+
EC1 9149 LD R20,Y+
EC2 9508 RET
(0291) }
(0292) }
(0293) }
(0294)
(0295) void Init_12864( void )
(0296) {
(0297) RST12864_L; //复位LCD
_Init_12864:
EC3 98A9 CBI 0x15,1
(0298) Delay_Us(10);
EC4 E00A LDI R16,0xA
EC5 DD3B RCALL _Delay_Us
(0299) RST12864_H;
EC6 9AA9 SBI 0x15,1
(0300) Delay_Us(10);
EC7 E00A LDI R16,0xA
EC8 DD38 RCALL _Delay_Us
(0301) Write_Com_12864(0XA2);//LCDBIAS = 1/9
EC9 EA02 LDI R16,0xA2
ECA DFA6 RCALL _Write_Com_12864
(0302) Write_Com_12864(0XA0);//LCDADC = NORMAL
ECB EA00 LDI R16,0xA0
ECC DFA4 RCALL _Write_Com_12864
(0303) Write_Com_12864(0XC8);//SHL = REVERSE
ECD EC08 LDI R16,0xC8
ECE DFA2 RCALL _Write_Com_12864
(0304) Write_Com_12864(0X40);//初始化LINE=0;
ECF E400 LDI R16,0x40
ED0 DFA0 RCALL _Write_Com_12864
(0305) Write_Com_12864(0X2C);//POWER CONTRAL
ED1 E20C LDI R16,0x2C
ED2 DF9E RCALL _Write_Com_12864
(0306) Delay_Ms(100);
ED3 E604 LDI R16,0x64
ED4 E010 LDI R17,0
ED5 DD41 RCALL _Delay_Ms
(0307) Write_Com_12864(0X2E);
ED6 E20E LDI R16,0x2E
ED7 DF99 RCALL _Write_Com_12864
(0308) Delay_Ms(100);
ED8 E604 LDI R16,0x64
ED9 E010 LDI R17,0
EDA DD3C RCALL _Delay_Ms
(0309) Write_Com_12864(0X2F);
EDB E20F LDI R16,0x2F
EDC DF94 RCALL _Write_Com_12864
(0310) Delay_Ms(100);
EDD E604 LDI R16,0x64
EDE E010 LDI R17,0
EDF DD37 RCALL _Delay_Ms
(0311) Write_Com_12864(0X26);//REGULATOR RESISTOR SELECT
EE0 E206 LDI R16,0x26
EE1 DF8F RCALL _Write_Com_12864
(0312) Write_Com_12864(0X81);//SET REFERENCE VOLATAG MODE
EE2 E801 LDI R16,0x81
EE3 DF8D RCALL _Write_Com_12864
(0313) Write_Com_12864(0X1A);
EE4 E10A LDI R16,0x1A
EE5 DF8B RCALL _Write_Com_12864
(0314) Write_Com_12864(0XAF);//DISPLAY ON
EE6 EA0F LDI R16,0xAF
EE7 DF89 RCALL _Write_Com_12864
(0315) Write_Com_12864(0XB0);//SET PAGE ADDRESS = 0
EE8 EB00 LDI R16,0xB0
EE9 DF87 RCALL _Write_Com_12864
(0316) Write_Com_12864(0X10);//SET COLUMN ADDRESS = 0X00 UPPER-4BIT
EEA E100 LDI R16,0x10
EEB DF85 RCALL _Write_Com_12864
(0317) Write_Com_12864(0X00);//SET COLUMN ADDRESS = 0X00 LOWER-4BIT
EEC 2700 CLR R16
EED DF83 RCALL _Write_Com_12864
EEE 9508 RET
FILE: D:\SOURCE~1\手持gps测量仪\main.c
(0001)
(0002) // Target : M128
(0003) // Crystal: 8.0000Mhz
(0004)
(0005) #include <iom128v.h>
(0006) #include <macros.h>
(0007) //#include <eeprom.h>
(0008) #include "define.h"
(0009) #include "delay.h"
(0010) //#include "smg12232zk.h"
(0011) //#include "ds1302.h"
(0012) #include "usart128.h"
(0013) #include "initrialm128.h"
(0014) #include "lcm6059b12864.h"
(0015) #include "hanzi.h"
(0016) #include "HZK_GB16.h"
(0017) #include "tupian.h"
(0018)
(0019) void main(void)
(0020) {
(0021) Byte i,k;
(0022) Byte x,y;
(0023) Word j,n;
(0024) Init_Devices();
_main:
n --> Y,+1
j --> Y,+1
y --> Y,+1
x --> Y,+1
k --> Y,+1
i --> Y,+1
EEF DD85 RCALL _Init_Devices
(0025) Init_12864();
EF0 DFD2 RCALL _Init_12864
(0026) Clr_Scr_12864();
EF1 DF9F RCALL _Clr_Scr_12864
(0027) //Ram_Ascii8x16_12864(6,0,"123456");
(0028) //Ram_12864();
(0029) //Hz_Display16x16_12864(0,0,hanzi_yuan);
(0030) //Ram_Ascii8x16_12864(2,0,"%");
(0031) //Ram_12864();
(0032) //Ram_Hz16x16_12864(0,0,"袁自刚");
(0033) //Reverse_16x16_12864(0);
(0034) Ram_Bmp_12864(nBitmapDot4);
EF2 E508 LDI R16,0x58
EF3 E113 LDI R17,0x13
EF4 DF57 RCALL _Ram_Bmp_12864
(0035) //Ram_Hz16x16_12864(1,104,"朱");
(0036) //Ram_Hz16x16_12864(3,104,"宝");
(0037) //Ram_Hz16x16_12864(5,104,"宁");
(0038) while(1)
EF5 CFFF RJMP 0x0EF5
(0039) {
(0040) ;
(0041) }
(0042) while(1)
FILE: <library>
EF6 CFFF RJMP 0x0EF6
EF7 9508 RET
push_arg4:
EF8 933A ST R19,-Y
EF9 932A ST R18,-Y
push_arg2:
EFA 931A ST R17,-Y
EFB 930A ST R16,-Y
EFC 9508 RET
pop_xgsetF0FC:
EFD 90A9 LD R10,Y+
EFE 90B9 LD R11,Y+
EFF 90C9 LD R12,Y+
F00 90D9 LD R13,Y+
F01 90E9 LD R14,Y+
F02 90F9 LD R15,Y+
F03 9149 LD R20,Y+
F04 9159 LD R21,Y+
F05 9169 LD R22,Y+
F06 9179 LD R23,Y+
F07 9508 RET
push_xgsetF0FC:
F08 937A ST R23,-Y
F09 936A ST R22,-Y
push_xgset30FC:
F0A 935A ST R21,-Y
F0B 934A ST R20,-Y
push_xgset00FC:
F0C 92FA ST R15,-Y
F0D 92EA ST R14,-Y
push_xgset003C:
F0E 92DA ST R13,-Y
F0F 92CA ST R12,-Y
F10 92BA ST R11,-Y
F11 92AA ST R10,-Y
F12 9508 RET
push_xgsetF000:
F13 937A ST R23,-Y
F14 936A ST R22,-Y
F15 935A ST R21,-Y
F16 934A ST R20,-Y
F17 9508 RET
pop_xgsetF000:
F18 9149 LD R20,Y+
F19 9159 LD R21,Y+
F1A 9169 LD R22,Y+
F1B 9179 LD R23,Y+
F1C 9508 RET
push_xgsetF00C:
F1D 937A ST R23,-Y
F1E 936A ST R22,-Y
F1F 935A ST R21,-Y
F20 934A ST R20,-Y
F21 92BA ST R11,-Y
F22 92AA ST R10,-Y
F23 9508 RET
pop_xgsetF00C:
F24 90A9 LD R10,Y+
F25 90B9 LD R11,Y+
F26 9149 LD R20,Y+
F27 9159 LD R21,Y+
F28 9169 LD R22,Y+
F29 9179 LD R23,Y+
F2A 9508 RET
push_xgsetF03C:
F2B 937A ST R23,-Y
F2C 936A ST R22,-Y
F2D 935A ST R21,-Y
F2E 934A ST R20,-Y
F2F 92DA ST R13,-Y
F30 92CA ST R12,-Y
F31 92BA ST R11,-Y
F32 92AA ST R10,-Y
F33 9508 RET
pop_xgsetF03C:
F34 90A9 LD R10,Y+
F35 90B9 LD R11,Y+
F36 90C9 LD R12,Y+
F37 90D9 LD R13,Y+
F38 9149 LD R20,Y+
F39 9159 LD R21,Y+
F3A 9169 LD R22,Y+
F3B 9179 LD R23,Y+
F3C 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -