2482|0

6

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求助:这个程序,ORG有错? [复制链接]

这个程序,用软件调试, 显示第五行的  “org     000bh           ;定时器T0中断入口地址”这一段  ORG错~~~~  请教一下各位,该怎么修改?

org     0000h           ;复位地址
        ljmp    start
        org     0030h           ;外部中断0中断入口地址
        reti
        org     000bh           ;定时器T0中断入口地址
        reti
        org     0013h           ;外中断1中断入口地址
        ljmp    int1serve
        org     001bh           ;定时器T1中断入口地址
        ljmp    t1serve
        org     0023h           ;串行口中断入口地址
        reti
        org     002bh           ;定时器T2中断入口地址
        reti
;***********************************************   
;***********************************************                       
clear:   mov     p1,#0FFH       ;P1、P2口位置
        mov     p3,#0ffh
        clr     p3.5             ;关遥控输出
      



mov     sp,#70h         ;设堆栈
      

  mov     ie,#00h         ;关总中断
        mov     ip,#04h         ;设优先级
        mov     tmod,#20h       ;设定时器2自动重装模式
        mov     th1,#0f3h        ;定时13us
        mov     tl1,#0f3h
        setb    ex1              ;开外部1
        setb    it1
        setb    ea                ;开总中断
        ret
;***********************************************     
;***********************************************  
start:    lcall   clear              ;调初始化程序
main:   lcall   keywork            ;调键盘程序
        orl     pcon,#01h          ;进入低功耗待机状态
        ljmp    main
        nop                       ;设置软件陷阱
        nop
        nop
        ljmp    start
;***********************************************  
;***********************************************               
int1serve:
        clr     ie1
        anl     pcon,#00h          ;触发待机状态苏醒
        reti
;***********************************************  
;***********************************************                        
t1serve:
        cpl     p3.5               ;高频调制
        reti
        nop                       ;设置软件陷阱
        nop
        nop
        ljmp    start
;***********************************************        
;***********************************************         
keywork:
        mov     p1,#0ffh           ;置列线
        clr     p3.7                 ;清行线
        mov     a,p1
        mov     b,a
        cjne    a,#0ffh,key1          ; 有键按下则不等转移
keyworkout:
        nop
        nop
        ret                         ;键盘程序返回
key1:   lcall   delay5ms              ;延时抖动
        mov     a,p1
        cjne    a,b,keyworkout        ;确认键按下
        mov     dptr,#keyworktab1
        mov     b,a                  ;查列号
        clr     A
        mov     r0,a
key2:   mov     a,r0                    ;
        subb    a,#08h
        jnc     keyworkout
        mov     a,r0
        movc    a,@a+dptr
        inc     r0
        cjne    a,b,key2
        dec     r0
        mov     a,r0             ;键号放入A
        mov     b,a              ;键号乘3处理LJMP散转指令
        add     a,b
        add     a,b
        mov     dptr,#keyworktab2
        jmp     @a+dptr
keyworktab2:
        ljmp    fucation0             ;转对应功能处理
        ljmp    fucation1                       
        ljmp    fucation2      
        ljmp    fucation3      
        ljmp    fucation4      
        ljmp    fucation5      
        ret
keyworktab1:
        db      0feh,0fdh,0fbh,0f7h,0efh,0dfh,0bfh,07fh
        ret     
;******************************************************
;******************************************************
fucation0:
        mov     a,#02h      ;脉冲个数装载
        ljmp    send         ;转发射程序
        ret
fucation1:
        mov     a,#03h
        ljmp    send
        ret     
        
fucation2:
        mov     a,#04h
        ljmp    send
fucation3:
        mov     a,#05h
        ljmp    send
        ret     
fucation4:
        mov     a,#06h
        ljmp    send
        ret     
        
fucation5:
        mov     a,#07h
        ljmp    send
        ret     
        nop                    ;设置软件陷阱
        nop
        nop
        ljmp    start
;*****************************************************
;*****************************************************
send:   mov     r1,a           ;装入发射脉冲个数
send0:  mov     r0,#0fah       ;第一个码
        ajmp    send2
send1:  mov     r0,#53h        ;中间码
send2:  setb    et1            ;开高频定时中断调制
        setb    tr1
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        nop
        djnz    r0,send2              ;
        mov     r0,#64h                 ;码距
sendout:clr     tr1                        ;关高频定时调制
        clr     et1
        clr     p3.5
        nop
        nop
        nop
        nop
        nop
        djnz    r0,sendout
        djnz    r1,send1                ;
        clr     p3.0                    ;开工作指示灯
        lcall   delay500ms
        setb    p3.0
        ret
        nop                            ;设置软件陷阱
        nop
        nop
        ljmp    start
;*********************************************************
;*********************************************************
delay5ms:
        mov     r7,#45
delay5ms1:
        mov     r6,#54
delay5ms2:
        djnz    r6,delay5ms2
        djnz    r7,delay5ms1
        ret
        nop                      ;设置软件陷阱
        nop
        nop
        ljmp    start   
;***********************************************************   
;***********************************************************
delay10ms:
        mov     r7,#90
delay10ms1:
        mov     r6,#54
delay10ms2:
        djnz    r6,delay10ms2
        djnz    r7,delay10ms1
        ret
        nop                     ;设置软件陷阱
        nop
        nop
        ljmp    start           
;***********************************************************;
;***********************************************************
delay500ms:
        mov     r5,#50
delay500ms1:
        lcall   delay10ms
        djnz    r5,delay500ms1
        ret
        nop                  设置软件陷阱
        nop
        nop
        ljmp    start           
        end
        ;
此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表