⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tl5615.s

📁 ATmega16-TLC5615
💻 S
字号:
	.module tl5615.c
	.area text(rom, con, rel)
	.dbfile D:\bibo\icc\TL5615\tl5615.c
	.dbfunc e SPI_chuangsong _SPI_chuangsong fV
;           data -> R16
	.even
_SPI_chuangsong::
	.dbline -1
	.dbline 10
; #include<iom16v.h>
; #include<macros.h>
; #define set5615 PORTA|=BIT(4)
; #define clr5615 PORTA&=~BIT(4)
; #define out5615 DDRA|=BIT(4)
; #define in5615 DDRA&=~BIT(4)   
; #define  uchar unsigned char
; 
; void SPI_chuangsong(uchar data)
; {
	.dbline 11
;   SPDR=data;                   //数据输出
	out 0xf,R16
L2:
	.dbline 12
L3:
	.dbline 12
;   while(!(SPSR&(1<<SPIF)));    //SPCR为控制寄存器SPIF为1中断标志位   
	sbis 0xe,7
	rjmp L2
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r data 16 c
	.dbend
	.dbfunc e SPI_chushihua _SPI_chushihua fV
	.even
_SPI_chushihua::
	.dbline -1
	.dbline 15
; }
; void SPI_chushihua()
; {
	.dbline 16
;  out5615;          //DDRA4=1,输出
	sbi 0x1a,4
	.dbline 17
;  DDRB|=0xb0;      //SCK,MOSI,SS输出,MISO输入
	in R24,0x17
	ori R24,176
	out 0x17,R24
	.dbline 18
;  SPCR|=0X50;      //使能SPI,MSB先发,主模式,CPOL为0
	in R24,0xd
	ori R24,80
	out 0xd,R24
	.dbline -2
L5:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e main _main fV
;              i -> R20,R21
;              j -> R22,R23
	.even
_main::
	.dbline -1
	.dbline 21
;  }
; void main()
; {
	.dbline 23
;    unsigned int i,j;     
;    SPI_chushihua();        //初始化SPI和5615设置
	xcall _SPI_chushihua
	xjmp L8
L7:
	.dbline 26
;    
;     while(1)
;      {
	.dbline 27
;  		for(i=180;i<1024;i++)				 
	ldi R20,180
	ldi R21,0
	xjmp L13
L10:
	.dbline 28
; 		 {
	.dbline 29
; 			clr5615;					   //片选TLC5615
	cbi 0x1b,4
	.dbline 30
; 			SPI_chuangsong((uchar)(i>>6)); //发送数
	ldi R18,6
	ldi R19,0
	movw R16,R20
	xcall lsr16
	xcall _SPI_chuangsong
	.dbline 31
; 			SPI_chuangsong((uchar)(i<<2)); //
	mov R16,R20
	lsl R16
	rol R17
	lsl R16
	rol R17
	xcall _SPI_chuangsong
	.dbline 32
; 			set5615;  		 			      //释放TLC5615
	sbi 0x1b,4
	.dbline 33
;            for(j=0;j<5000;j++)
	clr R22
	clr R23
	xjmp L17
L14:
	.dbline 34
	.dbline 35
	nop
	.dbline 35
	nop
	.dbline 35
	nop
	.dbline 35
	nop
	.dbline 36
L15:
	.dbline 33
	subi R22,255  ; offset = 1
	sbci R23,255
L17:
	.dbline 33
	cpi R22,136
	ldi R30,19
	cpc R23,R30
	brlo L14
	.dbline 37
L11:
	.dbline 27
	subi R20,255  ; offset = 1
	sbci R21,255
L13:
	.dbline 27
	cpi R20,0
	ldi R30,4
	cpc R21,R30
	brlo L10
	.dbline 38
L8:
	.dbline 25
	xjmp L7
X0:
	.dbline -2
L6:
	.dbline 0 ; func end
	ret
	.dbsym r i 20 i
	.dbsym r j 22 i
	.dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -