单片机实验报告多机通讯.docxVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. . 单片机系统设计及应用实验报告 第 次实验 学号:学号::2016.12.15审阅教师:实验名称: 单片机串行口与 学 号: 学 号: : 2016.12.15 审阅教师: 姓 名: 同组人员: 实 验 地 点实验时间: 评定成绩: 目录 实验目的 1 实验内容及要求 4 实验原理及程序设计流程图 5 调试过程及相关记录 6 正确源代码 6 实验心得 7 一. 实验目的 ( 1) 掌握串行口工作方式的程序设计,掌握单片机通讯的编制; ( 2) 了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议; ( 3) 了解 PC 机通讯的基本要求。 二. 实验内容及要求 利用 8051 单片机串行口,实现与 PC 机通讯。 本实验实现以下功能, 将从实验板键盘上键入的字符或数字显示到 PC 机显示器上, 再将 PC 机所接收的字符发送回单片机,并在实验板的 LED 上显示出来。 三. 实验原理 89C51 内部有一个可编程全双工串行通信接口。该部件不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。 本实验 LED 显示是在方式 0 下,串行口作为同步移位寄存器使用。此时 SM2 、RB8 、 TB8 均应设置为 0。发送数据: TI=0 时,执行“MOV SBUF , A”启动发送, 8 位数据由低位到高位从 RXD 引脚送出, TXD 发送同步脉冲。发送完后,由硬件置位 TI 。 方式 0 的波特率为 fosc/12 ,即一个机器周期发送或接收一位数据。 与 PC 通讯是方式 1:一帧 10 位的异步串行通信方式, 包括 1 个起始位, 8 个数据位和一个停止位。 当 TI=0 时,执行“MOV SBUF , A”指令后开始发送。发送时的定时信号由定时器 T1 送来的溢出信号经过 16 分频或 32 分频得到的。在接收到第 9 位数据(即停止位)时,必须同时满足以下两个条件: RI=0 和 SM2=0 或接收到的停止位为“ 1”,才把接收到的数据存 入 SBUF 中,停止位送 RB8 ,同时置位 RI 。在方式 1 下, SM2 应设定为 0。 波特率 =2SMOD*fOSC32*12*(M-T 初) 四.实验流程图 四. 调试过程及相关数据记录 ( 1) 编写单片机发送和接收程序,并进行汇编调试。 运行 PC 机通讯软件“commtest.exe ”,将单片机和 PC 机的波特率均设定为 1200 。 ( 2) 运行单片机发送程序,按下不同按键(每个按键都定义成不同的字符),检查 PC 机所接收的字符是否与发送的字符相同。 ( 3) 最初,显示的不是数字而是符号,这是通讯软件的设置, HEX 显示,没有勾选。只能实现一次数据传输,原因是串口的工作方式改为 0 显示 led 后没有改回方式 1。 ( 4) 将 PC 机所接收的字符发送给单片机, 与此同时运行单片机接受程序, 检查实验板 LED 数码管所显示的字符是否与 PC 机发送的字符相同。调试之前,显示为乱码,修改相关代码后显示正常。 六.源代码 LED0 EQU 30H ;预设数值缓存存储位置 ORG 0000H AJMP START ORG 0023H AJMP INT_1 ORG 0040H START: MOV SP,#30H MOV TMOD,#20H; 设置定时器工作模式 2 MOV TL1,#0E6H; 设置波特率 MOV TH1,#0E6H MOV SCON,#50H; 设置串口工作模式 MOV PCON,#00H MOV LED0,#0BBH; 初始化 led MOV R5,#03H SETB EA SETB ES SETB TR1 KEYBORD:; 键盘检测按键 MOV P1, #0FFH MOV A, P1 CPL A JZ KEYBORD ; 是否全为 0 LCALL LOOP MOV A, P1 CPL A JZ KEYBORD PUSH A THEN: MOV A, P1 CPL A ANL A, #0FFH JNZ THEN LCALL LOOP POP A JZ KEYBORD JB ACC.0, CH0 JB ACC.1, CH1 JB ACC.2, CH2 JB ACC.3, CH3 JB ACC.4, CH4 JB ACC.5, CH5 JB ACC.6, CH6 JB ACC.7, CH7 CH0: MOV A,#00H SJMP MAIN CH1: MOV A,#01H SJMP MAIN CH2: MOV A,#02H SJMP MAIN CH3: MOV A,#03H SJMP MAIN CH4: MOV A,#04H SJMP MAIN CH5: MOV A,#05H SJMP MAIN

您可能关注的文档

文档评论(0)

AK + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档