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

📄 main.ls

📁 STM8S105S4程序
💻 LS
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Parser V4.9.10 - 10 Feb 2011
   3                     ; Generator (Limited) V4.3.6 - 15 Feb 2011
2776                     	bsct
2777  0000               _table0:
2778  0000 b9e3b6abb9a4  	dc.b	185,227,182,171,185,164
2779  0006 d2b5b4f3d1a7  	dc.b	210,181,180,243,209,167,0
2780  000d               _table1:
2781  000d b5e7d7d3bfc6  	dc.b	181,231,215,211,191,198
2782  0013 bcbcd0adbbe1  	dc.b	188,188,208,173,187,225,0
2783  001a               _table2:
2784  001a 207777772e67  	dc.b	" www.gdutelc.cn",0
2842                     ; 11 void delay(uchar a)
2842                     ; 12 {
2844                     	switch	.text
2845  0000               _delay:
2847  0000 88            	push	a
2848  0001 88            	push	a
2849       00000001      OFST:	set	1
2852                     ; 14     for(a;a>0;a--)
2855  0002 200c          	jra	L3102
2856  0004               L7002:
2857                     ; 15       for(i=0;i<250;i++);
2859  0004 0f01          	clr	(OFST+0,sp)
2860  0006               L7102:
2864  0006 0c01          	inc	(OFST+0,sp)
2867  0008 7b01          	ld	a,(OFST+0,sp)
2868  000a a1fa          	cp	a,#250
2869  000c 25f8          	jrult	L7102
2870                     ; 14     for(a;a>0;a--)
2872  000e 0a02          	dec	(OFST+1,sp)
2873  0010               L3102:
2876  0010 0d02          	tnz	(OFST+1,sp)
2877  0012 26f0          	jrne	L7002
2878                     ; 16 }
2881  0014 85            	popw	x
2882  0015 81            	ret
2911                     ; 17 void init_stm8(void)
2911                     ; 18 {
2912                     	switch	.text
2913  0016               _init_stm8:
2917                     ; 19     PA_DDR=0x70;
2919  0016 35705002      	mov	_PA_DDR,#112
2920                     ; 20     PA_CR1=0x70;
2922  001a 35705003      	mov	_PA_CR1,#112
2923                     ; 21     PA_CR2=0x00;
2925  001e 725f5004      	clr	_PA_CR2
2926                     ; 23     PB_DDR=0xff;
2928  0022 35ff5007      	mov	_PB_DDR,#255
2929                     ; 24     PB_CR1=0xff;
2931  0026 35ff5008      	mov	_PB_CR1,#255
2932                     ; 25     PB_CR2=0x00;	
2934  002a 725f5009      	clr	_PB_CR2
2935                     ; 26 }
2938  002e 81            	ret
2963                     ; 28 void init_12864(void)
2963                     ; 29 { 
2964                     	switch	.text
2965  002f               _init_12864:
2969                     ; 30   write_com(0x38);
2971  002f a638          	ld	a,#56
2972  0031 ad15          	call	_write_com
2974                     ; 31     write_com(0x0c);
2976  0033 a60c          	ld	a,#12
2977  0035 ad11          	call	_write_com
2979                     ; 32     write_com(0x06);
2981  0037 a606          	ld	a,#6
2982  0039 ad0d          	call	_write_com
2984                     ; 33     write_com(0x01);
2986  003b a601          	ld	a,#1
2987  003d ad09          	call	_write_com
2989                     ; 34     write_com(0x80);
2991  003f a680          	ld	a,#128
2992  0041 ad05          	call	_write_com
2994                     ; 35     RW=0;
2996  0043 721b5000      	bres	_RW
2997                     ; 36 }
3000  0047 81            	ret
3038                     ; 38 void write_com(uchar com)
3038                     ; 39 {
3039                     	switch	.text
3040  0048               _write_com:
3044                     ; 40     RS=0;
3046  0048 72195000      	bres	_RS
3047                     ; 41     E=0;
3049  004c 721d5000      	bres	_E
3050                     ; 42     PB_ODR=com;
3052  0050 c75005        	ld	_PB_ODR,a
3053                     ; 43     delay(2);
3055  0053 a602          	ld	a,#2
3056  0055 ada9          	call	_delay
3058                     ; 44     E=1;
3060  0057 721c5000      	bset	_E
3061                     ; 45     E=0;
3063  005b 721d5000      	bres	_E
3064                     ; 46 }
3067  005f 81            	ret
3105                     ; 48 void write_data(uchar data)
3105                     ; 49 {
3106                     	switch	.text
3107  0060               _write_data:
3111                     ; 50     RS=1;
3113  0060 72185000      	bset	_RS
3114                     ; 51     E=0;
3116  0064 721d5000      	bres	_E
3117                     ; 52     PB_ODR=data;
3119  0068 c75005        	ld	_PB_ODR,a
3120                     ; 53     delay(2);
3122  006b a602          	ld	a,#2
3123  006d ad91          	call	_delay
3125                     ; 54     E=1;
3127  006f 721c5000      	bset	_E
3128                     ; 55     E=0;
3130  0073 721d5000      	bres	_E
3131                     ; 56 }
3134  0077 81            	ret
3171                     ; 57 void display(uchar *s)
3171                     ; 58 {
3172                     	switch	.text
3173  0078               _display:
3175  0078 89            	pushw	x
3176       00000000      OFST:	set	0
3179  0079 2012          	jra	L1212
3180  007b               L7112:
3181                     ; 61         write_data(*s++);
3183  007b 1e01          	ldw	x,(OFST+1,sp)
3184  007d 1c0001        	addw	x,#1
3185  0080 1f01          	ldw	(OFST+1,sp),x
3186  0082 1d0001        	subw	x,#1
3187  0085 f6            	ld	a,(x)
3188  0086 add8          	call	_write_data
3190                     ; 62         delay(200);
3192  0088 a6c8          	ld	a,#200
3193  008a cd0000        	call	_delay
3195  008d               L1212:
3196                     ; 59     while(*s>0)
3198  008d 1e01          	ldw	x,(OFST+1,sp)
3199  008f 7d            	tnz	(x)
3200  0090 26e9          	jrne	L7112
3201                     ; 64 }
3204  0092 85            	popw	x
3205  0093 81            	ret
3235                     ; 66 void main()
3235                     ; 67 { 
3236                     	switch	.text
3237  0094               _main:
3241                     ; 69     init_stm8();
3243  0094 ad80          	call	_init_stm8
3245                     ; 70     init_12864();
3247  0096 ad97          	call	_init_12864
3249                     ; 71     write_com(0x81);
3251  0098 a681          	ld	a,#129
3252  009a adac          	call	_write_com
3254                     ; 72     display(table0);
3256  009c ae0000        	ldw	x,#_table0
3257  009f add7          	call	_display
3259                     ; 74     write_com(0x91);
3261  00a1 a691          	ld	a,#145
3262  00a3 ada3          	call	_write_com
3264                     ; 75     display(table1);
3266  00a5 ae000d        	ldw	x,#_table1
3267  00a8 adce          	call	_display
3269                     ; 76     write_com(0x88);
3271  00aa a688          	ld	a,#136
3272  00ac ad9a          	call	_write_com
3274                     ; 77     display(table2);
3276  00ae ae001a        	ldw	x,#_table2
3277  00b1 adc5          	call	_display
3279  00b3               L5312:
3280                     ; 78     while(1);
3282  00b3 20fe          	jra	L5312
3357                     	xdef	_main
3358                     	xdef	_display
3359                     	xdef	_write_data
3360                     	xdef	_init_12864
3361                     	xdef	_init_stm8
3362                     	xdef	_delay
3363                     	xdef	_write_com
3364                     	xdef	_table2
3365                     	xdef	_table1
3366                     	xdef	_table0
3385                     	end

⌨️ 快捷键说明

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