实验六 8051单片机串行口实验

上传人:feng****heng 文档编号:210812178 上传时间:2023-05-18 格式:DOCX 页数:7 大小:237.91KB
返回 下载 相关 举报
实验六 8051单片机串行口实验_第1页
第1页 / 共7页
实验六 8051单片机串行口实验_第2页
第2页 / 共7页
实验六 8051单片机串行口实验_第3页
第3页 / 共7页
点击查看更多>>
资源描述
实验六 8051 单片机串行口实验一 实验目的:理解 8051单片机串行口工作原理和方式。学习和掌握8051 单片机实现通讯的环境和程 序编写。了解PC机通讯的基本要求。二 实验原理:在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间 的通信一般都是串行方式。所以串行接口是微机应用系统常用的接口。所谓“串行通信”是指 外设和计算机间使用一根数据信号线(另外需要地线,可能还需要控制线),数据在一根数据信 号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。如图6-1所示。这种 通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传 输慢。|D0|Dl|D2|D3|D4:|D5|D6|D7 |Tt le图6-1在串行通讯时, RS-232C 接口是目前最常用的一种串行通讯接口, RS-232C 使用-3 到-25V表示数字“1”,使用3V到25V表示数字“0”,RS-232C在空闲时处于逻辑“1”状态。 8051单片机上有UART用于串行通信,发送时由TXD端送出数据,接收时则由RXD端输 入数据。它是一个可编程的全双工串行口。SCON是串行口控制和状态寄存器,其格式如下:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRI表 6-1其中, SM0,SM1 为串行口工作方式控制位,具体的工作方式如下表(表6-2)所示SM0SM1工作方式说明波特率00方式0同步移位寄存器fosc/1201方式110位异步收发由定时器控制10方式211位异步收发fosc/32 或 fosc/6411方式311位异步收发由定时器控制SM2为多机通信控制位,当SM2=1时,只有接受到RB8为1, RI才置位,当SM2=0时, 接受到字符RI就置位。REN为串行口接收允许位。工作在方式2和3时,TB8为发送的第9 位数据,也可以用作奇偶校验位,RB8为接受到的第9位数据,而方式1时,RB8为接受到 的停止位。 TI, RI 分别为发送接受中断标志位,均由硬件置位,软件清0 。PCON 是电源控制寄存器,其格式如下:D7D6D5D4D3D2D1D0SMODGF1GF0PDIDL表 6-3其中,SMOD为串行口波特率加倍位。当SMOD=1时,方式1,3波特率=定时器1溢出率 /16,方式2波特率为fosc/32;当SMOD=0时,方式1,3波特率=定时器1溢出率/32,方 式2波特率为fosc/64。三 实验内容: 单片机与微机相连,微机键入一个字符后发送至单片机,单片机收到后又将此字符发送 回微机,在微机屏幕上回显。要求在11.0592MHZ下,串行口的波特率为9600,方式1。四 实验电路图:图 6-2VCCC1+rJ+Cl-rJ-C2+i资IDC2-T10TJTTIDTT2OUTT2D-TRIOTR10TJTR2IHJL20UTPIO-TVCCP11.CPi:n:iP12P01P1Z:P02P1+詹 P03P15囂P04P16POJP17P06P07RESETEA/VPP2-JLDTR Cii孑EXDTKDPSEtTINTOn-mTOP26T1P23WRP24RDP23KTAL2P22KTAL1P21EHDP2039383736353433323130” 2827262524232221实验方法:1. 根据如上电路图6-2连接好实验电路。自己接线请注意,DB9的2脚与MAX232的R2IN 相连,DB9的3脚与MAX232的T2OUT相连。DB9用针型插座,这样,单片机与PC 通信时,两者是同等地位, PC 可以作为主机向单片机发送数据,单片机也可以作为主 机向PC发送数据。2. 如果用他实验板就比较简单了,因为板上本来已经接好,只要用串行数据线将J9与PC 的串行口相连即可进行通信。3. 按照实验要求编写实验程序,建立新工程,保存为 COMMU。4. 调试程序。5 将 keilC51 产生的 commu.hex 文件通过在线下载 ISP 或商用编程器写入芯片。在进行硬 件调试时,可以使用专用的串口通讯软件。这种软件种类很多,可以很方便得从网上下 载。使用串口通讯软件,如下图所示,当然也可以设置通信的参数,进行串口通信的调 试。图 6-3六 软件调试1. 我们所用的KEIL C51也可以用软件来模拟串口调试此类软件。 操作步骤:a) 按照实验要求编写实验程序,建立新工程,保存为 serial。b) 编译程序通过后,点击工具栏上的“调试” 按钮,进入调试状态。图 6-4c) 单击“View”,单击“Serial #1”,打开串口 1窗口,如下图所示。图 6-5d) 点击程序界面的最大化按钮,使程序窗口和串口窗口同时可见。如下图所示。图 6-5e)单击“开始”按钮,使程序开始运行。翡區)內予呼弋图 6-6f) 在键盘上输入任意字符,根据程序的功能,此时会把接收到的字符发出,显示在串 口的窗口上。如下图所示:图 6-7g) 单击“停止”按钮,使程序结束运行。如下图所示图 6-8h) 检查程序运行情况。ifi# i nc 1 l.ide void main(vo1d)串行口初始代while(RI=0); RI = 0;a=SBUF;SBUF=a; | while(TI=0);TI = 0;unsigned char aTMOD=0k20;TLl=0Kfd;THl=0Kfd;SCON=0k50;PCON=OkOO;TR1=1;while(1)图 6-9其中绿色部分表示程序已经运行过了。参考程序:1汇编源程序ORG0000HSTART:MOVTMOD,#20HMOVTL1,#0FDHMOVTH1,#0FDHMOVSCON,#50HCLRAMOVPCON,ASETBTR1NEXT:JNBRI,NEXTMOVR7,SBUFMOVSBUF,R7AGAIN:JNBTI,AGAINCLRTILJMPSTARTEND;设置串行口 9600 波特率,方式 1;接收数据;发送数据2C 语言源程序/kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk串/行/ 口初始化/单片机接收数据/单片机发送数据* 文件名: commu.c* 描 述: 微机发送数据到单片机,单片机接收后又发还至微机, 并在微机屏幕上显示kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk#include void main(void)unsigned char a;TMOD=0x20;TL1=0xfd;TH1=0xfd;SCON=0x50;PCON=0x00;TR1=1;while(1)while(RI=0);RI=0; a=SBUF; SBUF=a;while(TI=0);TI=0;思考题:1. 用串口连接单片机和PC,用单片机发出一串字符,让PC显示2. 用串口连接单片机和PC, PC上输入字母L时,让单片机点亮一个LED, PC上输入字 母 B 时,让单片机熄灭这个 LED。3. 尝试在此软件的基础上,加入实验二发光二极管闪烁的内容。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!