⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 从机中断接收通讯子程序.asm

📁 一主多从中断方式,查询方式,完整的单片机通讯程序集合,编译即可应用。
💻 ASM
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;      name:    MCOM:                                                            *
;  FUNCTION:                                             *
;     ENTRY:                                                          *
;                      1   与数据流方向相同                                      *
;               ABUFFER1,ABUFFER2 :该段效果前进方向的末端地址                   *
;               COLOURC:   必须通过前级程序为其赋值:#颜色代码                   *
;               SEG   :(SHIFT TIMES OF 1 ROW)=BYTES-1   THREE BYTES ONE PIPE    *
;                        在该区间(一行,半行,或更少)移动的次数,也就是该区间    *
;                        字节数减1。                                             *
;   出口信息:                                                                   *                                                                *
; 子程序调用:   无                                                              *
;   影响资源:   R0,R1                                                           *
;   堆栈需求:   3字节                                                           *
;   全局变量:    无                                                              *
;   作 者:      孙宗伟                                                          *
;   日 期:      2006年1月1日                                                    *
;   修改人:      孙宗伟                                                          *
;   日 期:      2006年1月1日                                                    *
;   执行时间:   297us~~624us 跟随SEG和PFLAG的取值而变化                         *
;     remark:    USE EXTEND  RAM 61C256                                          *
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                  ;5# ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                  ;从机中断接收方式, 主机中断发送方式
                  ORG    0023H
                  LJMP   SERVE
                  ORG    0050H

        START:    MOV    TMOD,#20H
                  MOV    TL1,#0F3H
                  MOV    TH1,#0F3H
                  SETB   TR1
                  MOV    PCON,#80H  ;SMOD=1
                  MOV    SCON,#0F0H ;11110000B
                  MOV    08H,#50H
                  MOV    09H,#60H
                  SETB   PSW.1
                  SETB   PSW.5
                  SETB   EA
                  SETB   ES
                 ; LJMP   MAIN
                  ;....
       SERVE:     CLR    RI
                  PUSH   ACC
                  PUSH   PSW
                  MOV    A,R0
                  PUSH   A
                  JB     PSW.1,IS_ADDR
                  JB     PSW.5,IS_BYTES
                  MOV    R0,2EH
                  MOV    A,SBUF
                  MOV    @R0,A
                  INC    2EH
                  DJNZ   2FH,RETURN
                  SETB   PSW.1
                  SETB   PSW.5
                  SETB   SM2
        IS_ADDR:  MOV    A,SBUF
                  CJNE   A,#01H,RETURN
                  MOV    SBUF,#01H
         WAIT:    JNB    TI,WAIT
                  CLR    TI
                  CLR    PSW.1
                  CLR    SM2
                  SJMP   RETURN
       IS_BYTES:  MOV    A,SBUF
                  MOV    R0,#60H
                  MOV    @R0,A
                  MOV    2FH,A
                  MOV    2EH,#61H
                  CLR    PSW.5
      RETURN:     POP    A
                  MOV    R0,A
                  POP    A
                  RETI
               

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -