📄 c52mcu_m16.lst
字号:
Interrupt Vectors
00000 940C 002A JMP __start|__text_start
Program Code (text area)
__start|__text_start:
0002A E5CF LDI R28,0x5F
0002B E0D4 LDI R29,4
0002C BFCD OUT 0x3D,R28
0002D BFDE OUT 0x3E,R29
0002E 51CE SUBI R28,0x1E
0002F 40D0 SBCI R29,0
00030 EA0A LDI R16,0xAA
00031 8308 ST Y,R16
00032 2400 CLR R0
00033 E6E0 LDI R30,0x60
00034 E0F0 LDI R31,0
00035 E010 LDI R17,0
00036 36E0 CPI R30,0x60
00037 07F1 CPC R31,R17
00038 F011 BEQ 0x003B
00039 9201 ST Z+,R0
0003A CFFB RJMP 0x0036
0003B 8300 ST Z,R16
0003C E5E4 LDI R30,0x54
0003D E0F0 LDI R31,0
0003E E6A0 LDI R26,0x60
0003F E0B0 LDI R27,0
00040 E010 LDI R17,0
00041 E000 LDI R16,0
00042 BF0B OUT 0x3B,R16
00043 35E4 CPI R30,0x54
00044 07F1 CPC R31,R17
00045 F021 BEQ 0x004A
00046 95C8 LPM
00047 9631 ADIW R30,1
00048 920D ST X+,R0
00049 CFF9 RJMP 0x0043
0004A 940E 0062 CALL _main
_exit:
0004C CFFF RJMP _exit
_delay02s:
i --> R16
j --> R18
k --> R20
0004D 934A ST -Y,R20
FILE: C:\HJ-1G-AVR\1LED~1\main.c
(0001) //开发环境:HJ-1G HJ-3G 开发板+AVR增强包套装
(0002) //芯片:ATMEGA16A
(0003) //编译器:ICCV7
(0004) //编写:慧净电子
(0005) //网址:WWW.HLMCU.COM QQ:121350852
(0006) //点亮HJ-1G/3G开发板上的1个LED灯
(0007) #include "iom16v.h"
(0008) #include "macros.h"
(0009) void delay02s(void) //延时0.2秒子程序
(0010) {
(0011) unsigned char i,j,k; //定义3个无符号字符型数据。
(0012) for(i=20;i>0;i--) //作循环延时
0004E E104 LDI R16,0x14
0004F C00D RJMP 0x005D
(0013) for(j=20;j>0;j--)
00050 E124 LDI R18,0x14
00051 C007 RJMP 0x0059
(0014) for(k=248;k>0;k--);
00052 EF48 LDI R20,0xF8
00053 C001 RJMP 0x0055
00054 954A DEC R20
00055 E080 LDI R24,0
00056 1784 CP R24,R20
00057 F3E0 BCS 0x0054
00058 952A DEC R18
00059 E080 LDI R24,0
0005A 1782 CP R24,R18
0005B F3B0 BCS 0x0052
0005C 950A DEC R16
0005D E080 LDI R24,0
0005E 1780 CP R24,R16
0005F F380 BCS 0x0050
00060 9149 LD R20,Y+
00061 9508 RET
(0015) }
(0016)
(0017) void main()
(0018) {
(0019) //DDRA=DDRA|BIT(2); //PA2为输出状态
(0020) //PORTA=PORTA|BIT(2); //PA2输出高电平
(0021)
(0022) DDRC=0xFF; //PB0~7为输出状态
_main:
00062 EF8F LDI R24,0xFF
00063 BB84 OUT 0x14,R24
00064 C006 RJMP 0x006B
(0023)
(0024) while(1) //程式停止。
(0025) {
(0026) PORTC=0x00; //PB0为输出低电平,而其余为高电平,亦即打亮LED0
00065 2422 CLR R2
00066 BA25 OUT 0x15,R2
(0027) //PORTB&=~BIT(0) //等价
(0028) delay02s(); //延时经过0.2秒。
00067 DFE5 RCALL _delay02s
(0029) PORTC=0xff;
00068 EF8F LDI R24,0xFF
00069 BB85 OUT 0x15,R24
(0030) delay02s(); //延时经过0.2秒。
FILE: <library>
0006A DFE2 RCALL _delay02s
0006B CFF9 RJMP 0x0065
0006C 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -