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

📄 gps.lst

📁 12864液晶不带字库的各种刷屏显示方式
💻 LST
📖 第 1 页 / 共 4 页
字号:
__text_start:
__start:
     BDC EFCF      LDI	R28,0xFF
     BDD E1D0      LDI	R29,0x10
     BDE BFCD      OUT	0x3D,R28
     BDF BFDE      OUT	0x3E,R29
     BE0 51C0      SUBI	R28,0x10
     BE1 40D0      SBCI	R29,0
     BE2 EA0A      LDI	R16,0xAA
     BE3 8308      STD	Y+0,R16
     BE4 2400      CLR	R0
     BE5 E0E0      LDI	R30,0
     BE6 E0F1      LDI	R31,1
     BE7 E015      LDI	R17,5
     BE8 31E6      CPI	R30,0x16
     BE9 07F1      CPC	R31,R17
     BEA F011      BEQ	0x0BED
     BEB 9201      ST	R0,Z+
     BEC CFFB      RJMP	0x0BE8
     BED 8300      STD	Z+0,R16
     BEE EBE8      LDI	R30,0xB8
     BEF E1F7      LDI	R31,0x17
     BF0 E0A0      LDI	R26,0
     BF1 E0B1      LDI	R27,1
     BF2 E117      LDI	R17,0x17
     BF3 E000      LDI	R16,0
     BF4 BF0B      OUT	0x3B,R16
     BF5 3BE8      CPI	R30,0xB8
     BF6 07F1      CPC	R31,R17
     BF7 F021      BEQ	0x0BFC
     BF8 95C8      LPM
     BF9 9631      ADIW	R30,1
     BFA 920D      ST	R0,X+
     BFB CFF9      RJMP	0x0BF5
     BFC 940E 0EEF CALL	_main
_exit:
     BFE CFFF      RJMP	_exit
FILE: D:\SOURCE~1\手持gps测量仪\delay.h
(0001) #ifndef	_DELAY_H
(0002) #define	_DELAY_H
(0003) 
(0004) // mcu:avr   crystal=8MHz
(0005) 
(0006) /**************************************************************
(0007) **函数功能:延时1us
(0008) **输入参数:无
(0009) **返回值:无
(0010) **在本函数外定义变量:无
(0011) **调用的函数:NOP()
(0012) **************************************************************/
(0013) void Delay_1us(void);
(0014) 
(0015) /**************************************************************
(0016) **函数功能:us级延时
(0017) **输入参数:xus:延时us数
(0018) **返回值:无
(0019) **在本函数外定义变量:无
(0020) **调用的函数:Delay_1us()
(0021) **************************************************************/
(0022) void Delay_Us(unsigned char xus);
(0023) 
(0024) /**************************************************************
(0025) **函数功能:延时1ms
(0026) **输入参数:无
(0027) **返回值:无
(0028) **在本函数外定义变量:无
(0029) **调用的函数:NOP()
(0030) **************************************************************/
(0031) void Delay_1ms(void);
(0032) 
(0033) /**************************************************************
(0034) **函数功能:ms级延时
(0035) **输入参数:xms:延时ms数
(0036) **返回值:无
(0037) **在本函数外定义变量:无
(0038) **调用的函数:Delay_1ms()
(0039) **************************************************************/
(0040) void Delay_Ms(unsigned int xms);
(0041) 
(0042) /**************************************************************
(0043) **函数功能:10us级延时
(0044) **输入参数:x10us:延时x10us数
(0045) **返回值:无
(0046) **在本函数外定义变量:无
(0047) **调用的函数:无
(0048) **************************************************************/
(0049) void Delay10us(Word x10us);
(0050) 
(0051) 
(0052) void Delay_1us()
(0053) {
(0054) 	NOP();
_Delay_1us:
     BFF 0000      NOP
     C00 9508      RET
_Delay_Us:
  i                    --> R10
  xus                  --> R12
     C01 92AA      ST	R10,-Y
     C02 92CA      ST	R12,-Y
     C03 2EC0      MOV	R12,R16
(0055) }
(0056) 
(0057) void Delay_Us(unsigned char xus)
(0058) {
(0059) 	unsigned char i;
(0060) 	for(i=0;i<xus;i++)
     C04 24AA      CLR	R10
     C05 C002      RJMP	0x0C08
(0061) 		Delay_1us();
     C06 DFF8      RCALL	_Delay_1us
     C07 94A3      INC	R10
     C08 14AC      CP	R10,R12
     C09 F3E0      BCS	0x0C06
     C0A 90C9      LD	R12,Y+
     C0B 90A9      LD	R10,Y+
     C0C 9508      RET
(0062) }
(0063) 
(0064) void Delay_1ms(void)
(0065) {
(0066) 	unsigned int i;
(0067) 	for(i=0;i<1142;i++)
_Delay_1ms:
  i                    --> R16
     C0D 2700      CLR	R16
     C0E 2711      CLR	R17
     C0F C002      RJMP	0x0C12
     C10 5F0F      SUBI	R16,0xFF
     C11 4F1F      SBCI	R17,0xFF
     C12 3706      CPI	R16,0x76
     C13 E0E4      LDI	R30,4
     C14 071E      CPC	R17,R30
     C15 F3D0      BCS	0x0C10
     C16 9508      RET
_Delay_Ms:
  i                    --> R20
  j                    --> R22
  xms                  --> R16
     C17 940E 0F13 CALL	push_xgsetF000
(0068) 		;
(0069) }
(0070) 
(0071) void Delay_Ms(Word xms) //crystal=8MHz
(0072) {
(0073) 	Word i,j; //variable:declare Word
(0074) 	for(i=0; i<xms; i++)
     C19 2744      CLR	R20
     C1A 2755      CLR	R21
     C1B C014      RJMP	0x0C30
(0075) 		for(j=0; j<498;j++)
     C1C 2766      CLR	R22
     C1D 2777      CLR	R23
     C1E C00B      RJMP	0x0C2A
(0076) 		{
(0077) 			NOP();
     C1F 0000      NOP
(0078) 			NOP();
     C20 0000      NOP
(0079) 			NOP();
     C21 0000      NOP
(0080) 			NOP();
     C22 0000      NOP
(0081) 			NOP();
     C23 0000      NOP
(0082) 			NOP();
     C24 0000      NOP
(0083) 			NOP();
     C25 0000      NOP
(0084) 			NOP();
     C26 0000      NOP
(0085) 			NOP();
     C27 0000      NOP
     C28 5F6F      SUBI	R22,0xFF
     C29 4F7F      SBCI	R23,0xFF
     C2A 3F62      CPI	R22,0xF2
     C2B E0E1      LDI	R30,1
     C2C 077E      CPC	R23,R30
     C2D F388      BCS	0x0C1F
     C2E 5F4F      SUBI	R20,0xFF
     C2F 4F5F      SBCI	R21,0xFF
     C30 1740      CP	R20,R16
     C31 0751      CPC	R21,R17
     C32 F348      BCS	0x0C1C
     C33 940C 0F18 JMP	pop_xgsetF000
_Delay10us:
  i                    --> R20
  j                    --> R22
  x10us                --> R16
     C35 940E 0F13 CALL	push_xgsetF000
(0086) 		}
(0087) }
(0088) 
(0089) void Delay10us(Word x10us)//crystal=8MHz
(0090) {
(0091) 	Word i;Byte j; //variable:declare Word
(0092) 	for(i=0; i<x10us; i++)
     C37 2744      CLR	R20
     C38 2755      CLR	R21
     C39 C00A      RJMP	0x0C44
(0093) 	{
(0094) 			for(j=0;j<2;j++)
     C3A 2766      CLR	R22
     C3B C004      RJMP	0x0C40
(0095) 			{
(0096) 			 	NOP();
     C3C 0000      NOP
(0097) 				NOP();
     C3D 0000      NOP
(0098) 				NOP();
     C3E 0000      NOP
     C3F 9563      INC	R22
     C40 3062      CPI	R22,2
     C41 F3D0      BCS	0x0C3C
     C42 5F4F      SUBI	R20,0xFF
     C43 4F5F      SBCI	R21,0xFF
     C44 1740      CP	R20,R16
     C45 0751      CPC	R21,R17
     C46 F398      BCS	0x0C3A
     C47 940C 0F18 JMP	pop_xgsetF000
FILE: D:\SOURCE~1\手持gps测量仪\usart128.h
(0001) #ifndef _USART_H
(0002) #define _USART_H
(0003) 
(0004) void Uart0_Init(void);
(0005) void Usart_tarnsmit0(Byte x);
(0006) void Uart1_Init(void);
(0007) void Usart_tarnsmit1(Byte x);
(0008) 
(0009) //UART0 initialize
(0010) // desired baud rate: 9600
(0011) // actual: baud rate:9615 (0.2%)
(0012) // char size: 5 bits
(0013) // parity: Disabled
(0014) void Uart0_Init(void)
(0015) {
(0016) 	UCSR0B = 0x00; //disable while setting baud rate
_Uart0_Init:
     C49 2422      CLR	R2
     C4A B82A      OUT	0x0A,R2
(0017) 	UCSR0A = 0x00;
     C4B B82B      OUT	0x0B,R2
(0018) 	UCSR0C = 0x06;
     C4C E086      LDI	R24,6
     C4D 9380 0095 STS	0x0095,R24
(0019) 	UBRR0L = 0x33; //set baud rate lo    baud rate = 19200   0.2%
     C4F E383      LDI	R24,0x33
     C50 B989      OUT	0x09,R24
(0020) 	UBRR0H = 0x00; //set baud rate hi
     C51 9220 0090 STS	0x0090,R2
(0021) 	//UCSR0B = 0x98;
(0022) 	UCSR0B |= BIT(TXEN0) | BIT(RXEN0) | BIT(RXCIE0);
     C53 B18A      IN	R24,0x0A
     C54 6988      ORI	R24,0x98
     C55 B98A      OUT	0x0A,R24
     C56 9508      RET
(0023) }
(0024) void Usart_tarnsmit0(Byte x)
(0025) {
(0026) 	//等待数据寄存器空
(0027) 	while(!(UCSR0A&BIT(UDRE0)));//UDRE0为发送缓冲区空标志位
_Usart_tarnsmit0:
  x                    --> R16
     C57 9B5D      SBIS	0x0B,5
     C58 CFFE      RJMP	_Usart_tarnsmit0
(0028) 								  //为1表示为空
(0029) 	UDR0=x;
     C59 B90C      OUT	0x0C,R16
     C5A 9508      RET
(0030) }
(0031) 
(0032) 
(0033) //UART1 initialize
(0034) // desired baud rate:9600
(0035) // actual baud rate:9615 (0.2%)
(0036) // char size: 5 bits
(0037) // parity: Disabled
(0038) void Uart1_Init(void)
(0039) {
(0040) 	UCSR1B = 0x00; //disable while setting baud rate
_Uart1_Init:
     C5B 2422      CLR	R2
     C5C 9220 009A STS	0x009A,R2
(0041) 	UCSR1A = 0x00;
     C5E 9220 009B STS	0x009B,R2
(0042) 	UCSR1C = 0x06;
     C60 E086      LDI	R24,6
     C61 9380 009D STS	0x009D,R24
(0043) 	UBRR1L = 0x33; //set baud rate lo  baud rate = 9600   0.2%
     C63 E383      LDI	R24,0x33
     C64 9380 0099 STS	0x0099,R24
(0044) 	UBRR1H = 0x00; //set baud rate hi
     C66 9220 0098 STS	0x0098,R2
(0045) 	//UCSR1B = 0x98; 
(0046) 	UCSR1B |= BIT(TXEN1) | BIT(RXEN1) | BIT(RXCIE1);
     C68 9180 009A LDS	R24,0x009A
     C6A 6988      ORI	R24,0x98
     C6B 9380 009A STS	0x009A,R24
     C6D 9508      RET
(0047) }
(0048) void Usart_tarnsmit1(Byte x)
(0049) {
(0050) 	//等待数据寄存器空
(0051) 	while(!(UCSR1A&BIT(UDRE1)));//UDRE0为发送缓冲区空标志位
_Usart_tarnsmit1:
  x                    --> R16
     C6E 9020 009B LDS	R2,0x009B
     C70 FE25      SBRS	R2,5
     C71 CFFC      RJMP	_Usart_tarnsmit1
(0052) 								  //为1表示为空
(0053) 	UDR1=x;
     C72 9300 009C STS	0x009C,R16
     C74 9508      RET
FILE: D:\SOURCE~1\手持gps测量仪\initrialm128.h
(0001) //ICC-AVR application builder : 2007-6-27 10:26:06
(0002) // Target : M8
(0003) // Crystal: 8.0000Mhz
(0004) 
(0005) /**************初始化m8函数***************/
(0006) #ifndef Initrial_M128_H
(0007) #define Initrial_M128_H
(0008) 
(0009) void Init_Devices(void);
(0010) void Port_Init(void);
(0011) void Init_Devices(void);
(0012) void Timer0_Init(void);
(0013) 
(0014) void Timer0_Init(void);
(0015) 
(0016) //void Timer1_Init(void);	
(0017) //void Timer1_Ovf_Isr(void);
(0018) 
(0019) //call this routine to initialize all peripherals
(0020) void Init_Devices(void)
(0021) {
(0022) 	//stop errant interrupts until set up
(0023) 	CLI(); //disable all interrupts
_Init_Devices:
     C75 94F8      BCLR	7
(0024) 	Port_Init();
     C76 D002      RCALL	_Port_Init
(0025) 	//Timer0_Init();
(0026) 	//Uart0_Init();
(0027) 	//Uart1_Init();
(0028) 	SEI(); //re-enable interrupts
     C77 9478      BSET	7
     C78 9508      RET
(0029) 	//all peripherals are now initialized
(0030) }
(0031) 
(0032) void Port_Init(void)
(0033) {
(0034) 	PORTA = 0xff;
_Port_Init:
     C79 EF8F      LDI	R24,0xFF
     C7A BB8B      OUT	0x1B,R24
(0035) 	DDRA  = 0xff;
     C7B BB8A      OUT	0x1A,R24
(0036) 	PORTB = 0xff;
     C7C BB88      OUT	0x18,R24
(0037) 	DDRB  = 0xff;
     C7D BB87      OUT	0x17,R24
(0038) 	PORTC = 0xff; //m103 output only
     C7E BB85      OUT	0x15,R24
(0039) 	DDRC  = 0xff;
     C7F BB84      OUT	0x14,R24
(0040) 	PORTD = 0xff;
     C80 BB82      OUT	0x12,R24
(0041) 	DDRD  = 0xff;
     C81 BB81      OUT	0x11,R24
(0042) 	PORTE = 0xff;
     C82 B983      OUT	0x03,R24
(0043) 	DDRE  = 0xff;
     C83 B982      OUT	0x02,R24
(0044) 	PORTF = 0xff;
     C84 9380 0062 STS	0x0062,R24
(0045) 	DDRF  = 0xff;
     C86 9380 0061 STS	0x0061,R24
(0046) 	PORTG = 0xff;

⌨️ 快捷键说明

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