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

📄 toucher2.s

📁 基于PIC单片机
💻 S
📖 第 1 页 / 共 5 页
字号:
	std z+0,R2
L159:
	.dbline 738
	inc R12
L161:
	.dbline 738
	mov R24,R12
	cpi R24,6
	brlo L158
	.dbline 740
; 	        a[c]=a[c+1];
; 	    for(c=11;c<14;c++)
	ldi R24,11
	mov R12,R24
	xjmp L166
L163:
	.dbline 741
	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
	std z+0,R2
L164:
	.dbline 740
	inc R12
L166:
	.dbline 740
	mov R24,R12
	cpi R24,14
	brlo L163
	.dbline 743
; 	        a[c]=a[c+1];	  
; 	   
; 	    if(a[8]==0xff)
	ldd R24,y+13
	cpi R24,255
	brne L168
	.dbline 744
; 	    ;
	xjmp L169
L168:
	.dbline 746
; 	  	else
; 	  	{		 	   
	.dbline 748
; 	        //关机时间
; 	        write_print(0x32);  //2
	ldi R16,50
	xcall _write_print
	.dbline 749
;          	write_print(0x30);  //0
	ldi R16,48
	xcall _write_print
	.dbline 750
;          	date_print(a[8]);   //年
	ldd R16,y+13
	xcall _date_print
	.dbline 751
;          	write_print(0x2f);  //"/"
	ldi R16,47
	xcall _write_print
	.dbline 752
;          	date_print(a[9]);   //月
	ldd R16,y+14
	xcall _date_print
	.dbline 753
;          	write_print(0x2f);  //"/"
	ldi R16,47
	xcall _write_print
	.dbline 754
;          	date_print(a[10]);  //日
	ldd R16,y+15
	xcall _date_print
	.dbline 755
; 	     	write_print(0x2f);  //" "
	ldi R16,47
	xcall _write_print
	.dbline 756
;          	date_print(a[11]);   //时
	ldd R16,y+16
	xcall _date_print
	.dbline 757
;          	write_print(0x3a);  //":"
	ldi R16,58
	xcall _write_print
	.dbline 758
;          	date_print(a[12]);  //分
	ldd R16,y+17
	xcall _date_print
	.dbline 759
;          	write_print(0x0d);  //换行
	ldi R16,13
	xcall _write_print
	.dbline 762
; 	  
;         	//  cha_print(0x1c,0x26);      //设置汉字打印方式
;             cha_print(0xb9,0xd8);  //关
	ldi R18,216
	ldi R16,185
	xcall _cha_print
	.dbline 763
; 		 	cha_print(0xbb,0xfa);  //机
	ldi R18,250
	ldi R16,187
	xcall _cha_print
	.dbline 764
;          	cha_print(0xca,0xb1);  //时
	ldi R18,177
	ldi R16,202
	xcall _cha_print
	.dbline 765
;          	cha_print(0xbc,0xe4);  //间
	ldi R18,228
	ldi R16,188
	xcall _cha_print
	.dbline 767
;         	//  cha_print(0x1b,0x36);  //选择字符集1 
;             write_print(0x3a);     //:
	ldi R16,58
	xcall _write_print
	.dbline 768
;          	write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 769
; 	  	}
L169:
	.dbline 770
; 	  	if(a[0]==0xff)
	ldd R24,y+5
	cpi R24,255
	brne L176
	.dbline 771
; 	    ;
	xjmp L177
L176:
	.dbline 773
