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

📄 mainloop.s

📁 D12固件程序
💻 S
字号:
	.module Mainloop.c
	.area vector(rom, abs)
	.org 2
	rjmp _D12_int
	.area data(ram, con, rel)
_o::
	.blkb 2
	.area idata
	.word 1
	.area data(ram, con, rel)
	.dbfile G:\Backup\6月1日flag置(认为接近最终)\ilx511_usb\Mainloop.c
	.dbsym e o _o I
	.area text(rom, con, rel)
	.dbfile G:\Backup\6月1日flag置(认为接近最终)\ilx511_usb\Mainloop.c
	.dbfunc e main _main fV
;            xue -> <dead>
;              j -> <dead>
;              i -> R16
;              m -> R16,R17
	.even
_main::
	.dbline -1
	.dbline 18
; #include "io8515v.h"
; #include <macros.h>
; 
; #include "d12head.h"
; 
; #pragma interrupt_handler D12_int:2
; 
; int shu[3];
; int o=1;
; int u;
; 
; /*薛注释,how to use interrupt in iccavr:
; #pragma interrupt_handler timer:4 timer:5
; 中断向量4 和5 都指向中断处理函数timer( )
; */
; 
; void main(void)
; {
	.dbline 19
; 	unsigned char i=0,j,xue;
	clr R16
	.dbline 20
; 	int m=0;
	clr R17
	.dbline 22
; 	
; 	SPL = 0x5f;
	ldi R24,95
	out 0x3d,R24
	.dbline 23
; 	SPH = 0x02;
	ldi R24,2
	out 0x3e,R24
	.dbline 25
; 	
; 	PORTC = 0xff;
	ldi R24,255
	out 0x15,R24
	.dbline 26
; 	DDRC  = 0xff;//保持状态
	out 0x14,R24
	.dbline 33
; 	
; 	//先CPLD复位(PD.4),然后FIFO复位(PB.6),接着使能时钟(PB.7),
; 	//最后开始积分命令(PB.2)!
; 	////DDRB = 0xfc;   //11111100
; 	////PORTB = 0xbc;     //10111100//FIFO复位//不使能时钟
; 	
;     DDRA  = 0xff; //关闭上拉电阻,使正确读写外部SRAM
	out 0x1a,R24
	.dbline 34
; 	GIMSK = 0x00;
	clr R2
	out 0x3b,R2
	.dbline 35
; 	MCUCR = 0xc4;//asm("OUT 0x35,R20"); 1100 0100 中断0设置为低电平触发
	ldi R24,196
	out 0x35,R24
	.dbline 37
; 	
; 	UCR  = 0x00;    //设置fifoPD1
	out 0xa,R2
	.dbline 38
; 	DDRD=0xfb;
	ldi R24,251
	out 0x11,R24
	.dbline 39
; 	PORTD=0xdd;
	ldi R24,221
	out 0x12,R24
	.dbline 40
; 	for(m=0;m<6;m++)
L8:
	.dbline 41
	nop
L9:
	.dbline 40
	subi R16,255  ; offset = 1
	sbci R17,255
	.dbline 40
	cpi R16,6
	ldi R30,0
	cpc R17,R30
	brlt L8
	.dbline 41
; 	cwait1;
	nop
	.dbline 42
; 	PORTD=0xdf;
	ldi R24,223
	out 0x12,R24
	.dbline 44
; 	
; 	DDRB=0x00;
	clr R2
	out 0x17,R2
	.dbline 45
; 	DDRC  = 0x00;
	out 0x14,R2
	.dbline 46
; 	D12_COMMAND = 0xf3;
	ldi R24,243
	sts 32513,R24
	.dbline 47
; 	cwait;
	nop
	.dbline 48
; 	D12_DATA = 0x06;//设置模式0
	ldi R24,6
	sts 32512,R24
	.dbline 49
; 	cwait;
	nop
	.dbline 54
; 	///D12_COMMAND = 0xd0;
; 	///cwait;
; 	///D12_DATA = 0x80;//设置地址 0 使能
; 	///cwait;
; 	D12_COMMAND = 0xf3;//连接主机
	ldi R24,243
	sts 32513,R24
	.dbline 55
; 	cwait;
	nop
	.dbline 56
; 	D12_DATA = 0x16;//16
	ldi R24,22
	sts 32512,R24
	.dbline 57
; 	cwait;
	nop
	.dbline 58
; 	D12_DATA = 0x05;//初始化频率 8MHz
	ldi R24,5
	sts 32512,R24
	.dbline 59
; 	csram;
	sts 0xfc01,R22
	.dbline 59
	.dbline 61
; 	
; 	SREG = 0x80;//全局中断使能
	ldi R24,128
	out 0x3f,R24
	.dbline 62
; 	GIMSK = 0x40;
	ldi R24,64
	out 0x3b,R24
	.dbline 66
; 	//TCNT0 = 0x85;
; 	//TIMSK = 0x02; //启动计时器0中断
; 	
; 	TCCR1B = 0xc0;//启动ICP上升沿出入捕获
	ldi R24,192
	out 0x2e,R24
L12:
	.dbline 77
	.dbline 101
L13:
	.dbline 76
	rjmp L12
X0:
	.dbline -2
	.dbline 106
; 	
; 	//UCR  = 0x00; //disable while setting baud rate
; 	//UBRR = 25; //set baud rate 19.2K 波特率
; 	//UCR  = 0x1d; //enable 0001 1101
; 	
; 	
; 	
; 		
; 	
; 	while(1)
; 	{
; /*		if(bconfig==1)
; 		{
; 			
; 			if(o==1)
; 			{
; 				o=0;
; 				D12_COMMAND=0x05;
; 				D12_COMMAND=0xf0;
; 				D12_DATA=0;
; 				D12_DATA=64;
; 				D12_DATA=0xaa;
; 				D12_DATA=0xcc;
; 				D12_DATA=0xee;
; 				D12_DATA=0xff;
; 				for( u=0;u<60;u++)
; 					D12_DATA=u;
; 				D12_COMMAND=0xfa;
; 			}
; 		}
; 		
; */		
; 		
; 		
; 	}	
; 	
; 	
; 	
; 	
; }
L7:
	.dbline 0 ; func end
	ret
	.dbsym l xue 1 c
	.dbsym l j 1 c
	.dbsym r i 16 c
	.dbsym r m 16 I
	.dbend
	.area bss(ram, con, rel)
	.dbfile G:\Backup\6月1日flag置(认为接近最终)\ilx511_usb\Mainloop.c
_u::
	.blkb 2
	.dbsym e u _u I
_shu::
	.blkb 6
	.dbsym e shu _shu A[6:3]I

⌨️ 快捷键说明

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