导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[fangqi923]一个数字中程序,请高手帮我看看,为什么走



No.24601
作者:fangqi923
邮件:fangqi@sina.com
ID:10742
登陆:1次
文章数:13篇
最后登陆IP:61.240.13.67
最后登陆:2003/5/15 18:04:32
注册:2003/3/31 23:24:53
财富:141
发帖时间:2003/4/11 23:05:45
发贴者IP:210.52.160.144
标题:fangqi923:一个数字中程序,请高手帮我看看,为什么走时不准确。
摘要:No.24601一个数字中程序,请高手帮我看看,为什么走时不准确。 关于这个程序是我修改别人的,我有两个问题,希望高手能够给我回答一下
1。为什么这个数字钟的走时不准确,上面的数字都是算过了,请高手给看看,是不是有什么缺陷!
2。如果加上调整时间,和闹表的功能,具体的应该怎么做呢?给一点思路,好吗?

我是菜鸟,不是很懂,但是一定要弄明白,希望高手能给我指点,3Q!


$INCLUDE  (C8051F020.INC)
;P1口输出BCD码,  P2口的0,1,2,3输出位地址数据
;----------------------------------------------
;程序从0000H单元开始
org 0000h
    ljmp ks
;------------------------------------------
;设置中断跳转程序地址入口
org 000bh;T0定时中断0入口地址
    ljmp ds0zd;跳转到T0中断程序
org 0013h;INT1中断入口地址
    ljmp zd1;跳到INT1中断程序
org 001bh;T1中断入口地址
    ljmp ds1zd;跳到定时中断1程序
;-------------------------------------------
;主程序开始设置各个寄存器和初始值,使之按一定的要求来完成
ks:
    MOV OSCXCN,#60H
  mov wdtcn,#0deh
    mov wdtcn,#0adh
    mov xbr0,#04h
    mov xbr1,#1eh
    mov xbr2,#40h
    mov p0mdout,#0ffh
    mov p1mdout,#0ffh;两口复位
    mov p2mdout,#0ffh
    mov p3mdout,#0ffh
    mov ckcon,#08h
WAIT:  mov a,oscxcn
    jnb acc.7,WAIT
    mov r0,#00h
    mov r1,#00h
    mov r2,#00h
    mov r3,#00h
    mov r4,#00h
    mov r5,#00h
    mov r6,#00h
    mov r7,#00h
    mov sp,#30h
    mov 10h,#14h;T0中断20次(产生10ms信号)14
    mov 11h,#64h;产生1秒信号64
    mov th0,#06h;设置定时器0的计数初值
    mov tl0,#06h
    mov th1,#0ffh;设置定时器1的计数初值
    mov tl1,#0ffh
    mov tmod,#0e2h;将T0设置为内定时,工作方式2;T1设置为外计数,工作方式2
    mov ip,#02h;将定时器0的优先级设置为1
    mov ie,#8fh;中断0,1定时中断0,1开
    mov tcon,#50h;定时器开始工作
;-------------------------------------------------
;显示程序开始
xscx00:;显示程序,将需要显示的位数和需要显示的数据起始地址写入再将BCD码表写入dptr
    mov a,#00h
    mov r0,#04h;将要显示数据的起始地址写入R0(这里是从分钟开始)
    mov dptr,#zb0;将LED码表写入DPTR
    mov r1,#04h;将所需要的显示位数写入R1
xscx01:
    mov a,@r0;将数据传到A
    movc a,@a+dptr;将所需要显示的BCD码写入A
    mov p1,a;将BCD码传到P1口
    mov a,p2;将位地址读入A
    cjne a,#0ffh,guo;检查位地址是0ffh,若不是则跳过,若是运行下一步
    mov p2,#01h;将第一位传到P2口
    ljmp tiaoguo;跳转到tiaoguo
guo:
    rl a;A中内容左移一位
    mov p2,a;将位地址传出到P2口
tiaoguo:
    lcall ys0
    inc r0
    djnz r1,xscx01 ......

>>返回讨论的主题



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


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

   




老古网执行:31毫秒 最大:54049毫秒 查询6次