📄 5619.lis
字号:
.module _5619.c
.area text(rom, con, rel)
0000 .dbfile E:\mcu\avr\test\tlv5619\5619.c
0000 .dbfunc e set_cs _set_cs fV
0000 ; i -> R16
.even
0000 _set_cs::
0000 .dbline -1
0000 .dbline 10
0000 ; /*============tlv5619程序============*/
0000 ; /*=====cs.we=pc mlsb=pa==============*/
0000 ; #include<iom128v.h>
0000 ; #include<macros.h>
0000 ; #define uchar unsigned char
0000 ; #define uint unsigned int
0000 ; /*==========位操作=============*/
0000 ; //sbit cs=PD4
0000 ; void set_cs(uchar i)
0000 ; {
0000 .dbline 11
0000 ; DDRD=0xff;
0000 8FEF ldi R24,255
0002 81BB out 0x11,R24
0004 .dbline 12
0004 ; if(i==1) PORTD=PORTD|0x10;
0004 0130 cpi R16,1
0006 11F4 brne L2
0008 .dbline 12
0008 949A sbi 0x12,4
000A 03C0 xjmp L3
000C L2:
000C .dbline 13
000C 82B3 in R24,0x12
000E 8F7E andi R24,239
0010 82BB out 0x12,R24
0012 L3:
0012 .dbline -2
0012 .dbline 14
0012 ; else PORTD=PORTD&0xef;
0012 ; }
0012 L1:
0012 .dbline 0 ; func end
0012 0895 ret
0014 .dbsym r i 16 c
0014 .dbend
0014 .dbfunc e set_we _set_we fV
0014 ; i -> R16
.even
0014 _set_we::
0014 .dbline -1
0014 .dbline 17
0014 ; //sbit we=PD5
0014 ; void set_we(uchar i)
0014 ; {
0014 .dbline 18
0014 ; DDRD=0xff;
0014 8FEF ldi R24,255
0016 81BB out 0x11,R24
0018 .dbline 19
0018 ; if(i==1) PORTD=PORTD|0x20;
0018 0130 cpi R16,1
001A 11F4 brne L5
001C .dbline 19
001C 959A sbi 0x12,5
001E 03C0 xjmp L6
0020 L5:
0020 .dbline 20
0020 82B3 in R24,0x12
0022 8F7D andi R24,223
0024 82BB out 0x12,R24
0026 L6:
0026 .dbline -2
0026 .dbline 21
0026 ; else PORTD=PORTD&0xdf;
0026 ; }
0026 L4:
0026 .dbline 0 ; func end
0026 0895 ret
0028 .dbsym r i 16 c
0028 .dbend
0028 .dbfunc e tlv5619 _tlv5619 fV
.even
0028 _tlv5619::
0028 .dbline -1
0028 .dbline 24
0028 ; /*+++++++++++++++++++++++++++++++++++++*/
0028 ; void tlv5619()
0028 ; {
0028 .dbline 25
0028 ; set_cs(1);
0028 01E0 ldi R16,1
002A EADF xcall _set_cs
002C .dbline 26
002C ; set_we(1);
002C 01E0 ldi R16,1
002E F2DF xcall _set_we
0030 .dbline 27
0030 ; set_cs(0);
0030 0027 clr R16
0032 E6DF xcall _set_cs
0034 .dbline 28
0034 ; set_we(0);
0034 0027 clr R16
0036 EEDF xcall _set_we
0038 .dbline 29
0038 ; PORTE=0Xf4;//接D0~D7
0038 84EF ldi R24,244
003A 83B9 out 0x3,R24
003C .dbline 30
003C ; PORTD&=0XF1;//输出1v,PD0~PD3接D8~D11
003C 82B3 in R24,0x12
003E 817F andi R24,241
0040 82BB out 0x12,R24
0042 .dbline 31
0042 ; set_we(1);
0042 01E0 ldi R16,1
0044 E7DF xcall _set_we
0046 .dbline 32
0046 ; set_cs(1);
0046 01E0 ldi R16,1
0048 .dbline -2
0048 .dbline 33
0048 ; }
0048 L7:
0048 .dbline 0 ; func end
0048 DBCF xjmp _set_cs
004A .dbend
004A .dbfunc e m128_init _m128_init fV
.even
004A _m128_init::
004A .dbline -1
004A .dbline 35
004A ; void m128_init()
004A ; {
004A .dbline 36
004A ; DDRA=0x00;
004A 2224 clr R2
004C 2ABA out 0x1a,R2
004E .dbline 37
004E ; PORTA=0xff;
004E 8FEF ldi R24,255
0050 8BBB out 0x1b,R24
0052 .dbline 38
0052 ; DDRB=0x00;
0052 27BA out 0x17,R2
0054 .dbline 39
0054 ; PORTB=0xff;
0054 88BB out 0x18,R24
0056 .dbline 40
0056 ; DDRC=0x00;
0056 24BA out 0x14,R2
0058 .dbline 41
0058 ; PORTC=0xff;
0058 85BB out 0x15,R24
005A .dbline 42
005A ; DDRD=0x3f;
005A 8FE3 ldi R24,63
005C 81BB out 0x11,R24
005E .dbline 43
005E ; PORTD=0xff;
005E 8FEF ldi R24,255
0060 82BB out 0x12,R24
0062 .dbline 44
0062 ; DDRE=0xff;
0062 82B9 out 0x2,R24
0064 .dbline 45
0064 ; PORTE=0xff;
0064 83B9 out 0x3,R24
0066 .dbline -2
0066 .dbline 46
0066 ; }
0066 L8:
0066 .dbline 0 ; func end
0066 0895 ret
0068 .dbend
0068 .dbfunc e main _main fV
.even
0068 _main::
0068 .dbline -1
0068 .dbline 48
0068 ; void main()
0068 ; {
0068 .dbline 49
0068 ; m128_init();
0068 F0DF xcall _m128_init
006A 01C0 xjmp L11
006C L10:
006C .dbline 51
006C .dbline 52
006C DDDF xcall _tlv5619
006E .dbline 53
006E L11:
006E .dbline 50
006E FECF xjmp L10
0070 X0:
0070 .dbline -2
0070 .dbline 54
0070 ; while(1)
0070 ; {
0070 ; tlv5619();
0070 ; }
0070 ; }
0070 L9:
0070 .dbline 0 ; func end
0070 0895 ret
0072 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -