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

📄 toucher2.s

📁 基于PIC单片机
💻 S
📖 第 1 页 / 共 5 页
字号:
; 		    	 }
	.dbline 585
; 		    	 break;
	xjmp L115
L121:
	.dbline 587
; 		    	 case 4:
; 		    	 {
	.dbline 588
; 		             cha_print(0xcd,0xa8);  //通
	ldi R18,168
	ldi R16,205
	xcall _cha_print
	.dbline 589
; 		       		 cha_print(0xd1,0xb6);  //讯
	ldi R18,182
	ldi R16,209
	xcall _cha_print
	.dbline 590
; 		       		 cha_print(0xb9,0xca);  //故 
	ldi R18,202
	ldi R16,185
	xcall _cha_print
	.dbline 591
; 		       		 cha_print(0xd5,0xcf);  //障
	ldi R18,207
	ldi R16,213
	xcall _cha_print
	.dbline 592
; 		         }
	.dbline 593
; 		    	 break;
	xjmp L115
L122:
	.dbline 595
; 		    	 case 5:
; 		    	 {
	.dbline 596
; 		       	     cha_print(0xb4,0xab);  //传
	ldi R18,171
	ldi R16,180
	xcall _cha_print
	.dbline 597
; 		       		 cha_print(0xb8,0xd0);  //感
	ldi R18,208
	ldi R16,184
	xcall _cha_print
	.dbline 598
; 		       		 cha_print(0xc6,0xf7);  //器
	ldi R18,247
	ldi R16,198
	xcall _cha_print
	.dbline 599
; 		       		 cha_print(0xb9,0xca);  //故 
	ldi R18,202
	ldi R16,185
	xcall _cha_print
	.dbline 600
; 		       		 cha_print(0xd5,0xcf);  //障
	ldi R18,207
	ldi R16,213
	xcall _cha_print
	.dbline 601
; 		    	 }
	.dbline 602
; 	        	 break;
	xjmp L115
L123:
	.dbline 604
; 		    	 case 6:
; 		    	 {
	.dbline 605
; 		       	     cha_print(0xc1,0xaa);  //联
	ldi R18,170
	ldi R16,193
	xcall _cha_print
	.dbline 606
; 		       		 cha_print(0xb6,0xaf);  //动
	ldi R18,175
	ldi R16,182
	xcall _cha_print
	.dbline 607
; 		       		 cha_print(0xc4,0x76);  //设
	ldi R18,118
	ldi R16,196
	xcall _cha_print
	.dbline 608
; 		       		 cha_print(0xbf,0x77);  //备
	ldi R18,119
	ldi R16,191
	xcall _cha_print
	.dbline 609
; 		       		 cha_print(0xb9,0xca);  //故 
	ldi R18,202
	ldi R16,185
	xcall _cha_print
	.dbline 610
; 		       		 cha_print(0xd5,0xcf);  //障
	ldi R18,207
	ldi R16,213
	xcall _cha_print
	.dbline 611
; 		    	 }
	.dbline 612
; 		    	 break;
L114:
L115:
	.dbline 614
;          	 }
; 	     	 write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 616
; 	  
; 	     	 cha_print(0xb9,0xca);  //故 
	ldi R18,202
	ldi R16,185
	xcall _cha_print
	.dbline 617
;          	 cha_print(0xd5,0xcf);  //障
	ldi R18,207
	ldi R16,213
	xcall _cha_print
	.dbline 618
;          	 cha_print(0xc0,0xe0);  //类
	ldi R18,224
	ldi R16,192
	xcall _cha_print
	.dbline 619
;          	 cha_print(0xd0,0xcd);  //型
	ldi R18,205
	ldi R16,208
	xcall _cha_print
	.dbline 620
;          	 write_print(0x3a);     //:
	ldi R16,58
	xcall _write_print
	.dbline 621
;          	 write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 626
; 	  
; 	  
; 	  
; 	     	 //故障时间
; 	     	 write_print(0x32);  //2
	ldi R16,50
	xcall _write_print
	.dbline 627
;          	 write_print(0x30);  //0
	ldi R16,48
	xcall _write_print
	.dbline 628
;          	 date_print(a[2]); //年
	ldd R16,y+7
	xcall _date_print
	.dbline 629
;          	 write_print(0x2f);  //"/"
	ldi R16,47
	xcall _write_print
	.dbline 630
;          	 date_print(a[3]); //月
	ldd R16,y+8
	xcall _date_print
	.dbline 631
;          	 write_print(0x2f);  //"/"
	ldi R16,47
	xcall _write_print
	.dbline 632
;          	 date_print(a[4]); //日
	ldd R16,y+9
	xcall _date_print
	.dbline 633
; 	     	 write_print(0x20);  //" "
	ldi R16,32
	xcall _write_print
	.dbline 634
;          	 date_print(a[5]); //时
	ldd R16,y+10
	xcall _date_print
	.dbline 635
;          	 write_print(0x3a);  //":"
	ldi R16,58
	xcall _write_print
	.dbline 636
;          	 date_print(a[6]); //分
	ldd R16,y+11
	xcall _date_print
	.dbline 637
;          	 write_print(0x0d);  //换行
	ldi R16,13
	xcall _write_print
	.dbline 641
; 	
; 
;          	 //  cha_print(0x1c,0x26);      //设置汉字打印方式
;          	 cha_print(0xb9,0xca);  //故 
	ldi R18,202
	ldi R16,185
	xcall _cha_print
	.dbline 642
; 	     	 cha_print(0xd5,0xcf);  //障
	ldi R18,207
	ldi R16,213
	xcall _cha_print
	.dbline 643
;          	 cha_print(0xca,0xb1);  //时
	ldi R18,177
	ldi R16,202
	xcall _cha_print
	.dbline 644
;          	 cha_print(0xbc,0xe4);  //间
	ldi R18,228
	ldi R16,188
	xcall _cha_print
	.dbline 646
;          	 //  cha_print(0x1b,0x36);  //选择字符集1 
;          	 write_print(0x3a);     //:
	ldi R16,58
	xcall _write_print
	.dbline 647
;          	 write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 651
; 	  
; 	  
; 	     	 //探测器编号
;          	 cha_print(0xcc,0xbd);  //探
	ldi R18,189
	ldi R16,204
	xcall _cha_print
	.dbline 652
;          	 cha_print(0xb2,0xe2);  //测
	ldi R18,226
	ldi R16,178
	xcall _cha_print
	.dbline 653
;          	 cha_print(0xc6,0xf7);  //器
	ldi R18,247
	ldi R16,198
	xcall _cha_print
	.dbline 654
;          	 cha_print(0xb1,0xe0);  //编
	ldi R18,224
	ldi R16,177
	xcall _cha_print
	.dbline 655
;          	 cha_print(0xba,0xc5);  //号
	ldi R18,197
	ldi R16,186
	xcall _cha_print
	.dbline 656
;          	 write_print(0x3a);     //:
	ldi R16,58
	xcall _write_print
	.dbline 657
;          	 write_print(0x20);     //空格
	ldi R16,32
	xcall _write_print
	.dbline 658
;          	 num_print(a[1]);      //打印编号
	ldd R16,y+6
	xcall _num_print
	.dbline 659
; 	     	 write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 663
;    
;    
;          	 //转换器编号
;          	 cha_print(0xd7,0xaa);  //转
	ldi R18,170
	ldi R16,215
	xcall _cha_print
	.dbline 664
;          	 cha_print(0xbb,0xbb);  //换
	ldi R18,187
	ldi R16,187
	xcall _cha_print
	.dbline 665
;          	 cha_print(0xc6,0xf7);  //器
	ldi R18,247
	ldi R16,198
	xcall _cha_print
	.dbline 666
;          	 cha_print(0xb1,0xe0);  //编
	ldi R18,224
	ldi R16,177
	xcall _cha_print
	.dbline 667
;          	 cha_print(0xba,0xc5);  //号
	ldi R18,197
	ldi R16,186
	xcall _cha_print
	.dbline 668
;          	 write_print(0x3a);     //:
	ldi R16,58
	xcall _write_print
	.dbline 669
;          	 write_print(0x20);     //空格
	ldi R16,32
	xcall _write_print
	.dbline 670
;          	 num_print(a[0]);       //打印编号
	ldd R16,y+5
	xcall _num_print
	.dbline 671
; 	     	 write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 672
;       	}  
L113:
	.dbline 673
L99:
	.dbline 535
	inc R22
L101:
	.dbline 535
	cpi R22,8
	brsh X11
	xjmp L98
X11:
	.dbline 675
;    	} 
;     //标题
; 	kong_print(0x04); 
	ldi R16,4
	xcall _kong_print
	.dbline 676
; 	cha_print(0xb9,0xca);  //故 
	ldi R18,202
	ldi R16,185
	xcall _cha_print
	.dbline 677
; 	cha_print(0xd5,0xcf);  //障
	ldi R18,207
	ldi R16,213
	xcall _cha_print
	.dbline 678
;     cha_print(0xbc,0xc7);  //记
	ldi R18,199
	ldi R16,188
	xcall _cha_print
	.dbline 679
; 	cha_print(0xc2,0xbc);  //录
	ldi R18,188
	ldi R16,194
	xcall _cha_print
	.dbline 680
; 	write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 681
; 	cha_print(0x1b,0x4a);  //走纸48点
	ldi R18,74
	ldi R16,27
	xcall _cha_print
	.dbline 682
;     write_print(0x30);     
	ldi R16,48
	xcall _write_print
	.dbline -2
L95:
	adiw R28,24
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r kkk 22 c
	.dbsym l fault_buff 13 A[11:11]c
	.dbsym r temp1 10 i
	.dbsym l a 5 A[8:8]c
	.dbsym r tt 12 c
	.dbend
	.dbfunc e opclo_print _opclo_print fV
;           temp -> R20
;            kkk -> R22
;      onoffbuff -> y+21
;          temp1 -> R10,R11
;              a -> y+5
;              c -> R12
	.even
_opclo_print::
	xcall push_gset4
	sbiw R28,32
	.dbline -1
	.dbline 688
; }
; 
; /********************开关机记录打印**********************/
; 
; void opclo_print(void)
; {
	.dbline 689
;     uchar kkk=0;
	clr R22
	.dbline 691
;     uchar a[16];
;     uchar c=0;
	clr R12
	.dbline 693
;     uchar onoffbuff[11];  //从外部E2取开关机记录
;     uint  temp1=0;
	clr R10
	clr R11
	.dbline 694
;     uchar temp=0;
	clr R20
	.dbline 696
;    
;     temp=num_open-1;
	lds R20,_num_open
	subi R20,1
	.dbline 697
;     temp1=addre2+16;
	lds R24,_addre2
	lds R25,_addre2+1
	adiw R24,16
	movw R10,R24
	.dbline 698
;     if(temp1==0x0400)          //到头
	cpi R24,0
	ldi R30,4
	cpc R25,R30
	brne L131
	.dbline 699
; 	    temp1=0x0000 ;  //调整  
	clr R10
	clr R11
L131:
	.dbline 700
;     int_prt();
	xcall _int_prt
	.dbline 701
;     for(kkk=0;kkk<8;kkk++)
	clr R22
	xjmp L136
L133:
	.dbline 702
;     {
	.dbline 703
; 	    wdr();
	xcall _wdr
	.dbline 704
; 	    onoffbuff[1]= (uchar)((temp1>>8)&0x00ff ) ; //FM24C256片内地址高位字节
	movw R24,R10
	mov R24,R25
	clr R25
	andi R25,0
	std y+22,R24
	.dbline 705
; 	  	onoffbuff[2]= (uchar)(temp1&0x00ff) ;      //FM24C256片内地址低位字节
	movw R24,R10
	andi R25,0
	std y+23,R24
	.dbline 706
; 		EIMSK&=~(1<<INT6);	
	in R24,0x39
	andi R24,191
	out 0x39,R24
	.dbline 708
; 		//do
; 	  	fhz=I2cRead( SLA2_W,SLA2_R , onoffbuff[1],onoffbuff[2],8);
	ldi R24,8
	std y+4,R24
	ldd R2,y+23
	std y+2,R2
	ldd R2,y+22
	std y+0,R2
	ldi R18,163
	ldi R16,162
	xcall _I2cRead
	sts _fhz,R16
	.dbline 711
; 		//while(fhz==1);
; 		//;
; 	  	for(c=0;c<8;c++)
	clr R12
	xjmp L144
L141:
	.dbline 712
	ldi R24,<_i2c_rd_buff
	ldi R25,>_i2c_rd_buff
	mov R30,R12
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	movw R24,R28
	adiw R24,5
	mov R30,R12
	clr R31
	add R30,R24
	adc R31,R25
	std z+0,R2
L142:
	.dbline 711
	inc R12
L144:
	.dbline 711
	mov R24,R12
	cpi R24,8
	brlo L141
	.dbline 713
; 	        a[c]=i2c_rd_buff[c] ;   //本次开机
; 		EIMSK|=(1<<INT6);	
	in R24,0x39
	ori R24,64
	out 0x39,R24
	.dbline 714
; 	    if(temp1==0x0000)     //到头
	tst R10
	brne L145
	tst R11
	brne L145
X12:
	.dbline 715
; 	        temp1=0x03f8 ;  //调整到关机  
	ldi R24,1016
	ldi R25,3
	movw R10,R24
	xjmp L146
L145:
	.dbline 717
; 	    else
; 	        temp1=temp1-8  ;  //调整到关机
	movw R24,R10
	sbiw R24,8
	movw R10,R24
L146:
	.dbline 719
; 	  
; 	    onoffbuff[1]= (uchar)((temp1>>8)&0x00ff ) ; //FM24C256片内地址高位字节
	movw R24,R10
	mov R24,R25
	clr R25
	andi R25,0
	std y+22,R24
	.dbline 720
; 	  	onoffbuff[2]= (uchar)(temp1&0x00ff) ;      //FM24C256片内地址低位字节	
	movw R24,R10
	andi R25,0
	std y+23,R24
	.dbline 721
; 		EIMSK&=~(1<<INT6);
	in R24,0x39
	andi R24,191
	out 0x39,R24
	.dbline 723
; 		//do
; 	  	fhz=I2cRead( SLA2_W,SLA2_R , onoffbuff[1],onoffbuff[2],8);
	ldi R24,8
	std y+4,R24
	ldd R2,y+23
	std y+2,R2
	ldd R2,y+22
	std y+0,R2
	ldi R18,163
	ldi R16,162
	xcall _I2cRead
	sts _fhz,R16
	.dbline 726
; 		//while(fhz==1);
; 		
; 	  	for(c=0;c<8;c++)
	clr R12
	xjmp L154
L151:
	.dbline 727
	ldi R24,<_i2c_rd_buff
	ldi R25,>_i2c_rd_buff
	mov R30,R12
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	movw R24,R28
	adiw R24,13
	mov R30,R12
	clr R31
	add R30,R24
	adc R31,R25
	std z+0,R2
L152:
	.dbline 726
	inc R12
L154:
	.dbline 726
	mov R24,R12
	cpi R24,8
	brlo L151
	.dbline 728
; 	        a[c+8]=i2c_rd_buff[c] ;   //本次开机
; 	  	EIMSK|=(1<<INT6); 
	in R24,0x39
	ori R24,64
	out 0x39,R24
	.dbline 729
; 	    if(temp1>=0x03e8)  
	movw R24,R10
	cpi R24,232
	ldi R30,3
	cpc R25,R30
	brlo L156
	.dbline 730
; 	        temp1=0x0010+24-0x0400;
	ldi R24,-984
	ldi R25,-4
	movw R10,R24
	xjmp L157
L156:
	.dbline 732
; 	    else
; 	        temp1=temp1+24  ;  //调整到开机
	movw R24,R10
	adiw R24,24
	movw R10,R24
L157:
	.dbline 738
;       
; 	    //addre2lo= (uchar) (addre2&0x00ff) ;      //FM24C256片内地址低位字节	
; 	    // addre2hi= (uchar) ((addre2>>8)&0x00ff ) ; //FM24C256片内地址高位字节 
; 	  
; 	    //时间数组位置调整
; 	    for(c=3;c<6;c++)
	ldi R24,3
	mov R12,R24
	xjmp L161
L158:
	.dbline 739
	movw R24,R28
	adiw R24,6
	mov R30,R12
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	movw R24,R28
	adiw R24,5
	mov R30,R12
	clr R31
	add R30,R24
	adc R31,R25

⌨️ 快捷键说明

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