📄 main.lis
字号:
0102 .dbsym r data 20 c
0102 .dbend
0102 .dbfile D:\SOURCE~1\gps20080503\delay.h
0102 .dbfunc e Delay_1us _Delay_1us fV
.even
0102 _Delay_1us::
0102 .dbline -1
0102 .dbline 53
0102 ; #ifndef _DELAY_H
0102 ; #define _DELAY_H
0102 ;
0102 ; // mcu:avr crystal=8MHz
0102 ;
0102 ; /**************************************************************
0102 ; **函数功能:延时1us
0102 ; **输入参数:无
0102 ; **返回值:无
0102 ; **在本函数外定义变量:无
0102 ; **调用的函数:NOP()
0102 ; **************************************************************/
0102 ; void Delay_1us(void);
0102 ;
0102 ; /**************************************************************
0102 ; **函数功能:us级延时
0102 ; **输入参数:xus:延时us数
0102 ; **返回值:无
0102 ; **在本函数外定义变量:无
0102 ; **调用的函数:Delay_1us()
0102 ; **************************************************************/
0102 ; void Delay_Us(unsigned char xus);
0102 ;
0102 ; /**************************************************************
0102 ; **函数功能:延时1ms
0102 ; **输入参数:无
0102 ; **返回值:无
0102 ; **在本函数外定义变量:无
0102 ; **调用的函数:NOP()
0102 ; **************************************************************/
0102 ; void Delay_1ms(void);
0102 ;
0102 ; /**************************************************************
0102 ; **函数功能:ms级延时
0102 ; **输入参数:xms:延时ms数
0102 ; **返回值:无
0102 ; **在本函数外定义变量:无
0102 ; **调用的函数:Delay_1ms()
0102 ; **************************************************************/
0102 ; void Delay_Ms(unsigned int xms);
0102 ;
0102 ; /**************************************************************
0102 ; **函数功能:10us级延时
0102 ; **输入参数:x10us:延时x10us数
0102 ; **返回值:无
0102 ; **在本函数外定义变量:无
0102 ; **调用的函数:无
0102 ; **************************************************************/
0102 ; void Delay10us(Word x10us);
0102 ;
0102 ;
0102 ; void Delay_1us()
0102 ; {
0102 .dbline 54
0102 ; NOP();
0102 0000 nop
0104 .dbline -2
0104 L13:
0104 .dbline 0 ; func end
0104 0895 ret
0106 .dbend
0106 .dbfunc e Delay_Us _Delay_Us fV
0106 ; i -> R10
0106 ; xus -> R12
.even
0106 _Delay_Us::
0106 AA92 st -y,R10
0108 CA92 st -y,R12
010A C02E mov R12,R16
010C .dbline -1
010C .dbline 58
010C ; }
010C ;
010C ; void Delay_Us(unsigned char xus)
010C ; {
010C .dbline 60
010C ; unsigned char i;
010C ; for(i=0;i<xus;i++)
010C AA24 clr R10
010E 02C0 xjmp L18
0110 L15:
0110 .dbline 61
0110 ; Delay_1us();
0110 F8DF xcall _Delay_1us
0112 L16:
0112 .dbline 60
0112 A394 inc R10
0114 L18:
0114 .dbline 60
0114 AC14 cp R10,R12
0116 E0F3 brlo L15
0118 X4:
0118 .dbline -2
0118 L14:
0118 .dbline 0 ; func end
0118 C990 ld R12,y+
011A A990 ld R10,y+
011C 0895 ret
011E .dbsym r i 10 c
011E .dbsym r xus 12 c
011E .dbend
011E .dbfunc e Delay_1ms _Delay_1ms fV
011E ; i -> R16,R17
.even
011E _Delay_1ms::
011E .dbline -1
011E .dbline 65
011E ; }
011E ;
011E ; void Delay_1ms(void)
011E ; {
011E .dbline 67
011E ; unsigned int i;
011E ; for(i=0;i<1142;i++)
011E 0027 clr R16
0120 1127 clr R17
0122 02C0 xjmp L23
0124 L20:
0124 .dbline 68
0124 ; ;
0124 L21:
0124 .dbline 67
0124 0F5F subi R16,255 ; offset = 1
0126 1F4F sbci R17,255
0128 L23:
0128 .dbline 67
0128 0637 cpi R16,118
012A E4E0 ldi R30,4
012C 1E07 cpc R17,R30
012E D0F3 brlo L20
0130 X5:
0130 .dbline -2
0130 L19:
0130 .dbline 0 ; func end
0130 0895 ret
0132 .dbsym r i 16 i
0132 .dbend
0132 .dbfunc e Delay_Ms _Delay_Ms fV
0132 ; i -> R20,R21
0132 ; j -> R22,R23
0132 ; xms -> R16,R17
.even
0132 _Delay_Ms::
0132 0E940000 xcall push_xgsetF000
0136 .dbline -1
0136 .dbline 72
0136 ; }
0136 ;
0136 ; void Delay_Ms(Word xms) //crystal=8MHz
0136 ; {
0136 .dbline 74
0136 ; Word i,j; //variable:declare Word
0136 ; for(i=0; i<xms; i++)
0136 4427 clr R20
0138 5527 clr R21
013A 14C0 xjmp L28
013C L25:
013C .dbline 75
013C ; for(j=0; j<498;j++)
013C 6627 clr R22
013E 7727 clr R23
0140 0BC0 xjmp L32
0142 L29:
0142 .dbline 76
0142 ; {
0142 .dbline 77
0142 ; NOP();
0142 0000 nop
0144 .dbline 78
0144 ; NOP();
0144 0000 nop
0146 .dbline 79
0146 ; NOP();
0146 0000 nop
0148 .dbline 80
0148 ; NOP();
0148 0000 nop
014A .dbline 81
014A ; NOP();
014A 0000 nop
014C .dbline 82
014C ; NOP();
014C 0000 nop
014E .dbline 83
014E ; NOP();
014E 0000 nop
0150 .dbline 84
0150 ; NOP();
0150 0000 nop
0152 .dbline 85
0152 ; NOP();
0152 0000 nop
0154 .dbline 86
0154 ; }
0154 L30:
0154 .dbline 75
0154 6F5F subi R22,255 ; offset = 1
0156 7F4F sbci R23,255
0158 L32:
0158 .dbline 75
0158 623F cpi R22,242
015A E1E0 ldi R30,1
015C 7E07 cpc R23,R30
015E 88F3 brlo L29
0160 X6:
0160 L26:
0160 .dbline 74
0160 4F5F subi R20,255 ; offset = 1
0162 5F4F sbci R21,255
0164 L28:
0164 .dbline 74
0164 4017 cp R20,R16
0166 5107 cpc R21,R17
0168 48F3 brlo L25
016A X7:
016A .dbline -2
016A L24:
016A .dbline 0 ; func end
016A 0C940000 xjmp pop_xgsetF000
016E .dbsym r i 20 i
016E .dbsym r j 22 i
016E .dbsym r xms 16 i
016E .dbend
016E .dbfunc e Delay10us _Delay10us fV
016E ; i -> R20,R21
016E ; j -> R22
016E ; x10us -> R16,R17
.even
016E _Delay10us::
016E 0E940000 xcall push_xgsetF000
0172 .dbline -1
0172 .dbline 90
0172 ; }
0172 ;
0172 ; void Delay10us(Word x10us)//crystal=8MHz
0172 ; {
0172 .dbline 92
0172 ; Word i;Byte j; //variable:declare Word
0172 ; for(i=0; i<x10us; i++)
0172 4427 clr R20
0174 5527 clr R21
0176 0AC0 xjmp L37
0178 L34:
0178 .dbline 93
0178 ; {
0178 .dbline 94
0178 ; for(j=0;j<2;j++)
0178 6627 clr R22
017A 04C0 xjmp L41
017C L38:
017C .dbline 95
017C ; {
017C .dbline 96
017C ; NOP();
017C 0000 nop
017E .dbline 97
017E ; NOP();
017E 0000 nop
0180 .dbline 98
0180 ; NOP();
0180 0000 nop
0182 .dbline 99
0182 ; }
0182 L39:
0182 .dbline 94
0182 6395 inc R22
0184 L41:
0184 .dbline 94
0184 6230 cpi R22,2
0186 D0F3 brlo L38
0188 X8:
0188 .dbline 100
0188 ; }
0188 L35:
0188 .dbline 92
0188 4F5F subi R20,255 ; offset = 1
018A 5F4F sbci R21,255
018C L37:
018C .dbline 92
018C 4017 cp R20,R16
018E 5107 cpc R21,R17
0190 98F3 brlo L34
0192 X9:
0192 .dbline -2
0192 L33:
0192 .dbline 0 ; func end
0192 0C940000 xjmp pop_xgsetF000
0196 .dbsym r i 20 i
0196 .dbsym r j 22 c
0196 .dbsym r x10us 16 i
0196 .dbend
0196 .dbfile D:\SOURCE~1\gps20080503\smg12232zk.h
0196 .dbfunc e Hzk_Dis_Words _Hzk_Dis_Words fV
0196 ; ram_address -> R10
0196 ; i -> R20
0196 ; lcd_pointer -> R22,R23
0196 ; xpos -> R12
0196 ; ypos -> R14
.even
0196 _Hzk_Dis_Words::
0196 0E940000 xcall push_xgsetF0FC
019A C22E mov R12,R18
019C E02E mov R14,R16
019E 6A85 ldd R22,y+10
01A0 7B85 ldd R23,y+11
01A2 .dbline -1
01A2 .dbline 45
01A2 ;
01A2 ; /****************** SMG12232ZK串行接口程序******************
01A2 ; * Title : Accessing to LCD-CONTROLLER
01A2 ; * Date : 2007.10.18
01A2 ; * Support telephone:
01A2 ; * Support fax :
01A2 ; * Create by :
01A2 ; * DESCRIPTION:This subroutine shows how to write data to LCD-CONTROLLER
01A2 ; *******************************************************************/
01A2 ; #ifndef __SMG12232ZK_H
01A2 ; #define __SMG12232ZK_H
01A2 ;
01A2 ; #define LCD_PORT1 PORTB
01A2 ; #define LCD_SCLK PB4
01A2 ; #define LCD_STD PB3
01A2 ;
01A2 ; #define LCD_PORT2 PORTC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -