欢迎来到天天文库
浏览记录
ID:52541475
大小:433.50 KB
页数:10页
时间:2020-04-09
《实验三-串行口的基本应用.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、串行通信口的基本应用朱华贵2010年12月22日单片机系统设计2010年12月主要实验内容1.KeilC与Proteus的联合调试2.串行通信口的基本应用KeilC与Proteus的联机应用Proteus与Keil联机步骤如下:下载KeiluVision软件和proteus软件,分别进行安装。1.必须确保系统安装上TCP/IP协议2.把proteus安装目录VDM51.dll(C:ProgramFilesLabcenterElectronicsProteus7ProfessionalMODELS)
2、文件复制到Keil安装目录的C51BIN目录中。3.编辑C51里tools.ini文件,加入:TDRV1=BINVDM51.DLL("PROTEUSVSMMONITOR51DRIVER")(TDRV后的数字自定义,只要不重复则可)4、keil里设置:project-->optionsforproject-->debugtab5、选中useproteusVSMmonitor51(如果想用两台电脑仿真,双击setting,输入IP地址或者DNSname.6、载入proteus文件7、proteus里DE
3、BUG-->useremotedebugmonitor进入KEIL的project菜单optionfortarget'工程名'。在DEBUG选项中右栏上部的下拉菜选中ProteusVSMMonitor-51Driver。在进入seting,如果同一台机IP名为127.0.0.1,如不是同一台机填另单片机技术与嵌入式系统一台的IP地址。端口号一定为8000注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真。8、打开KEIL,按F5开始仿真串行通信口的基本应用一、实验目的1.学习T/C
4、口和串行通信的基本使用方法。2.学习串行通信程序的编写和使用。3.掌握波特率的计算方法.二、实验内容1.利用串行通信的方式0扩展I/O口.2.利用串行通信的方式1实现通信.波特率=2SMOD/32×(T1溢出率)=(2SMOD/32)×((fosc/12)*(2K-X)))1.采用方式0通过串行口输出数据,经过74LS164将串行数据并行输出,控制发光二极管轮回显示。参考程序(C51)#includesbitMR=P1^0;voiddelay(){unsignedinti;for(i=0
5、;i<20000;i++){}}voidmain(){unsignedcharindex;unsignedcharLED;SCON=0;//设置串行模块工作在方式0while(1){MR=1;//74LS164的MR=1,允许输入数据。LED=0xFE;for(index=0;index<8;index++){SBUF=LED;//控制L0灯点亮do{}while(!TI);//通过TI查询判别数据是否输出结束LED=((LED<<1)
6、1);if(LED==0xff)LED=0xfe;delay();}
7、}}2.编写程序实现单片机串行口数据自发自收,并将接收的数据通过P1口输出到发光二极管显示。参考程序(C51)#include#defineucharunsignedchar#defineuintunsignedintmain(){uchari=0x55;uintj=0;TMOD=0x20;//设置定时器1工作在模式2TL1=0xF4;TH1=0xF4;//根据传输的波特率设置定时器1初值PCON=0x00;SCON=0x50;//选择工作方式1,使能收发功能TR1=1;//启动定时器1
8、while(1){SBUF=i;//发送数据do{}while(!RI);//等待发送数据返回RI=0;//软件将标志位RI清0TI=0;//将标志位TI清0i=SBUF;//读取接收数据P1=i;//送入P1口显示i=~i;//将发送数取反for(j=0;j<12500;j++);}}
此文档下载收益归作者所有