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

📄 main.s

📁 包含无线收发模块 NREF905的所有功能库函数 本库函数与外部函数接口简单易用
💻 S
📖 第 1 页 / 共 2 页
字号:
	.dbline 52
;   PORTC=0x00;
	out 0x15,R2
	.dbline 54
;   
;   DDRD=0xf8;               //1111 1000b
	ldi R24,248
	out 0x11,R24
	.dbline 55
;   PORTD=0xfc;              //1111 1100b
	ldi R24,252
	out 0x12,R24
	.dbline 57
;   
;   timer0_init();
	rcall _timer0_init
	.dbline 59
;   
;   MCUCR = 0x02;
	ldi R24,2
	out 0x35,R24
	.dbline 60
;   GICR  = 0x40;
	ldi R24,64
	out 0x3b,R24
	.dbline 61
;   TIMSK = 0x01; //timer interrupt sources
	ldi R24,1
	out 0x39,R24
	.dbline 72
;  
;   
;  // DDRD=0xff;
;   // PORTD=0xf8;
;   
;  // MCUCR = 0x02;
;  // GICR  = 0x40;
;   //TIMSK = 0x00; //timer interrupt sources
;   
;  // nrf905_Init();
;   SEI(); //re-enable interrupts
	sei
	.dbline 73
;   screen(hz0);
	ldi R16,<_hz0
	ldi R17,>_hz0
	rcall _screen
	rjmp L10
L9:
	.dbline 76
