📄 app.s
字号:
.module APP.c
.area data(ram, con, rel)
_redata:
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.blkb 2
.area idata
.byte 0,0
.area data(ram, con, rel)
.blkb 40
.area idata
.word 0,0,0,0,0
.word 0,0,0,0,0
.word 0,0,0,0,0
.byte 0,0,0,0,0,0,0,0,0,0
.area data(ram, con, rel)
.dbfile D:\单片机程序\AVR\LSAVR~1\LBT-FC8B暴光管TEST\APP.c
.dbsym s redata _redata A[48:48]c
.area lit(rom, con, rel)
_table::
.byte 7,7
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.byte 0,0
.dbsym e table _table A[16:16]kc
_table1::
.byte 'D,'D
.byte 'D,'A
.byte 20,'D
.byte 'D,'D
.byte 'D,'D
.byte 'D,17
.byte 17,'D
.byte 'D,'D
.byte 'D,'D
.byte 'A,17
.byte 17,20
.byte 'D,'D
.byte 'D,'D
.byte 17,17
.byte 17,17
.byte 'D,'D
.byte 'D,'A
.byte 17,17
.byte 17,17
.byte 20,'D
.byte 'D,17
.byte 17,17
.byte 17,17
.byte 17,'D
.byte 'A,17
.byte 17,17
.byte 17,17
.byte 17,20
.byte 17,17
.byte 17,17
.byte 17,17
.byte 17,17
.byte 17,17
.byte 17,18
.byte 33,17
.byte 17,17
.byte 17,17
.byte 17,34
.byte 34,17
.byte 17,17
.byte 17,17
.byte 18,34
.byte 34,33
.byte 17,17
.byte 17,17
.byte 34,34
.byte 34,34
.byte 17,17
.byte 17,18
.byte 34,34
.byte 34,34
.byte 33,17
.byte 17,34
.byte 34,34
.byte 34,34
.byte 34,17
.byte 18,34
.byte 34,34
.byte 34,34
.byte 34,33
.byte 34,34
.byte 34,34
.byte 34,34
.byte 34,34
.byte 34,34
.byte 34,36
.byte 'B,34
.byte 34,34
.byte 34,34
.byte 34,'D
.byte 'D,34
.byte 34,34
.byte 34,34
.byte 36,'D
.byte 'D,'B
.byte 34,34
.byte 34,34
.byte 'D,'D
.byte 'D,'D
.byte 34,34
.byte 34,36
.byte 'D,'D
.byte 'D,'D
.byte 'B,34
.byte 34,'D
.byte 'D,'D
.byte 'D,'D
.byte 'D,34
.byte 36,'D
.byte 'D,'D
.byte 'D,'D
.byte 'D,'B
.byte 'D,'D
.byte 'D,'D
.byte 'D,'D
.byte 'D,'D
.dbsym e table1 _table1 A[192:24:8]kc
_table2::
.byte 17,17
.byte 34,34
.byte 'U,'U
.byte 'D,'D
.byte 17,18
.byte 34,37
.byte 'U,'T
.byte 'D,'A
.byte 17,34
.byte 34,'U
.byte 'U,'D
.byte 'D,17
.byte 18,34
.byte 37,'U
.byte 'T,'D
.byte 'A,17
.byte 34,34
.byte 'U,'U
.byte 'D,'D
.byte 17,17
.byte 34,37
.byte 'U,'T
.byte 'D,'A
.byte 17,18
.byte 34,'U
.byte 'U,'D
.byte 'D,17
.byte 17,34
.byte 37,'U
.byte 'T,'D
.byte 'A,17
.byte 18,34
.byte 'U,'U
.byte 'D,'D
.byte 17,17
.byte 34,34
.byte 'U,'T
.byte 'D,'A
.byte 17,18
.byte 34,37
.byte 'U,'D
.byte 'D,17
.byte 17,34
.byte 34,'U
.byte 'T,'D
.byte 'A,17
.byte 18,34
.byte 37,'U
.byte 'D,'D
.byte 17,17
.byte 34,34
.byte 'U,'U
.byte 'D,'A
.byte 17,18
.byte 34,37
.byte 'U,'T
.byte 'D,17
.byte 17,34
.byte 34,'U
.byte 'U,'D
.byte 'A,17
.byte 18,34
.byte 37,'U
.byte 'T,'D
.dbsym e table2 _table2 A[128:16:8]kc
.area text(rom, con, rel)
.dbfile D:\单片机程序\AVR\LSAVR~1\LBT-FC8B暴光管TEST\APP.c
.dbfunc e main _main fV
; paddr -> <dead>
; redata_addr -> <dead>
; temp -> <dead>
; word -> <dead>
; j -> <dead>
; i -> R20
; n -> R22,R23
.even
_main::
.dbline -1
.dbline 85
;
; //ICC-AVR application builder : 2006-1-5
; //Target : ATtiny2313
; // Crystal: 7.3728Mhz
; #include <iot2313v.h>
; #include <macros.h>
; typedef unsigned char uchar;
; typedef unsigned int uint;
; #define CLK PORTD3
; #define DA PORTD4
; #define RCK PORTD5
; #define EN PORTD6
; static uchar fg_rin;
; static uchar redata[48]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
; //********************************
; const uchar table[16]=
; {
; //0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
; 0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
; };
; //**********************************
; const uchar table1[24][8]=
; {
; //**********************************
; 0x44,0x44,0x44,0x41,0x14,0x44,0x44,0x44,
; 0x44,0x44,0x44,0x11,0x11,0x44,0x44,0x44,
; 0x44,0x44,0x41,0x11,0x11,0x14,0x44,0x44,
; 0x44,0x44,0x11,0x11,0x11,0x11,0x44,0x44,
; 0x44,0x41,0x11,0x11,0x11,0x11,0x14,0x44,
; 0x44,0x11,0x11,0x11,0x11,0x11,0x11,0x44,
; 0x41,0x11,0x11,0x11,0x11,0x11,0x11,0x14,
; 0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
; //**************************************
; 0x11,0x11,0x11,0x12,0x21,0x11,0x11,0x11,
; 0x11,0x11,0x11,0x22,0x22,0x11,0x11,0x11,
; 0x11,0x11,0x12,0x22,0x22,0x21,0x11,0x11,
; 0x11,0x11,0x22,0x22,0x22,0x22,0x11,0x11,
; 0x11,0x12,0x22,0x22,0x22,0x22,0x21,0x11,
; 0x11,0x22,0x22,0x22,0x22,0x22,0x22,0x11,
; 0x12,0x22,0x22,0x22,0x22,0x22,0x22,0x21,
; 0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,
; //************************************
; 0x22,0x22,0x22,0x24,0x42,0x22,0x22,0x22,
; 0x22,0x22,0x22,0x44,0x44,0x22,0x22,0x22,
; 0x22,0x22,0x24,0x44,0x44,0x42,0x22,0x22,
; 0x22,0x22,0x44,0x44,0x44,0x44,0x22,0x22,
; 0x22,0x24,0x44,0x44,0x44,0x44,0x42,0x22,
; 0x22,0x44,0x44,0x44,0x44,0x44,0x44,0x22,
; 0x24,0x44,0x44,0x44,0x44,0x44,0x44,0x42,
; 0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,
; //***********************************
;
; };
; //***************************
; const uchar table2[16][8]=
; {
; 0x11,0x11,0x22,0x22,0x55,0x55,0x44,0x44,
; 0x11,0x12,0x22,0x25,0x55,0x54,0x44,0x41,
; 0x11,0x22,0x22,0x55,0x55,0x44,0x44,0x11,
; 0x12,0x22,0x25,0x55,0x54,0x44,0x41,0x11,
; 0x22,0x22,0x55,0x55,0x44,0x44,0x11,0x11,
; 0x22,0x25,0x55,0x54,0x44,0x41,0x11,0x12,
; 0x22,0x55,0x55,0x44,0x44,0x11,0x11,0x22,
; 0x25,0x55,0x54,0x44,0x41,0x11,0x12,0x22,
; 0x55,0x55,0x44,0x44,0x11,0x11,0x22,0x22,
; 0x55,0x54,0x44,0x41,0x11,0x12,0x22,0x25,
; 0x55,0x44,0x44,0x11,0x11,0x22,0x22,0x55,
; 0x54,0x44,0x41,0x11,0x12,0x22,0x25,0x55,
; 0x44,0x44,0x11,0x11,0x22,0x22,0x55,0x55,
; 0x44,0x41,0x11,0x12,0x22,0x25,0x55,0x54,
; 0x44,0x11,0x11,0x22,0x22,0x55,0x55,0x44,
; 0x41,0x11,0x12,0x22,0x25,0x55,0x54,0x44,
; };
; //========函数定义
; void port_init(void);
; void watchdog_init(void);
; void uart0_init(void);
; void delay(uchar count );
; void init_devices(void);
; void send(void);
; /************************
; **Main Program
; **************************/
; void main(void)
; {
.dbline 91
; signed n;
; uchar i,j,word,temp;
; uchar *redata_addr;
; const uchar *paddr;
; //****************
; init_devices();
rcall _init_devices
.dbline 92
; delay(5);
ldi R16,5
rcall _delay
.dbline 93
; fg_rin=0;
clr R2
sts _fg_rin,R2
rjmp L3
L2:
.dbline 97
; //********************************
;
; while(1)
; {
.dbline 99
; //*********************
; for(i=0;i<16;i++)
clr R20
rjmp L8
L5:
.dbline 100
; {
.dbline 101
; for(n=47;n>0;n--)
ldi R22,47
ldi R23,0
L9:
.dbline 102
ldi R24,<_redata
ldi R25,>_redata
mov R2,R22
mov R3,R23
add R2,R24
adc R3,R25
ldi R24,<_redata-1
ldi R25,>_redata-1
mov R30,R22
mov R31,R23
add R30,R24
adc R31,R25
ldd R24,z+0
swap R24
andi R24,#0x0F
mov R30,R2
mov R31,R3
ldd R25,z+0
andi R25,#0x0F
swap R25
or R25,R24
std z+0,R25
L10:
.dbline 101
subi R22,1
sbci R23,0
.dbline 101
clr R2
clr R3
cp R2,R22
cpc R3,R23
brlt L9
.dbline 103
ldi R24,<_redata
ldi R25,>_redata
mov R2,R22
mov R3,R23
add R2,R24
adc R3,R25
mov R30,R2
mov R31,R3
ldd R24,z+0
andi R24,#0x0F
swap R24
std z+0,R24
.dbline 104
ldi R24,<_table
ldi R25,>_table
mov R2,R20
clr R3
add R2,R24
adc R3,R25
mov R30,R2
mov R31,R3
lpm
mov R24,R0
andi R24,15
lds R2,_redata
or R2,R24
sts _redata,R2
.dbline 106
rcall _send
.dbline 107
ldi R16,2
rcall _delay
.dbline 108
L6:
.dbline 99
inc R20
L8:
.dbline 99
cpi R20,16
brsh X1
rjmp L5
X1:
.dbline 111
L3:
.dbline 96
rjmp L2
X0:
.dbline -2
.dbline 116
; redata[n]=(redata[n]<<4)|(redata[n-1]>>4);
; redata[n]<<=4;
; redata[0]|=table[i]&0x0f;
; //*******************************transmit data
; send();
; delay(2);
; }
; //while(1)
; //WDR();
; }
; //**************************Three Color Test
; //*********************
;
; //******************************
; }//MAIN PROGRAM
L1:
.dbline 0 ; func end
ret
.dbsym l paddr 1 pkc
.dbsym l redata_addr 1 pc
.dbsym l temp 1 c
.dbsym l word 1 c
.dbsym l j 1 c
.dbsym r i 20 c
.dbsym r n 22 I
.dbend
.area vector(rom, abs)
.org 14
rjmp _uart0_rx_isr
.area text(rom, con, rel)
.dbfile D:\单片机程序\AVR\LSAVR~1\LBT-FC8B暴光管TEST\APP.c
.dbfunc e uart0_rx_isr _uart0_rx_isr fV
; addr -> R18
; temp -> R16
; i -> R16
.even
_uart0_rx_isr::
st -y,R2
st -y,R3
st -y,R16
st -y,R18
st -y,R24
st -y,R25
st -y,R30
st -y,R31
in R2,0x3f
st -y,R2
.dbline -1
.dbline 122
; /*********************************
; **接收数据
; **********************************/
; #pragma interrupt_handler uart0_rx_isr:8
; void uart0_rx_isr(void)
; {
.dbline 124
; uchar i,temp;
; uchar addr=40;
ldi R18,40
.dbline 125
; temp=UDR;
in R16,0xc
.dbline 126
; if(temp==addr||temp==100||temp==255)//地址判断
cp R16,R18
breq L18
cpi R16,100
breq L18
cpi R16,255
brne L15
L18:
.dbline 127
; {
.dbline 128
; UCSRA&=~BIT(MPCM);//取消地址接收
cbi 0xb,0
.dbline 129
; for(i=0;i<8;i++)
clr R16
rjmp L22
X2:
.dbline 130
; {
L23:
.dbline 131
wdr
L24:
.dbline 131
sbis 0xb,7
rjmp L23
.dbline 131
.dbline 132
mov R2,R16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -