导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[waser]C51编程:定时器有些问题!



No.14785
作者:waser
邮件:
ID:6787
登陆:1次
文章数:4篇
最后登陆IP:
最后登陆:2002/11/18 19:13:00
注册:2002/11/18 19:13:00
财富:26
发帖时间:2002/11/20 20:21:00
发贴者IP:218.17.250.82
标题:waser:C51编程:定时器有些问题!
摘要:No.14785C51编程:定时器有些问题! $include (sreg.inc)         ; target controller Special Function Registers
        NAME    ?C_STARTUP
IBPSTACK        EQU        0        ;// 不定义模拟
栈         02-10-30 15:58
IBPSTACKTOP        EQU        0ffH+1
;//IDATALEN        EQU        100H
XDATA_START        EQU        0c000H
XDATA_LENG        EQU        10000H-0c000H

;_DPTV_DEF_        EQU        0    ;DWZ

?C_C51STARTUP    SEGMENT   CODE
?C_INITSEG      SEGMENT   CODE

        EXTRN CODE    (?C_INITSEGSTART)    ;// +YMT,00-9-1 8:18 if 
this declaration is absent,?C_INITSEG will has no termination
        EXTRN CODE    (main)
        EXTRN CODE    (main_loop)
        EXTRN CODE    (CMD_ir_bit_receive)    ;// remote control 
receive interrupt     02-10-30 15:07
        EXTRN CODE    (TM_timer_1_int)    ;// TBT interrupt     02-
10-30 15:07
        EXTRN DATA    (g_hsync_counter)    ;// AFT hsync count     02-
10-30 15:08
;        EXTRN IDATA    (g_scan_h_counter)    ;// -DWZ,A01V01 
needn't g_scan_h_counter     02-10-30 14:47 
;        EXTRN IDATA    (g_scan_v_counter)    ;// -dwz,a01v01 
needn't g_scan_v_counter     02-10-30 14:49 
        EXTRN BIT      (F_t0_int)

        PUBLIC    ?C_STARTUP

        CSEG    AT    0H
?C_STARTUP:
        ljmp    C_START                ; /* 
can't use ljmp main directly,see comment in C_START */
;
        CSEG    AT    3H
        ljmp    CMD_ir_bit_receive
;
        CSEG    AT    7H            ; /* 
fix address for jump to main loop,added at 00-4-19 11:34 */
        ljmp    main_loop            ; /* if it is 
modificated,modify routine TC_to_main_loop() also */
;
        CSEG    AT    0bH            ; /* 
timer 0 */
        setb    F_t0_int
        ljmp    CMD_ir_bit_receive
;
        CSEG    AT    13H
;/*        ++g_hsync_counter    */
        inc        g_hsync_counter
        reti
;
        CSEG    AT    1bH
        ljmp    TM_timer_1_int
;
        CSEG    AT    23H
        reti
;
;        CSEG    AT    2bH
;        clr        ADC
;        reti
;
        CSEG    AT    43H
        reti    ;ljmp    CS_watchdog_int
;
        CSEG    AT    53H
        clr        AVS
        reti    ;ljmp    CS_acq_vsync_int
;
;        CSEG    AT    5bH            ;//-
DWZ,02-10-30 15:03
;        push    ACC                ;//-
DWZ,02-10-30 15:03
;        mov        A,R0            ;//-
DWZ,02-10-30 15:03
;        push    ACC                ;//-
DWZ,02-10-30 15:03
;        clr        DVS            ;//-
DWZ,02-10-30 15:03
;/*        ++g_vsynCounter    */
;        mov        R0,#g_scan_v_counter    ;//-DWZ,02-10-
30 15:03
;        inc        @R0            ;//-
DWZ,02-10-30 15:03
;/*        return;    */
;        pop        ACC            ;//-
DWZ,02-10-30 15:03
;        mov        R0,A            ;//-
DWZ,02-10-30 15:03
;        pop        ACC            ;//-
DWZ,02-10-30 15:03
;        reti                    ;//-
DWZ,02-10-30 15:03
;
        CSEG    AT    93H
        reti    ;ljmp    CS_acq_hsync_int
;
;        CSEG    AT    9bH            ;//-
DWZ,02-10-30 15:03
;        clr        DHS            ;//-
DWZ,02-10-30 15:03
;/*        ++g_scan_h_counter    */
;//        inc        g_scan_h_counter
;        push    ACC                ;//-
DWZ,02-10-30 15:03
;        mov        A,R0            ;//-
DWZ,02-10-30 15:03
;        push    ACC                ;//-
DWZ,02-10-30 15:03
;        mov        R0,#g_scan_h_counter+1    ;//-
DWZ,02-10-30 15:03
;        inc        @R0            ;//-
DWZ,02-10-30 15:03
;        mov        A,@R0            ;//-
DWZ,02-10-30 15:03
;        jnz        _scan_h_ct_end        ;//-
DWZ,02-10-30 15:03
;        dec        R0            ;//-
DWZ,02-10-30 15:03
;        inc        @R0            ;//-
DWZ,02-10-30 15:03
;/*        return;    */
;_scan_h_ct_end:                    ;//-DWZ,02-10-
30 15:03
;        pop        ACC            ;//-
DWZ,02-10-30 15:03
;        mov        R0,A            ;//-
DWZ,02-10-30 15:03
;        pop        ACC            ;//-
DWZ,02-10-30 15:03
;        reti                    ;//-
DWZ,02-10-30 15:03
;
        RSEG    ?C_C51STARTUP

C_START:
IF IBPSTACK <> 0
EXTRN DATA (?C_IBP)

        mov    ?C_IBP,#LOW IBPSTACKTOP
ENDIF
;/*=========02-11-18 9:29============*/
;//if IDATALEN <> 0
;//        MOV    R0,#IDATALEN - 1
;//        CLR    A
;//IDATALOOP:    MOV     ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:47毫秒 最大:5186毫秒 查询6次