当前位置:文档之家› 毕业论文-51单片机开发板

毕业论文-51单片机开发板

摘要

设计一种基于S51单片机的开发板,该开发板具有成本低、体积小、可靠性高、功能齐全、低功耗设计、操作方便等特点。本论文详细介绍了该开发板的开发过程及相关硬件结构和软件设计。开发板以ATMEL公司的AT89S51单片机为核心控制器,板上资源主要包括数据采集处理模块、DS1302时钟模块、通信模块、液晶显示模块、键盘模块等。针对各个硬件模块开发了相应的软件模块,包括各个控制驱动程序、AD/DA程序、RS232/ RS485通信程序、液晶显示程序等。

开发板可以作为主控制模块安装于控制系统中执行控制任务,也可以用作实验板,完成单片机各类通用实验,操作简单,控制结果可见,性价比高,可以应用于高校、科研院所的实验室等场合,具有一定的实用价值和现实意义。

关键词:S51 DS1302 通信液晶显示键盘

Abstract

Design a development board based on S51 MCU,the board has characteristics of low cost, small size, high reliability, full-featured, low-power design and easy to operate. This paper introduces the development process of the development board and related hardware and software design. Development board using AT89S51 of ATMEL Corporation as core controller, resources on-board include data acquisition and processing module, DS1302 clock module, communication module, LCD module and keyboard module. Design software module corresponding to each hardware module, including the driver and control programs, AD/DA programs, RS232/RS485 communication programs, liquid crystal display programs and so on.

Development board can be used as the main control module installed in the control system to perform control tasks, also can be used as experimental board, complete all kinds of universal experiments of MCU, operated simply, control results can be seen,high cost performance, can be applied to universities, research institutes, laboratories and so on, has some practical value and practical significance.

Key words:S51 DS1302 communication LCD keypad

摘要 (1)

ABSTRACT (2)

1 前言 (1)

2 系统方案 (2)

2.1总体设计方案 (2)

2.2设计原则 (2)

3 硬件部分 (3)

3.1硬件结构框图 (3)

3.2硬件电路设计 (4)

3.2.1 S51单片机主控制模块 (4)

3.2.2 键盘模块 (4)

3.2.3 AD模块 (5)

a ADC0832简介 (5)

b 硬件实现 (6)

3.2.4 DA模块 (6)

a TLC5615简介 (6)

b 硬件实现 (7)

3.2.5 DS1302时钟模块 (7)

a DS1302简介 (7)

b 硬件实现 (8)

3.2.6 测温模块 (9)

a DS18B20简介 (9)

b 硬件实现 (10)

3.2.7 串行通信模块 (10)

a RS232串行通信模块 (10)

b RS485串行通信模块 (11)

3.2.8 显示模块 (12)

a 数码管模块 (12)

b LCD1602模块 (13)

c LCD12864模块 (14)

3.2.9 下载器模块 (16)

3.2.10 其他模块 (17)

4 软件部分 (19)

4.1整体程序设计 (19)

4.2分模块程序设计 (19)

4.2.1 键盘模块程序设计 (19)

4.2.2 AD模块程序设计 (20)

a AD C0832的工作时序 (20)

b AD程序流程图 (21)

4.2.3 DA模块程序设计 (22)

a TLC5615的工作时序 (22)

b DA程序流程图 (22)

4.2.4 DS1302时钟模块程序设计 (23)

a DS1302的工作时序 (23)

b DS1302的寄存器 (24)

c DS1302时钟程序流程图 (24)

4.2.5 测温模块程序设计 (25)

a DS18B20的工作时序 (25)

b 测温程序流程图 (27)

4.2.6 串行通信模块程序设计 (28)

a RS232通信模块程序设计 (28)

b RS485通信模块程序设计 (29)

4.2.7 显示模块程序设计 (30)

a 数码管程序 (30)

b LCD1602显示程序 (32)

c LCD12864显示程序 (34)

4.2.8 其他模块 (38)

a 流水灯模块程序设计 (38)

b 蜂鸣器模块程序设计 (39)

5 开发板设计及测试 (41)

5.1开发板PCB设计 (41)

5.2开发板测试 (41)

6 结论 (43)

致谢 (44)

参考文献 (45)

附录 (46)

附录1键盘模块部分程序 (46)

附录2AD模块部分程序 (46)

附录3DA模块部分程序 (48)

附录4DS1302时钟模块部分程序 (48)

附录5测温模块部分程序 (51)

附录6单片机通过MAX485与PC机通讯程序 (52)

附录7LCD1602显示模块部分程序 (53)

1 前言

单片机具有成本低、体积小、可靠性高、具有高附加值、通过更改软件就可以改变控制对象等优点,单片机越来越成为电子工程师设计产品时的首选器件之一。因此拥有一块单片机开发板对单片机学习具有着极其重要的意义。但是单片机学习效果的优劣直接取决于单片机的选择,C51系列单片机内部具有128字节RAM、5个中断源、32条I/O口线、2个16位定时器、4KB的程序存储器、一个全双工异步串行口。本开发板选择具有ISP在线编程功能的S51单片机,该单片机不需要烧写器,可在开发板上ISP在线编程,具有广泛的应用前景。

S51单片机除兼容C51单片机外,还具有工作频率0至33MHz的高工作频率;可以满足绝大多数的实际应用开发需求,在开发板上使用十分方便。

本课题设计的S51单片机开发板,具有一般开发板通用结构,并基于硬件进行相关软件设计。利用程序开发语言开发程序并实现ISP在线下载到单片机,无需配置单独的下载器。单片机使用ISP在线下载程序,加快了程序设计者调试的进度,使设计者所设计的程序尽快得到验证。通过对开发板上的模块进行实验,可以提高针对不同硬件进行编程的能力,同时通过实验现象对所用的硬件也有了更深一步的认识,因此该开发板具有一定的实用价值和现实意义。

2 系统方案

2.1 总体设计方案

本开发板共分为十四个模块,分别是:S51单片机主控制器模块、键盘模块、AD 模块、DA模块、DS1302时钟模块、测温模块、MAX232模块、MAX485模块、数码管模块、LCD1602模块、LCD12864模块、下载器模块、流水灯模块、蜂鸣器模块。其中以S51单片机作为核心控制器;键盘模块用来向单片机输入特定编码的信息;AD模块用来实现模数转换;DA模块用来实现DA转换;DS1302时钟模块用来实现实时时钟;测温模块用来测量环境温度;RS232模块和RS485模块通过电平转换实现通信;数码管模块用来显示简单的数字、字母;LCD1602模块用来显示字母、数字、符号;LCD12864模块用来显示图像、符号、汉字;下载器模块用来实现S51单片机的ISP在线编程;流水灯模块用来显示单片机I/O口电平的变化;蜂鸣器模块用来发出声音。

2.2 设计原则

开发板系统的扩展和配置应遵循以下设计原则:

(1)尽可能选择典型电路,并符合单片机常规用法。为硬件系统的标准化、模块化打下良好的基础;

(2)系统扩展与外围设备的配置水平应充分满足应用系统的功能要求,并留有适当余地,以便进行二次开发;

(3)硬件结构应结合应用软件方案一并考虑。硬件结构与软件方案会产生相互影响,考虑的原则是:软件能实现的功能尽可能由软件实现,以简化硬件结构。但必须注意,由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间;

(4)系统中的相关器件要尽可能做到性能匹配。如选用CMOS芯片单片机构成低功耗系统时,系统中所有芯片都应尽可能选择低功耗产品;

(5)可靠性及抗干扰设计是硬件设计必不可少的一部分,它包括芯片、器件选择、去耦滤波、印刷电路板布线、通道隔离等;

(6)单片机外围电路较多时,必须考虑其驱动能力。驱动能力不足时,系统工作不可靠,可通过增设线驱动器增强驱动能力或减少芯片功耗来降低总线负载;

(7)尽量朝“单片”方向设计硬件系统。系统器件越多,器件之间相互干扰也越强,功耗也增大,也不可避免地降低了系统的稳定性。

3 硬件部分

3.1 硬件结构框图

总体硬件结构主要包括:S51单片机主控制器模块、键盘模块、AD模块、DA 模块、DS1302时钟模块、测温模块、MAX232模块、MAX485模块、数码管模块、LCD1602模块、LCD12864模块、下载器模块、流水灯模块、蜂鸣器模块。硬件结构框图如图3-1所示:

图3-1 总体硬件结构框图

3.2 硬件电路设计

3.2.1 S51单片机主控制模块

S51单片机最小系统包括:MCU、复位电路、晶振电路。原理图如图3-2所示:

图3-2 S51单片机主控制模块原理图

采用按键复位方式,选取晶振为12MHZ,系统机器周期为1us。

3.2.2 键盘模块

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图3-3所示:

图3-3 键盘模块原理图

JP7用来连接P2口与矩阵键盘模块,在矩阵式键盘中,每条水平线和垂直线在

交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P2口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键),在需要的按键数较多时,采用矩阵法来做键盘是合理的。

3.2.3 AD模块

a ADC0832简介

A/D转换在单片机接口中应用广泛,串行A/D转换器具有功耗低、性价比较高、芯片引脚少等特点。ADC0832是NS(National Semiconductor)公司生产的具有Microwire/Plus串行接口的8位A/D转换器,通过三线接口与单片机连接,适宜在袖珍式智能仪器中使用。主要性能指标有:功耗低,只有15mW;8位分辨率,逐次逼近型,基准电压为5V;输入模拟信号电压范围为0~5V;输入和输出电平与TTL和CMOS兼容;在250kHz时钟频率时,转换时间为32us;具有两个可供选择的模拟输入通道。

ADC0832有DIP和SOIC两种封装,DIP封装的,ADC0832引脚排列如图3-4所示:

图3-4 ADC0832引脚图

各引脚说明如下:

CS—片选端,低电平有效;

CH0,CH1—两路模拟信号输入端;

D I—两路模拟输入选择输入端;

DO—模数转换结果串行输出端;

CLK—串行时钟输入端;

VCC /REF—正电源端和基准电压输入端;

GND—电源地。

ADC0832工作时,模拟通道的选择及单端输入和差分输入的选择,都取决于输入时序的配置位。当差分输入时,要分配输入通道的极性,两个输入通道的任何一个

通道都可作为正极或负极。

b 硬件实现

AD模块的原理图如图3-5所示:

图3-5 AD模块原理图

单片机与ADC0832通过P2.5、P2.6、P2.7相连,分别为时钟信号线、数据输出信号线、片选信号线。开发板可外接模拟信号,也可由电位器R7、R8将+5V分压后提供两路模拟信号。

3.2.4 DA模块

a TLC5615简介

TLC5615为美国德州仪器公司1999年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把DAC寄存器复位至全零。TLC5615性能价格比高,目前在国内市场很方便购买。主要性能指标有:10位CMOS电压输出;5V单电源供电;与CPU三线串行接口;最大输出电压可达基准电压的二倍;输出电压具有和基准电压相同极性;建立时间12.5μs;内部上电复位;低功耗,最大仅1.75mW。

TLC5615有小型和塑料DIP封装,DIP封装的TLC5615芯片引脚排列如图3-6所示:

图3-6 TLC5615引脚排列图

引脚功能说明如下:

DIN—串行数据输入端;

SCLK—串行时钟输入端;

CS—芯片选用通端,低电平有效;

DOUT—用于级联时的串行数据输出端;

AGND—模拟地;

REFIN—基准电压输入端;

OUT—DAC模拟电压输出端;

VDD—正电源端。

b 硬件实现

DA模块的原理图如图3-7所示:

图3-7 DA模块原理图

单片机与TLC5615通过P2.0、P2.1、P2.2相连,分别为片选信号线、时钟信号线、数据输入信号线。TLC5615转换后的模拟信号通过OUT端输出。

3.2.5 DS1302时钟模块

a DS1302简介

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。采用三线接口与MCU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。主要性能指标有:31字节带后备电池的RAM用于数据存储;

串行I/O口,管脚数量少;宽范围工作电压:2.0~5.5V;工作电压2.0V时,电流小于300nA;读/写时钟或RAM数据时有两种传送方式—单字节传送和突发模式传送;

8 脚DIP封装或其他可选封装方式;简单的3线接口;与TTL 兼容(Vcc = 5V);可选工业级温度范围:- 40℃~+ 85℃;与DS1202 兼容。

DS1302 的引脚如图3-8所示:

图3-8 DS1302引脚图

Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2高于Vcc1 + 0. 2V 时,Vcc2给DS1302供电。当Vcc2低于Vcc1时,DS1302由Vcc1 供电。X1、X2为振荡源,外接32. 768 kHz晶振。I/O为串行数据输入/输出端(双向),SCL K为时钟输入端。RST是复位片选线,通过把RST输入驱动置为高电平来启动所有的数据传送。RST输入有两种功能:RST接通控制逻辑,允许地址/命令序列送入移位寄存器;RST提供了终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许DS1302进行操作。如果在传送过程中置RST为低电平,则会终止此次数据传送,并且I/ O引脚变为高阻态。上电运行时,在Vcc高于2. 5V之前,RST必须保持低电平。只有在SCL K为低电平时,才能将RST置为高电平。

b 硬件实现

DS1302时钟模块的原理图如图3-9所示:

图3-9 DS1302时钟原理图

单片机与DS1302通过P3.5、P3.6、P3.7相连,分别为时钟信号线、输入输出线、复位信号线。DS1302的晶振引脚连接32768HZ的晶振。

3.2.6 测温模块

a DS18B20简介

DS18B20 是DALLAS 半导体公司生产的,是一种单总线温度传感器,属于新一代适配微处理器的智能温度传感器,有两种封装形式分别为3脚PR-35封装和16脚SSOP封装。本文采用的是3脚PR-35封装,其具有以下特点:采用了单总线技术,传感器直接以二进制输出被测温度,可通过串行口线,也可与单机通过I/O 口连接;测量温度范围为:- 55℃~+125℃,测量精度高达+0.5℃;内含寄生电源,在两线方式下可通过数据线提供寄生电源,而不需要再单独供电;转换时间在分辨率为12位(即0.0625℃)时最大为750ms;用户可分别对每个器件设定温度上下限;DS18B20 在使用时不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;电源极性接反时,芯片不会因发热而烧毁,但不能正常工作;每个DSl8B20 器件对应一个唯一的64 位长的序号,该序号值存放ROM中,可通过序号匹配实现多点测温。引脚排列如图3-10所示:

VDD:接电源引脚,电源供电3.0~

5.5V;

DQ:数据的输入和输出引脚;

GND:接地

图3-10 DS18B20引脚图

b 硬件实现

DS18b20温度传感器模块的原理图如图3-11所示:

图3-11 DS18b20温度传感器模块原理图

单片机与DS18B20通过P3.7相连,作为数据/控制信号线。

3.2.7 串行通信模块

a RS232串行通信模块

RS232是由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。

RS232与TTL电路之间需要进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。MAX232芯片可完成TTL←→RS232双向电平转换。

MAX232芯片是RS232标准接口芯片,使用+5v单电源供电。是PC机与单片机串口进行通讯的电平转换芯片。内部结构基本可分三个部分:第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS232串口电平的需要。

第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。

第三部分是供电。15脚DNG、16脚VCC(+5V)。

MAX232模块的原理图如图3-12所示:

图3-12 MAX232模块的原理图

单片机与MAX232通过P3.0、P3.1相连,分别为发送线、接收线,另外单片机要与MAX232共地。

b RS485串行通信模块

RS232由于传输速率慢,传输距离短,传输信号易受外界的干扰等缺点。新的串行通讯接口标准RS-449被制定出来,与之相对应的是RS-485的电气标准。RS-485是美国电气工业联合会(EIA)制定的利用平衡双绞线作传输线的多点通讯标准。它采用差分信号进行传输;最大传输距离可以达到 1.2 km;最大可连接32个驱动器和收发器;接收器最小灵敏度可达±200 mV;最大传输速率可达2.5 Mb/s。由此可见,RS-485协议正是针对远距离、高灵敏度、多点通讯制定的标准。MAX485的引脚和结构如下图3-13所示:

图3-13 MAX485的引脚和结构

该芯片采用单一电源+5 V工作,额定电流为300 μA,采用半双工通讯方式。它完成将TTL电平转换为RS-485电平的功能。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;/RE 和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所

以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100Ω的电阻。

MAX485模块的原理图如图3-14所示:

图3-14 MAX485模块原理图

单片机与MAX485通过P3.0、P3.1、P3.2相连,分别为接收输出线、发送输入线、发送/接收使能信号线。

3.2.8 显示模块

a 数码管模块

(1) 数码管驱动采用8位数据缓冲器74HC573,其功能表如下表3-1所示:

表3-1 74HC573功能表

注意:

H=高电平

h=要保持高电平到低电平转变时一个建立周期以上的高电平

L=低电平

I=要保持高电平到低电平转变时一个建立周期以上的低电平

Z=高组态

选用74HC573增强驱动能力,提高数码管显示亮度。A-DP对应八段数码管的各段,当A-DP中有低电平输出时,被低电平片选中的数码管的相应段点亮。

(2) 硬件实现:

数码管模块的原理图如图3-15所示:

图3-15 数码管模块原理图

单片机与74HC573通过P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7相连,作为段码信号线;与74HC138通过P1.0、P1.1、P1.2相连,作为片选信号线。

b LCD1602模块

(1) LCD1602简介:

LCD1602点阵字符液晶模块是由点阵字符液晶显示器件和专用的行列驱动器,控制器及必要的连接件,结构件装配而成,可以显示数字和英文字符。

LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3-2所示:

表3-2 LCD1602引脚接口图

续表3-2 LCD1602引脚接口图

(2) 硬件实现:

LCD1602模块的原理图如图3-16所示:

图3-16 LCD1602模块原理图

单片机与LCD1602通过P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7、P1.0、P1.1、P1.2相连,P0.0—P0.7为数据线,P1.0、P1.1、P1.2为控制线。

c LCD12864模块

(1) LCD12864简介:

LCD12864汉字图形点阵液晶显示模块可以显示汉字、图形、ASCⅡ码和自定义字形,内置8192个16*16的中文汉字、128个8*16字符、以及64*256点阵显示RAM,控制器为ST7920,具有串/并接口方式,其内部含有中文字库,LCD12864显示屏为128*64点阵,可显示4行,每行8个字,模块内含有多种软件功能:光标显示、画面移位、自定义字符、反白、清除、关闭显示和睡眠模式等,可方便地对模块进行控制。模块内置升压电路,无需负压,配置LED背光。3V低电平工作时,只需一个20K的电阻与V o的地相接。适用于3.3V~5V 宽范围工作电压的系统。

RS,R/W的配合决定的4种模式见表3-3:

E信号的状态产生的动作见表3-4:

表3-4 E信号的状态产生的动作

*注释1:如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。

相关主题
文本预览
相关文档 最新文档