;    
;    while(1)
;   {
	.dbline 83
;    
;   //  nrf905_RxOn(); 
;    // detect=RfRecvProc();
; 	
;    // lcd_write_comm(0x9f);
;    // lcd_write_data(detect);
;     displayint(0x8a,value_T);
	lds R18,_value_T
	clr R19
	ldi R16,138
	ldi R17,0
	rcall _displayint
	.dbline 84
; 	displayint(0x8c,times);
	lds R18,_times
	clr R19
	ldi R16,140
	ldi R17,0
	rcall _displayint
	.dbline 85
; 	print_temp(0x90);
	ldi R16,144
	rcall _print_temp
	.dbline 89
; 	//if(detect=='Y')
; 	//{detect=='N';	}
; 	
;     if(KeyFlag==1)
	lds R24,_KeyFlag
	cpi R24,1
	brne L12
	.dbline 90
; 	{
	.dbline 91
; 	 KeyValue=KeyV;
	lds R10,_KeyV
	.dbline 92
; 	 KeyFlag=0;
	clr R2
	sts _KeyFlag,R2
	.dbline 93
; 	}
L12:
	.dbline 94
;    switch(KeyValue)        //此时相当按一次键处理两次程序
	mov R20,R10
	clr R21
	cpi R20,105
	ldi R30,0
	cpc R21,R30
	brne X2
	rjmp L18
X2:
	cpi R20,107
	ldi R30,0
	cpc R21,R30
	brne X3
	rjmp L21
X3:
	cpi R20,108
	ldi R30,0
	cpc R21,R30
	brne X4
	rjmp L24
X4:
	cpi R20,112
	ldi R30,0
	cpc R21,R30
	breq L17
	cpi R20,114
	ldi R30,0
	cpc R21,R30
	brne X5
	rjmp L19
X5:
	cpi R20,115
	ldi R30,0
	cpc R21,R30
	brne X6
	rjmp L22
X6:
	cpi R20,116
	ldi R30,0
	cpc R21,R30
	brne X7
	rjmp L23
X7:
	cpi R20,117
	ldi R30,0
	cpc R21,R30
	brne X8
	rjmp L25
X8:
	cpi R20,122
	ldi R30,0
	cpc R21,R30
	brne X9
	rjmp L20
X9:
	ldi R24,122
	ldi R25,0
	cp R24,R20
	cpc R25,R21
	brlt L31
L30:
	cpi R20,90
	ldi R30,0
	cpc R21,R30
	brne X10
	rjmp L29
X10:
	rjmp L15
L31:
	cpi R20,125
	ldi R30,0
	cpc R21,R30
	brne X11
	rjmp L27
X11:
	rjmp L15
X0:
	.dbline 95
;    {
L17:
	.dbline 96
;     case 112:kk=0;displayint(0x98,kk);
	clr R22
	.dbline 96
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 97
; 	              nrf905_SpiTest();
	rcall _nrf905_SpiTest
	.dbline 98
; 	              display_int(RxBuf,0x80,10);
	ldi R24,10
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,128
	ldi R19,0
	ldi R16,<_RxBuf
	ldi R17,>_RxBuf
	rcall _display_int
	.dbline 99
; 	              KeyValue=0;   break;
	clr R10
	.dbline 99
	rjmp L15
L18:
	.dbline 100
;     case 105:kk=1;displayint(0x98,kk);KeyValue=0;break;
	ldi R22,1
	.dbline 100
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 100
	clr R10
	.dbline 100
	rjmp L15
L19:
	.dbline 101
; 	case 114:kk=2;displayint(0x98,kk);KeyValue=0;break;
	ldi R22,2
	.dbline 101
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 101
	clr R10
	.dbline 101
	rjmp L15
L20:
	.dbline 102
; 	case 122:kk=3;displayint(0x98,kk);print_temp(0x9a);KeyValue=0;break;
	ldi R22,3
	.dbline 102
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 102
	ldi R16,154
	rcall _print_temp
	.dbline 102
	clr R10
	.dbline 102
	rjmp L15
L21:
	.dbline 103
; 	case 107:kk=4;displayint(0x98,kk);//RfSendProc();1122445645633312345
	ldi R22,4
	.dbline 103
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 104
; 	                                  KeyValue=0;break;
	clr R10
	.dbline 104
	rjmp L15
L22:
	.dbline 105
; 	case 115:kk=5;displayint(0x98,kk);nrf905_SendData();KeyValue=0;break;
	ldi R22,5
	.dbline 105
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 105
	rcall _nrf905_SendData
	.dbline 105
	clr R10
	.dbline 105
	rjmp L15
L23:
	.dbline 106
; 	case 116:kk=6;displayint(0x98,kk);nrf905_ReadData();KeyValue=0;break;
	ldi R22,6
	.dbline 106
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 106
	rcall _nrf905_ReadData
	.dbline 106
	clr R10
	.dbline 106
	rjmp L15
L24:
	.dbline 107
; 	case 108:kk=7;displayint(0x98,kk);display_int(RxBuf,0x80,12);KeyValue=0;break;
	ldi R22,7
	.dbline 107
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 107
	ldi R24,12
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,128
	ldi R19,0
	ldi R16,<_RxBuf
	ldi R17,>_RxBuf
	rcall _display_int
	.dbline 107
	clr R10
	.dbline 107
	rjmp L15
L25:
	.dbline 108
; 	case 117:kk=8;displayint(0x98,kk);display_int(RxBuf+12,0x80,12);KeyValue=0;break;
	ldi R22,8
	.dbline 108
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 108
	ldi R24,12
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,128
	ldi R19,0
	ldi R16,<_RxBuf+12
	ldi R17,>_RxBuf+12
	rcall _display_int
	.dbline 108
	clr R10
	.dbline 108
	rjmp L15
L27:
	.dbline 109
; 	case 125:kk=9;displayint(0x98,kk);display_int(RxBuf+24,0x80,8);KeyValue=0;break;
	ldi R22,9
	.dbline 109
	mov R18,R22
	clr R19
	ldi R16,152
	ldi R17,0
	rcall _displayint
	.dbline 109
	ldi R24,8
	ldi R25,0
	std y+1,R25
	std y+0,R24
	ldi R18,128
	ldi R19,0
	ldi R16,<_RxBuf+24
	ldi R17,>_RxBuf+24
	rcall _display_int
	.dbline 109
	clr R10
	.dbline 109
	rjmp L15
L29:
	.dbline 110
; 	case 90: kk='k'; KeyValue=0;
	ldi R22,107
	.dbline 110
	clr R10
	.dbline 112
; 	                 //display_int(RxBuf,0x80,12);
; 	                 lcd_write_comm(0x98);
	ldi R16,152
	ldi R17,0
	rcall _lcd_write_comm
	.dbline 113
; 	                 lcd_write_data('k');
	ldi R16,107
	ldi R17,0
	rcall _lcd_write_data
	.dbline 114
; 	               break;
	.dbline 115
; 	default :break;
L15:
	.dbline 119
L10:
	.dbline 75
	rjmp L9
X1:
	.dbline -2
L8:
	adiw R28,2
	.dbline 0 ; func end
	ret
	.dbsym l detect 3 c
	.dbsym r kk 22 c
	.dbsym r KeyValue 10 c
	.dbend
	.area vector(rom, abs)
	.org 2
	rjmp _int0_isr
	.area text(rom, con, rel)
	.dbfile F:\programme\RF905\main.c
	.area bss(ram, con, rel)
	.dbfile F:\programme\RF905\main.c
L33:
	.blkb 1
	.area text(rom, con, rel)
	.dbfile F:\programme\RF905\main.c
	.dbfunc e int0_isr _int0_isr fV
	.dbsym s IntNum L33 c
	.even
_int0_isr::
	st -y,R2
	st -y,R3
	st -y,R24
	st -y,R25
	in R2,0x3f
	st -y,R2
	.dbline -1
	.dbline 125
;    }  
;   
;   
;   }
; }
;   
;   
; #pragma interrupt_handler int0_isr:2
; void int0_isr(void)
; {
	.dbline 127
;  static unsigned char IntNum;
;  times++;
	lds R24,_times
	subi R24,255    ; addi 1
	sts _times,R24
	.dbline 128
;    if((IntNum>0)&&(IntNum<9))
	clr R2
	lds R3,L33
	cp R2,R3
	brsh L34
	mov R24,R3
	cpi R24,9
	brsh L34
	.dbline 129
;       {
	.dbline 130
;        KeyV>>=1;
	lds R2,_KeyV
	lsr R2
	sts _KeyV,R2
	.dbline 131
;        if(PINB&0x80)
	sbis 0x16,7
	rjmp L36
	.dbline 132
;        KeyV|=0x80;     
	mov R24,R2
	ori R24,128
	sts _KeyV,R24
L36:
	.dbline 133
;        }
L34:
	.dbline 135
	lds R24,L33
	subi R24,255    ; addi 1
	sts L33,R24
	.dbline 137
	ldi R24,10
	lds R2,L33
	cp R24,R2
	brsh L38
	.dbline 138
	.dbline 139
	clr R2
	sts L33,R2
	.dbline 140
	ldi R24,1
	sts _KeyFlag,R24
	.dbline 141
L38:
	.dbline -2
L32:
	ld R2,y+
	out 0x3f,R2
	ld R25,y+
	ld R24,y+
	ld R3,y+
	ld R2,y+
	.dbline 0 ; func end
	reti
	.dbend
	.area bss(ram, con, rel)
	.dbfile F:\programme\RF905\main.c
_set_data::
	.blkb 1
	.dbsym e set_data _set_data c
_value_T::
	.blkb 1
	.dbsym e value_T _value_T c
_KeyFlag::
	.blkb 1
	.dbsym e KeyFlag _KeyFlag c
_KeyV::
	.blkb 1
	.dbsym e KeyV _KeyV c
	.area lit(rom, con, rel)
L7:
	.word 0x0,0x4f00
L6:
	.word 0x4000,0x461c
L3:
	.word 0x0,0x3d80

⌨️ 快捷键说明

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