基于单片机的实验教学开发系统设计

更新时间:2023-09-05 21:48:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

分类号 TP368 单位代码 11395 密 级 学 号 0805270107

学生毕业设计(论文)

题 目

作 者 院 (系) 专 业 指导教师 答辩日期

基于单片机的实验教学开发

系统设计 肖 昊 能源工程学院 测控技术与仪器

赵 鹏 2012 年 5 月 27 日

榆 林 学 院

毕业设计(论文)诚信责任书

本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。

论文作者签名: 年 月 日

摘 要

由于单片机技术在各个领域正得到越来越广泛的应用,许多集成电路生产厂家相继推出了各种类型的单片机。在单片机家族的众多成员中,AT89S52系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了市场,成为国内单片机应用领域中的主流。

单片机开发系统是大中专院校电气、电子类等专业实验教学必不可少的设备。但目前大部分的单片机开发系统多是基于应用层面而非硬件底层,这样将不利于人才培养。本设计通过对开发系统的硬件和软件测试程序的介绍,设计出一种兼容RS232 串口和USB 下载的,集温度采集、LCD 显示以及串口通信等多种功能于一身的开发系统。为单片机系统设计和开发提供了一个硬件平台。

本设计可以实现专业课、课程设计和毕业设计的实验。实验板是参考单片机教材中的实验内容设计的,能够实现蜂鸣器发声、按键、流水灯、LCD1602液晶显示、DS18B20温度显示、七段数码管显示、串口通信的测试实验。实验证明,该系统性能稳定,结构清晰,有着很高的性价比。

关键词:AT89S52;单片机;实验系统;数码管显示

Design of Experimental Development System Based on MCU

ABSTRACT

Because of MCU in various fields is getting more and more widely used. Many members of the family of microcontroller AT89S52 is series of microcontrollers to its superior performance, mature technology and high cost performance, and quickly occupied the market, that become into the mainstream in the domestic single-chip applications.

Microcontroller development system is essential for college’s electrical, electronic and other specialized experimental teaching equipment. However, most of the microcontroller development system is based on the application level rather than the underlying hardware, while it is not conducive to personnel training. This design a compatible RS232 serial and USB download, set temperature gathering, LCD display and serial interface communication that very kinds of functions in one development system, which provide a hardware platform for single-chip system design and development.

This design can be achieved course design and graduate design experiments. The test board is the experimental content refers to MCU textbooks, designed to achieve the buzzer sounds, buttons, water lights, the LCD1602 display, DS18B20 temperature display, seven segment digital display, serial communication test experiments. Experiments show that the system performance stable, a clear structure, with the high performance-price rate.

Key words: AT89S52;MCU;Experiment system;Digital display

目 录

摘 要 .............................................................. I ABSTRACT ........................................................... II 1 绪论 ............................................................. 1

1.1 选题背景 .................................................... 1 1.2 国内外研究现状 .............................................. 1 1.3 本设计完成的工作 ............................................ 2 2 硬件设计 ......................................................... 3

2.1 设计方案 .................................................... 3 2.2 主要芯片介绍 ................................................ 4

2.2.1 AT89S52单片机简介 ..................................... 4 2.2.2 LCD1602显示器 ......................................... 6 2.3 单片机各功能模块硬件设计 .................................... 6

2.3.1 单片机最小系统设计 .................................... 6 2.3.2 键盘电路设计 .......................................... 8 2.3.3 LED数码管显示电路设计 ................................. 8 2.3.4 液晶显示电路设计 ...................................... 9 2.3.5 报警电路设计 ......................................... 10 2.3.6 流水灯设计 ........................................... 10 2.3.7 温度采集接口设计 ..................................... 11 2.3.8 串行通信模块设计 ..................................... 12

3 软件设计 ........................................................ 15

3.1 键盘模块程序设计 ........................................... 15 3.2 测温模块程序设计 ........................................... 15

3.2.1 DS18B20的工作时序 .................................... 15 3.2.2 测温程序流程图 ....................................... 17 3.3 数码管显示程序设计 ......................................... 20 3.4 LCD1602显示程序设计 ....................................... 22 3.5 流水灯模块程序设计 ......................................... 26 3.6 报鸣模块程序设计 ........................................... 27 3.7 串行通信模块程序设计 ....................................... 28 4系统调试 .......................................................... 31

4.1 硬件调试 .................................................... 31 4.2 软件调试 .................................................... 32 4.3 本章小结 ....................................................... 33 5总 结 ............................................................. 35 参考文献 ........................................................... 37 致谢 ............................................................... 39 附录A系统整体原理图 ............................................... 41 附录B系统PCB图 ................................................... 43附录C系统完整实验程序 ............................................. 45

1 绪论

1.1 选题背景

上世纪 70年代第一批单片机面世, 短短二三十年时间, 单片机技术已成为计算机技术的一个重要分支, 广泛地应用到工业控制、仪器仪表、 消费产品、汽车,办公自动化和通信等领域。因此, 单片机技术已经成为电子,测控、自动化、通信等许多工科专业学生的必备技能,学习该课程既要掌握单片机的硬件知识, 又要掌握软件知识。在学习单片机原理及接口技术这门课程的过程中, 往往感到课堂教学比较抽象难懂, 因而实践部分必不可少,此设计制作这一基于单片机的实验教学开发系统很有必要[1]。

1.2 国内外研究现状

经考察, 国内绝大多数院校在做单片机课程实验时都使用单片机实验箱。而使用实验箱来进行实验往往存在以下几种弊端:

(1)实验系统以实验箱的形式展现, 侧重于软件实验。

(2)验证性实验居多, 学生难以利用实验箱进行扩展性、综合性,设计性实验。

(3)课程实验结束后, 不少学生仍不懂得如何进行系统设计、 软硬件综合调试, 因此很有必要针对这门课的实践环节作进一步改革,考虑到初次设计一个完整的系统对大多数同学来说存在一定难度,故本设计了一款为学生量身定做的基于单片机的实验教学开发系统, 可进一步提高学生的动手能力, 深化实践教学改革, 更方便、全面、系统地进行单片机教学。同时, 这些实验开发板也可以方便地应用在毕业设计和各种类型的竞赛培训中。

由于单片机技术在各个领域正得到越来越广泛的应用,许多集成电路生产厂家相继推出了各种类型的单片机,在单片机家族的众多成员中,AT89S52单片机以其优越的性能、成熟的技术、高可靠性和高性能价格比,迅速占领了市场,成为国内单片机应用领域中的主流。目前,可用于AT89S52单片机开发的产品越来越多,与其配套的各类开发系统、各种软件也日趋完善。因此,可以极方便地利用现有资源,开发出用于不同目的的各类应用系统[2]。

1.3 本设计完成的工作

本课题设计了一款单片机实验开发系统,该系统可以实现专业基础课、专业课(单片机原理与应用,单片机接口技术等)、课程设计和毕业设计的实验。实验板是参考单片机教材中的实验内容设计的,能够实现简单的测试实验。本设计包括硬件系统的详细设计及C语言在基本控制中的应用。

2 硬件设计

2.1 设计方案

单片机实验开发板是一个实际应用的系统,能够为相关的学生单片机实验提供支持。此实验板是参考单片机教材中的实验内容设计的,能够实现简单的测试实验。本设计包括硬件系统的详细设计及C语言在基本控制中的应用[3]。

本设计的任务主要分为硬件和软件两大部分,其主要硬件设计框图如图2-1

所示:

图2-1 总体设计框图

此开发系统的主要内容包括: (1)单片机最小系统电路。 (2)蜂鸣器发声电路。 (3)按键电路。 (4)流水灯实验电路。 (5)LCD1602显示电路。 (6)DS18B20温度显示电路。 (7)七段数码管显示电路。 (8)串口通信电路。 (9)按键模块程序设计。 (10)DS18B20温度测量程序。

(11)7段数码管显示程序。 (12)LCD1602模块程序。 (13)流水灯实验程序。 (14)蜂鸣器实验程序。 (15)串口通信模块实验。

2.2 主要芯片介绍

2.2.1 AT89S52单片机简介

计算机芯片MCS-51是一个电脑晶片,英特尔公司生产系列。它是在MCS-48系列的基础上发展的高性能的8位单片机。所推出的系列产品有AT89S52、8031、8751。其代表就是AT89S52。其他系列的单片机都以它为核心,所以本设计采用的核心芯片是AT89S52单片机。CPU是它的核心设备,从功能上看,CPU包括两个部分:运算器和控制器,它执行对输入信号的分析和处理[4]。

整个系统电控部分以ATMEL公司的AT89S52为核心芯片,控制信号采集、处理、输出三个过程。这种芯片内置4K的EPROM,因为系统要求控制线较多,如果采用8031外置EPROM程序控制结构,则造成控制线不够;而AT89S52却可以利用P0、P2口作控制总线,大大简化了硬件结构,并可以直接控制键盘参数输入、LED

数据显示,方便现场调试和维护,使整个系统的通用性和智能化得到了很大的提高。

图2-2 AT89S52管脚图

上图是AT89S52的引脚配置,在40个引脚中,有正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:

引脚40:正电源脚,正常工作或对片内EPROM抄写程序时,接+5V电源。 引脚19:时钟XTAL1脚,片内振荡电路的输入端。 引脚18:时钟XTAL2脚,片内振荡电路的输出端。

AT89S52的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10PF-30PF。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。本设计采用外部时钟电路,外接晶振和电容组成振荡器。输入输出(I/O)引脚:引脚39-引脚32为P0.0-P0.7输入输出脚,引脚1-引脚8为P1.0-P1.7输入输出脚, 引脚21-引脚28为P2.0-P2.7输入输出脚,引脚10-引脚17为P3.0-P3.7输入输出脚。

在对单片机设计中,P0口作为程序存储器扩展口,且是扩展并行输入/输出接口,另外也作为模数转换的数据传输口,P2口为程序存储器扩展口的高8位地

V

址总线口,P1口为输入/输出口。引脚9:RESET/pd复位信号复用脚,当AT89S52通电,时钟电路开始工作,在RESET引脚上出现2个时钟周期以上的高平,系统即初始复位。初始化后,程序计数器PC指向0000H, P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,

系统即从0000H地址开始执行程序[1]。AT89S52的初始态如下:

表2-1 寄存器初始状态

2.2.2 LCD1602显示器

LCD1602液晶显示由于显示效果好,体积小,损耗小等特点成为很多设计中的常选器件。LCD1602液晶显示的主要参数: 显示容量为16×2个字符;接5V电压时的工作电流为2mA;字符尺寸为2.95×4.35(WXH)mm;模块最佳工作电压为5V;芯片工作电压为4.5~5.5V。LCD1602显示器的接口信号说明如表2-2所示。

表2-2 LCD1602显示器的接口信号说明

基本操作程序:

读状态:令RS=L,RW=L, E=H 读数据:令RS=H,RW=H, E=H

写指令:令RS=L,RW=L,D0~D7=指令码,E=高脉冲 写数据:令RS=H,RW=L,D0~D7=数据,E=高脉冲

2.3 单片机各功能模块硬件设计

2.3.1 单片机最小系统设计

复位电路:复位是单片机的初始化操作,其主要功能是使单片机从0000H单元开始执行程序。除了进入系统的正常初始化以外,当由于程序运行出错或操作错误使系统处于锁死状态时,为摆脱困境也需按复位键以重新启动。AT89S52芯片内部有复位电路,RST引脚是复位信号的输入端高电平有效,复位方式有自动复位和手动复位两种。本实验板采用手动复位方式复位。

AT89S52的复位电路如图2-2所示:

图2-3 复位电路

当电源刚开始送电瞬间,电容相当于短路,RST端输入高电平,AT89S52复位。短路瞬间之后,电容充电,RST端低电平。AT89S52需要复位时,按下手动复位键,电容通过电阻放电,当电容放电结束后,RST为高电平,AT89S52进入复位状态;松手后,电容充电,RST端高电位下降,CPU脱离复位状态。

时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在AT89S52单片机内部带有时钟电路,因此,只需要在片外通过XTALl和XTAL2引脚接入定时控制元件(晶体振荡器和电容),即可构成一个稳定的自激振荡器。在AT89S52芯片内部有一个高增益反相放大器,而在芯片的外部,XTALl和XTAL2之间跨接晶体振荡器和微调电容。AT89S52的时钟电路如图

2-3所示:

图2-3 晶振时钟电路原理图

用晶振和电容构成谐振电路,在设计电路板时,晶振、电容等均应尽可能靠近芯片,以减小分布电容,保证振荡器振荡的稳定性。

2.3.2 键盘电路设计

键盘是人与AT89S52联系的重要手段,用于向CPU输入运行参数和控制系统的运行状态。键盘电路形式分为直接编码输入键盘和矩阵键盘。前者接口电路简单,一般应用于需要少量按键的控制系统。后者因占用引脚数少,常被按键较多的控制系统所采用。本实验板用于学生实验,故接口较为简单,采用直接编码输入键盘[6]。

实验板的键盘电路如图

2-4所示:

图2-4键盘模块原理图

当开始扫描时,在判断有键被按下后,检测到输出端口为0的键就是被按下的键。

此外按键在闭合和断开时,触点会存在抖动现象。按键的抖动时间一般为5-10ms ,抖动可能造成一次按键的多次处理问题。应采取措施消除抖动的影响,软件编程时常采用软件的方法消除抖动,在第一次检测到有键按下时,执行一段延时10ms的延时子程序后再确认该按键电平是否仍然保持闭合状态电平,如果保持闭合状态电平则确认为真正有键按下,从而消除了抖动的影响。在这里可以编写一个延时程序来消除抖动。

2.3.3 LED数码管显示电路设计

LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示结果或输入/输出信号的状态。对于单片机实验开发来说非常重要。

通常的数码管是由发光二极管构成的,发光二极管的压降是比较固定的,通常红色为1.6V左右,绿色有2V和3V两种,黄色和橙色约为2.2V,蓝色为3.2V左右。

对于常用的几毫米大小的二极管,其工作电流一般在2毫安至20毫安之间,电流越大亮度越高,用电源电压减去二极管的压降,再除以设定的工作电流,就得出限流电阻的阻值。本设计采用680Ω的限流电阻,其数码管亮度较为适中[7]。

实验板数码管显示电路如图

2-5所示:

图2-5单片机的动态显示电路

2.3.4液晶显示电路设计

显示器件是实验板中普遍使用的输出器件,较常用的是LED数码管和LCD液晶显示器。前者仅能显示数据输出,而后者能显示更多,更复杂的字符,如汉字,甚至是图形等。此实验板采用LCDl602作为输出显示器件。LCDl602液晶是一款很常用,也很易用的字符液晶显示器。可以显示2行,每行16个字符,对比度可调、黄绿色背光。利用单片机的P1.0和P1.1分别控制LCD1602的寄存器选择端RS和使能端E。单片机的P2口和显示模块的8位数据接口连接,实现单片机和LCD的数据传输。液晶显示器电源正端VCC接5V,负端GND接地,背光正端BLA通过一个10Ω的限流电阻接5V,负端BLK接地。此外,液晶的偏压管脚VL接到一个10KΩ的精密电位器的中间抽头,电位器的两端分别接电源和地,这样就可通过调节电位器来实现对液晶显示器对比度的调节。

LCDl602引脚与单片机连接如图2-6所示:

图2-6 显示模块电路图

2.3.5 报警电路设计

蜂鸣器功率较大故通过8550三极管驱动。报警部分由陶瓷压电发声装置及外围电路组成,单片机的P1.2引脚为低电平时,三极管T3导通蜂鸣器发声报警。当按下按键时蜂鸣器会发出“嘀”的提示音,当在报警状态其会发出“嘀、嘀……”的报警声[8]。

其电路如图2-7所示:

图2-7报警模块电路图

2.3.6 流水灯设计

如图2-8所示流水灯模块包含8个LED灯,采用低电平有效,共阳极连接,为防止二极管击穿,在每个二极管中串接了1K的限流电阻。因此,LED灯低电平点亮。

本设计利用单片机的P2 口控制8 个LED,为使LED 正常发光,导通电流IF 在1—10mA 范围内。LED 根据发光的颜色不同,导通压降也不同,本设计利用红色的LED,导通压降VF为2V左右,若驱动器驱动电压为VOH,则LED 的串联限流电阻R 为:

V-V (2-1) R=IF

利用单片机的5V电源作为驱动器驱动电压VOH,则限流电阻的取值范围为300Ω —3KΩ,本设计中限流电阻的阻值为1000Ω。具体电路如图

2-8所示。

图2-8 LED引脚图

2.3.7 温度采集接口设计

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所示:

图2-9 DS18B20引脚图

VDD:接电源引脚,电源供电3.0~5.5V; DQ:数据的输入和输出引脚; GND:接地;

DS18B20温度传感器模块的原理图如图

2-10所示:

图2-10 DS18B20温度传感器模块原理图

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

2.3.8 串行通信模块设计

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

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

MAX232芯片是RS232标准接口芯片,使用+5v单电源供电。是PC机与单片机串口进行通讯的电平转换芯片。RS232接口电路设计对于STC系列单片机利用RS232接口既可以给单片机下载程序,也可以实现单片机与PC机的串行通信。单片机提供了专门的串行接收和发送接口RXD和TXD,但其提供的信号电平是TTL电平和RS232

接口总线的电平标准不一致,所以必须采用MAX232电压转换芯片进行电平转换。单片机与PC机进行全双工通信,就不需要进行握手联络,可以使用全双工最简系统连接方式[9]。

具体电路如图

2-11 所示:

图2-11 单片机串行通信原理图

本文来源:https://www.bwwdw.com/article/oqui.html

Top