?? main.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
2823 ; 9 void delay(uchar a)
2823 ; 10 {
2825 switch .text
2826 0000 _delay:
2828 0000 88 push a
2829 0001 88 push a
2830 00000001 OFST: set 1
2833 ; 12 for(a;a>0;a--)
2836 0002 200c jra L3102
2837 0004 L7002:
2838 ; 13 for(i=0;i<255;i++);
2840 0004 0f01 clr (OFST+0,sp)
2841 0006 L7102:
2845 0006 0c01 inc (OFST+0,sp)
2848 0008 7b01 ld a,(OFST+0,sp)
2849 000a a1ff cp a,#255
2850 000c 25f8 jrult L7102
2851 ; 12 for(a;a>0;a--)
2853 000e 0a02 dec (OFST+1,sp)
2854 0010 L3102:
2857 0010 0d02 tnz (OFST+1,sp)
2858 0012 26f0 jrne L7002
2859 ; 14 }
2862 0014 85 popw x
2863 0015 81 ret
2892 ; 15 void init(void)
2892 ; 16 {
2893 switch .text
2894 0016 _init:
2898 ; 17 TIM2_CCMR2 = TIM2_CCMR2 | 0x70; // 通道2被設置成比較輸出方式
2900 0016 c65306 ld a,_TIM2_CCMR2
2901 0019 aa70 or a,#112
2902 001b c75306 ld _TIM2_CCMR2,a
2903 ; 22 TIM2_CCER1 = TIM2_CCER1 | 0x30;
2905 001e c65308 ld a,_TIM2_CCER1
2906 0021 aa30 or a,#48
2907 0023 c75308 ld _TIM2_CCER1,a
2908 ; 24 TIM2_ARRH = 0;
2910 0026 725f530d clr _TIM2_ARRH
2911 ; 25 TIM2_ARRL = 0xFF; //初始化自動裝載寄存器,決定PWM方波的頻率
2913 002a 35ff530e mov _TIM2_ARRL,#255
2914 ; 27 TIM2_PSCR = 0; // 初始化時鐘分頻器為1,即計數器的時鐘頻率為Fmaster=4MHZ
2916 002e 725f530c clr _TIM2_PSCR
2917 ; 28 TIM2_CR1 = TIM2_CR1 | 0x01; //使能定時器,即啟動 定時器
2919 0032 72105300 bset _TIM2_CR1,#0
2920 ; 29 }
2923 0036 81 ret
2961 ; 30 void main()
2961 ; 31 {
2962 switch .text
2963 0037 _main:
2965 0037 88 push a
2966 00000001 OFST: set 1
2969 ; 33 init();
2971 0038 addc call _init
2973 003a L3502:
2974 ; 37 for(i=0;i<255;i++)
2976 003a 0f01 clr (OFST+0,sp)
2977 003c L7502:
2978 ; 39 TIM2_CCR2H = 0;
2980 003c 725f5311 clr _TIM2_CCR2H
2981 ; 40 TIM2_CCR2L = i;
2983 0040 7b01 ld a,(OFST+0,sp)
2984 0042 c75312 ld _TIM2_CCR2L,a
2985 ; 41 delay(5);
2987 0045 a605 ld a,#5
2988 0047 adb7 call _delay
2990 ; 37 for(i=0;i<255;i++)
2992 0049 0c01 inc (OFST+0,sp)
2995 004b 7b01 ld a,(OFST+0,sp)
2996 004d a1ff cp a,#255
2997 004f 25eb jrult L7502
2998 ; 45 for(i=255;i>0;i--)
3000 0051 a6ff ld a,#255
3001 0053 6b01 ld (OFST+0,sp),a
3002 0055 L5602:
3003 ; 47 TIM2_CCR2H = 0;
3005 0055 725f5311 clr _TIM2_CCR2H
3006 ; 48 TIM2_CCR2L = i;
3008 0059 7b01 ld a,(OFST+0,sp)
3009 005b c75312 ld _TIM2_CCR2L,a
3010 ; 49 delay(5);
3012 005e a605 ld a,#5
3013 0060 ad9e call _delay
3015 ; 45 for(i=255;i>0;i--)
3017 0062 0a01 dec (OFST+0,sp)
3020 0064 0d01 tnz (OFST+0,sp)
3021 0066 26ed jrne L5602
3023 0068 20d0 jra L3502
3036 xdef _main
3037 xdef _init
3038 xdef _delay
3057 end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -