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

📄 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
2811                     ; 11 void init(void)              //初始化函数
2811                     ; 12 {
2813                     	switch	.text
2814  0000               _init:
2818                     ; 13 	CLK_ICKR|=0x08;             // 打开芯片内部的低速振荡器LSI
2820  0000 721650c0      	bset	_CLK_ICKR,#3
2822  0004               L7771:
2823                     ; 14 	while((CLK_ICKR&0x10)==0);        // 等待振荡器稳定
2825  0004 c650c0        	ld	a,_CLK_ICKR
2826  0007 a510          	bcp	a,#16
2827  0009 27f9          	jreq	L7771
2828                     ; 16 	TIM2_EGR=0X01;       //允许产生更新事件
2830  000b 35015304      	mov	_TIM2_EGR,#1
2831                     ; 17 	TIM2_PSCR=0X01;     //分频,使频率为1MHz
2833  000f 3501530c      	mov	_TIM2_PSCR,#1
2834                     ; 19 	TIM2_ARRH=0XC3;     //更新后计数器的值
2836  0013 35c3530d      	mov	_TIM2_ARRH,#195
2837                     ; 20 	TIM2_ARRL=0X50;
2839  0017 3550530e      	mov	_TIM2_ARRL,#80
2840                     ; 22 	TIM2_CR1=0X05;      //允许定时器工作
2842  001b 35055300      	mov	_TIM2_CR1,#5
2843                     ; 23 	TIM2_IER=0X01;     //允许更新中断
2845  001f 35015301      	mov	_TIM2_IER,#1
2846                     ; 24 	_asm("rim");       //汇编语句,启动定时器
2849  0023 9a            rim
2851                     ; 26 }
2854  0024 81            	ret
2880                     ; 28 void main()
2880                     ; 29 {
2881                     	switch	.text
2882  0025               _main:
2886                     ; 31 	init();
2888  0025 add9          	call	_init
2890  0027               L3102:
2891                     ; 34 	 BEEP_CSR=0x26;         //一秒2KHz 
2893  0027 352650f3      	mov	_BEEP_CSR,#38
2895  002b 2004          	jra	L3202
2896  002d               L7102:
2897                     ; 36 			BEEP_CSR=0x2e;       //一秒1KHz 
2899  002d 352e50f3      	mov	_BEEP_CSR,#46
2900  0031               L3202:
2901                     ; 35 		while((t>=20)&&(t<40))
2903  0031 b600          	ld	a,_t
2904  0033 a114          	cp	a,#20
2905  0035 250c          	jrult	L3302
2907  0037 b600          	ld	a,_t
2908  0039 a128          	cp	a,#40
2909  003b 25f0          	jrult	L7102
2910  003d 2004          	jra	L3302
2911  003f               L1302:
2912                     ; 38 		  BEEP_CSR=0x3e;      //一秒500Hz 
2914  003f 353e50f3      	mov	_BEEP_CSR,#62
2915  0043               L3302:
2916                     ; 37 		while((t>=40)&&(t<60))
2918  0043 b600          	ld	a,_t
2919  0045 a128          	cp	a,#40
2920  0047 250c          	jrult	L3402
2922  0049 b600          	ld	a,_t
2923  004b a13c          	cp	a,#60
2924  004d 25f0          	jrult	L1302
2925  004f 2004          	jra	L3402
2926  0051               L1402:
2927                     ; 40 		  BEEP_CSR&=0xdf;      //一秒关闭 
2929  0051 721b50f3      	bres	_BEEP_CSR,#5
2930  0055               L3402:
2931                     ; 39 		while((t>=60)&&(t<80))
2933  0055 b600          	ld	a,_t
2934  0057 a13c          	cp	a,#60
2935  0059 2506          	jrult	L7402
2937  005b b600          	ld	a,_t
2938  005d a150          	cp	a,#80
2939  005f 25f0          	jrult	L1402
2940  0061               L7402:
2941                     ; 41 		if(t>=80)
2943  0061 b600          	ld	a,_t
2944  0063 a150          	cp	a,#80
2945  0065 25c0          	jrult	L3102
2946                     ; 42 		  t=0;    
2948  0067 3f00          	clr	_t
2949  0069 20bc          	jra	L3102
2974                     ; 46 @far @interrupt void TIM2_UP_IRQHandler (void)    //中断函数
2974                     ; 47 
2974                     ; 48 {
2976                     	switch	.text
2977  006b               f_TIM2_UP_IRQHandler:
2981                     ; 49    TIM2_SR1 = 0x00; 
2983  006b 725f5302      	clr	_TIM2_SR1
2984                     ; 50      t++;
2986  006f 3c00          	inc	_t
2987                     ; 51 }
2990  0071 80            	iret
3013                     	xdef	f_TIM2_UP_IRQHandler
3014                     	xdef	_main
3015                     	xdef	_init
3016                     	switch	.ubsct
3017  0000               _t:
3018  0000 00            	ds.b	1
3019                     	xdef	_t
3039                     	end

⌨️ 快捷键说明

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