?? lesson3_1.lst
字號:
__start:
__text_start:
0030 E5CF LDI R28,0x5F
0031 E0D4 LDI R29,4
0032 BFCD OUT P3D,R28
0033 BFDE OUT P3E,R29
0034 51C0 SUBI R28,0x10
0035 40D0 SBCI R29,0
0036 EA0A LDI R16,0xAA
0037 8308 STD R16,0+Y
0038 2400 CLR R0
0039 E6E0 LDI R30,0x60
003A E0F0 LDI R31,0
003B E010 LDI R17,0
003C 36E0 CPI R30,0x60
003D 07F1 CPC R31,R17
003E F011 BEQ 0x0041
003F 9201 ST R0,Z+
0040 CFFB RJMP 0x003C
0041 8300 STD R16,0+Z
0042 E6E0 LDI R30,0x60
0043 E0F0 LDI R31,0
0044 E6A0 LDI R26,0x60
0045 E0B0 LDI R27,0
0046 E010 LDI R17,0
0047 36E0 CPI R30,0x60
0048 07F1 CPC R31,R17
0049 F021 BEQ 0x004E
004A 95C8 LPM
004B 9631 ADIW R30,1
004C 920D ST R0,X+
004D CFF9 RJMP 0x0047
004E 940E0067 CALL _main
_exit:
0050 CFFF RJMP _exit
_delay:
i --> R20
j --> R22
ms --> R16
0051 940E00A1 CALL push_gset2
FILE: I:\AVR視頻教程\視頻教程\lesson3\lesson3_1\lesson3_1.c
(0001) #include <iom16v.h>
(0002) #include <macros.h>
(0003) #define uchar unsigned char
(0004) #define uint unsigned int
(0005) void delay(uint ms)
(0006) {
(0007) uint i,j;
(0008) for(i=0;i<ms;i++)
0053 2744 CLR R20
0054 2755 CLR R21
0055 C00B RJMP 0x0061
(0009) {
(0010) for(j=0;j<1141;j++);
0056 2766 CLR R22
0057 2777 CLR R23
0058 C002 RJMP 0x005B
0059 5F6F SUBI R22,0xFF
005A 4F7F SBCI R23,0xFF
005B 3765 CPI R22,0x75
005C E0E4 LDI R30,4
005D 077E CPC R23,R30
005E F3D0 BCS 0x0059
005F 5F4F SUBI R20,0xFF
0060 4F5F SBCI R21,0xFF
0061 1740 CP R20,R16
0062 0751 CPC R21,R17
0063 F390 BCS 0x0056
(0011) }
(0012) }
0064 940E00A5 CALL pop_gset2
0066 9508 RET
(0013) void main()
(0014) {
(0015) uchar k;
(0016) DDRA|=BIT(2);
_main:
k --> R20
0067 9AD2 SBI P1A,2
(0017) PORTA|=BIT(2);
0068 9ADA SBI P1B,2
(0018)
(0019) DDRB=0XFF;
0069 EF8F LDI R24,0xFF
006A BB87 OUT P17,R24
(0020) PORTB=0XFF;
006B BB88 OUT P18,R24
006C C01B RJMP 0x0088
(0021) while(1)
(0022) {
(0023) for(k=0;k<8;k++)
006D 2744 CLR R20
006E C017 RJMP 0x0086
(0024) {
(0025) PORTB&=~BIT(k);
006F E001 LDI R16,1
0070 2F14 MOV R17,R20
0071 940E00A8 CALL lsl8
0073 2E20 MOV R2,R16
0074 9420 COM R2
0075 B238 IN R3,P18
0076 2032 AND R3,R2
0077 BA38 OUT P18,R3
(0026) delay(500);
0078 EF04 LDI R16,0xF4
0079 E011 LDI R17,1
007A DFD6 RCALL _delay
(0027)
(0028) PORTB|=BIT(k);
007B E001 LDI R16,1
007C 2F14 MOV R17,R20
007D 940E00A8 CALL lsl8
007F B228 IN R2,P18
0080 2A20 OR R2,R16
0081 BA28 OUT P18,R2
(0029) delay(500);
0082 EF04 LDI R16,0xF4
0083 E011 LDI R17,1
0084 DFCC RCALL _delay
0085 9543 INC R20
0086 3048 CPI R20,0x8
0087 F338 BCS 0x006F
0088 CFE4 RJMP 0x006D
(0030) }
(0031) }
(0032) }FILE: <library>
0089 9508 RET
push_gset1:
008A 935A ST R21,-Y
008B 934A ST R20,-Y
008C 9508 RET
pop_gset1:
008D E0E1 LDI R30,1
pop:
008E 9149 LD R20,Y+
008F 9159 LD R21,Y+
0090 FDE0 SBRC R30,0
0091 9508 RET
0092 9169 LD R22,Y+
0093 9179 LD R23,Y+
0094 FDE1 SBRC R30,1
0095 9508 RET
0096 90A9 LD R10,Y+
0097 90B9 LD R11,Y+
0098 FDE2 SBRC R30,2
0099 9508 RET
009A 90C9 LD R12,Y+
009B 90D9 LD R13,Y+
009C FDE3 SBRC R30,3
009D 9508 RET
009E 90E9 LD R14,Y+
009F 90F9 LD R15,Y+
00A0 9508 RET
push_gset2:
00A1 937A ST R23,-Y
00A2 936A ST R22,-Y
00A3 940C008A JMP push_gset1
pop_gset2:
00A5 E0E2 LDI R30,2
00A6 940C008E JMP pop
lsl8:
00A8 2311 TST R17
00A9 F019 BEQ 0x00AD
00AA 0F00 LSL R16
00AB 951A DEC R17
00AC CFFB RJMP lsl8
00AD 9508 RET
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -