单片机课程设计报告-实现单片机PC串行双工通信_第1页
单片机课程设计报告-实现单片机PC串行双工通信_第2页
单片机课程设计报告-实现单片机PC串行双工通信_第3页
单片机课程设计报告-实现单片机PC串行双工通信_第4页
单片机课程设计报告-实现单片机PC串行双工通信_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、-. z课程设计任务书学生:*专业班级:*指导教师:*工作单位:*题 目:实现单片机与PC串行双工通信初始条件:具备数字电路的理论知识;具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80*86的CPU构造和指令系统;熟悉相关常用接口电路的设计使用方法。要求完成的主要任务:包括课程设计工作量及其技术要求,以及说明书撰写等具体要求分析设计原理,画出程序设计框图,编写程序代码,完成PC和单片机的串行双工通信,单片机的P1口接一共阴数码管,阴极接地。要求PC键盘每按0-9数字键能发送到单片机,并显示在数码管上,单片机发送一串字符能显示在PC的屏幕上,采用查询方式。波特率为1200。在Pr

2、oteus中画出电路图。完成程序的仿真测试,并演示系统的最终运行结果;独立完成课程设计说明书,课程设计说明书按学校统一规来撰写。时间安排:(1)、布置课程设计任务,查阅资料,完成系统需求分析 一天;(2)、用Proteus实现系统原理图的设计、仿真和结果显示 三天;(3)、完成课程设计报告书及辩论 一天;指导教师签名: 年 月 日系主任或责任教师签名: 年 月 日-. z目录TOC o 1-1 h z t 标题 2,2,标题 3,3HYPERLINK l _Toc235089593摘要 PAGEREF _Toc235089593 h IHYPERLINK l _Toc2350895941 芯片

3、介绍 PAGEREF _Toc235089594 h 1HYPERLINK l _Toc2350895951.1 89C51简介 PAGEREF _Toc235089595 h 1HYPERLINK l _Toc2350895961.2 MA*232简介 PAGEREF _Toc235089596 h 1HYPERLINK l _Toc2350895972 原理介绍 PAGEREF _Toc235089597 h 2HYPERLINK l _Toc2350895982.1 串行通信介绍 PAGEREF _Toc235089598 h 2HYPERLINK l _Toc2350895992.2

4、串行接口标准 PAGEREF _Toc235089599 h 2HYPERLINK l _Toc2350896002.3 单片机串口简介 PAGEREF _Toc235089600 h 3HYPERLINK l _Toc2350896013 程序设计 PAGEREF _Toc235089601 h 4HYPERLINK l _Toc2350896023.1 单片机串口编程 PAGEREF _Toc235089602 h 4HYPERLINK l _Toc2350896033.2 程序流程图 PAGEREF _Toc235089603 h 5HYPERLINK l _Toc2350896043.

5、3 源程序 PAGEREF _Toc235089604 h 6HYPERLINK l _Toc2350896054 Proteus电路制作 PAGEREF _Toc235089605 h 8HYPERLINK l _Toc2350896064.1 Proteus简介 PAGEREF _Toc235089606 h 8HYPERLINK l _Toc2350896074.2 电路图绘制 PAGEREF _Toc235089607 h 8HYPERLINK l _Toc2350896085 Proteus仿真 PAGEREF _Toc235089608 h 11HYPERLINK l _Toc23

6、50896095.1 生成HE*文件 PAGEREF _Toc235089609 h 11HYPERLINK l _Toc2350896105.2 Proteus仿真结果 PAGEREF _Toc235089610 h 11HYPERLINK l _Toc2350896115.3 结果分析 PAGEREF _Toc235089611 h 12HYPERLINK l _Toc2350896126课程设计心得体会 PAGEREF _Toc235089612 h 13HYPERLINK l _Toc235089613参考文献 PAGEREF _Toc235089613 h 14HYPERLINK l

7、 _Toc235089614致 PAGEREF _Toc235089614 h 15-. z摘要单片机可以通过电平转换后和PC机进展串行通信,只要串口设定一致,单片机和PC机就能交换数据。通过Proteus可以对其进展仿真,Proteus中有串口器件,有虚拟终端,可以对PC机单片机串口通信进展仿真。关键词:单片机,PC机,串口通信,Proteus-. z1 芯片介绍1.1 89C51简介单片机的定义是在一块芯片中集成了CPU、RAM、ROM、定时、计数器和多功能I/O口等的根本功能部件的大规模集成电路,又称MCU。这些也是计算机所拥有的根本部件,所以单片机就是一台微型的计算机,可以实现计算机的

8、很多功能。本次课设使用的89C51是MCS-51系列单片机的51子系列。89C51片ROM是4KB的闪速E2PROM,其构造、引脚和封装和其它信号根本一样。89C51主要由以下几个局部组成:一个8位CPU;一个片振荡器及时钟电路;4KB ROM程序存储器;128B RAM数据存储器;可寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;32条可编程的I/O线;一个可编程全双工串行口;5个中断源、两个优先级嵌套中断构造。本次课设主要用到的引脚线是P3.0R*D和P3.1T*D,两者分别是串行通信的接收线和发送线,通过它们可以和其它串行通信设备进展连接。PC机也可以通过串口将程序输入单

9、片机。1.2 MA*232简介单片机和电脑用串口线相连接时要用到电平转换芯片MA*232。MA*232部有电压倍增电路和转换电路,工作时需外接5个1uF的电容和+5V电源,实现TTL电平与RS-232电平双向转换,。一个MA*232可以连接两对收/发线,把通信接口的T*D和R*D端TTL电平05V转换成RS-232电平-10V+10V,送到传输线上,也可以把传输线上的RS-232电平转换成TTl电平送到通信接口T*D和R*D。单片机与PC机相连接时,单片机的R*D应连MA*232的R1OUT引脚,T*D应连T1IN,PC机串口的R*D应连T1OUT,T*D应连R1IN,这样MA*232就能在单

10、片机和PC机之间完成电平转换,使单片机和PC机可以正常通信了。2原理介绍2.1 串行通信介绍计算机之间有时需要交换信息,这种信息交换被称为通信。通信可分为并行通信和串行通信。将数据各位同时传送的方法是并行通信,将数据逐位传送的方法是串行通信。本次课程设计采用的是串行通信。串行通信分为串行异步通信和串行同步通信两种类型,串行异步通信以假设干位表示一个字符,通信时以收/发一个字符为一独立的通信单位。异步传送的数据前面应加起始位,完毕后应加停顿位,形成一个完整的串行传送字符。串行同步通信串行同步通信就是去掉异步传送时每个字符的起始位和停顿位,以一组字符组成一个数据块,在每个数据块前附加一个或两个同步

11、字符或标识符,后面在附加校验字符。2.2 串行接口标准串行通信在电器连接上游串行接口标准,常用的标准有1RS-232-C接口标准;2RS-422A、RS-432A和RS-485接口标准;320mA电流环接标准。本次课程设计采用的是RS-232-C串行总线接口标准。RS-232-C接口标准是美国电器工业协会EIA制定的,是一种在数据终端设备Data Terminal Equipment,DTE和数据通信设备Data munication Equipment,DCE之间通信的标准。在有些短距离场合,计算机之间可以直接通过RS-232-C接口连接。目前常用的是9针D型连接器,如图2.1所示。图2.1

12、 RS-232C 9针D型连接器常用的引脚有3根,是接收数据 R*D,发送数据 T*D和接地GND。2.3 单片机串口简介本次课设用的89C51的串行口是一个可编程的全双工串行通信接口,它的功能很多,可以用软件编程来控制,它可以作为通用异步接收和发送器UART,也可以作为同步移位存放器。其帧格式可有8位,10位,11位,并能设置各种波特率,只要编程就能进展设定,使用很方便。串行口的构造主要由两个数据缓冲存放器SBUF和一个输入移位存放器组成,另外其部还有一个串行控制存放器SCON和一个波特率发生器,波特率发生器是由T1及分频器组成,因此修改波特率时要修改T1的设定。在与PC机进展通信时,PC机

13、发来的的串行数据是通过引脚R*D输入的。输入数据先逐位进入输入移位存放器,再送入接收数据缓冲存放器。在PC接有PC16550串行接口、RS-232C连接器、EIA-TTL的电平转换器等设备,有两个串行口1和2留给用户,通过这两个串行口可以连接串行通讯设备如单片机等。3 程序设计3.1 单片机串口编程89C51串行通信的方式选择、接收和发送控制及串行口的标志均由专用存放器SCON控制和指示,其格式如表3.1:表3.1 SM0SM1SM2RENTB8RB8TIRI方式选择多机控制串行接收允许/制止欲发的第9位收到的第9位发送中断有/无接收中断有/无SM0,SM1是串行口工作方式控制位。00方式0,

14、01方式1,10方式2,11方式3。方式0是移位存放器方式,方式1是波特率可变10位异步通信方式,方式2是11位异步通信方式,方式3引脚使用和数据格式同方式2,不同的是波特率可变。串行通信还要用到电源控制存放器PCON中的SMOD位,SMOD=0时波特率不加倍,SMOD=1时波特率加1倍。本次课设使用的是方式1,每帧数据为10位:1个起始位0,8个数据位,1个停顿位1。由T1提供移位时钟,波特率可变。波特率计算公式为:本次课设中设定单片机晶振频率为12MHz,波特率为1200,SMOD=0,则T1时间常数计算如下:*=230=E6H串行通信可采用两种方式:查询方式和中断方式,本程序采用查询方式

15、。查询方式发送程序:发送一个数据发送一个数据查询TI发送下一个数据先发后查接收程序:查询RI读入一个数据查询RI读入下一个数据先查后收PC机上串口设置应与单片机一致。3.2 程序流程图程序先向PC机发送一段字符,再接收PC机发来的字符。发送局部流程图如图3.1所示:T1初始化,启动T1P1口清0设定SCONDPTR存发送数据块首址R0为数据长度计数器发送数据TI=1.A中存发送的数据清T1数据长度计数器R0加1全部数据发完.程序接收局部YYNN图3.1 发送局部程序流程图接收局部程序流程图如图3.2所示:设定SCONDPTR存字码表首址接收数据RI=1.清R1将收到的ASCII码转为数字YN查

16、表得字形码并送入P1口显示程序发送局部图3.2 程序接收局部流程图3.3 源程序单片机上实现与PC机串行通信源程序如下:ORG 0000H MOV P1,*0;P1口清0 MOV TMOD,*20H;设定定时器T1工作于方式2 MOV TH1,*0E6H;时间常数为230 MOV TL1,*0E6H SETB TR1;启动T1 MOV SCON,*40H;串口工作于方式1 MOV DPTR,*TAB1;DPTR存待发送数据首址 MOV R0,0;R0做发送数据计数器LOOP1: MOV A,R0;R0的值送入A MOVC A,A+DPTR;查表得要发送的数据 MOV SBUF,A;发送数据 J

17、NB TI,$;未发完则继续查询 CLR TI;发完后将TI清0 INC R0;R0加1 CJNE R0,*05H,LOOP1;假设R0不等于5则继续发送 MOV SCON,*50H;设定串口工作于方式1,允许接收 MOV DPTR,*TAB2;DPTR存共阴字码表首址LOOP2: JNB RI,$;数据未收完继续查询 CLR RI;收完则将RI清0 MOV A,SBUF;接收数据送入A SUBB A,*30H;将ASCII码转为对应数字 MOVC A,A+DPTR;查表得相应的字形码 MOV P1,A;将A送入P1口显示数字 SJMP LOOP2;继续接收TAB1: DB 41H,42H,4

18、3H,44H,45H;TAB2: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH; END4Proteus电路制作4.1 Proteus简介本次课程设计使用的软件是Proteus。Proteus是英国Labcenter公司开发的电路分析与仿真软件。它可以运行于Windows操作系统上,功能很强大,可以仿真、分析各种模拟器件和集成电路。Proteus具有强大的原理图绘制功能。放置元件和连线都很方便,可以制作各种电路图。Proteus支持主流单片机系统的仿真。它支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC

19、18系列、Z80系列、HC11系列以及各种外围芯片。本次课设采用了其中的89C51单片机。该软件实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能。有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。还有虚拟终端,可以仿真PC机与单片机的通信。Proteus提供软件调试功能。在该软件的在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、存放器等的当前状态;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件,可以

20、和Keil联调使用,功能强大。4.2 电路图绘制首先翻开Proteus ISIS程序界面,开场绘制电路图。首先添加所要用到的元件。元件清单如表4.1所示元件清单如表4.1所示元件名称所属类所属子类数量AT89C51Microprocessor ICs8051 Family1CAPCapacitorsGeneric2CAP-POLCapacitorsGeneric4CRYSTALMiscellaneous1RESResistorsGeneric17SEG-CATHODEOptoelectronics7-Segment Displays1MA*232Microprocessor ICsPeriph

21、erals1PIMMiscellaneous1其中AT89C51是单片机,在设置中设置其频率为12MHz,在Program File中可以加载程序的HE*文件。CAP是电容,用在外部晶振电路中,电容大小设置为33pf。CAP-POL是极化电容器,用于MA*232电路,大小设置为1uf。CRYSTAL是晶振,频率设置为12MHz。RES是电阻,与串口相连,大小设置为10k。7SEG-CATHODE是7段共阴数码管。MA*232是电平转换芯片。PIM是串行口,设置波特率为1200,无奇偶校验,8位数据位,1位停顿位,设置如图4.1。图4.1 串口设置此外还需要接地,在左侧工具栏中终端里的GND是接

22、地。还要加虚拟终端来仿真PC机,虚拟终端是虚拟仪器中的VIRTUAL TERMINAL,虚拟终端设置波特率为1200,无奇偶校验,8位数据位,1位停顿位,电平极性反转。其设置如图4.2。图4.2 虚拟终端设置放置好所有元件后在端点处点击鼠标就可以连线了,得到电路图如图4.3。图4.3电路图5Proteus仿真5.1生成HE*文件仿真时单片机需要载入HE*文件。这里使用WAVE软件生成,首先在WAVE中编写程序。在WAVE的仿真器设置,目标文件中把生成HE*文件的选项选上,如图5.1。图5.1 仿真器设置然后进展编译,就可以得到HE*文件。如果有错误就进展调试,直到程序无误。5.2 Proteu

23、s仿真结果给单片机加载HE*文件后,点击屏幕左下角的开场仿真按钮即可开场仿真,此时鼠标右击虚拟终端,选择最下面一个选项Virtual Terminal即可看见PC收到的数据,如图5.2所示图5.2 PC收到的数据此时按键盘上的数字键,就可以发送数据给单片机了,可以见到单片机数码管会显示出所按的数字,如图5.3、5.4所示。图5.3 按2键数码管显示结果图5.4 按0键数码管显示结果5.3 结果分析通过仿真结果可以看出,单片机发送的字符ABCDE成功送到了PC机,可以在虚拟终端上看见。当虚拟终端翻开时,按下0-9的数字键,数码管会显示相应字符,说明PC机的信息也可以通过串口传送到单片机,电路工作正常,到达了要求。6 课程设计心得体会通过进展本次单片机课程设计,我对Proteus有了初步的认识,我掌握了Proteus的根本操作,并学会了用Proteus解决一些课程中的问题,稳固了单片机相关知识。下面是我具体的一些体会。Proteus功能非常强大,几乎可以仿真目前单片机课程中遇到的各种问题,它有丰富的元件库,电路中用到的各种元件都有,有的同一类元件都有好几种,比方7段共阴数码管,就有红绿

温馨提示

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

评论

0/150

提交评论