导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[zxlzjk]一个正确 Ds1302 汇编程序,那位可



No.43453
作者:zxlzjk
邮件:zhaojiankaibj@sina.com
ID:11428
登陆:7次
文章数:33篇
最后登陆IP:218.244.38.178
最后登陆:2004/3/2 9:54:20
注册:2003/4/21 10:37:03
财富:207
发帖时间:2003/10/15 10:27:33
发贴者IP:218.244.38.178
标题:zxlzjk:一个正确 Ds1302 汇编程序,那位可以用C51语言调用他?帮忙看看。
摘要:No.43453一个正确 Ds1302 汇编程序,那位可以用C51语言调用他?帮忙看看。 一个完全精简得 DS1302汇编程序(51得),可以稳定运行,那位朋友可以用C51语言调用
他,请帮忙给出一个这样得调用示例。

就是C调用汇编函数得常规问题。但结合该具体问题。

参数传递:
CURRENCE_TIME   data    50h
其下得6个字节,分别放年月日,时分秒。

但是汇编程序中,该参数传递用得是R0。

谢谢大家帮忙。


$MOD51

    ORG     0000H
    LJMP    START
    ORG     03H
    LJMP    IntRet
    ORG     000BH
;    LJMP    CLOCK
     LJMP    IntRet
    ORG     13H
    LJMP    IntRet
    ORG     1BH
    LJMP    IntRet
    ORG     23H
    LJMP    IntRet
    ORG     2BH
    LJMP    IntRet
INTRET:
    NOP
    RETI
;                               ;

    ORG     100H
START:  MOV     SP,#62H
    MOV     PSW,#00
    mov     87h,#00h        ; PCON

;...initialize SIO and counter
    MOV     87H,#00H
    MOV     TMOD,#21H       ; working mode of timer1, timer2
;    MOV     A,#B1200
;;    MOV     TH1,A           ; auto-reload for baud rate
;    MOV     TL1,A           ; timer 1
;    MOV     TL0,#TLL0       ; timer0
;    MOV     TH0,#THH0
    SETB    TR0
    SETB    TR1
    MOV     SCON,#0D0H      ; SIO working mode

    nop
    clr     TI
    clr     RI
    mov     SCON,   #0D0h

    lcall    init_time

CLR     A
mov     r0,#CURRENCE_TIME
mov     @r0,#0
inc     r0

mov     @r0,#0
inc     r0

mov     @r0,#0
inc     r0

mov     @r0,#0
inc     r0

mov     @r0,#0
inc     r0

mov     @r0,#0
inc     r0

mov     @r0,#0
inc     r0


    lcall   read_time


     mov a,r7


loop:

    ajmp    loop


;*******************
;*** ADDING HERE ***
;*******************
;..................
;......DS1302......
;..................
;input : @r0
;output : no
;trash :  no
;
init_time:
    mov     r0,#CURRENCE_TIME
    mov     @r0,#30h
    inc     r0
    mov     @r0,#31h
    inc     r0
    mov     @r0,#16h
    inc     r0
    mov     @r0,#21h
    inc     r0
    mov     @r0,#12h
    inc     r0
    mov     @r0,#02h
    mov     r0,#CURRENCE_TIME
    lcall   write_time
    ret

;input : @r0
;output : no
;trash :  r5 : counter  r6 : address  r7 : content
;
write_time:
    mov     a,r7
    PUSH    ACC
    mov     a,r6
    PUSH    ACC
    mov     a,r5
    PUSH    ACC

    mov r6,#8eh
    mov r7,#0
    lcall send_t1  ;WP=0
    mov a,@r0
    mov r7,a
    mov r6,#80h
    lcall send_t1  ;sec
    inc r0
    mov a,@r0
    mov r7,a
    mov r6,#82h
    lcall send_t1  ;min
    inc r0
    mov a,@r0
    mov r7,a
    mov r6,#84h
    lcall send_t1  ;hour
    inc r0
    mov a,@r0
    mov r7,a
    mov r6,#86h
    lcall send_t1  ;dat
    inc r0
    mov a,@r0
    mov r7,a
    mov r6,#88h
    lcall send_t1  ;mon
    inc r0
    mov a,@r0
    mov r7,a
    mov r6,#8ch
    lcall send_t1  ;year

    mov r7,#0a0h
    mov r6,#90h
    lcall send_t1  ;trickle
    mov r7,#0
    mov r6,#0beh
    lcall send_t1  ;burst
 ......

>>返回讨论的主题



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


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

   




老古网执行:16毫秒 最大:78531毫秒 查询6次