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

📄 串口通信.asm

📁 汇编程序
💻 ASM
字号:
;说明: 1.将表TAB中的256个数据通过串口发送
;      2.串口接收到的数据保存在内部RAM的80H到0FFH单元,超过数据覆盖低位地址




        ORG   0000H
        AJMP  START          ;转主程序
        ORG   0023H
        AJMP  ACINT          ;转串口中断程序
        ORG   0030H

;***************串口中断入口******************
ACINT:
        MOV   SBUF,A         ;从串行数据缓冲寄存器取值
        CLR   RI             ;清接收中断标志
        MOV   @R0,A          ;接收到的值送内部RAM保存
        INC   R0             ;RAM地址自增
        CJNE  R0,#00H,ACINT1 ;判是否写满?
        MOV   R0,#80H        ;重设初值
ACINT1:
        RETI                 ;中断返回

;***************主程序开始******************
START:
        MOV   SP,#30H        ;设堆栈首址
        MOV   R0,#80H
        MOV   TMOD,#20H      ;开定时器1工作方式2
        MOV   TL1,#0FDH      ;
        MOV   TH1,#0FDH      ;9600波特率
        SETB  EA             ;开总中断使能
        SETB  ES             ;开串口中断
        MOV   PCON,#00H      ;波特率不加倍
        MOV   SCON,#40H      ;串口工作方式2,RET=1允许接收
        SETB  TR1            ;启动T1
        MOV   R2,#00H        ;计数初值为0
        MOV   DPTR,#TAB      ;送数据表首址
START1:
        MOV   A,R2
        MOVC  A,@A+DPTR      ;取数据
        MOV   SBUF,A         ;送串口发送
        JNB   TI,$           ;查询发送是否完毕
        CLR   TI             ;发送完清发送中断标志
        INC   R2             ;计数值自增
        CJNE  R2,#00H,START1 ;判是否发完256个数据?
        AJMP  $              ;发完则循环等待

;数据表
TAB:
        DB  14H,24H,44H,84H,64H,1CH,20H,18H,0FH,0E8H,08H,08H,28H,18H,08H,00H
        DB  40H,041H,0CEH,04H,00H,0FCH,04H,02H,02H,0FCH,04H,04H,04H,0FCH,00H,00H
        DB  00H,40H,42H,44H,5CH,0C8H,40H,7FH,40H,0C0H,50H,4EH,44H,60H,40H,00H
        DB  00H,0F8H,00H,00H,0FEH,40H,30H,8FH,0AH,08H,18H,68H,08H,88H,08H,00H
        DB  04H,04H,0E4H,24H,24H,64H,0B4H,2FH,24H,0A4H,64H,24H,24H,0E6H,04H,00H
        DB  20H,10H,08H,0FCH,03H,02H,10H,10H,7FH,88H,88H,84H,86H,0E4H,00H,00H
        DB  20H,20H,20H,20H,20H,20H,0A0H,7FH,0A0H,20H,20H,20H,20H,20H,20H,00H
        DB  40H,30H,10H,12H,5CH,54H,50H,51H,5EH,0D4H,50H,18H,57H,32H,10H,00H
        DB  20H,10H,4CH,43H,43H,2CH,20H,10H,0CH,03H,06H,18H,30H,60H,20H,00H
        DB  40H,20H,1FH,20H,40H,47H,42H,41H,40H,5FH,40H,42H,44H,43H,40H,00H
        DB  00H,80H,40H,20H,18H,07H,00H,00H,00H,3FH,40H,40H,40H,40H,78H,00H
        DB  00H,1FH,00H,00H,7FH,00H,00H,7FH,21H,21H,3FH,21H,21H,7FH,01H,00H
        DB  00H,00H,7FH,04H,05H,05H,05H,7FH,05H,05H,05H,25H,44H,3FH,00H,00H
        DB  00H,04H,04H,05H,04H,04H,04H,0FFH,04H,04H,04H,04H,04H,04H,04H,00H
        DB  00H,80H,04H,20H,10H,0CH,03H,00H,01H,06H,08H,30H,60H,0C0H,40H,00H
        DB  00H,02H,02H,02H,02H,02H,42H,82H,7FH,02H,02H,02H,02H,02H,02H,00H

        END


⌨️ 快捷键说明

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