?? 4.lst
字號:
__start:
__text_start:
2A E5CF LDI R28,0x5F
2B E0D4 LDI R29,4
2C BFCD OUT 0x3D,R28
2D BFDE OUT 0x3E,R29
2E 51CE SUBI R28,0x1E
2F 40D0 SBCI R29,0
30 EA0A LDI R16,0xAA
31 8308 STD Y+0,R16
32 2400 CLR R0
33 E6E0 LDI R30,0x60
34 E0F0 LDI R31,0
35 E010 LDI R17,0
36 36E0 CPI R30,0x60
37 07F1 CPC R31,R17
38 F011 BEQ 0x003B
39 9201 ST R0,Z+
3A CFFB RJMP 0x0036
3B 8300 STD Z+0,R16
3C E5E4 LDI R30,0x54
3D E0F0 LDI R31,0
3E E6A0 LDI R26,0x60
3F E0B0 LDI R27,0
40 E010 LDI R17,0
41 E000 LDI R16,0
42 BF0B OUT 0x3B,R16
43 35E4 CPI R30,0x54
44 07F1 CPC R31,R17
45 F021 BEQ 0x004A
46 95C8 LPM
47 9631 ADIW R30,1
48 920D ST R0,X+
49 CFF9 RJMP 0x0043
4A 940E 0063 CALL _main
_exit:
4C CFFF RJMP _exit
_s_ms:
aa --> R20
ms --> R16
4D 934A ST R20,-Y
4E 935A ST R21,-Y
FILE: D:\16實驗程序\延時試驗\4.c
(0001) #include "iom16v.h"
(0002) #include <macros.h>
(0003) //延時函數
(0004) //在16MHz時產生1ms的延時
(0005) void s_ms(unsigned int ms)
(0006) {
(0007) unsigned int aa;
(0008) for(;ms>=1;ms--)
4F C00C RJMP 0x005C
(0009) {
(0010) for(aa=0;aa<=17;aa++)
50 2744 CLR R20
51 2755 CLR R21
52 C002 RJMP 0x0055
53 5F4F SUBI R20,0xFF
54 4F5F SBCI R21,0xFF
55 E181 LDI R24,0x11
56 E090 LDI R25,0
57 1784 CP R24,R20
58 0795 CPC R25,R21
59 F7C8 BCC 0x0053
5A 5001 SUBI R16,1
5B 4010 SBCI R17,0
5C 3001 CPI R16,1
5D E0E0 LDI R30,0
5E 071E CPC R17,R30
5F F780 BCC 0x0050
60 9159 LD R21,Y+
61 9149 LD R20,Y+
62 9508 RET
(0011) {;}
(0012) }
(0013) }
(0014)
(0015) main()
(0016) {
(0017) DDRD=0xff;
_main:
63 EF8F LDI R24,0xFF
64 BB81 OUT 0x11,R24
65 C00A RJMP 0x0070
(0018) //在端口d產生500Hz的信號
(0019) while(1)
(0020) {
(0021) PORTD=0xff;
66 EF8F LDI R24,0xFF
67 BB82 OUT 0x12,R24
(0022) s_ms(50);
68 E302 LDI R16,0x32
69 E010 LDI R17,0
6A DFE2 RCALL _s_ms
(0023) PORTD=0x00;
6B 2422 CLR R2
6C BA22 OUT 0x12,R2
(0024) s_ms(50);
FILE: <library>
6D E302 LDI R16,0x32
6E E010 LDI R17,0
6F DFDD RCALL _s_ms
70 CFF5 RJMP 0x0066
71 9508 RET
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -