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

📄 jifeng_jieshou.s

📁 非常适合实用的无线射频芯片NRF905
💻 S
📖 第 1 页 / 共 4 页
字号:
	mov R31,R25
	lpm
	mov R16,R0
	rcall _Lcd_Write_Data
	.dbline 567
L102:
	.dbline 563
	inc R10
L104:
	.dbline 563
	mov R24,R10
	cpi R24,8
	brlo L101
	.dbline -2
L96:
	rcall pop_gset5
	.dbline 0 ; func end
	ret
	.dbsym r b 20 c
	.dbsym r a 22 c
	.dbsym r j 10 c
	.dbsym r hz 12 pkc
	.dbsym r row 14 c
	.dbsym r x1 20 c
	.dbend
	.dbfunc e dis_shuzi _dis_shuzi fV
;          shuzi -> y+8
;              y -> R22
;              x -> R20
	.even
_dis_shuzi::
	rcall push_gset3
	mov R22,R18
	mov R20,R16
	sbiw R28,2
	.dbline -1
	.dbline 571
; 		 {	                        //每读写一次,列会自动加1
; 		 	 Lcd_CURSOR(b,j+row);       //列在变,光标也在不停的换列,重新进行定位
; 		 	 Lcd_Write_Data(hz[j+8]);  //检测写进f0h???4点亮4点暗
; 		 }		
; 	
; }
; void dis_shuzi(uchar x,uchar y,uchar shuzi)	
; {
	.dbline 572
; 	switch	(shuzi)
	ldd R10,y+8
	clr R11
	tst R10
	brne X3
	tst R11
	brne X5
	rjmp L118
X5:
X3:
	mov R24,R10
	mov R25,R11
	cpi R24,1
	ldi R30,0
	cpc R25,R30
	brne X6
	rjmp L117
X6:
	cpi R24,2
	ldi R30,0
	cpc R25,R30
	brne X7
	rjmp L116
X7:
	cpi R24,3
	ldi R30,0
	cpc R25,R30
	brne X8
	rjmp L115
X8:
	cpi R24,4
	ldi R30,0
	cpc R25,R30
	brne X9
	rjmp L114
X9:
	cpi R24,5
	ldi R30,0
	cpc R25,R30
	breq L113
	cpi R24,6
	ldi R30,0
	cpc R25,R30
	breq L112
	cpi R24,7
	ldi R30,0
	cpc R25,R30
	breq L111
	cpi R24,8
	ldi R30,0
	cpc R25,R30
	breq L110
	cpi R24,9
	ldi R30,0
	cpc R25,R30
	breq L109
	rjmp L107
X4:
	.dbline 573
; 	{
L109:
	.dbline 580
; 	//case 0x0f:dispaly[2]=9;break;
; 	//case 0x0e:dispaly[2]=9;break;
; 	//case 0x0d:dispaly[2]=8;break;
; 	//case 0x0c:dispaly[2]=8;break;
; 	//case 0x0b:dispaly[2]=7;break;
; 	//case 0x0a:dispaly[2]=6;break;
; 	case 0x09:dis_168hz(x,y,jiu16);break;
	ldi R24,<_jiu16
	ldi R25,>_jiu16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 580
	rjmp L107
L110:
	.dbline 581
; 	case 0x08:dis_168hz(x,y,ba16);break;
	ldi R24,<_ba16
	ldi R25,>_ba16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 581
	rjmp L107
L111:
	.dbline 582
; 	case 0x07:dis_168hz(x,y,qi16);break;
	ldi R24,<_qi16
	ldi R25,>_qi16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 582
	rjmp L107
L112:
	.dbline 583
; 	case 0x06:dis_168hz(x,y,liu16);break;
	ldi R24,<_liu16
	ldi R25,>_liu16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 583
	rjmp L107
L113:
	.dbline 584
; 	case 0x05:dis_168hz(x,y,wu16);break;
	ldi R24,<_wu16
	ldi R25,>_wu16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 584
	rjmp L107
L114:
	.dbline 585
; 	case 0x04:dis_168hz(x,y,si16);break;
	ldi R24,<_si16
	ldi R25,>_si16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 585
	rjmp L107
L115:
	.dbline 586
; 	case 0x03:dis_168hz(x,y,san16);break;
	ldi R24,<_san16
	ldi R25,>_san16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 586
	rjmp L107
L116:
	.dbline 587
; 	case 0x02:dis_168hz(x,y,er16);break;
	ldi R24,<_er16
	ldi R25,>_er16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 587
	rjmp L107
L117:
	.dbline 588
; 	case 0x01:dis_168hz(x,y,yi16);break;
	ldi R24,<_yi16
	ldi R25,>_yi16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 588
	rjmp L107
L118:
	.dbline 589
	ldi R24,<_ling16
	ldi R25,>_ling16
	std y+1,R25
	std y+0,R24
	mov R18,R22
	mov R16,R20
	rcall _dis_168hz
	.dbline 589
	.dbline 590
L107:
	.dbline -2
L105:
	adiw R28,2
	rcall pop_gset3
	.dbline 0 ; func end
	ret
	.dbsym l shuzi 8 c
	.dbsym r y 22 c
	.dbsym r x 20 c
	.dbend
	.dbfunc e dis_ykxt _dis_ykxt fV
	.even
_dis_ykxt::
	sbiw R28,4
	.dbline -1
	.dbline 628
; 	case 0x00:dis_168hz(x,y,ling16);break;
; 	default:break;
; 	}
; }
; //-----------------------------------------------------------------------------
; 
; /*void LCDtime(uchar x,uchar nian1,uchar nian2,uchar nian3,uchar nian4,
; 		     uchar yue1,uchar yue2,
; 		     uchar ri1,uchar ri2,
; 		     uchar shi1,uchar shi2,
; 		     uchar fen1,uchar fen1,)    //LCD时间显示函数
; */
; //------------------------------------------------------------------------------
; /*
; void LCDtime()	                         
; 	{
; 	dis_168hz(0xB6,5,er16);          	 //n1
; 	dis_168hz(0xB6,13,ling16);	 		 //n2
; 	dis_168hz(0xB6,21,ling16);	 		 //n3	
; 	dis_168hz(0xB6,29,qi16);	 		 //n4
; 	dis_168hz(0xB6,37,heng16);
; 	dis_168hz(0xB6,45,yi16);	 		 //y1
; 	dis_168hz(0xB6,53,ling16);	 		 //y2
; 	dis_168hz(0xB6,61,heng16);	 	
; 	dis_168hz(0xB6,69,yi16);	 		 //r1
; 	dis_168hz(0xB6,77,ling16);       	 //r2
; 	///////////////////////////////////////////////
; 	dis_168hz(0xB6,90,yi16);	 		//s1
; 	dis_168hz(0xB6,98,san16);           //s2
; 	dis_168hz(0xB6,106,maohao16);	 	//
; 	dis_168hz(0xB6,114,yi16);        	//f3
; 	dis_168hz(0xB6,122,liu16);       	//f4
; 	}
; */
; //------------------------------------------------------------------------------
; 
; //------------------------------------------------------------------------------
; 
; void  dis_ykxt()
; {
	.dbline 630
; //---------------------------第一行“无线遥控系统“-----------------------------
; 	dis_1616hz(0xB0,0xB1,20,wu);
	ldi R24,<_wu
	ldi R25,>_wu
	std y+3,R25
	std y+2,R24
	ldi R24,20
	std y+0,R24
	ldi R18,177
	ldi R16,176
	rcall _dis_1616hz
	.dbline 631
; 	dis_1616hz(0xB0,0xB1,36,xian);
	ldi R24,<_xian
	ldi R25,>_xian
	std y+3,R25
	std y+2,R24
	ldi R24,36
	std y+0,R24
	ldi R18,177
	ldi R16,176
	rcall _dis_1616hz
	.dbline 632
; 	dis_1616hz(0xB0,0xB1,52,yao);
	ldi R24,<_yao
	ldi R25,>_yao
	std y+3,R25
	std y+2,R24
	ldi R24,52
	std y+0,R24
	ldi R18,177
	ldi R16,176
	rcall _dis_1616hz
	.dbline 633
; 	dis_1616hz(0xB0,0xB1,68,kong);
	ldi R24,<_kong
	ldi R25,>_kong
	std y+3,R25
	std y+2,R24
	ldi R24,68
	std y+0,R24
	ldi R18,177
	ldi R16,176
	rcall _dis_1616hz
	.dbline 634
; 	dis_1616hz(0xB0,0xB1,84,xi);
	ldi R24,<_xi
	ldi R25,>_xi
	std y+3,R25
	std y+2,R24
	ldi R24,84
	std y+0,R24
	ldi R18,177
	ldi R16,176
	rcall _dis_1616hz
	.dbline 635
; 	dis_1616hz(0xB0,0xB1,100,tong);
	ldi R24,<_tong
	ldi R25,>_tong
	std y+3,R25
	std y+2,R24
	ldi R24,100
	std y+0,R24
	ldi R18,177
	ldi R16,176
	rcall _dis_1616hz
	.dbline -2
L119:
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e dis_jdql _dis_jdql fV
	.even
_dis_jdql::
	sbiw R28,4
	.dbline -1
	.dbline 639
; }
; //----------------------------第2行“继电器开”-------------------------------------
; void dis_jdql()
; {
	.dbline 640
; 	dis_1616hz(0xB3,0xB4,35,ji);
	ldi R24,<_ji
	ldi R25,>_ji
	std y+3,R25
	std y+2,R24
	ldi R24,35
	std y+0,R24
	ldi R18,180
	ldi R16,179
	rcall _dis_1616hz
	.dbline 641
; 	dis_1616hz(0xB3,0xB4,51,dian);
	ldi R24,<_dian
	ldi R25,>_dian
	std y+3,R25
	std y+2,R24
	ldi R24,51
	std y+0,R24
	ldi R18,180
	ldi R16,179
	rcall _dis_1616hz
	.dbline 642
; 	dis_1616hz(0xB3,0xB4,67,qi);
	ldi R24,<_qi
	ldi R25,>_qi
	std y+3,R25
	std y+2,R24
	ldi R24,67
	std y+0,R24
	ldi R18,180
	ldi R16,179
	rcall _dis_1616hz
	.dbline 643
; 	dis_1616hz(0xB3,0xB4,83,kai);
	ldi R24,<_kai
	ldi R25,>_kai
	std y+3,R25
	std y+2,R24
	ldi R24,83
	std y+0,R24
	ldi R18,180
	ldi R16,179
	rcall _dis_1616hz
	.dbline -2
L120:
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e dis_fmqx _dis_fmqx fV
	.even
_dis_fmqx::
	sbiw R28,4
	.dbline -1
	.dbline 647
; }	
; //---------------------------第3行“蜂明器响“--------------------------------------
; void dis_fmqx()
; {
	.dbline 648
; 	dis_1616hz(0xB3,0xB4,35,feng);
	ldi R24,<_feng
	ldi R25,>_feng
	std y+3,R25
	std y+2,R24
	ldi R24,35
	std y+0,R24
	ldi R18,180
	ldi R16,179
	rcall _dis_1616hz
	.dbline 649
; 	dis_1616hz(0xB3,0xB4,51,ming);
	ldi R24,<_ming
	ldi R25,>_ming
	std y+3,R25
	std y+2,R24
	ldi R24,51
	std y+0,R24
	ldi R18,180
	ldi R16,179
	rcall _dis_1616hz
	.dbline 650
; 	dis_1616hz(0xB3,0xB4,67,qi);
	ldi R24,<_qi
	ldi R25,>_qi
	std y+3,R25
	std y+2,R24
	ldi R24,67
	std y+0,R24
	ldi R18,180
	ldi R16,179
	rcall _dis_1616hz
	.dbline 651
; 	dis_1616hz(0xB3,0xB4,83,xiang);
	ldi R24,<_xiang
	ldi R25,>_xiang
	std y+3,R25
	std y+2,R24
	ldi R24,83
	std y+0,R24
	ldi R18,180
	ldi R16,179
	rcall _dis_1616hz
	.dbline -2
L121:
	adiw R28,4
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e StartUART _StartUART fV
	.even
_StartUART::
	.dbline -1
	.dbline 655
; }
; //-------------------------------串口初始化-------------------------------------
; void StartUART(void)
; {
	.dbline 656
;  	 UCSRA=0x00;	
	clr R2
	out 0xb,R2
	.dbline 657
; 	 UCSRB=0x18;	
	ldi R24,24
	out 0xa,R24
	.dbline 658
; 	 UCSRC=0x06;	
	ldi R24,6
	out 0x20,R24
	.dbline 659
; 	 UBRRL=0x33;
	ldi R24,51
	out 0x9,R24
	.dbline 660
; 	 UBRRH=0x00;
	out 0x20,R2
	.dbline 661
; 	 UCSRA=UCSRA|0x08;	
	sbi 0xb,3
	.dbline -2
L122:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e R_S_Byte _R_S_Byte fV
;         R_Byte -> R16
	.even
_R_S_Byte::
	.dbline -1
	.dbline 665
; }
; //------------------------------串口发送----------------------------------------
; void R_S_Byte(uchar R_Byte)
; {	
	.dbline 666
;      UDR= R_Byte;  
	out 0xc,R16
	.dbline -2
L123:
	.dbline 0 ; func end
	ret
	.dbsym r R_Byte 16 c
	.dbend
	.dbfunc e main _main fV
;              i -> <dead>
	.even
_main::
	.dbline -1
	.dbline 670
; }
; //------------------------------主函数------------------------------------------
; void main(void)
; {  
	.dbline 672
; 	uint i;
; 	DDRD=0xF2;						  //端口D设置											  
	ldi R24,242
	out 0x11,R24
	.dbline 673
; 	DDRB=0xB3;					     //端口B设置							
	ldi R24,179
	out 0x17,R24
	.dbline 675
; //------------------------------------------------------------------------------				  			 				
; 	Spi_initial();	                //SPI初始化															  
	rcall _Spi_initial
	.dbline 676
; 	system_Init();				   //系统状态初始化												
	rcall _system_Init
	.dbline 677
; 	Config905();  				  //NRF905初始化	
	rcall _Config905
	.dbline 679
; //------------------------------------------------------------------------------	
; 	Lcd_init();					 //LCD初始化							  
	rcall _Lcd_init
	.dbline 681
; //------------------------------------------------------------------------------
; 	StartUART();				//串口初始化9600波特率
	rcall _StartUART
	.dbline 682
; 	Delay(500);
	ldi R16,500
	ldi R17,1
	rcall _Delay
	.dbline 683
; 	Lcd_Clear();				//清屏幕
	rcall _Lcd_Clear
	rjmp L126
L125:
	.dbline 687
; 	
; //------------------------------------------------------------------------------
; 	while(1)
; 	{
	.dbline 688
; 	RX();  					//接收数据
	rcall _RX
	.dbline 689
; 	if(TxRxBuffer[0])
	lds R2,_TxRxBuffer
	tst R2
	breq L128
	.dbline 690
; 	{
	.dbline 691
; 	if(TxRxBuffer[0]==0x29)
	mov R24,R2
	cpi R24,41
	brne L130
	.dbline 692
; 	{
	.dbline 693
; 	Low_JDQ;			   //打开继电器
	cbi 0x12,7
	.dbline 694
; 	dis_ykxt();
	rcall _dis_ykxt
	.dbline 695
; 	dis_jdql();
	rcall _dis_jdql
	.dbline 696
; 	}
L130:
	.dbline 697
; 	if(TxRxBuffer[0]==0x30)
	lds R24,_TxRxBuffer
	cpi R24,48
	brne L132
	.dbline 698
; 	{
	.dbline 699
; 	Low_BELL;			   //打开蜂明器
	cbi 0x12,6
	.dbline 699
	.dbline 700
; 	dis_ykxt();
	rcall _dis_ykxt
	.dbline 701
; 	dis_fmqx();
	rcall _dis_fmqx
	.dbline 702
; 	}
L132:
	.dbline 703
; 	if(TxRxBuffer[0]==0x31)
	lds R24,_TxRxBuffer
	cpi R24,49
	brne L134
	.dbline 704
; 	{
	.dbline 705
; 	Lcd_Clear();		  //清屏幕
	rcall _Lcd_Clear
	.dbline 706
; 	}
L134:
	.dbline 707
; 	}
L128:
	.dbline 708
	sbi 0x12,7
	.dbline 709
	sbi 0x12,6
	.dbline 709
	.dbline 710
L126:
	.dbline 686
	rjmp L125
X10:
	.dbline -2
L124:
	.dbline 0 ; func end
	ret
	.dbsym l i 1 i
	.dbend
	.area bss(ram, con, rel)
	.dbfile F:\开发板配套资料\JASK3000软件开发包\遥控开关\NRF905_接收\jifeng_jieshou.c
_count2::
	.blkb 1
	.dbsym e count2 _count2 c
_count1::
	.blkb 1
	.dbsym e count1 _count1 c
_TxRxBuffer::
	.blkb 4
	.dbsym e TxRxBuffer _TxRxBuffer A[4:4]c

⌨️ 快捷键说明

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