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

📄 main.ls

📁 STM8S105S4程序
💻 LS
📖 第 1 页 / 共 2 页
字号:
3158  00ee 2610          	jrne	L7512
3159                     ; 90 				 case 0xc0:num=1;
3161  00f0 35010000      	mov	_num,#1
3162                     ; 91 									break;
3164  00f4 200a          	jra	L7512
3165  00f6               L5402:
3166                     ; 92 				 case 0xa0:num=5;
3168  00f6 35050000      	mov	_num,#5
3169                     ; 93 									break;
3171  00fa 2004          	jra	L7512
3172  00fc               L7402:
3173                     ; 94 				 case 0x60:num=9;
3175  00fc 35090000      	mov	_num,#9
3176                     ; 95 									break;
3178  0100               L3512:
3180  0100               L7512:
3181                     ; 97 			 while((PC_IDR&0xe0)!=0xe0);
3183  0100 c6500b        	ld	a,_PC_IDR
3184  0103 a4e0          	and	a,#224
3185  0105 a1e0          	cp	a,#224
3186  0107 26f7          	jrne	L7512
3187  0109               L5412:
3188                     ; 101 		PE_ODR=0X22;
3190  0109 35225014      	mov	_PE_ODR,#34
3191                     ; 102 	PD_ODR=0x80;
3193  010d 3580500f      	mov	_PD_ODR,#128
3194                     ; 103 	if((PE_IDR&0x40)==0)
3196  0111 c65015        	ld	a,_PE_IDR
3197  0114 a540          	bcp	a,#64
3198  0116 2610          	jrne	L3612
3199                     ; 105     num=14;
3201  0118 350e0000      	mov	_num,#14
3202                     ; 106 		delay(5);
3204  011c a605          	ld	a,#5
3205  011e cd0000        	call	_delay
3208  0121               L7612:
3209                     ; 107 		while((PE_IDR&0x40)==0);
3211  0121 c65015        	ld	a,_PE_IDR
3212  0124 a540          	bcp	a,#64
3213  0126 27f9          	jreq	L7612
3214  0128               L3612:
3215                     ; 109 	temp=PC_IDR&0xe0;
3217  0128 c6500b        	ld	a,_PC_IDR
3218  012b a4e0          	and	a,#224
3219  012d 6b01          	ld	(OFST+0,sp),a
3220                     ; 110 	if(temp!=0xe0)
3222  012f 7b01          	ld	a,(OFST+0,sp)
3223  0131 a1e0          	cp	a,#224
3224  0133 2739          	jreq	L3712
3225                     ; 112 		 delay(5);
3227  0135 a605          	ld	a,#5
3228  0137 cd0000        	call	_delay
3230                     ; 113 		 temp=PC_IDR&0xe0;
3232  013a c6500b        	ld	a,_PC_IDR
3233  013d a4e0          	and	a,#224
3234  013f 6b01          	ld	(OFST+0,sp),a
3235                     ; 114 		 if(temp!=0xe0)
3237  0141 7b01          	ld	a,(OFST+0,sp)
3238  0143 a1e0          	cp	a,#224
3239  0145 2727          	jreq	L3712
3240                     ; 116 			 switch(temp)
3242  0147 7b01          	ld	a,(OFST+0,sp)
3244                     ; 123 									break;
3245  0149 a060          	sub	a,#96
3246  014b 2714          	jreq	L5502
3247  014d a040          	sub	a,#64
3248  014f 270a          	jreq	L3502
3249  0151 a020          	sub	a,#32
3250  0153 2610          	jrne	L5022
3251                     ; 118 				 case 0xc0:num=2;
3253  0155 35020000      	mov	_num,#2
3254                     ; 119 									break;
3256  0159 200a          	jra	L5022
3257  015b               L3502:
3258                     ; 120 				 case 0xa0:num=6;
3260  015b 35060000      	mov	_num,#6
3261                     ; 121 									break;
3263  015f 2004          	jra	L5022
3264  0161               L5502:
3265                     ; 122 				 case 0x60:num=10;
3267  0161 350a0000      	mov	_num,#10
3268                     ; 123 									break;
3270  0165               L1022:
3272  0165               L5022:
3273                     ; 125 			 while((PC_IDR&0xe0)!=0xe0);
3275  0165 c6500b        	ld	a,_PC_IDR
3276  0168 a4e0          	and	a,#224
3277  016a a1e0          	cp	a,#224
3278  016c 26f7          	jrne	L5022
3279  016e               L3712:
3280                     ; 129 	PE_ODR=0X06;
3282  016e 35065014      	mov	_PE_ODR,#6
3283                     ; 130 	PD_ODR=0x80;
3285  0172 3580500f      	mov	_PD_ODR,#128
3286                     ; 131 	if((PE_IDR&0x40)==0)
3288  0176 c65015        	ld	a,_PE_IDR
3289  0179 a540          	bcp	a,#64
3290  017b 2610          	jrne	L1122
3291                     ; 133     num=15;
3293  017d 350f0000      	mov	_num,#15
3294                     ; 134 		delay(5);
3296  0181 a605          	ld	a,#5
3297  0183 cd0000        	call	_delay
3300  0186               L5122:
3301                     ; 135 		while((PE_IDR&0x40)==0);
3303  0186 c65015        	ld	a,_PE_IDR
3304  0189 a540          	bcp	a,#64
3305  018b 27f9          	jreq	L5122
3306  018d               L1122:
3307                     ; 137 	temp=PC_IDR&0xe0;
3309  018d c6500b        	ld	a,_PC_IDR
3310  0190 a4e0          	and	a,#224
3311  0192 6b01          	ld	(OFST+0,sp),a
3312                     ; 138 	if(temp!=0xe0)
3314  0194 7b01          	ld	a,(OFST+0,sp)
3315  0196 a1e0          	cp	a,#224
3316  0198 2739          	jreq	L1222
3317                     ; 140 		 delay(5);
3319  019a a605          	ld	a,#5
3320  019c cd0000        	call	_delay
3322                     ; 141 		 temp=PC_IDR&0xe0;
3324  019f c6500b        	ld	a,_PC_IDR
3325  01a2 a4e0          	and	a,#224
3326  01a4 6b01          	ld	(OFST+0,sp),a
3327                     ; 142 		 if(temp!=0xe0)
3329  01a6 7b01          	ld	a,(OFST+0,sp)
3330  01a8 a1e0          	cp	a,#224
3331  01aa 2727          	jreq	L1222
3332                     ; 144 			 switch(temp)
3334  01ac 7b01          	ld	a,(OFST+0,sp)
3336                     ; 151 									break;
3337  01ae a060          	sub	a,#96
3338  01b0 2714          	jreq	L3602
3339  01b2 a040          	sub	a,#64
3340  01b4 270a          	jreq	L1602
3341  01b6 a020          	sub	a,#32
3342  01b8 2610          	jrne	L3322
3343                     ; 146 				 case 0xc0:num=3;
3345  01ba 35030000      	mov	_num,#3
3346                     ; 147 									break;
3348  01be 200a          	jra	L3322
3349  01c0               L1602:
3350                     ; 148 				 case 0xa0:num=7;
3352  01c0 35070000      	mov	_num,#7
3353                     ; 149 									break;
3355  01c4 2004          	jra	L3322
3356  01c6               L3602:
3357                     ; 150 				 case 0x60:num=11;
3359  01c6 350b0000      	mov	_num,#11
3360                     ; 151 									break;
3362  01ca               L7222:
3364  01ca               L3322:
3365                     ; 153 			 while((PC_IDR&0xe0)!=0xe0);
3367  01ca c6500b        	ld	a,_PC_IDR
3368  01cd a4e0          	and	a,#224
3369  01cf a1e0          	cp	a,#224
3370  01d1 26f7          	jrne	L3322
3371  01d3               L1222:
3372                     ; 157   return num;    	
3374  01d3 b600          	ld	a,_num
3377  01d5 5b01          	addw	sp,#1
3378  01d7 81            	ret
3417                     ; 160 void main()
3417                     ; 161 {
3418                     	switch	.text
3419  01d8               _main:
3421  01d8 88            	push	a
3422       00000001      OFST:	set	1
3425                     ; 163 	init();
3427  01d9 cd0016        	call	_init
3429  01dc               L5522:
3430                     ; 166 		n=keys();              //把函数keys()的返回值num赋给n
3432  01dc cd0037        	call	_keys
3434  01df 6b01          	ld	(OFST+0,sp),a
3435                     ; 167 		PB_ODR=table[n];        
3437  01e1 7b01          	ld	a,(OFST+0,sp)
3438  01e3 5f            	clrw	x
3439  01e4 97            	ld	xl,a
3440  01e5 e600          	ld	a,(_table,x)
3441  01e7 c75005        	ld	_PB_ODR,a
3442                     ; 168 		PC_ODR|=0x00;          //选择第一个数码管
3444  01ea c6500a        	ld	a,_PC_ODR
3446  01ed 20ed          	jra	L5522
3480                     	xdef	_main
3481                     	xdef	_keys
3482                     	xdef	_init
3483                     	xdef	_delay
3484                     	switch	.ubsct
3485  0000               _num:
3486  0000 00            	ds.b	1
3487                     	xdef	_num
3488                     	xdef	_table
3508                     	end

⌨️ 快捷键说明

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