; 	  	else
; 	  	{
	.dbline 775
; 	        //开机时间
;          	write_print(0x32);  //2
	ldi R16,50
	xcall _write_print
	.dbline 776
;          	write_print(0x30);  //0
	ldi R16,48
	xcall _write_print
	.dbline 777
;          	date_print(a[0]);   //年
	ldd R16,y+5
	xcall _date_print
	.dbline 778
;          	write_print(0x2f);  //"/"
	ldi R16,47
	xcall _write_print
	.dbline 779
;          	date_print(a[1]);   //月
	ldd R16,y+6
	xcall _date_print
	.dbline 780
;          	write_print(0x2f);  //"/"
	ldi R16,47
	xcall _write_print
	.dbline 781
;          	date_print(a[2]);   //日
	ldd R16,y+7
	xcall _date_print
	.dbline 782
; 	     	write_print(0x2f);  //" "
	ldi R16,47
	xcall _write_print
	.dbline 783
;          	date_print(a[3]);   //时
	ldd R16,y+8
	xcall _date_print
	.dbline 784
;          	write_print(0x3a);  //":"
	ldi R16,58
	xcall _write_print
	.dbline 785
;          	date_print(a[4]);   //分
	ldd R16,y+9
	xcall _date_print
	.dbline 786
;          	write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 789
; 	  
;          	//  cha_print(0x1c,0x26);      //设置汉字打印方式
;          	cha_print(0xbf,0xaa);  //开
	ldi R18,170
	ldi R16,191
	xcall _cha_print
	.dbline 790
;          	cha_print(0xbb,0xfa);  //机
	ldi R18,250
	ldi R16,187
	xcall _cha_print
	.dbline 791
;          	cha_print(0xca,0xb1);  //时
	ldi R18,177
	ldi R16,202
	xcall _cha_print
	.dbline 792
;          	cha_print(0xbc,0xe4);  //间
	ldi R18,228
	ldi R16,188
	xcall _cha_print
	.dbline 794
;          	//  cha_print(0x1b,0x36);  //选择字符集1 
;          	write_print(0x3a);     //:
	ldi R16,58
	xcall _write_print
	.dbline 795
;          	write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 800
; 
; 
; 
;          	//编号
; 	     	cha_print(0xb1,0xe0);  //编
	ldi R18,224
	ldi R16,177
	xcall _cha_print
	.dbline 801
;          	cha_print(0xba,0xc5);  //号
	ldi R18,197
	ldi R16,186
	xcall _cha_print
	.dbline 802
;          	write_print(0x3a);     //:
	ldi R16,58
	xcall _write_print
	.dbline 803
;          	write_print(0x20);     //空格
	ldi R16,32
	xcall _write_print
	.dbline 804
;          	num_print(temp);       //打印编号
	mov R16,R20
	xcall _num_print
	.dbline 805
;          	write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 806
; 		 	temp--;
	dec R20
	.dbline 807
; 	  	}
L177:
	.dbline 808
L134:
	.dbline 701
	inc R22
L136:
	.dbline 701
	cpi R22,8
	brsh X13
	xjmp L133
X13:
	.dbline 811
;     }
;    
;     //标题
; 	write_print(0x20);     //空格
	ldi R16,32
	xcall _write_print
	.dbline 812
; 	cha_print(0xbf,0xaa);  //开
	ldi R18,170
	ldi R16,191
	xcall _cha_print
	.dbline 813
; 	cha_print(0xb9,0xd8);  //关
	ldi R18,216
	ldi R16,185
	xcall _cha_print
	.dbline 814
; 	cha_print(0xbb,0xfa);  //机
	ldi R18,250
	ldi R16,187
	xcall _cha_print
	.dbline 815
; 	cha_print(0xbc,0xc7);  //记
	ldi R18,199
	ldi R16,188
	xcall _cha_print
	.dbline 816
; 	cha_print(0xc2,0xbc);  //录
	ldi R18,188
	ldi R16,194
	xcall _cha_print
	.dbline 817
; 	write_print(0x0d);     //换行
	ldi R16,13
	xcall _write_print
	.dbline 818
; 	cha_print(0x1b,0x4a);  //走纸48点
	ldi R18,74
	ldi R16,27
	xcall _cha_print
	.dbline 819
;     write_print(0x30);       
	ldi R16,48
	xcall _write_print
	.dbline -2
L130:
	adiw R28,32
	xcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r temp 20 c
	.dbsym r kkk 22 c
	.dbsym l onoffbuff 21 A[11:11]c
	.dbsym r temp1 10 i
	.dbsym l a 5 A[16:16]c
	.dbsym r c 12 c
	.dbend
	.dbfunc e zong _zong fV
;           temp -> R20
	.even
_zong::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 826
; }
; 
; 
; 
; /*********************液晶指令集*******************************/
; void zong(uchar temp)                //综合设置
; {
	.dbline 827
;     usart_transmit_char(0x1d);        
	ldi R16,29
	xcall _usart_transmit_char
	.dbline 828
;     usart_transmit_char(0x77);                  
	ldi R16,119
	xcall _usart_transmit_char
	.dbline 829
;     usart_transmit_char(temp);     
	mov R16,R20
	xcall _usart_transmit_char
	.dbline -2
L182:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r temp 20 c
	.dbend
	.dbfunc e clear _clear fV
;           temp -> R20
	.even
_clear::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 833
; }
; 
; void clear(uchar temp)                //清屏
; {
	.dbline 834
;     usart_transmit_char(0x1b);          
	ldi R16,27
	xcall _usart_transmit_char
	.dbline 835
;     usart_transmit_char(0x51);                  
	ldi R16,81
	xcall _usart_transmit_char
	.dbline 836
;     usart_transmit_char(temp);     
	mov R16,R20
	xcall _usart_transmit_char
	.dbline -2
L183:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r temp 20 c
	.dbend
	.dbfunc e colour _colour fV
;          temp3 -> y+4
;          temp2 -> R20
;          temp1 -> R22
	.even
_colour::
	xcall push_gset2
	mov R20,R18
	mov R22,R16
	.dbline -1
	.dbline 841
; }
; 
; 
; void colour(uchar temp1,uchar temp2,uchar temp3)       //设置字符颜色
; {
	.dbline 842
;     usart_transmit_char(0x1D);      
	ldi R16,29
	xcall _usart_transmit_char
	.dbline 843
;     usart_transmit_char(0x75);                  
	ldi R16,117
	xcall _usart_transmit_char
	.dbline 844
;     usart_transmit_char(temp1);           
	mov R16,R22
	xcall _usart_transmit_char
	.dbline 845
;   	usart_transmit_char(temp2);
	mov R16,R20
	xcall _usart_transmit_char
	.dbline 846
;   	usart_transmit_char(temp3);
	ldd R16,y+4
	xcall _usart_transmit_char
	.dbline -2
L184:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym l temp3 4 c
	.dbsym r temp2 20 c
	.dbsym r temp1 22 c
	.dbend
	.dbfunc e sound _sound fV
;          temp1 -> R20
	.even
_sound::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 849
; }
; void sound(uchar temp1)             //蜂鸣器
; {
	.dbline 850
;     usart_transmit_char(0x1D);            
	ldi R16,29
	xcall _usart_transmit_char
	.dbline 851
;   	usart_transmit_char(0x6c);                  
	ldi R16,108
	xcall _usart_transmit_char
	.dbline 852
;   	usart_transmit_char(temp1);   
	mov R16,R20
	xcall _usart_transmit_char
	.dbline -2
L185:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r temp1 20 c
	.dbend
	.dbfunc e xtzb _xtzb fV
;          temp4 -> y+6
;          temp3 -> y+4
;          temp2 -> R20
;          temp1 -> R22
	.even
_xtzb::
	xcall push_gset2
	mov R20,R18
	mov R22,R16
	.dbline -1
	.dbline 855
; }
; void xtzb(uchar temp1,uchar temp2,uchar temp3,uchar temp4)       //系统坐标
; {
	.dbline 856
;     wdr();
	xcall _wdr
	.dbline 857
;     usart_transmit_char(0x1b);  //数字
	ldi R16,27
	xcall _usart_transmit_char
	.dbline 858
;   	usart_transmit_char(0x7a);  //1b 7a X1h X1L Y1h Y1L设置系统坐标
	ldi R16,122
	xcall _usart_transmit_char
	.dbline 859
;   	usart_transmit_char(temp1);  //设置系统坐标(x1,y1)
	mov R16,R22
	xcall _usart_transmit_char
	.dbline 860
;   	usart_transmit_char(temp2);
	mov R16,R20
	xcall _usart_transmit_char
	.dbline 861
;   	usart_transmit_char(temp3);      
	ldd R16,y+4
	xcall _usart_transmit_char
	.dbline 862
;   	usart_transmit_char(temp4);
	ldd R16,y+6
	xcall _usart_transmit_char
	.dbline -2
L186:
	xcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym l temp4 6 c
	.dbsym l temp3 4 c
	.dbsym r temp2 20 c
	.dbsym r temp1 22 c
	.dbend
	.dbfunc e zfjj _zfjj fV
;           temp -> R20
	.even
_zfjj::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 867
; }
; 
; 
; void zfjj(uchar temp)                 //字符间距
; {
	.dbline 868
;     usart_transmit_char(0x1b);//1b 5a n设置字符间距
	ldi R16,27
	xcall _usart_transmit_char
	.dbline 869
;     usart_transmit_char(0x5a);      
	ldi R16,90
	xcall _usart_transmit_char
	.dbline 870
;     usart_transmit_char(temp);//字符间距15点
	mov R16,R20
	xcall _usart_transmit_char
	.dbline -2
L187:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r temp 20 c
	.dbend
	.dbfunc e fdbs _fdbs fV
;           temp -> R20
	.even
_fdbs::
	xcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 873
; }
; void fdbs(uchar temp)                 //放大倍数
; {
	.dbline 874
;     usart_transmit_char(0x1b); //1b 66 n 设置字符放大倍数
	ldi R16,27
	xcall _usart_transmit_char
	.dbline 875
;     usart_transmit_char(0x66);       
	ldi R16,102
	xcall _usart_transmit_char
	.dbline 876
;     usart_transmit_char(temp);//字符放大3倍
	mov R16,R20
	xcall _usart_transmit_char
	.dbline -2
L188:
	xcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r temp 20 c
	.dbend
	.dbfunc e juxing _juxing fV
;            y2l -> y+14
;            y2h -> y+12
;            x2l -> y+10
;            x2h -> y+8
;            y1l -> y+6
;            y1h -> y+4
;            x1l -> R20
;            x1h -> R22
	.even
_juxing::
	xcall push_gset2
	mov R20,R18
	mov R22,R16
	.dbline -1
	.dbline 880
; }
; void juxing(uchar x1h,uchar x1l,uchar y1h,uchar y1l,          //画矩形
;             uchar x2h,uchar x2l,uchar y2h,uchar y2l)
; {   
	.dbline 881
;     wdr();
	xcall _wdr
	.dbline 882
;     usart_transmit_char(0x1b);               
	ldi R16,27
	xcall _usart_transmit_char
	.dbline 883
;   	usart_transmit_char(0x6a);
	ldi R16,106
	xcall _usart_transmit_char
	.dbline 884
;   	usart_transmit_char(x1h);                 //设置系统坐标(x1,y1)
	mov R16,R22
	xcall _usart_transmit_char
	.dbline 885
;   	usart_transmit_char(x1l);
	mov R16,R20
	xcall _usart_transmit_char
	.dbline 886
;   	usart_transmit_char(y1h);  
	ldd R16,y+4
	xcall _usart_transmit_char
	.dbline 887
; 	wdr();    
	xcall _wdr
	.dbline 888
;   	usart_transmit_char(y1l);
	ldd R16,y+6
	xcall _usart_transmit_char
	.dbline 889
;   	usart_transmit_char(x2h);  //设置系统坐标(x2,y2)
	ldd R16,y+8
	xcall _usart_transmit_char
	.dbline 890
;   	usart_transmit_char(x2l);
	ldd

⌨️ 快捷键说明

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