📄 led2.lst
字号:
__start:
__text_start:
46 EFCF LDI R28,0xFF
47 E1D0 LDI R29,0x10
48 BFCD OUT 0x3D,R28
49 BFDE OUT 0x3E,R29
4A 51CE SUBI R28,0x1E
4B 40D0 SBCI R29,0
4C EA0A LDI R16,0xAA
4D 8308 STD Y+0,R16
4E 2400 CLR R0
4F E0E0 LDI R30,0
50 E0F1 LDI R31,1
51 E011 LDI R17,1
52 30E0 CPI R30,0
53 07F1 CPC R31,R17
54 F011 BEQ 0x0057
55 9201 ST R0,Z+
56 CFFB RJMP 0x0052
57 8300 STD Z+0,R16
58 E8EC LDI R30,0x8C
59 E0F0 LDI R31,0
5A E0A0 LDI R26,0
5B E0B1 LDI R27,1
5C E010 LDI R17,0
5D E000 LDI R16,0
5E BF0B OUT 0x3B,R16
5F 38EC CPI R30,0x8C
60 07F1 CPC R31,R17
61 F021 BEQ 0x0066
62 95C8 LPM
63 9631 ADIW R30,1
64 920D ST R0,X+
65 CFF9 RJMP 0x005F
66 940E 0072 CALL _main
_exit:
68 CFFF RJMP _exit
FILE: D:\16实验程序\LED2\LED2.c
(0001) //led显示程序
(0002) //流水灯显示
(0003) #include<iom16v.h>
(0004) #define uchar unsigned char
(0005) #define uint unsigned int
(0006)
(0007) //延时函数
(0008) void s_ms(unsigned int t)
(0009) {
(0010) for(;t>1;t--)
_s_ms:
t --> R16
69 C002 RJMP 0x006C
6A 5001 SUBI R16,1
6B 4010 SBCI R17,0
6C E081 LDI R24,1
6D E090 LDI R25,0
6E 1780 CP R24,R16
6F 0791 CPC R25,R17
70 F3C8 BCS 0x006A
71 9508 RET
(0011) {
(0012) }
(0013) }
(0014)
(0015) //主函数
(0016) main()
(0017) {
(0018) uchar led=1;
_main:
led --> R20
72 E041 LDI R20,1
(0019) DDRD=0xff; //端口A为输出
73 EF8F LDI R24,0xFF
74 BB81 OUT 0x11,R24
(0020) PORTD=0xff; //关闭所有LED
75 BB82 OUT 0x12,R24
76 C013 RJMP 0x008A
(0021) while(1)
(0022) {
(0023) PORTD=~led; //端口输出led值
77 2E24 MOV R2,R20
78 9420 COM R2
79 BA22 OUT 0x12,R2
(0024) led=led<<1; //向左移动一位
7A 0F44 LSL R20
(0025) s_ms(65535); //延时
7B EF0F LDI R16,0xFF
7C EF1F LDI R17,0xFF
7D DFEB RCALL _s_ms
(0026) s_ms(65535);
7E EF0F LDI R16,0xFF
7F EF1F LDI R17,0xFF
80 DFE8 RCALL _s_ms
(0027) s_ms(65535);
81 EF0F LDI R16,0xFF
82 EF1F LDI R17,0xFF
83 DFE5 RCALL _s_ms
(0028) s_ms(65535);
84 EF0F LDI R16,0xFF
85 EF1F LDI R17,0xFF
86 DFE2 RCALL _s_ms
(0029) //PORTG=0xff;
(0030) if(led==0) //完成8位后重新开始
87 2344 TST R20
88 F409 BNE 0x008A
(0031) {
(0032) led=1;
FILE: <library>
89 E041 LDI R20,1
8A CFEC RJMP 0x0077
8B 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -