基于51单片机的串口通讯系统毕业论文.doc

上传人:h**** 文档编号:130738 上传时间:2018-07-09 格式:DOC 页数:57 大小:714.50KB
下载 相关 举报
基于51单片机的串口通讯系统毕业论文.doc_第1页
第1页 / 共57页
基于51单片机的串口通讯系统毕业论文.doc_第2页
第2页 / 共57页
基于51单片机的串口通讯系统毕业论文.doc_第3页
第3页 / 共57页
基于51单片机的串口通讯系统毕业论文.doc_第4页
第4页 / 共57页
基于51单片机的串口通讯系统毕业论文.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、桂林 电子科技大学 课程设计 ( 论文 ) 报告用纸 第 1 页, 共 25 页 - 1 - 引言 人类社会已经进入信息化时代,信息社会的发展离不开电子产品的进步。单片机的出现使人类实现利用编程来代替复杂的硬件搭建电路,它靠程序运行,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国 50 年代开发的 74 系列,或者 60 年代的 CD4000 系列这些纯硬件来搞定的话,电路一定是一块大 PCB 板!但是如果要是用美国 70 年代成功投放市场的系列单片机,结果就会有天壤之别

2、!只因为单片机的通过你编写的 程序可以实现高智能,高效率,以及高可靠性! 单片机应用的主要领域非常广,智能化家用电器、办公自动化设备商业营销设备、工业自动化控制、智能化仪表、智能化通信产品、汽车电子产品、航空航天系统和国防军事、尖端武器等领域。 单片机应用的意义不仅在于它的广阔范围及所带来的经济效益,更重要的意义在于,单片机的应用从根本上改变了控制系统传统的设计思想和设计方法。以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。以前自动控制中的 PID调节,现在可以用单片机实现具有智能化的数字计算控制、模糊控制 和自适应控制。这种以软件取代硬件并能提高系统性能的控制技术称为微

3、控技术。随着单片机应用的推广,微控制技术将不断发展完善。 电路的集成化不仅对硬件电路的设计相关,与电路的布局同样相关。印刷版的出现使得电路产品更加规范,体积更小。 Protel99se 是一款专业的绘制电路及印刷版的软件,近年来的不断升级使得其功能更加完善,出现了 Altium Designer 、 Protel DXP 等升级版本。 桂林 电子科技大学 课程设计 ( 论文 ) 报告用纸 第 2 页, 共 25 页 - 2 - 1 设计内容及要求 1.1 功能 要求 (1)下位机选用 89S51 或 89S52 单片机; (2)下位机接收 上位机的数据并显示在 LED 或 LCD 上; (3)

4、下位机显示 数据可以显示固定数据、位移数据、 循环 位移; 1.2 硬件 要求 制作 串口线 和 下位机及外围电路; 1.3 软件 要求 Keil C或 汇编编程设计,串口调试助手或 Labview 串口通信编程。 2 设计原理及单元硬件模块 2.1 上位机设计 2.1.1 RS232 串口 介绍 经过多年的发展,现今已经形成了许多串行通信接口的标准。其中本次课程设计用到的 RS-232 标准是美国 EIA(电子工业联合会)与 BELL 公司一起开发的通信协议。它适合于 数据传输速率在 0 20000bit/s 的范围内通信。 目前比较常用的串口有 9 针串口( DB9)和 25 针串口( D

5、B25),近距离通信可以直接将通信接口用相应的线缆直接相连。 2.1.2 串口调试 助手介绍 串口调试助手是串口调试相关工具,有多个版本。如:友善串口调试助手,支持 9600,19200 等常用各种波特率及自定义波特率,可以自动识别串口,能设置校验、数据位和停止位,能以 ASCII 码或十六进制接收或发送任何数据或字符,可以任意设定自动发送周期 ,并能将接收数据保存成文本文件,能发送任意大小的文本文件。 可实现 功能如 下 所示: ( 1) 自动搜索串口,并打开串口; ( 2) 支持多串口; ( 3) 支持自定义波特率,支持非标准波特率; ( 4) 支持发送历史记录; ( 5) 接收数据可以进

