📄 main.lis
字号:
.module main.c
.area text(rom, con, rel)
0000 .dbfile E:\avr\try\try3_162\main.c
0000 .dbfunc e delay_us _delay_us fV
0000 ; x -> R20,R21
0000 ; z -> R16,R17
.even
0000 _delay_us::
0000 0E940000 xcall push_gset1
0004 .dbline -1
0004 .dbline 14
0004 ; #include "iom162v.h"
0004 ;
0004 ; #define uint8 unsigned char
0004 ; #define uint16 unsigned int
0004 ;
0004 ; #define uint8 unsigned char
0004 ; #define uint16 unsigned int
0004 ;
0004 ; #define RS 0x01
0004 ; #define RW 0x02
0004 ; #define E 0x04
0004 ;
0004 ; void delay_us(uint16 z)
0004 ; {
0004 .dbline 16
0004 ; uint16 x;
0004 ; for(;z>0;z--)
0004 0AC0 xjmp L5
0006 L2:
0006 .dbline 17
0006 ; {
0006 .dbline 18
0006 4AE0 ldi R20,10
0008 50E0 ldi R21,0
000A 02C0 xjmp L9
000C L6:
000C .dbline 18
000C L7:
000C .dbline 18
000C 4150 subi R20,1
000E 5040 sbci R21,0
0010 L9:
0010 .dbline 18
0010 4030 cpi R20,0
0012 4507 cpc R20,R21
0014 D9F7 brne L6
0016 X0:
0016 .dbline 19
0016 L3:
0016 .dbline 16
0016 0150 subi R16,1
0018 1040 sbci R17,0
001A L5:
001A .dbline 16
001A 0030 cpi R16,0
001C 0107 cpc R16,R17
001E 99F7 brne L2
0020 X1:
0020 .dbline -2
0020 L1:
0020 0E940000 xcall pop_gset1
0024 .dbline 0 ; func end
0024 0895 ret
0026 .dbsym r x 20 i
0026 .dbsym r z 16 i
0026 .dbend
0026 .dbfunc e lcd_busy _lcd_busy fV
.even
0026 _lcd_busy::
0026 .dbline -1
0026 .dbline 25
0026 ; for(x=10;x>0;x--);
0026 ; }
0026 ;
0026 ; }
0026 ;
0026 ;
0026 ; void lcd_busy(void)
0026 ; {
0026 .dbline 26
0026 ; DDRA=0x00;
0026 2224 clr R2
0028 2ABA out 0x1a,R2
002A .dbline 27
002A ; PORTA=0xff;
002A 8FEF ldi R24,255
002C 8BBB out 0x1b,R24
002E 07C0 xjmp L12
0030 L11:
0030 .dbline 29
0030 ; while(1)
0030 ; {
0030 .dbline 30
0030 ; PORTC&=~E;
0030 AA98 cbi 0x15,2
0032 .dbline 31
0032 ; PORTC&=~RS;
0032 A898 cbi 0x15,0
0034 .dbline 32
0034 ; PORTC|=RW;
0034 A99A sbi 0x15,1
0036 .dbline 34
0036 ; // delay_us(10);
0036 ; PORTC|=E;
0036 AA9A sbi 0x15,2
0038 .dbline 35
0038 ; if(!(PINA&0x80))break;
0038 CF99 sbic 0x19,7
003A 01C0 rjmp L14
003C .dbline 35
003C 01C0 xjmp L13
003E L14:
003E .dbline 36
003E L12:
003E .dbline 28
003E F8CF xjmp L11
0040 L13:
0040 .dbline 37
0040 ; }
0040 ; DDRA=0xff;
0040 8FEF ldi R24,255
0042 8ABB out 0x1a,R24
0044 .dbline -2
0044 L10:
0044 .dbline 0 ; func end
0044 0895 ret
0046 .dbend
0046 .dbfunc e lcd_wr_cmd _lcd_wr_cmd fV
0046 ; cmd -> R20
.even
0046 _lcd_wr_cmd::
0046 0E940000 xcall push_gset1
004A 402F mov R20,R16
004C .dbline -1
004C .dbline 41
004C ; }
004C ;
004C ; void lcd_wr_cmd(uint8 cmd)
004C ; {
004C .dbline 42
004C ; lcd_busy();
004C ECDF xcall _lcd_busy
004E .dbline 43
004E ; PORTC&=~RS;
004E A898 cbi 0x15,0
0050 .dbline 44
0050 ; PORTC&=~RW;
0050 A998 cbi 0x15,1
0052 .dbline 45
0052 ; PORTA=cmd;
0052 4BBB out 0x1b,R20
0054 .dbline 46
0054 ; delay_us(50);
0054 02E3 ldi R16,50
0056 10E0 ldi R17,0
0058 D3DF xcall _delay_us
005A .dbline 47
005A ; PORTC|=E;
005A AA9A sbi 0x15,2
005C .dbline 48
005C ; delay_us(50);
005C 02E3 ldi R16,50
005E 10E0 ldi R17,0
0060 CFDF xcall _delay_us
0062 .dbline 49
0062 ; PORTC&=~E;
0062 AA98 cbi 0x15,2
0064 .dbline -2
0064 L16:
0064 0E940000 xcall pop_gset1
0068 .dbline 0 ; func end
0068 0895 ret
006A .dbsym r cmd 20 c
006A .dbend
006A .dbfunc e lcd_wr_date _lcd_wr_date fV
006A ; date -> R20
.even
006A _lcd_wr_date::
006A 0E940000 xcall push_gset1
006E 402F mov R20,R16
0070 .dbline -1
0070 .dbline 53
0070 ; }
0070 ;
0070 ; void lcd_wr_date(uint8 date)
0070 ; {
0070 .dbline 54
0070 ; lcd_busy();
0070 DADF xcall _lcd_busy
0072 .dbline 55
0072 ; PORTC|=RS;
0072 A89A sbi 0x15,0
0074 .dbline 56
0074 ; PORTC&=~RW;
0074 A998 cbi 0x15,1
0076 .dbline 57
0076 ; PORTA=date;
0076 4BBB out 0x1b,R20
0078 .dbline 58
0078 ; delay_us(50);
0078 02E3 ldi R16,50
007A 10E0 ldi R17,0
007C C1DF xcall _delay_us
007E .dbline 59
007E ; PORTC|=E;
007E AA9A sbi 0x15,2
0080 .dbline 60
0080 ; delay_us(50);
0080 02E3 ldi R16,50
0082 10E0 ldi R17,0
0084 BDDF xcall _delay_us
0086 .dbline 61
0086 ; PORTC&=~E;
0086 AA98 cbi 0x15,2
0088 .dbline -2
0088 L17:
0088 0E940000 xcall pop_gset1
008C .dbline 0 ; func end
008C 0895 ret
008E .dbsym r date 20 c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -