单片机最小系统设计与制作报告.docx

上传人:b****5 文档编号:8636584 上传时间:2023-02-01 格式:DOCX 页数:36 大小:221.25KB
下载 相关 举报
单片机最小系统设计与制作报告.docx_第1页
第1页 / 共36页
单片机最小系统设计与制作报告.docx_第2页
第2页 / 共36页
单片机最小系统设计与制作报告.docx_第3页
第3页 / 共36页
单片机最小系统设计与制作报告.docx_第4页
第4页 / 共36页
单片机最小系统设计与制作报告.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

单片机最小系统设计与制作报告.docx

《单片机最小系统设计与制作报告.docx》由会员分享,可在线阅读,更多相关《单片机最小系统设计与制作报告.docx(36页珍藏版)》请在冰豆网上搜索。

单片机最小系统设计与制作报告.docx

单片机最小系统设计与制作报告

 

学院:

指导老师:

专业:

报告人:

摘要

由于单片机技术在各个领域正得到越来越广泛的应用,在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。

目前,可用于MCS-51系列单片机开发的硬件越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便地利用现有资源,开发出用于不同目的的各类应用系统。

单片机最小系统是在以STC89C52单片机为基础上扩展,由存储电路、4*4键盘和显示电路(数码管4位-8位可选)、LCD接口、温度测量接口、程序下载接口、实时钟电路。

(DS1302)、电源电路部分组成。

第一章单片机最小系统整体方案论证

一个典型的单片机最小系统一般由时钟电路、复位电路、片外RAM、片外ROM、按键、数码管、液晶显示器、外部扩展接口等部分组成,在本设计中,单片机最小系统由存储电路、4*4键盘和显示电路(数码管4位-8位可选)、LCD接口、温度测量接口、程序下载接口、实时钟电路。

(DS1302)、电源电路部分组成。

图1.1给出了单片机最小系统的结构框图。

图1.1单片机最小系统结构框图

1.1控制器选取

首先,系统要求采用51单片机,因为系统需要控制液晶显示器、8位数码管、时钟、温度测量和键盘,另外系统没有其他高标准的要求,有考虑到本设计中程序部分有可能比较大,根据总方案设计的分析,可以选用带EPROM的单片机,由于应用程序不大,应用程序直接储存在片内,不用在外部扩展存储器中,可一定程度上简化电路。

INTEL公司的8051和8751都可以使用,在这里选用STC公司生产的STC89CXX系列单片机。

STC89CXX系列与MCS-51相比有两大优势:

第一,片内储存器采用闪速存储器,使程序写入更方便;第二,提供了更小尺寸的芯片,使整个硬件电路体积更小。

此外,价格低廉、采用80C51核心处理器单元,具有1K字节RAM;64/32/16/8kB片内Flash程序存储器,支持12时钟(默认)或6时钟模式,4个8位I/O接口。

这些设备能够很好地实行本仪器的测量和控制要求。

1.2外存储电路的选取

由于在该系统中存在时钟电路这类存在小数据反复重写的模块,所以为了满足需要频繁的改写某些小量数据且需掉电非易失这一功能,在系统中增加EEPROM电路。

随着近年来半导体存储器技术的发展,24Cxx系列已成为串行EEPROM中用量最大的一类,其主要特性有:

(1)符合

总线规范;

(2)可反复擦写一百万次;(3)数

据保存长达100年;(4)极低的电流消耗;(5)体积小巧、价格便宜。

所以在该系统中采用24C02芯片。

1.3程序下载电路的选取

由于PC系列微机串行口为RS232C标准接口,与输入、输出均采用TTL电平的89C51单片机在接口规范上不一致,因此需要进行TTL电平到RS232接口电平的转换,即实现RS232接口逻辑“1”(-3V~15V)和逻辑“0”(+3V~15V)的电平转换。

MAX232芯片只需用5V的单电源供电,外加4个电容,就可实现RS232电平和TTL电平之间的转换,可直接驱动RS232总线进行数据传输,使用十分方便。

采用该芯片可以很容易地实现单片机和RS232总线之间的连接,其最高传输速率可达120kbps。

故在该系统中选采用Maxim公司生产的MAX232电平转换芯片设计RS232和单片机的电平转换接口电路。

1.4电源电路的选取

在该系统中必须需要电源的提供来驱动整个系统,所以需要设计一个电源电路来提供电源,而且本系统需要的为直流电源。

所以采用直流电源电路为系统供电。

1.5数码管显示电路和键盘电路的选取

在本系统中需要设计4到8位的7段数码管显示电路,和4×4键盘电路,考虑到STC89C52的引脚数量有限,为了不占用太多的引脚,以保证以后的系统的扩展,所以系统需要可以同时驱动显示电路和键盘电路的驱动芯片。

HD7279A是一片具有串行接口的,可以同时驱动8位共阴极数码管的智能显示驱动芯片,该芯片同时还可以连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。

HD7279A内部含有译码器,可直接接受BCD码和16进制码,并同时具有2种译码方式,此外,还具有多种控制指令,如消隐、闪烁、左移、右移、段寻址等。

故本系统采用HD7279芯片作为显示电路和键盘电路的驱动芯片。

1.6液晶显示电路的选取

液晶显示器(LCD)具有显示功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,在低功耗等单片机系统中被广泛采用。

LCD可分为段位式LCD、字符式LCD和点阵式LCD,其中,段位式LCD和字符式LCD只能用于字符和数字的显示。

所以在本系统中,采用点阵式LCD。

由于考虑到在实际应用中常常需要显示中文字幕,所以采用带中文字库的12864液晶显示器。

12864液晶显示器具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。

由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

又考虑到电路的复杂性和占用STC89C52的引脚的数量,采用12864的串行接口方式。

1.7时钟电路的选取

方案一:

采用单片机的内部定时器

在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值在1.2MHz~12MHz之间。

对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。

方案二:

采用单片机和时钟芯片

现在流行的串行时钟电路很多,如DS1302、DS1307、PCF8485等。

这些电路的接口简单、价格低廉、使用方便,被广泛地采用。

DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

采用普通32.768kHz晶振。

DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录。

这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。

传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,同样耗费单片机的资源,而且,某些测控系统可能不允许。

但是,如果在系统中采用时钟芯片DS1302,则能很好地解决这个问题。

所以在本系统中采用方案二,利用时钟芯片DS1302,来实现实时钟电路。

1.8温度测量接口电路的选取

目前常用的温度传感器有传统的分立式温度传感器-热电偶传感器,集成传感器,智能传感器(亦称数字温度传感器)。

方案一:

热电偶传感器是工业测量中应用最广泛的一种温度传感器,它与被测对象直接接触,不受中间介质的影响,具有较高的精确度;测量范围广,可从-50℃-1600℃进行连续测量,特殊的热电偶如金铁-镍铬,最低可测到-269℃,钨-铼最高可达2800℃。

热电偶传感器是利用“热电效应”制成的,利用两种不同导体组成闭合回路。

当闭合回路的两接点也就是热电偶的工作端和自由端分别处于不同的温度场中时,回路中将会产生电动势,产生的电动势只与工作端和自由端的温度差有关。

方案二:

集成传感器是采用硅半导体集成工艺而制成的,因此亦称硅传感器或单片集成温度传感器。

温度传感器集成在一个芯片上、可完成温度测量及模拟信号输出功能的专用IC。

模拟集成温度传感器的主要特点是功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控测,不需要进行非线性校准,外围电路简单。

方案三:

智能传感器(亦称数字温度传感器)是微电子技术、计算机技术和自动测试技术(ATE)的结晶。

目前,国际上已开发出多种智能温度传感器系列产品。

智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。

有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。

智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化和谐也取决于软件的开发水平。

综合考虑三种方案,决定采用第三种方案,因为智能传感器能输出温度数据及关的温度控制量,适配各种微控制器(MCU),而其他方案在这方面比较欠缺。

所以本系统采用DS18D02数字温度传感器的接口电路作为温度测量的接口电路。

1.9开发流程

1.9.1编译环境

在制作过程中,运行的编译环境为KeiluVision3。

KeiluVision3是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM,汇编和C语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。

第二章单片机最小系统硬件设计

2.1基于STC89C52的主控制模块

单片机小系统主控制模块中振荡电路通常是在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,如图2.1中Y2、C18、C19。

选择11.0592MHz的石英晶体,补偿电容通常选择30pF左右的瓷片电容。

复位电路则采用上电自动复位和手动按键复位两种方式实现系统的复位操作。

上电复位要求接通电源后,自动实现复位操作。

手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。

其结构如图2.1中R3、R12、C12和S1。

上电自动复位通过电容C5和C15充电来实现。

手动按键复位是通过按键将电阻R3与VCC接通来实现。

考虑到P0口的使用,故在PO口的每一端脚接一10K的上拉电阻。

具体主控制电路见图2.1。

图2.1基于STC89C52的主控制电路

2.2电源电路

采用通用的电源接口,利用自锁开关实现整个电路的电源的开关。

为了确定

电路中是否有电源接入,加入发光二极管作为提示。

电容C13和C6是起到过滤

电路中的振荡电流的作用,稳定电流。

具体请见图2.2。

图2.2电源电路

2.3程序下载电路

RS232串口电路使用MAX232CPE作为电平转换芯片,并通过串口电缆连接到计算机USB口,用于STC89C51与计算机通信以及和其他串口设备的数据交互。

并使用两个发光二极管作为判断串口通信是否正常。

具体见图2.3。

图2.3程序下载电路

2.4外存储电路

24C02与单片机的接口非常简单,A0,A1,A2为器件地址线,WP为写保护引脚,SCL,SDA为二线串行接口,符合I2C总线协议。

具体电路见图2.4。

图2.4外存储电路

2.5数码管显示电路和键盘电路

由于HD7279A是一片具有串行接口的,可以同时驱动8位共阴极数码管的智能显示驱动芯片,该芯片同时还可以连接多达64键的键盘矩阵,单片即可完成LED显示、键盘接口的全部功能。

所以利用HD7279的特点,设计如图2.5的电路。

图2.5数码管显示电路和键盘电路

2.6液晶显示电路

我们采用JHD529M1型号的12864液晶显示器。

该显示器具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

可以显示8×4行16×16点阵的汉字.也可完成图形显示。

在电路中采用串行接法,让单片机给15脚PSB一低电平来实现液晶显示的串行工作。

具体如图2.6。

图2.6液晶显示电路

2.7时钟电路

采用串行接口的DS1302,不过需要外加电池,保证系统失电时保存数据,编程较麻烦;不过它附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。

实时时钟可提供秒、分、时、日、星期、月和年,一个月小与31天时可以自动调整,且具有闰年补偿功能。

工作电压宽达2.5~5.5V。

采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后背电源进行涓细电流充电的能力。

具体电路见图2.7。

图2.7时钟电路

2.8温度测量接口

温度测量接口的2脚引出与单片机STC89C52相连,并且接一上拉电阻。

接地端接地,另一脚接电源正极。

具体电路如图2.8。

图2.8温度测量接口电路

第三章单片机最小系统软件设计

单片机最小系统调试程序分为四个独立的程序,分别是数码管显示和键盘调试程序,液晶显示调试程序,时钟和温度测量调试程序,24C02外存储电路调试程序设计。

3.1程序流程图

3.1.1数码管显示和键盘调试程序流程框图

图3.1.1数码管显示和键盘调试程序流程框图

3.1.2液晶显示调试程序流程框图

图3.1.2液晶显示调试程序流程框图

3.1.3时钟和温度测量调试程序流程框图

图3.1.3时钟和温度测量调试程序流程框图

3.1.4外存储电路24C02调试程序流程框图

图3.1.424C02调试程序流程框图

第四章调试方法与调试结果

4.1调试方法和结果

4.1.1电源部分安装调试

接入电源,按下开关,观察指示发光二极管是否发光,然后用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,例如常用的5V。

调试结果:

发光二极管发光,接地引脚跟电源引脚之间的电压为电源电压5V。

4.1.2STC89C52单片机最小化系统主控制部分安装调试

判断单片机STC89C52芯片系统是否正常工作的办法:

1、用万用表测量单片机晶振引脚(18、19脚)的对地电压,以正常工作的单片机用数字万用表测量为例:

18脚对地约2.24V,19脚对地约2.09V。

2、模拟复位的方法来判断,单片机正常工作时第9脚对地电压为零,可以用导线短时间和+5V连接一下,模拟一下上电复位,如果单片机能正常工作了,说明这个复位电路有问题。

调试结果:

测量单片机晶振引脚(18、19脚)的对地电压

18脚对地电压

19脚对地电压

2.23V

2.10V

表4.1.2测量晶振引脚电压

模拟上电复位,九脚对地电压不为零,说明复位电路没有问题。

4.1.3程序下载部分电路安装调试

接入电源,并用串口线连接电脑,利用电脑中的软件STC_ISP_V479,向单片机中下载一程序,观察电脑软件显示和指示发光二极管的情况。

调试结果:

第一次调试过程中,电脑软件提示MCU没有上电,发光二极管在下载过程中没有闪烁。

经检查电路,发现电路中有短路现象,并存在将连接STC89C52的P3.0口和P3.1口的电路接反。

改正错误后,第二次调试,电脑软件提示下载成功,发光二极管在下载过程中有闪烁现象。

电路连接正确。

4.1.4外存储电路调试

接入电源,并用串口线连接电脑,利用电脑中的软件STC_ISP_V479,向单片机中下载24C02调试程序,观察数码管显示。

按下复位键后,观察数码管显示;按下电源开关进行断电,再通电后,观察数码管显示。

调试结果:

首先数码管显示数字000,按下复位键后,显示数字加一;断开电源再通电后,显示数字加一。

4.1.5数码管显示电路和键盘电路调试

接入电源,并用串口线连接电脑,利用电脑中的软件STC_ISP_V479,向单片机中下载程序,观察数码管显示。

调试结果:

首先通电后,数码管全部进行闪烁,闪烁过程中没有出现断点。

在闪烁约十次左右后,最低位的两个数码管出现“__”符号,并不停闪烁,按下按键,除按键0外,均显示按键所代表数字。

若按下按键0或10秒内没有按键按下,数码管进行快速计数,计数到达20000时停止,进行1234567890等符号的左/右移动,之后出现分别左右移的消除现象。

然后进行数码管每个点的显示,没有发现断点。

4.1.6液晶显示电路调试

接入电源,并用串口线连接电脑,利用电脑中的软件STC_ISP_V479,向单片机中下载调试程序,观察液晶显示屏显示。

调试结果:

液晶显示屏显示出以下文字:

进入液晶显示测试

驰骋于自己的天下

奔腾在碧绿的山间

本测试成功

4.1.7时钟电路和温度测量接口电路调试

接入电源,并用串口线连接电脑,利用电脑中的软件STC_ISP_V479,向单片机中下载调试程序,观察数码管显示。

调试结果:

数码管显示出时间:

18-00-00,并最后两位数字每隔一秒钟加一,并且过了几秒后就会显示出温度,如28.20。

但在调试过程中发现DS1302有发热情况,换了一个DS1302芯片后不再出现发热状况。

总结

单片机最小系统经过我一段时间的焊接、调试,终于能够达到预定的功能,虽然只是简单的焊接和调试,但从中我们也接触了不少的关于单片机的知识。

此次设计让我对单片机有了初步的认识,能够了解单片机工作的模式和具体过程,明白了怎样利用单片机来设计满足自己设定功能的作品,怎样利用单片机来控制系统。

同时,这也让我了解到怎样进行单片机编程。

还有就是通过具体焊接过程掌握了焊接的技巧,锻炼了自己的焊接能力。

掌握了这些就可以在大学期间利用单片机最小系统来拓展功能,制作自己想做的东西,对科研立项等活动有很大的帮助作用。

参考文献

老虎工作室.Protel99入门与提高(修订版)人民邮电出版社,2009.

电子设计从零开始Circuitdesignfromthegroundup:

2版清华大学出版社2009

例说51单片机:

C语言版人民邮电出版社,2009.

HD7279A串行接口8位LED数码管及64键键盘智能控制芯片(第四版)

STC89C52RC中文资料

DS18B20XX百科

24C02XX百科

附录A原理图

附录B程序源代码

/************24C02调试程序***************/

#include

#include

#defineucharunsignedchar

sbitsda=P2^1;

sbitscl=P2^0;

uchara;

voiddelay0()

{_nop_();_nop_();}

voidstart()//开始信号

{

sda=1;

delay0();

scl=1;

delay0();

sda=0;

delay0();

}

voidstop()//停止

{

sda=0;

delay0();

scl=1;

delay0();

sda=1;

delay0();

}

voidrespons()//应答

{

uchari;

scl=1;

delay0();

while((sda==1)&&(i<250))i++;

scl=0;

delay0();

}

voidinit()

{

sda=1;

delay0();

scl=1;

delay0();

}

voidwrite_byte(uchardate)

{

uchari,temp;

temp=date;

for(i=0;i<8;i++)

{

temp=temp<<1;

scl=0;

delay0();

sda=CY;

delay0();

scl=1;

delay0();

//scl=0;

//delay0();

}

scl=0;

delay0();

sda=1;

delay0();

}

ucharread_byte()

{

uchari,k;

scl=0;

delay0();

sda=1;

delay0();

for(i=0;i<8;i++)

{

scl=1;

delay0();

k=(k<<1)|sda;

scl=0;

delay0();

}

returnk;

}

voiddelay1(ucharx)

{

uchara,b;

for(a=x;a>0;a--)

for(b=100;b>0;b--);

}

voidwrite_add(ucharaddress,uchardate)

{

start();

write_byte(0xa0);

respons();

write_byte(address);

respons();

write_byte(date);

respons();

stop();

}

ucharread_add(ucharaddress)

{

uchardate;

start();

write_byte(0xa0);

respons();

write_byte(address);

respons();

start();

write_byte(0xa1);

respons();

date=read_byte();

stop();

returndate;

}

/*****************************/

/*****************HD7279数码管显示和键盘调试程序**************/

#include

//***函数定义***

voidlong_delay(void);//长延时

voidshort_delay(void);//短暂延时

voiddelay10ms(unsignedchar);//延时10MS

voidwrite7279(unsignedchar,unsignedchar);//写入到HD7279

unsignedcharread7279(unsignedchar);//从HD7279读出

voidsend_byte(unsignedchar);//发送一个字节

unsignedcharreceive_byte(void);//接收一个字节

//***变量及I/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1