测速程序  帮忙看下是否合理
pankewen2010/01/27电磁炮 IP:江苏
前两天有人帮忙编了个程序,大家帮忙看下合理么。谢谢了

;实习程序
        org 0000h
        AJMP IBAB
        org 0003h
        ajmp i_int0                    测速信号1中断
        ORG  0013H
        LJMP i_int1                    测速信号2中断

;主程序入口        
          ORG 0030H
IBAB:   CLR A                                工作单元清零
                MOV R0,#20H
                MOV R1,#60H
A1c:    MOV @R0,A
                INC R0
                DJNZ R1,A1c
                MOV TH0,a
          mov TL0,a
          mov sp,#60h
;中断初始化
        MOV IE,#83H             ;enable int0,int1
                setb it0
          setb it1                
          MOV TMOD,#11H           ;ctc0工作在16位计时状态
          setb ex0                                
          setb ex1
loop:   mov r0,#25h                            
                mov r1,#41h                            41-44h为显示缓冲区
                lcall bi_b                            速度 二进制转十进制
                lcall xs                                显示速度
                jnb 20h.0,loop
                mov r4,#01h                            100000=0186a0(二进制)
                mov r3,#86h
                mov r2,#0a0h
                mov r6,22h                            ts->r6,r5
                mov r5,23h
                acall div3_2                        计算速度=100000/ts
                mov 25h,r3
                mov 26h,r2
                ajmp loop


          

;显示子程序
XS:     MOV  R0,#44H                指示灯状态地址
          MOV  R1,#05H
          MOV  R2,#08H                指示灯位控
          MOV  DPTR,#dbs1
XS1:    MOV  A,@R0
        MOVC A,@A+DPTR
          MOV  P0,A
          anl  P2,#07H
          MOV  A,R2
          ORL  P2,A
          ACALL XSYS
          DEC R0
          mov a,r2
          clr c
          rlc a
          mov r2,a
          DJNZ R1,XS1
          mov a,#07h
          orl p2,a
          RET  
    
;共阴极数码表格      
dbs1:   DB      3FH    0  0
                DB      06H    1  1
                DB      5BH    2  2
                DB      4FH    3  3
                DB      66H    4  4
                DB      6DH    5  5
                DB      7DH    6  6
                DB      07H    7  7
                DB      7FH    8  8
                DB      6FH    9  9
  
;动态显示延时    1ms
XSYS:   MOV     R7,#0fFH      07fh
XSYS1:  NOP  
                nop  
          DJNZ    R7,XSYS1
          RET
;双字节二进制r0转4位十进制程序r1          
bi_b:   mov a,@r0
          mov r7,a
          inc r0
          mov a,@r0
          mov r6,a
          mov r1,#5ch
          mov r3,#03h
          mov r2,#0e8h
b1:     clr c
          mov a,r6
          subb a,r2
          xch a,r7
          subb a,r3
          xch a,r7
          mov r6,a
          jc b2
          inc @r1
          ajmp b1
b2:     clr c
          mov a,r6
          add a,r2
          xch a,r7
          addc a,r3
          xch a,r7
          mov r6,a
          inc r1
b3:     clr c
          mov r3,#00h
          mov r2,#64h
          mov a,r6
          subb a,r2
          xch a,r7
          subb a,r3
          xch a,r7
          mov r6,a
          jc b4
          inc @r1
          ajmp b3
b4:     clr c
          mov a,r6
          add a,r2
          xch a,r7
          addc a,r3
          xch a,r7
          mov r6,a
          inc r1
b5:     clr c
          mov a,r6
          subb a,#0ah
          mov r6,a
          jc b6
          inc @r1
          ajmp b5
b6:     add a,#0ah
          inc r1
          mov @r1,a
          ret

;    测速信号0中断
I_int0: PUSH ACC
                PUSH PSW
                set tr0
                SET ET0
                clr a
                mov th0,a
                mov tl0,a
                clr 20h.0
          POP PSW
                POP ACC
                RETI
;    测速信号1中断
I_int0: PUSH ACC
                PUSH PSW
                clr tr0
                CLR ET0
                setb 20h.0                采样标准有效
                mov 22h,th0
                mov 23h,tl0                采样时间保存(单位微秒)
          POP PSW
                POP ACC
                RETI
;多字节除法子程序
div3_2: clr a                   ;R4R3R2/R6R5->R4R3R2  /R7R1
          mov r1,a
          mov r7,a
          mov r0,#18h
dv0:    setb c
          mov a,r2
          rlc a
          mov r2,a
          mov a,r3
          rlc a
          mov r3,a
          mov a,r4
          rlc a
          mov r4,a
          acall su16
          jnc dv1
          jb f0,dv1        
          acall ad16
dv1:    djnz r0,dv0
          ret
su16:   mov a,r1
          rlc a
          mov r1,a
          mov a,r7
          rlc a
          mov r7,a
          mov f0,c        
          clr c
          mov a,r1
          subb a,r5
          mov r1,a
          mov a,r7
          subb a,r6
          mov r7,a
          ret    
ad16:   dec r2
          mov a,r1
          add a,r5
          xch a,r7
          addc a,r6
          xch a,r7
          mov r1,a
          ret
end
来自:物理高能技术 / 电磁炮
9
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也

想参与大家的讨论?现在就 登录 或者 注册

pankewen
学者 机友 笔友
文章
169
回复
584
学术分
1
2009/06/26注册,2个月1天前活动
暂无简介
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:未同步
文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}