编写一个发送程序:采用串口工作方式1将8051单片机P1口采集的8位数据实时串行传输。无需奇偶校验,采用中断方式。波特率为9600波特(晶振频率为11.0592MHz)。

ORG 0000H
LJMP MAIN
ORG 0023H ;串行口中断入口地址
LJMP INT_TI
ORG 0030HMAIN:MOV SCON,#40H ;串行口工作方式1,REN发送时取0,接收时取1
MOV PCON,#00H ;SMOD置0
MOV TMOD,#20H ;定时计数器工作方式2
MOV TH1,#0FDH ;设置溢出率初值
MOV TL1,#0FDH
SETB TR1 ;TCON按位寻址,打开定时计数器
MOV IE,#90H ;开启中断使能
MOV RO,#90H ;P1口首地址
MOV R2,#08H ;计数
LCALL SEND
SJMP $INT_TI:CLR TI ;串行接口控制器发送中断标志
INC R0 ;地址加1
DJNZ R2,CONT
CLR ES;关闭中断JIESHU: RETICONT:LCALL SEND ;调用中断传输子程序
SJMP JIESHU ;传输完成后结束程序SEND:MOV A,@R0 ;读入P1口采集的数据
MOV SBUF,A ;串行口发送数据
RET
END

编写一个接收程序:8051单片机采用串口工作方式1接收8位串行数据,由P1口输出。无需奇偶校验,采用中断方式。波特率为9600波特(晶振频率为11.0592MHz)。

ORG 0000H
LJMP MAIN
ORG 0023H ;串行口中断入口地址
LJMP INT_RI
ORG 0030HMAIN:MOV SCON,#50H ;串行口工作方式1
MOV PCON,#00H ;SMOD置0
MOV TMOD,#20H ;定时计数器工作方式2
MOV TH1,#0FDH ;设置溢出率初值
MOV TL1,#0FDH
SETB TR1 ;打开定时计数器
MOV IE,#90H ;
MOV RO,#90H ;P1口首地址
MOV R2,#08H ;计数
SJMP $INT_RI:CLR RI ;串行接口控制器接收中断标志
MOV A,SBUF ;串行口接收数据
INC R0 ;地址加1
DJNZ R2,JIESHOUJIESHOU:MOV @R0,A;串行口接收数据放入P1
DJNZ,R2,ERR
CLR ES  ERR: RETI
END

如果需要加上奇偶校验,只需奇偶校验位TB8取1,并在中断服务子程序中添上:

INT_RI:MOV A,SBUF ;以接收数据结束为例
MOV C,P
JC LP0
JB RB8,ERR ;RB8奇偶校验标志位
SJMP JIESHOULP0:JNB RB8,ERR

51汇编练习——串行口的传输相关推荐

  1. 51单片机:串行口控制寄存器SCON

    51单片机:串行口控制寄存器SCON 串行口控制寄存器SCON的格式 D7 D6 D5 D4 D3 D2 D1 D0 SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 98H 位地 ...

  2. 【51单片机】串行口连接74LS164进行串行/并行转换,输出到一个七段数码管。数码管循环显示0-9。采用串行通信方式0,定时间隔1秒。

    实验内容:51单片机的串行口连接74LS164进行串行/并行转换,然后输出到一个七段数码管.数码管循环显示0-9这10个数字.要求采用串行通信方式0,定时间隔1秒. 工具:proteus+keil # ...

  3. 51单片机学习 串行口通信实验

    文章目录 一.实验目的 二.原理 三.实验内容 一.实验目的 掌握串行口工作方式的程序设计,掌握单片机通信程序设计方法. 二.原理 发送指令:MOV SBUF,A 接收指令:MOV A,SBUF 1. ...

  4. max232c语言,串行口通信(STC89C52+MAX232):串行口通信硬件设计详解

    一. STC89C52与MAX232连接原理图 二. 串行口通信原理 1. 基本通信方式 a. 并行通信 定义: 将数据字节的各位用多条数据线同时进行传送, 每一位数据都需要一条传输线, 还需要一条信 ...

  5. 20.串行口通信原理及操作流程

    c 第六章:串行口通信原理及操作流程 6.1并行与串行基本通行方式 单片机通信是指单片机与计算机或单片机与单片机之间的信息交换,后者的通信通常用的较多. 通信有并行和串行龄种方式,在单片机系统以及现代 ...

  6. C51单片机-串行口2-蓝牙模块-应用例程

    一.例程简介 本例程51单片机与蓝牙模块连接,可通过蓝牙模块接收和发送字符串,从而控制测试灯的亮灭.其中使用51单片机的串行口2的工作方式1,即8位UART,波特率可变.波特率设为9600.缺省UAR ...

  7. 51汇编——定时器中断、串行口中断

    定时1s亮灭10次 ORG 0000H LJMP MAIN ORG 000BH LJMP TIMER0 ORG 0030H MAIN: MOV R0,#10 ;循环10次,使定时100ms*10产生1 ...

  8. 51单片机串行口的使用与串行通信

    51单片机串行口的使用与串行通信 串行通信: 俩个概念: RS232接口标准: 串行口的使用: 串行口的结构: 串行口相关寄存器: 串行口的工作方式: 方式0:同步移位寄存器方式 利用方式0扩展并行I ...

  9. 俩个PC机通过串行口互联,实现件的无差错传输。程序必须用中断方式来完成任务

      课程设计(论文)任务书 一.设计题目:1.题目名称      PC机通过串行口互联 2.题目来源               二.目的和意义 俩个PC机通过串行口互联,实现件的无差错传输.程序必须 ...

最新文章

  1. 1977中文版_历年星云、雨果获奖长篇中文版汇总
  2. 设置VSCode代码编辑器右侧的Minimap代码缩略图滚动条切换显示、隐藏的快捷键Alt+M
  3. centos 7 ssh 安装mysql,Centos 7 安装Airflow
  4. 廖雪峰 python_40岁老男人从0开始学python实录(第1天)
  5. oracle遇null赋默认值,使用hibernate annotation 为非空列加上默认值
  6. C指针原理(6)-C内嵌汇编
  7. OpenGL-坐标系概念
  8. Viola-Jones人脸检测详解
  9. Linux 系统之Sysvinit
  10. C++ 智能指针后面 . 与 -> 运算符的一点体会
  11. 数据可视化平台由哪些要素组成
  12. 企业级nginx服务优化(三 )Apache+防盗链
  13. 加固工程验收规范50550_GB 50550-2010建筑结构加固工程施工质量验收规范
  14. Arduino学习总结
  15. POS收银系统报EFI Shell version 2.00错误
  16. 【Latex】将TIF文件转换成EPS文件
  17. 解析海康摄像机推送的PS流
  18. ArcGIS符号导入图片
  19. 在线词云加载慢,有水印?作为程序员,教你如何使用Java,Python和JS生成词云!
  20. Latex中TikZ初步使用

热门文章

  1. 苹果手机桌面找不到计算机,如果iPhone上的短信图标不见了怎么办? Apple 6s短信图标消失了...
  2. k8s的rbac授权操作
  3. solaris tcp参数调整实例
  4. KTV和影院我都要——飞利浦B5856真实体验分享
  5. 实验04 顺序图与协作图
  6. 信息技术计算机的飞速发展,飞速发展的信息技术
  7. 电池手机管家-检测内存充电清理助手
  8. 利用封装到bean的原理解析JsonArray(很实用哦)
  9. 【视频聊天】一个简单demo
  10. 信息系统管理工程师考试笔记(选择题)