📄 tlv5619.lst
字号:
__start:
__text_start:
0046 EFCF LDI R28,0xFF
0047 E1D0 LDI R29,0x10
0048 BFCD OUT 0x3D,R28
0049 BFDE OUT 0x3E,R29
004A 51C0 SUBI R28,0x10
004B 40D0 SBCI R29,0
004C EA0A LDI R16,0xAA
004D 8308 STD Y+0,R16
004E 2400 CLR R0
004F E0E0 LDI R30,0
0050 E0F1 LDI R31,1
0051 E011 LDI R17,1
0052 30E0 CPI R30,0
0053 07F1 CPC R31,R17
0054 F011 BEQ 0x0057
0055 9201 ST R0,Z+
0056 CFFB RJMP 0x0052
0057 8300 STD Z+0,R16
0058 E8EC LDI R30,0x8C
0059 E0F0 LDI R31,0
005A E0A0 LDI R26,0
005B E0B1 LDI R27,1
005C E010 LDI R17,0
005D 38EC CPI R30,0x8C
005E 07F1 CPC R31,R17
005F F021 BEQ 0x0064
0060 95C8 LPM
0061 9631 ADIW R30,1
0062 920D ST R0,X+
0063 CFF9 RJMP 0x005D
0064 940E009B CALL _main
_exit:
0066 CFFF RJMP _exit
FILE: E:\mcu\avr\test\tlv5619\5619.c
(0001) /*============tlv5619程序============*/
(0002) /*=====cs.we=pc mlsb=pa==============*/
(0003) #include<iom128v.h>
(0004) #include<macros.h>
(0005) #define uchar unsigned char
(0006) #define uint unsigned int
(0007) /*==========位操作=============*/
(0008) //sbit cs=PD4
(0009) void set_cs(uchar i)
(0010) {
(0011) DDRD=0xff;
_set_cs:
i --> R16
0067 EF8F LDI R24,0xFF
0068 BB81 OUT 0x11,R24
(0012) if(i==1) PORTD=PORTD|0x10;
0069 3001 CPI R16,1
006A F411 BNE 0x006D
006B 9A94 SBI 0x12,4
006C C003 RJMP 0x0070
(0013) else PORTD=PORTD&0xef;
006D B382 IN R24,0x12
006E 7E8F ANDI R24,0xEF
006F BB82 OUT 0x12,R24
(0014) }
0070 9508 RET
(0015) //sbit we=PD5
(0016) void set_we(uchar i)
(0017) {
(0018) DDRD=0xff;
_set_we:
i --> R16
0071 EF8F LDI R24,0xFF
0072 BB81 OUT 0x11,R24
(0019) if(i==1) PORTD=PORTD|0x20;
0073 3001 CPI R16,1
0074 F411 BNE 0x0077
0075 9A95 SBI 0x12,5
0076 C003 RJMP 0x007A
(0020) else PORTD=PORTD&0xdf;
0077 B382 IN R24,0x12
0078 7D8F ANDI R24,0xDF
0079 BB82 OUT 0x12,R24
(0021) }
007A 9508 RET
(0022) /*+++++++++++++++++++++++++++++++++++++*/
(0023) void tlv5619()
(0024) {
(0025) set_cs(1);
_tlv5619:
007B E001 LDI R16,1
007C DFEA RCALL _set_cs
(0026) set_we(1);
007D E001 LDI R16,1
007E DFF2 RCALL _set_we
(0027) set_cs(0);
007F 2700 CLR R16
0080 DFE6 RCALL _set_cs
(0028) set_we(0);
0081 2700 CLR R16
0082 DFEE RCALL _set_we
(0029) PORTE=0Xf4;//接D0~D7
0083 EF84 LDI R24,0xF4
0084 B983 OUT 0x03,R24
(0030) PORTD&=0XF1;//输出1v,PD0~PD3接D8~D11
0085 B382 IN R24,0x12
0086 7F81 ANDI R24,0xF1
0087 BB82 OUT 0x12,R24
(0031) set_we(1);
0088 E001 LDI R16,1
0089 DFE7 RCALL _set_we
(0032) set_cs(1);
008A E001 LDI R16,1
(0033) }
008B CFDB RJMP _set_cs
(0034) void m128_init()
(0035) {
(0036) DDRA=0x00;
_m128_init:
008C 2422 CLR R2
008D BA2A OUT 0x1A,R2
(0037) PORTA=0xff;
008E EF8F LDI R24,0xFF
008F BB8B OUT 0x1B,R24
(0038) DDRB=0x00;
0090 BA27 OUT 0x17,R2
(0039) PORTB=0xff;
0091 BB88 OUT 0x18,R24
(0040) DDRC=0x00;
0092 BA24 OUT 0x14,R2
(0041) PORTC=0xff;
0093 BB85 OUT 0x15,R24
(0042) DDRD=0x3f;
0094 E38F LDI R24,0x3F
0095 BB81 OUT 0x11,R24
(0043) PORTD=0xff;
0096 EF8F LDI R24,0xFF
0097 BB82 OUT 0x12,R24
(0044) DDRE=0xff;
0098 B982 OUT 0x02,R24
(0045) PORTE=0xff;
0099 B983 OUT 0x03,R24
(0046) }
009A 9508 RET
(0047) void main()
(0048) {
(0049) m128_init();
_main:
009B DFF0 RCALL _m128_init
009C C001 RJMP 0x009E
(0050) while(1)
(0051) {
(0052) tlv5619();
009D DFDD RCALL _tlv5619
009E CFFE RJMP 0x009D
(0053) }
(0054) }
FILE: <library>
009F 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -