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

上传人:scccc 文档编号:14625214 上传时间:2022-02-10 格式:DOCX 页数:8 大小:173.37KB
返回 下载 相关 举报
单片机实验报告多机通讯.docx_第1页
第1页 / 共8页
单片机实验报告多机通讯.docx_第2页
第2页 / 共8页
单片机实验报告多机通讯.docx_第3页
第3页 / 共8页
单片机实验报告多机通讯.docx_第4页
第4页 / 共8页
单片机实验报告多机通讯.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机实验报告多机通讯.docx》由会员分享,可在线阅读,更多相关《单片机实验报告多机通讯.docx(8页珍藏版)》请在三一文库上搜索。

1、单片机系统设计及应用实验报告第次实验实验名称:单片机串行口与 PC机通讯实验专 业:姓 名:学 号:同组人员:学 号:实验地点:实验时间:2016.12.15评定成绩:审阅教师:目录实验目的 1实验内容及要求 4实验原理及程序设计流程图 5调试过程及相关记录正确源代码 6实验心得 7实验目的(1) 掌握串行口工作方式的程序设计,掌握单片机通讯的编制;(2) 了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议;(3) 了解PC机通讯的基本要求。实验内容及要求利用8051单片机串行口,实现与 PC机通讯。本实验实现以下功能,将从实验板键盘上键入的字符或数字显示到PC机显示器上,再将PC机所接

2、收的字符发送回单片机,并在实验板的LED上显示出来。实验原理89C51内部有一个可编程全双工串行通信接口。该部件不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。本实验LED显示是在方式0下,串行口作为同步移位寄存器使用。 此时SM2 RB8 TB8均应设置为0。发送数据:TI=0时,执行“ MOV SBUFA”启动发送,8位数据由低 位到高位从RX/I脚送出,TXD发送同步脉冲。发送完后,由硬件置位 TI。方式0的波特率为fosc/12 ,即一个机器周期发送或接收一位数据。与PC通讯是方式1: 一帧10位的异步串行通信方式,包括1个起始位,8个数据位和一个停止位。当TI=0时,

3、执行“ MOVSBUF A”指令后开始发送。发送时的定时信号由定时器T1送来的溢出信号经过 16分频或32分频得到的。在接收到第9位数据(即停止位)时,必须同时满足以下两个条件:RI=0和SM2=0或接收到的停止位为“ 1”,才把接收到的数据存入SBUF中,停止位送 RB8,同时置位RI。在方式1下,SM2应设定为0。波特率 初教育资料四.实验流程图主程序子程序四.调试过程及相关数据记录(1) 编写单片机发送和接收程序,并进行汇编调试。运行PC机通讯软件“ commtest.exe ”,将单片机和 PC机的波特率均设定为 1200。(2) 运行单片机发送程序,按下不同按键(每个按键都定义成不同

4、的字符),检查PC机所接收的字符是否与发送的字符相同。(3) 最初,显示的不是数字而是符号,这是通讯软件的设置,HEXM示,没有勾选。只能实现一次数据传输,原因是串口的工作方式改为 0显示led后没有改回方式1。(4) 将PC机所接收的字符发送给单片机,与此同时运行单片机接受程序,检查实验板LED数码管所显示的字符是否与PC机发送的字符相同。调试之前,显示为乱码,修改相关代码后显示正常。六.源代码LED0 EQU 30H ;预设数值缓存存储位置JZ KEYBORDPUSH ATHEN:MOV A, P1 CPL AANL A, #0FFH JNZ THENLCALL LOOPPOP A2JZ

5、KEYBORDJB ACC.0, CH0JB ACC.1, CH1JB ACC.2, CH2JB ACC.3, CH3JB ACC.4, CH4JB ACC.5, CH5JB ACC.6, CH6JB ACC.7, CH7CH0:MOV A,#00HSJMP MAINCH1:MOV A,#01HSJMP MAINCH2:MOV A,#02HSJMP MAINORG 0000H AJMP START ORG 0023H AJMP INT_1ORG 0040HSTART:MOV SP,#30HMOV TMOD,#20 K置定时器工作模式MOV TL1,#0E6H;设置波特率MOV TH1,#0E6

6、HMOV SCON,#50H置串口工作模式MOV PCON,#00HMOV LED0,#0BBH初始化 ledMOV R5,#03HSETB EASETB ESSETB TR1KEYBORD键盘检测按键MOV P1, #0FFHMOV A, P1CPL AJZ KEYBORD;是否全为 0LCALL LOOPMOV A, P1CPL ACH3:BACK:MOV A,#03HRETISJMP MAINCH4:SHOW: ;LED 送显MOV A,#04HMOV A,LED0SJMP MAINMOV SBUF,ACH5:JNB TI, $MOV A,#05HCLR TISJMP MAINL:CH6

7、:MOV A,#00HMOV A,#06HMOV SBUF,ASJMP MAINJNB TI, $CH7:CLR TIMOV A,#07HDJNZ R5, LMAIN:MOV R5,#03HRETCLR ACC.7MOV SBUF,AFIND:; 查找对应断码SJMP KEYBORDMOV DPTR, #TABLE1INT_1:;中断判断是发送还是接收MOV A, R3MOVC A, A+DPTRJNB RI,SENDMOV LED0, ASJMP CEVRETSEND:CLR TI;发送子程序LOOP:MOV SCON, #00HMOV R2, #9FHMOV LED0,#00HMOV R7

8、, #0FFHLCALL SHOWMOV R6, #0FFHMOV SCON, #50HLOOP1:SJMP BACKDJNZ R6, $CEV:LOOP2:DJNZ R7, LOOP2CLR RI;接收子程序DJNZ R2, LOOP1MOV A, SBUF ;接收数据RETMOV R3,AMOV SCON, #00H改变串口工作模式 0TABLE1:LCALL FINDDB 0BBH, 09H,0EAH, 6BH,59H,73H,LCALL SHOWDB 0F3H, 0BH,0FBH,7BH,MOV SCON, #50H换回串口工作模式 10DBH,0F1H,0B2H,0E9H,0F2H,

9、0D2H七.运行结果Q0 01 02 03 N 05 06发送文件落除窗口 | P HE1(显示 重后外般|换小面板帮助|V RTSDSRCTSELSDP 一平位位位制 .U将据止茹控 融渡数停校流文件更新后自动强送友送文仲前直启外磔发送女件前延时1.弼打开文本文件 E,加”3皿,2ER0CU00,KEZ串口号叵话三关闭串口定时发送liouons/ft17 HEX发送字符串输入框:|发送|回TI;12T字节 13二6字节12QDLPs 串口。01己到I开实验结果如上图,可以看出,分别按键S1-S7对应00-07八个数值。当PC发送数据给单片机时,可以在LED上显示对应数值。上图分别为0F和09。八.实验心得本次实验实现的是单片机和 PC的通讯,而单片机与单片机之间的通讯原理和本次实验也是 类同的,我们可以举一反三掌握其通讯方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1