6、行十六进制和 ASCII 切换; ( 6) 接收数据时,光标可定位在指定行或在最后一行; ( 7) 可以以十六进制或 ASCII 格式,向指定串口发送数据; ( 8) 定时发送数据; ( 9) 接收数据可以保存为文件,也可打开已保存数据文件; ( 10) 串口打开过程中,可修改通讯参数 ,如波特率; ( 11) 自动记录上次操作参数,如串口号、波特率等。 桂林 电子科技大学 课程设计 ( 论文 ) 报告用纸 第 3 页, 共 25 页 - 3 - 2.2 下位机 硬件 设计 2.2.1 设计原理及方法 下位机 设计可分为单片机最小系统、 RS232 电平 转换部 分 、 数据 显示部分。其系统

7、框图大致 图 2-1 所示。 图 2-1 系统框图 本次设计采用 LCD 显示由 上位机发送的数据,并完成 固定数据、位移数据、 循环 位移 的 数据显示 。由 上位机 经 RS232串口发送 数据 , 经 电平 转换 , 转换 成 单片 机可以接收的信号电压, 通过单片机内烧制的程序逻辑运算 得出 上位机所发送的数据 ,并在数据 显示部分 依次 显示 固定数据、位移数据、 循环 位移 数据 。 电平转换 由 MAX232AEPE 芯片 完成,单片机最小系统使用 的 是 AT89S52芯片, 数据 显示部分则由 1602LCD液晶显示器 完成。 2.2.2 单片机 最小系统 图 2-2 最小系

8、统电路 RS232 电平转换 部分 单片机 最小系统 数据显示 部分 桂林 电子科技大学 课程设计 ( 论文 ) 报告用纸 第 4 页, 共 25 页 - 4 - 单片机采用 AT89S52,最小系统包括复位电路和时钟电路两部分,其中复位电路采用按键手动复位和上电自动复位组合,电路如图 2-2左下 部分 所示:其中 REST 为单片机复位端,电容C3按键 S1 构成上电复位和手动复位电路。时钟电路如图 2-2 右 下部分 所示:晶振 Y1 频率 采用的是 11.0592MHZ, C1、 C2 为 33p 瓷片电容, X1和 X2 分别为单片机 18 和 19脚。 ( 1) 单片机各引脚功能说明

9、 : AT89S52 管脚 图如图 2-3所示 。 VCC:供电电压。 GND:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O口,每脚可吸收 8TTL门流。当 P1口的管脚 第 一 次写 1时,被定义为高阻输入 。 P0 能够用于外部 图 2-3 AT89S52 管脚图 程序数据存储器,它可以被定义为数据 /地址的第八位。在 FIASH编程时, P0 口作为原码输入口,当 FIASH 进行。校验时, P0 输出原码,此时 P0外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8位双向 I/O 口, P1 口缓冲器能接收输出4TTL 门电流 。 P1 口管脚写入 1

10、 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电 平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时, P1 口作为第八位地址接收。 P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4个 TTL门电流,当 P2口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写

11、时, P2 口输出其特殊 功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3口写入“ 1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3口将输出电流( ILL)这是由于上拉的缘故。 P3口也可作为 AT89S52的一些特殊功能口, P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时桂林 电子科技大学 课程设计 ( 论文 ) 报告用纸 第

12、 5 页, 共 25 页 - 5 - 间。 ALE/PROG:当访问外部存储器时, 地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX, MOVC 指令是ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程

13、序存储器的选通信号。在由外部程序 存储器取指期间,每个机器周期两次 /PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1时, /EA将内部锁定为 RESET;当 /EA端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加 12V编程电源( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 ( 2) USBASP 下载 口说明 本次 课程设计程序

14、烧写使用 USBASP 下载 口,下载电路如图 2-2 左上部分 所示。 USBASP 是一种基于 ATMEL 公司的 AVR 系列 RISC 单片机的高性价比和一个由纯软件的 USB 通信协议栈而构成的一个可以向 51 系列 , AVR 系列单片机下载 (烧写 )程序的下载器 。 这种下载器工作稳定 , 速度很快 , 而且成本相当的低 , 是一种适合初学者的下载器 。 特点如下: ( 1) 支持 USB1.1、 USB2.0 通信;支持 WIN98、 WINME、 WIN2000、 WINXP、 VISTA、WIN7 操作系统; ( 2) 采用 USB 口供电、并带有 500mA 的自恢复保

15、险丝。保护电脑不会烧毁或损坏。 ( 3) 对目标板芯片编程时,可采用此下载线供电,也可以采用目标板本身供电,下载结果不影响目标板运行。 ( 4) 支持 AT89S51、 AT89S52 和 AVR 全系列单片机的程序下载,速度更快,更稳定。 ( 5) 支持的烧录文件格式:格式为 HEX 文件、二进制 BIN 文件。 ( 6) 使用 IDC10 接口。 桂林 电子科技大学 课程设计 ( 论文 ) 报告用纸 第 6 页, 共 25 页 - 6 - 2.2.3 RS232 电平转换 部分 ( 1) 工作原理 本设计采用 MAX232芯片进行电平转换, MAX232芯片是美信公司专门为电脑的 RS23

16、2标准串口设计的接口电路 ,使用 +5V 单电 源供电 ,它的作用就是 完成 TTL 电平与 RS232电平的转换 。 PC 机的串行口采用的是标准的 RS 232 接口,单片机的串行口电平是 FTL 电平,而TTL 电平特性与 RS232 的电气特性不匹配,因此为了使单片机的串行口能与 RS 232 接口通信,必须将串行口的输入 /输出电平进行转换。通常用MAX232 芯片来完成电平转换。 ( 2) MAX232 芯片各 引脚功能 MAX232 各管脚如 图 2-4所示。 第一部分是电荷泵电路。由 1、 2、 3、 4、 5、6脚和 4 只电容构成。功能是产生 +12v 和 -12v 两个电

17、源,提供给 RS-232 串口电平的需 要。 第二部分是数据转换通道。由 7、 8、 9、 10、11、 12、 13、 14 脚构成两个数据通道。 图 2-4 MAX232 管脚图 其中 13 脚( R1IN)、 12脚( R1OUT)、 11 脚( T1IN)、 14脚( T1OUT)为第一数据通道。 8 脚( R2IN)、 9脚( R2OUT)、 10 脚( T2IN)、 7 脚( T2OUT)为第二数据通道。 TTL/CMOS 数据从 11 引脚( T1IN)、 10 引脚 ( T2IN)输入转换成 RS-232 数据从 14 引脚 ( T1 OUT)、 7脚( T2OUT)送到电脑

18、DB9 插头; DB9插头的 RS -232 数据从 13 引脚( R1IN)、 8引脚( R2IN)输入转换成 TTL/CMOS 数据后从 12引脚( R1OUT)、 9 引脚( R2OUT)输出。 第三部分是供电。 15 脚 GND、 16 脚 VCC( +5v)。 ( 3) MAX232 芯片用法 MAX 芯片用法 如图 2-5 所示 。 电容器应选择 1F 的电解电容。在使用过程中本人曾用过 10F 的代替。 注意,由于 RS232 电平较高,在接通时产生的瞬时电涌非常高,很有可能击毁 max232,所以在使用中应尽量避免热插拔。 图 2-5 MAX232 应用电路 桂林 电子科技大学

19、 课程设计 ( 论文 ) 报告用纸 第 7 页, 共 25 页 - 7 - 2.2.4 数据显示 部分 ( 1) LCD1602 工作原理 1602 液晶也叫 1602 字符型液晶 , 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。 1602LCD 是指显示的内容为 16X2,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字)。 ( 2) LCD1602 各 引脚功能 1602

20、采用标准的 16 脚接口 , 如图 2-6所示 ,其中: 第 1脚: VSS为电源地 。 第 2脚: VCC 接 5V 电源正极 。 第 3脚: V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生 “ 鬼影 ” ,使用时可以通过一个 10K 的电位器调整对比度)。 图 2-6 LCD1602 引脚图 第 4脚: RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。 第 5脚: RW 为读写信号线,高电平 (1)时进行读操作,低电平 (0)时进行写操作。 第 6脚: E(或 EN)端为使能 (enable)端 ,高电平( 1

21、)时读取信息,负跳变时执行指令 。 第 7 14脚: D0 D7 为 8 位双向数据端。 第 15 16 脚:空脚或背灯电源。 15 脚背光正极, 16 脚背光负极。 2.3 下位机 软件设计 2.3.1 编程方案选择 本设计单片机的编程选择 C 语言编写,因为它 简洁紧凑、灵活方便、运算符丰富、数据结构丰富、 C 是结构式语言、 C 语法限制不太严格,程序设计自由度大、 C 语言允许直接访问物理地址,可以直接对硬件进行操作、 C 语言程序生成代码质量高,程序执行效率高,一般只比汇编程序生成的目标代码效率低 10 20%、 C 语言适用范围大,可移植性好 C 语言有一个突出的优点就是适合于多

22、种操作系统 , 如 DOS、 UNIX,也适用于多种机型。 C 语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。所以我选用 C 语言来编写此程序。 桂林 电子科技大学 课程设计 ( 论文 ) 报告用纸 第 8 页, 共 25 页 - 8 - 2.3.2 程序 流程图 如图 2-7所示 ,为下位机程序流程图。 图 2-7 程序 流程 图 桂林 电子科技大学 课程设计 ( 论文 ) 报告用纸 第 9 页, 共 25 页 - 9 - 为了 实现系统固定显示以及位移显示的功能要求, 在初始化 单片机和 LCD 之后 ,系统 首

23、先 判断 是否接收 到串口传来的数据。 如果 接收到 数据 , 则关闭 串口中断,并 将 接收到 的 十六进制数据 转换 成 十进制 和二进制数据,显示在 LCD 上 5 秒 。 然后 , 将 二进制数据 依次 向右位移 , 并间隔一秒显示在 LCD 上 , 共位移 8次 。 在位移 8 次 之后, 将 二进制数据 依次 向右 循环 位移 , 并间隔一秒显示在 LCD 上 , 共位移 8次。 完成 全部位移显示 之后 , 打开串口中断, 继续 判断串口是否接受数据 , 循环实现系统功能 。 2.3.3 子程序 设计 ( 1) 固定显示定义, LCD 控制 口 定义 程序 实现如下: #incl

24、ude #define uchar unsigned char /宏定义 #define uint unsigned int /*/ sbit lcden=P02; /液晶控制口 RS 和 EN sbit lcdrs=P00; sbit lcdwr=P01; /*/ uchar jieshou,number,biaozhi,xunhuan; /*/ uchar code table1=“RX: “;/液晶固定显示内容 uchar code table2=“ guding “; uchar code table3=“ weiyi “; uchar code table4=“ xunhuan we

25、iyi “; uchar code table5=“RX: READY “; /*/ ( 2) 串口接收,参数设置程序实现如下: void serial_chushihua() /串口初始化 TMOD=0x20; /定时器 1:计时,方式 2 TH1=0xfd; /定时器 1初值,波特率 9600 TL1=0xfd; TR1=1; /启动定时器 1 REN=1; /设置 SCON 串行口控制寄存器 SM0=0; /允许接收 SM1=1; /方式 1: 10 位异步收发 桂林 电子科技大学 课程设计 ( 论文 ) 报告用纸 第 10 页, 共 25页 - 10 - EA=1; /开总中断 ES=

26、1; /开串口中断 void chushihua() /初始化 lcd_chushihua(); /液晶初始化 serial_chushihua(); /串口初始化 lcd_guding(); /写入液晶 固定显示部分 3 系统硬件和软件调试 3.1 调试所需仪器 数字万用表 1个 直流稳压源 1台 数字万用表 1个 信号发生器 1台 示波器 1台 3.2 硬件调试 硬件调试主要: ( 1)在 Altium Designer 仿真 软件中进行仿真论证整个 串口 通信系统 的正确性。计算并确定各个电阻、电容大小。 ( 2) 绘制好原理图后,根据原理图去印刷制板。在这个过程中要小心焊盘的大小是否合

27、适,是否有短接或断路的线,然后进行修正工作。打孔时要对好孔,以及不要漏孔没有钻。 ( 3)在焊接电路的过程中,需要检查是否有虚焊或短路的线。这里要认真细致的检查,否则严重的影响到后续的调试。 ( 4)焊接完毕就是上电检查,看是否有短路或开路的地方。检查各 元件 否正常工作。 3.3 软件调试 在硬件没有问题的情况下,进行软件部分的调试。单片机的程序部分用 C语言 进行编写,程序稍微简单,容易调试。写好程序后,用 KEIL软件进行编译以及调试得到 “ *.HEX”文件,然后用 USBASP 进行下载。 ( 1)下载进单片机后,观察系统能否正常运行。首先运行一个简单的测试程序检测单片机最小系统能否正常运行。 ( 2)测试串转并电路能否正确运行,看 LCD 是否按照程序控制指令工作。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。