单片机原理及应用A试验报告_第1页
单片机原理及应用A试验报告_第2页
单片机原理及应用A试验报告_第3页
单片机原理及应用A试验报告_第4页
单片机原理及应用A试验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——单片机原理及应用A试验报告

UART串口通信

一、试验目的

1、学习试验系统的基本操作,了解在试验系统中进行程序设计、仿真和调试的操作方法和步骤;

2、熟悉Proteus的虚拟仪器的使用;3、熟悉并灵活运用单片机的UART通信功能;4、熟悉虚拟串口在仿真中的应用;

5、实现单片机点对点串口通信,即单片机与单片机间的相互通信;6、实现单片机与计算机串口通信。

二、试验原理

1、如图(1),有甲、乙两个单片机,甲单片机外接一个3×3矩阵键盘和8个LED;乙单片机外接一个独立按键和一个数码管;甲乙两个单片机通过串口进行通信(即TXD和RXD引脚)。

图(1)单片机点对点串口通信电路仿真图

按下甲单片机矩阵键盘的任意一个按键,将该键编号(编号自己设定)通过串口发送给乙单片机,乙单片机在数码管上显示出对应的按键号;

按下乙单片机的外接独立按键控制甲单片机的8个LED(按键之前8个LED灯均点亮),

1

具体关系为:

(1)第1次按键,乙单片机向甲单片机通过串口发送命令字符A,甲收到该命令,使前4个LED灯亮,后4个不亮;

(2)第2次按键,乙单片机向甲单片机通过串口发送命令字符B,甲收到该命令,使前4个LED不亮,后4个亮;

(3)第3次按键,乙单片机向甲单片机通过串口发送命令字符C,甲收到该命令,使奇数个灯亮,偶数个灯不亮;

(4)第4次按键,乙单片机向甲单片机通过串口发送命令字符D,甲收到该命令,使偶数个灯亮,奇数个灯不亮;

(5)第5次按键,乙单片机向甲单片机通过串口发送命令字符E,甲收到该命令,使所有灯都不亮。

2、单片机与计算机串口通信,如图(2),需要一个单片机和一个COMPIM器件,连接电路时,将单片机的RXD和COMPIM的RXD相连,单片机的TXD与COMPIM的TXD相连,即同名引脚相连,其它的引脚悬空。

图(2)单片机与与计算机串口通信电路仿真图

试验内容:设置单片机的串口为工作方式1,波特率设置为9600。计算机通过串口调试

2

助手向单片机依次发送字符1、2、3、4,单片机收到每个字符后向计算机回复相应的内容,具体要求如表1所示:

表1单片机与计算机通信内容

计算机发送字符1234其它字符单片机返回的内容5120231519ZhangKangSiChuanNanChongTianChaoError!三、试验步骤

1、硬件仿真。先分析试验所需的硬件条件,然后在Proteus上连接好硬件电路,注意连接好必要的电阻等。

2、软件编写。在Keil或其它的单片机编程软件上用C语言编写出构思好的软件。3、将程序编译为HEX文件,然后烧录到仿真单片机中,进行仿真。4、分析试验结果,找出问题并解决。

四、试验结果及分析

1、两个试验都基本实现了要求。

图(3)单片机点对点串口通信试验结果

3

图(4)单片机与计算机通信试验结果

五、体会

程序的调试依旧是最难的了,可能调试很久都不会有结果。但是,当你休息后再来时可能就茅塞顿开了。所以,有时做软件实在做不出来时不妨先去放松一下,然后再来。

六、附件

程序:

单片机点对点串口通信,单片机甲:

/*******************************************************************************试验名:UART通信单片机甲*功能:通过矩阵键盘控制单片机乙的数码管显示相应数字,同时接受单片机乙的信号并让LED有不同的显示状态。

******************************************************************************/#includesbitP13=P1^3;//键盘列扫描端sbitP14=P1^4;//键盘列扫描端sbitP15=P1^5;//键盘列扫描端charSendDate;//发送的数据charLED[]={0xf0,0x0f,0x55,0x99,0xff,//LED显示模式数组0x89,0x23,0x45,0x78,0x88};

/*******************************************************************************函数名:UART_Init

*函数功能:UART初始化函数,设置UART通讯的规则并开启定时器。*输入:unsignedintbaud*输出:无

******************************************************************************/

charUART_Init(unsignedintbaud){SCON=0x50;//设置UART通信模式为模式一PCON=PCON|0x80;//设置为高速模式TMOD=(TMOD//定时器1工作模式为自动重装模式TH1=0x100-(11059200/12/16/baud);//配置波特率TL1=TH1;TR1=1;ES=1;//开启串口中断return0;

4

}

/********************************************************************************函数名:UART_Inter

*函数功能*输入:UART中断函数,实现数据的发送功能。******************************************************************************/输出::无无

voidUART_Inter()interrupt4{inta;if(RI)//数据存储{//接收标志RI=0;a=SBUF;P2=LED[a];//LED显示}if(TI){TI=0;}

}/********************************************************************************函数名*函数功能:main

:主函数,矩阵键盘扫描并发送信号。*输入******************************************************************************/输出::无无

voidmain(){charDate;//储存上次发送的数据UART_Init(9600);EA=1;//设置波特率为9600P1=0xff;////开启总中断设置为输入模式while(1){Data=SendDate;P1=0xfe;//矩阵键盘扫描if(P13==0)SendDate=1;elseif(P14==0)SendDate=2;elseif(P15==0)SendDate=3;P1=0xfd;if(P13==0)SendDate=4;elseif(P14==0)elseif(P15==0)SendDate=5;SendDate=6;P1=0xfb;if(P13==0)SendDate=7;elseif(P14==0)SendDate=8;elseif(P15==0)if(SendDate!=Date)SendDate=9;//若有新的数据则发送}

}SBUF=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论