📄 led点阵.lis
字号:
.module LED点阵.c
.area text(rom, con, rel)
0000 .dbfile G:\AVRMega16\LED点阵/delay.h
0000 .dbfunc e DelayUS _DelayUS fV
0000 ; time -> R16,R17
.even
0000 _DelayUS::
0000 .dbline -1
0000 .dbline 9
0000 ; //内部晶振 8M
0000 ; //包含所需头文件
0000 ; #include <ioM16v.h>
0000 ; #include <macros.h>
0000 ; #include"delay.h"
0000 ;
0000 ;
0000 ;
0000 ; /*------宏定义------*/
0000 02C0 xjmp L3
0002 L2:
0002 .dbline 11
0002 0150 subi R16,1
0004 1040 sbci R17,0
0006 L3:
0006 .dbline 10
0006 ; #define uchar unsigned char
0006 81E0 ldi R24,1
0008 90E0 ldi R25,0
000A 8017 cp R24,R16
000C 9107 cpc R25,R17
000E C8F3 brlo L2
0010 .dbline -2
0010 L1:
0010 .dbline 0 ; func end
0010 0895 ret
0012 .dbsym r time 16 i
0012 .dbend
0012 .dbfunc e DelayMS _DelayMS fV
0012 ; i -> R20,R21
0012 ; time -> R16,R17
.even
0012 _DelayMS::
0012 0E940000 xcall push_gset1
0016 .dbline -1
0016 .dbline 20
0016 ; #define uint unsigned int
0016 ;
0016 ; uchar dianzi[]={0xFF,0xC3,0xEB,0x81,0x6B,0x63,0x7F,0xFF,0xFF,0xEF,0xED,0x05,0xE9,0xED,0xEF,0xFF,
0016 ; 0xFF,0xBF,0xBB,0x83,0xBB,0xBB,0xBD,0xFF,0xdb,0xc1,0x5B,0x9B,0xE1,0x6B,0x8B,0xFF};//汉字字模
0016 ; //端口初始化
0016 ; void port_init(void)
0016 ; {
0016 ; PORTA = 0xFF;//A口数据置0
0016 ; DDRA = 0xFF;//A口方向设为输出
0016 ; PORTB = 0xFF;//B口数据置1
0016 09C0 xjmp L7
0018 L6:
0018 .dbline 23
0018 ; DDRB = 0xFF;//B口方向设为输出
0018 ; PORTC = 0x00;
0018 ; DDRC = 0x00;
0018 .dbline 24
0018 ; PORTD = 0x00;
0018 41E0 ldi R20,1
001A 50E0 ldi R21,0
001C 02C0 xjmp L12
001E L9:
001E .dbline 25
001E L10:
001E .dbline 24
001E 4F5F subi R20,255 ; offset = 1
0020 5F4F sbci R21,255
0022 L12:
0022 .dbline 24
0022 4D38 cpi R20,141
0024 E0E0 ldi R30,0
0026 5E07 cpc R21,R30
0028 D0F3 brlo L9
002A .dbline 26
002A L7:
002A .dbline 22
002A 1801 movw R2,R16
002C 0150 subi R16,1
002E 1040 sbci R17,0
0030 2220 tst R2
0032 91F7 brne L6
0034 3320 tst R3
0036 81F7 brne L6
0038 X0:
0038 .dbline -2
0038 L5:
0038 0E940000 xcall pop_gset1
003C .dbline 0 ; func end
003C 0895 ret
003E .dbsym r i 20 i
003E .dbsym r time 16 i
003E .dbend
.area data(ram, con, rel)
0000 .dbfile G:\AVRMega16\LED点阵/delay.h
0000 _dianzi::
0000 .blkb 2
.area idata
0000 FFC3 .byte 255,195
.area data(ram, con, rel)
0002 .dbfile G:\AVRMega16\LED点阵/delay.h
0002 .blkb 2
.area idata
0002 EB81 .byte 235,129
.area data(ram, con, rel)
0004 .dbfile G:\AVRMega16\LED点阵/delay.h
0004 .blkb 2
.area idata
0004 6B63 .byte 'k,'c
.area data(ram, con, rel)
0006 .dbfile G:\AVRMega16\LED点阵/delay.h
0006 .blkb 2
.area idata
0006 7FFF .byte 127,255
.area data(ram, con, rel)
0008 .dbfile G:\AVRMega16\LED点阵/delay.h
0008 .blkb 2
.area idata
0008 FFEF .byte 255,239
.area data(ram, con, rel)
000A .dbfile G:\AVRMega16\LED点阵/delay.h
000A .blkb 2
.area idata
000A ED05 .byte 237,5
.area data(ram, con, rel)
000C .dbfile G:\AVRMega16\LED点阵/delay.h
000C .blkb 2
.area idata
000C E9ED .byte 233,237
.area data(ram, con, rel)
000E .dbfile G:\AVRMega16\LED点阵/delay.h
000E .blkb 2
.area idata
000E EFFF .byte 239,255
.area data(ram, con, rel)
0010 .dbfile G:\AVRMega16\LED点阵/delay.h
0010 .blkb 2
.area idata
0010 FFBF .byte 255,191
.area data(ram, con, rel)
0012 .dbfile G:\AVRMega16\LED点阵/delay.h
0012 .blkb 2
.area idata
0012 BB83 .byte 187,131
.area data(ram, con, rel)
0014 .dbfile G:\AVRMega16\LED点阵/delay.h
0014 .blkb 2
.area idata
0014 BBBB .byte 187,187
.area data(ram, con, rel)
0016 .dbfile G:\AVRMega16\LED点阵/delay.h
0016 .blkb 2
.area idata
0016 BDFF .byte 189,255
.area data(ram, con, rel)
0018 .dbfile G:\AVRMega16\LED点阵/delay.h
0018 .blkb 2
.area idata
0018 DBC1 .byte 219,193
.area data(ram, con, rel)
001A .dbfile G:\AVRMega16\LED点阵/delay.h
001A .blkb 2
.area idata
001A 5B9B .byte 91,155
.area data(ram, con, rel)
001C .dbfile G:\AVRMega16\LED点阵/delay.h
001C .blkb 2
.area idata
001C E16B .byte 225,'k
.area data(ram, con, rel)
001E .dbfile G:\AVRMega16\LED点阵/delay.h
001E .blkb 2
.area idata
001E 8BFF .byte 139,255
.area data(ram, con, rel)
0020 .dbfile G:\AVRMega16\LED点阵/delay.h
0020 .dbfile G:\AVRMega16\LED点阵\LED点阵.c
0020 .dbsym e dianzi _dianzi A[32:32]c
.area text(rom, con, rel)
003E .dbfile G:\AVRMega16\LED点阵\LED点阵.c
003E .dbfunc e port_init _port_init fV
.even
003E _port_init::
003E .dbline -1
003E .dbline 17
003E .dbline 18
003E 8FEF ldi R24,255
0040 8BBB out 0x1b,R24
0042 .dbline 19
0042 8ABB out 0x1a,R24
0044 .dbline 20
0044 88BB out 0x18,R24
0046 .dbline 21
0046 87BB out 0x17,R24
0048 .dbline 22
0048 2224 clr R2
004A 25BA out 0x15,R2
004C .dbline 23
004C 24BA out 0x14,R2
004E .dbline 24
004E 22BA out 0x12,R2
0050 .dbline 25
0050 ; DDRD = 0x00;
0050 21BA out 0x11,R2
0052 .dbline -2
0052 L13:
0052 .dbline 0 ; func end
0052 0895 ret
0054 .dbend
0054 .dbfunc e init_devices _init_devices fV
.even
0054 _init_devices::
0054 .dbline -1
0054 .dbline 30
0054 ; }
0054 ;
0054 ;
0054 ; void init_devices(void)
0054 ; {
0054 .dbline 31
0054 ; CLI(); //禁止所有中断
0054 F894 cli
0056 .dbline 32
0056 ; MCUCR = 0x00;//外部中断触发方式
0056 2224 clr R2
0058 25BE out 0x35,R2
005A .dbline 33
005A ; MCUCSR = 0x80;//禁止JTAG
005A 80E8 ldi R24,128
005C 84BF out 0x34,R24
005E .dbline 34
005E ; GICR = 0x00;//外部中断使能
005E 2BBE out 0x3b,R2
0060 .dbline 35
0060 ; port_init();
0060 EEDF xcall _port_init
0062 .dbline -2
0062 L14:
0062 .dbline 0 ; func end
0062 0895 ret
0064 .dbend
0064 .dbfunc e main _main fV
0064 ; j -> <dead>
0064 ; i -> <dead>
0064 ; a -> R20
.even
0064 _main::
0064 .dbline -1
0064 .dbline 40
0064 ; //SEI();//开全局中断
0064 ; }
0064 ; //主函数
0064 ; void main(void)
0064 ; {
0064 .dbline 41
0064 ; uchar i,j,a=0;//定义变量
0064 4427 clr R20
0066 .dbline 42
0066 ; init_devices();//初始化
0066 F6DF xcall _init_devices
0068 .dbline 43
0068 ; PORTA=0xfe;
0068 8EEF ldi R24,254
006A 8BBB out 0x1b,R24
006C .dbline 44
006C ; PORTB=0xfe;
006C 88BB out 0x18,R24
006E .dbline -2
006E L15:
006E .dbline 0 ; func end
006E 0895 ret
0070 .dbsym l j 1 c
0070 .dbsym l i 1 c
0070 .dbsym r a 20 c
0070 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -