单片机原理及应用A实验四

(7页)

'单片机原理及应用A实验四'
西南科技大学实验报告课程名称: 单片机原理及应用A 实验名称:UART串口通信及驱动程序设计 姓 名:张德蓉 学 号: 5120141524 班 级: 生医1402 指导教师: 雷华军 西南科技大学信息工程学院制实验题目:1、单片机点对点串口通信要求:甲单片机外接一个3×3矩阵键盘和8个LED;乙单片机外接一个独立按键和一个数码管;甲乙两个单片机通过串口进行通信(即TXD和RXD引脚)。按下甲单片机矩阵键盘的任意一个按键,将该键编号(编号自己设定)通过串口发送给乙单片机,乙单片机在数码管上显示出对应的按键号;按下乙单片机的外接独立按键控制甲单片机的8个LED(按键之前8个LED灯均点亮),具体关系为:(1)第1次按键,乙单片机向甲单片机通过串口发送命令字符A,甲收到该命令,使前4个LED灯亮,后4个不亮;(2)第2次按键,乙单片机向甲单片机通过串口发送命令字符B,甲收到该命令,使前4个LED不亮,后4个亮;(3)第3次按键,乙单片机向甲单片机通过串口发送命令字符C,甲收到该命令,使奇数个灯亮,偶数个灯不亮;(4)第4次按键,乙单片机向甲单片机通过串口发送命令字符D,甲收到该命令,使偶数个灯亮,奇数个灯不亮;(5)第5次按键,乙单片机向甲单片机通过串口发送命令字符E,甲收到该命令,使所有灯都不亮; 2、单片机与计算机串口通信要求:设置单片机的串口为工作方式1,波特率设置为9600。计算机通过串口调试助手向单片机依次发送字符1、2、3、4,单片机收到每个字符后向计算机回复相应的内容 实验目的1、 理解串口通信原理2、 掌握串口调试二、 实验原理1、 矩阵键盘按键设置在行、列线交点上,行、列线分别连接到按键开关的 两端。行线通过上拉电阻接到+5V 电源上。无按键按下时,行线处 于高电平的状态, 而当有按键按下时, 行线电平与此行线相连的列 线电平决定。使行线为编程的输入线,列线是输出线,拉低所有的列线, 判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则 所有的行线都为高电平。在第一步判断有键按下后, 延时 10ms 消除机械抖动,再次读取行值,如果此行线还处于低电平状态则进入下 一步,否则返回第一步重新判断。开始扫描按键位置,采用逐 行扫描,每间隔 1ms 的时间,分别拉低第一列,第二列,第三列,第四 列,无论拉低哪一列其他三列都为高电平,读取行值找到按键的位置, 分别把行值和列值储存在寄存器里。从寄存器中找到行值和列 值并把其合并,得到按键值,对此按键值进行编码,按照从第一行第一 个一直到第四行第四个逐行进行编码,编码值从“0000” 至“1111” , 再进行译码,最后显示按键号码。2、 数码管显示数码管动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。3、 串口串行端口可提供标准的连接器和协议,允许我们将调制解调器等设备连接到计算机上。当今人们使用的所有计算机操作系统都支持串行端口;取名为“串行”端口,是因为这种端口会将数据“串行化”。更具体地说,它一次获取一个字节的数据并传输该字节的8位。这样做的优势在于,串行端口只需要一条线路就能传输8个位,而并行端口则需要8条。相应的劣势在于,其传输数据的用时是拥有八条线路时的8倍。此外,串行端口还可以降低线缆成本,使线缆更加小巧。在发送数据的每个字节之前,串行端口会发送一个开始位,这是一个值为0的单个位。在发送完数据的每个字节之后,它将发送一个停止位,表示该字节已传输完成。此外,它还可以发送奇偶校验位。  串行端口也称为通信(COM)端口,是一种双向端口。在双向通信中,每个设备都可以接收数据和传输数据。串行设备使用不同的针脚来接收和传输数据——如果使用相同的针脚,通信将限制为半双工模式,这表示信息一次只能在一个方向上传播。使用不同的针脚可以实现全双工通信,在这种模式中,信息可以同时在两个方向上传播。三、 实验步骤1、 在编程软件(Keil5)中编写源程序,并编译,改错,形成.hex文件;2、 在仿真软件(Ptoteus)中画出实验所需的外设电路;3、 将生成的.hex文件下载到仿真电路中进行测试;4、 分析结果。四、 实验结果及分析题目1:单片机甲源程序#include<reg52.h>sbit P10 = P1^0;sbit P11 = P1^1;sbit P12 = P1^2;//位设置sbit P13 = P1^3;sbit P14 = P1^4;sbit P15 = P1^5; //位设置void ConfigUART(unsigned int baud)//波特率设置{ SCON = 0x50;//模式选择 TMOD &= 0x0f;//定时器模式选择 TMOD |= 0x20; //定时器模式选择 TH1 = 256 - (11059200/12/32)/baud;//定时器设置初值 TL1 = TH1;//自动重装载 ET1 = 0;//禁止定时器中断 ES = 1;//启动串口中断 TR1 = 1;//启动定时器}void delay(int t){ //延时函数 int j; for(j = 0;j < t; j ++);}void InterruptUART() interrupt 4 //串口中断函数{ if(RI) //接收信号 { RI = 0; //手动清零接收中断标志位 switch(SBUF){ //判断按键次数 case 1:P2 = 0xef;break; case 2:P2 = 0xaa;break; case 3:P2 = 0x55;break; case 4:P2 = 0xda;break; case 5:P2 = 0xb6;break; case 6:P2 = 0xf0;break; } } if(TI) //发送信号 { TI = 0; //手动清零发
关 键 词:
单片机 原理 应用 实验
 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:单片机原理及应用A实验四
链接地址: https://www.wenku365.com/p-44814575.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 https://www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开