51汇编练习——串行口的传输
编写一个发送程序:采用串口工作方式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汇编练习——串行口的传输相关推荐
- 51单片机:串行口控制寄存器SCON
51单片机:串行口控制寄存器SCON 串行口控制寄存器SCON的格式 D7 D6 D5 D4 D3 D2 D1 D0 SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 98H 位地 ...
- 【51单片机】串行口连接74LS164进行串行/并行转换,输出到一个七段数码管。数码管循环显示0-9。采用串行通信方式0,定时间隔1秒。
实验内容:51单片机的串行口连接74LS164进行串行/并行转换,然后输出到一个七段数码管.数码管循环显示0-9这10个数字.要求采用串行通信方式0,定时间隔1秒. 工具:proteus+keil # ...
- 51单片机学习 串行口通信实验
文章目录 一.实验目的 二.原理 三.实验内容 一.实验目的 掌握串行口工作方式的程序设计,掌握单片机通信程序设计方法. 二.原理 发送指令:MOV SBUF,A 接收指令:MOV A,SBUF 1. ...
- max232c语言,串行口通信(STC89C52+MAX232):串行口通信硬件设计详解
一. STC89C52与MAX232连接原理图 二. 串行口通信原理 1. 基本通信方式 a. 并行通信 定义: 将数据字节的各位用多条数据线同时进行传送, 每一位数据都需要一条传输线, 还需要一条信 ...
- 20.串行口通信原理及操作流程
c 第六章:串行口通信原理及操作流程 6.1并行与串行基本通行方式 单片机通信是指单片机与计算机或单片机与单片机之间的信息交换,后者的通信通常用的较多. 通信有并行和串行龄种方式,在单片机系统以及现代 ...
- C51单片机-串行口2-蓝牙模块-应用例程
一.例程简介 本例程51单片机与蓝牙模块连接,可通过蓝牙模块接收和发送字符串,从而控制测试灯的亮灭.其中使用51单片机的串行口2的工作方式1,即8位UART,波特率可变.波特率设为9600.缺省UAR ...
- 51汇编——定时器中断、串行口中断
定时1s亮灭10次 ORG 0000H LJMP MAIN ORG 000BH LJMP TIMER0 ORG 0030H MAIN: MOV R0,#10 ;循环10次,使定时100ms*10产生1 ...
- 51单片机串行口的使用与串行通信
51单片机串行口的使用与串行通信 串行通信: 俩个概念: RS232接口标准: 串行口的使用: 串行口的结构: 串行口相关寄存器: 串行口的工作方式: 方式0:同步移位寄存器方式 利用方式0扩展并行I ...
- 俩个PC机通过串行口互联,实现件的无差错传输。程序必须用中断方式来完成任务
课程设计(论文)任务书 一.设计题目:1.题目名称 PC机通过串行口互联 2.题目来源 二.目的和意义 俩个PC机通过串行口互联,实现件的无差错传输.程序必须 ...
最新文章
- 1977中文版_历年星云、雨果获奖长篇中文版汇总
- 设置VSCode代码编辑器右侧的Minimap代码缩略图滚动条切换显示、隐藏的快捷键Alt+M
- centos 7 ssh 安装mysql,Centos 7 安装Airflow
- 廖雪峰 python_40岁老男人从0开始学python实录(第1天)
- oracle遇null赋默认值,使用hibernate annotation 为非空列加上默认值
- C指针原理(6)-C内嵌汇编
- OpenGL-坐标系概念
- Viola-Jones人脸检测详解
- Linux 系统之Sysvinit
- C++ 智能指针后面 . 与 -> 运算符的一点体会
- 数据可视化平台由哪些要素组成
- 企业级nginx服务优化(三 )Apache+防盗链
- 加固工程验收规范50550_GB 50550-2010建筑结构加固工程施工质量验收规范
- Arduino学习总结
- POS收银系统报EFI Shell version 2.00错误
- 【Latex】将TIF文件转换成EPS文件
- 解析海康摄像机推送的PS流
- ArcGIS符号导入图片
- 在线词云加载慢,有水印?作为程序员,教你如何使用Java,Python和JS生成词云!
- Latex中TikZ初步使用