实验四 串行口实验.docx

上传人:牧羊曲112 文档编号:5175330 上传时间:2023-06-11 格式:DOCX 页数:6 大小:249.44KB
返回 下载 相关 举报
实验四 串行口实验.docx_第1页
第1页 / 共6页
实验四 串行口实验.docx_第2页
第2页 / 共6页
实验四 串行口实验.docx_第3页
第3页 / 共6页
实验四 串行口实验.docx_第4页
第4页 / 共6页
实验四 串行口实验.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《实验四 串行口实验.docx》由会员分享,可在线阅读,更多相关《实验四 串行口实验.docx(6页珍藏版)》请在三一办公上搜索。

1、【1.实验目的和要求】(1)掌握8051单片机串行口工作原理;(2)掌握串口编程与调试方法;(3)掌握TDS220示波器的使用【2.实验工具与软件】计算机、Keil uVision4集成开发环境、Proteus 8 Professional仿真软件【3.主要原理和方法步骤】(1)任务说明 单片机外连4*4的键盘矩阵,每次按击按键,串口自动将键值发送给上位机; 上位机可下发数据(单字节,自定义)禁止或开启键盘扫描键值上传功能,并用一个发光二极管 指示状态(点亮:代表键值允许上传;熄灭:代表键值禁止上传)。 开机时,系统默认为按键值禁止上传。(2)仿真电路原理图(3) 软件流程图开抬按祯巧搦通过昆

2、口发医 舞值给上位机(4) 实例代码及注释分析#include sbit LED_KEY = P2A0;unsigned char key_value=16; 键值unsigned char ascii_num10 = (0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39; 数字 09 的ASCII码unsigned char flag, temp;void delay_ms(unsigned int ms) /ms 延时函数(*)(unsigned int i;while(ms-)for(i = 0; i 4 a 0x0f;/

3、高4位输入,低4位输出switch(temp)case 1: value += 0; break;case 2: value += 1; break;case 4: value += 2; break;case 8: value += 3;while(P1!=0xf0);return value;void main()SCON=0x50; 方式1, 10位异步收发(8位数据)PCON=0x00; 波特率不加倍TH1=0xFD; 设置波特率为9600TL1=0XFD;TMOD=0X20; 工作方式2,自动重载的8位的定时器/计数器EA=1; 总中断允许ES=1; 串口中断使能TR1=1; 开始计

4、时while(1)if(flag = 1) 点亮LED,允许接收下位机数据LED_KEY = 0;P1 = 0x0f;if(P1 != 0x0f) 如果有按键按下delay_ms(10);if(P1 != 0x0f) 去抖动key_value = keys_scan();按键扫描,获取键值if(key_value != 16) 如果有按键按下,向上位机发送键值 putc_to_SenalPort( S);if(key_value/10!=0)putc_to_SerialPort(ascii_numkey_value/10);putc_to_SerialPort(ascii_numkey_val

5、ue%10);puts_to_SerialPort(rnH);key_value = 16;Else 熄灭LED,不允许向上位机发送数据LED_KEY = 1;void intrr() interrupt 4if(RI) 接收上位机发送的数据temp = SBUF;if(temp = 0x31)flag=1;if(temp = 0x30)flag=0;RI=0;【4.数据记录】(1)发光二极管处于熄灭状态,按下矩阵键盘的按键,不能向虚拟主机发送数据;(2)虚拟主机发送数据“ 1”给单片机,点亮发光二极管,表示允许上传功能,按下矩阵键盘的按键,将键值发送给虚拟主机,在虚拟窗口中显示接收到的键值;

6、(3)虚拟主机发送数据“0”给单片机,熄灭发光二极管,表示禁止上传功能,按下矩阵键盘的按键,虚拟主机不能够接收到的键值;-JIVirtual TerminalSIS15P1i/r&PiaAW P7 P2-PA1JP2!A13 PlfliA-M PJ7IJ.-EPlFJ.-3MXFJ.7;MJ7IFJ.lrtJC:- TS.I.TMC- P3 P.iTHTC- F 3 KTT pjerei n3 3.T1 Fl p) i珂【5.实验思考与小结】通过本次串口实验,我掌握8051单片机串行口工作原理以及串口编程与调试的方法,对串口通信的知 识了解的更透彻,怎么去使用virtual terminal虚拟主机去仿真,其中特别要注意的就是串行通信的波特率要 一致,以及测试程序和仿真器件的晶振频率要一致。由于不注意,在这里花费了比较长的时间进行调试。 这是在刚开始对串口通信知识不了解的情况下就编程而造成许多错误之后才得到的结果。不过总的来说收 获不错!评语:教师:日期:

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号