基于Proteus的单片机实时时钟的仿真设计毕业设计论文.docx
- 文档编号:9949604
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:55
- 大小:297.51KB
基于Proteus的单片机实时时钟的仿真设计毕业设计论文.docx
《基于Proteus的单片机实时时钟的仿真设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于Proteus的单片机实时时钟的仿真设计毕业设计论文.docx(55页珍藏版)》请在冰点文库上搜索。
基于Proteus的单片机实时时钟的仿真设计毕业设计论文
毕业设计论文
题目基于Proteus的单片机实时时钟的仿真设计
毕业设计论文中文摘要
(题目):
基于Proteus的单片机实时时钟的仿真设计
摘要:
本设计论述的是一个基于Proteus技术的单片机的实时时钟仿真系统的实现。
使用了Proteus软件技术和Keilc软件进行仿真和调试,最终实现日常的时钟显示,它还可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,同时具有时钟调整、闹钟等功能。
本电子时钟设计首要的工作是结合以往所学的单片机程序编写理论和编写规则来编写电子时钟的软件部分,编写时要结合所配的STM8S105芯片的管脚功能和其他硬件电路,如DS1302时钟芯片和LCD1602液晶显示屏,该部分运用STVD单片机软件来完成。
在编写完软件并检测完正确后用仿真硬件检测运行检测程序是否正确,并调试。
待这一切工作做好后再利用系统板硬件电路来实践实现软件功能与硬件的结合。
并应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
关键词:
Proteus实时时钟单片机仿真
毕业设计论文外文摘要
(Title):
basedonsinglechipProteusdesignsimulationofreal-timeclock
Abstract:
thispaperbasedonthedesignofasinglechipProteustechnologyoftherealizationofthesimulationsystemforreal-timeclock.USEStheProteussoftwaretechnologyandKeilcsoftwaresimulationanddebugging,finallyrealizesthedailytheclockdisplay,itcanalsoonyear,month,day,Sunday,when,minutesandsecondsfortiming,havealeapyearcompensationfunction,alsohastheclockadjustment,alarmclock,andotherfunctions.
Thiselectronicclockdesignfirstworkistocombinethemicrocontrollerprogramminglearnedeverwriterulestowritetheoryandthesoftwareparts,electronicclocktowriteonthematchwhenSTM8S105chiptubefootfunctionandotherhardwarecircuit,suchasDS1302clockchipandLCD1602LCDscreen,thispartutilizationSTVDsingle-chipmicrocomputersoftwaretocomplete.Inwritingthesoftwareandfinishedwithsimulationtestafterrighthardwaredetectionoperationtestprocedureiscorrect,anddebugging.Untoallthisworkdonereusethesystemboardhardwarecircuittopracticerealizethecombinationofhardwareandsoftwarefunctions.AndtheapplicationofISISsoftwarerealizetheProteusmicrocontrollerelectronicclocksystemdesignandsimulation.Thismethodsimulationeffecttrue,accurate,savethehardwareresources.
Keywords:
Proteusreal-timeclocksingle-chipmicrocomputersimulation
1引言
单片微型计算机,简称单片机,又称微控制器。
单片机作为微型计算机家族的一员,以独特的结构和优点,越来越深受各个应用领域的关注和重视,应用十分广泛,发展极快。
单片机技术应用于各行各业,是一种实用的智能型控制技术,单片机技术的发展极大地推动了电子、通信、计算机、机电一体化等行业的快速发展,成为当前教学和科研的热门技术。
单片机电子时钟系统可以用多种技术手段实现。
本文借助于Proteus仿真系统进行系统虚拟开发成功之后再进行实际操作,可以节约开发时间,降低开发成本,具有很大的灵活性和可扩展性。
在国外有包括斯坦福、剑桥等在内的几千家高校将Proteus作为电子工程学位的教学和实验平台;在国内也有众多大学正在体验Proteus的独一无二的功能并申报大学计划。
该方法具有普遍意义。
通过实际应用发现,采用该方法可以大大简化硬件电路测试和系统调试过程中电路板制作、元器件安装、焊接等过程。
很明显,使用该方法可以提高开发效率、降低开发成本、提升开发速度,对单片机系统开发具有指导意义。
2设计思路和功能描述
整体设计任务:
本电子时钟设计首要的工作是结合以往所学的单片机程序编写理论和编写规则来编写电子时钟的软件部分,编写时要结合所配的STM8S105芯片的管脚功能和其他硬件电路,如DS1302时钟芯片和LCD1602液晶显示屏,该部分运用STVD单片机软件来完成。
在编写完软件并检测完正确后用仿真硬件检测运行检测程序是否正确,并调试。
待这一切工作做好后再利用系统板硬件电路来实践实现软件功能与硬件的结合。
3硬件原理分析
电路设计分析
电路原理设计是基于小系统包括电源电路、复位电路、按键电路、时钟电路、LCD液晶显示驱动电路、输出控制电路。
电源部分是用直流电源经变压来提供的5V,晶体振荡器采用的是16MHz的石英晶体振荡器。
部分硬件设计:
(1)本设计采用DS1302实时时钟芯片来进行计时,并将1302的数据输入单片机进行处理,送入LCD1602液晶显示屏进行显示。
(2)用四个电位按键来实现对电子时钟的调试工作,当按第一下总控键时进入中断程序,即时钟的调整状态,有两个电位按键分别来调整时钟的加和减;第四个按键用来调整时分秒日月年,按一下调整秒,连按两下调整分,按三下调整时,四下调整日,五下调整月,六下调整年,七下退出时间设置。
(3)用一个按键和其他部件组成的复位电路与芯片连接来实现整个程序及硬件的重新复位功能。
4Proteus简介
Proteus是目前最先进的单片机CPU和外围电路仿真工具之一。
本文介绍了单片机仿真软件Proteus的特点,并结合实时时钟电路的实例详细介绍了使用Proteus进行电路设计与仿真的过程及方法,旨在为单片机爱好者和技术人员提供了一个很好的学习平台。
ProteusISIS是英国Lacenterelec-tronics公司开发的电路分析与实物仿真软件,应用范围十分广泛,涉及PCB制版、Spice电路仿真、单片机仿真以及对ARM7/LPC2000的仿真。
Proteus主要由ARESISIS两大模块构成,ARES主要用于印刷电路板(PCB)的设计及其电路仿真,ISIS主要用于原理图的设计并仿真。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。
4.1该软件的特点:
1.实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真,数字电路仿真。
单片机及其外围电路组成的系统的仿真。
有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
2.支持主流单片机系统的仿真。
目前支持的单片机类型有:
68000系列、805l系列。
AVR系列、ARM系列、PICl2系列、PICl6系列、PICl8系列、Z80系列、HCl1系列以及各种外围芯片。
3.提供软件调试功能。
该软件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,同时支持第三方的软件编译和调试环境,如KeilC5luVision2等软件。
4.具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
本文介绍ProteusISIS软件的工作环境和一些基本操作。
4.2如何进入ProteusISIS
双击桌面上的ISIS6Professional图标或者单击屏幕左下方的“开始”→“程序”→“Proteus6Professional”→“ISIS6Professional”,出现如图1所示屏幕,表明进入ProteusISIS集成环境。
图1启动时的屏幕
4.3工作界面
ProteusISIS的工作界面是一种标准的Windows界面,如图2所示。
包括:
标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。
图2ProteusISIS的工作界面
Keilc与Proteus连接调试
1.假若Keilc与Proteus均已正确安装在C:
\ProgramFiles的目录里;
2.安装Keilc与Proteus的连接插件vdmagdi.exe;
3.进入KeilcμVision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:
Atmel公司的AT89C51)。
并为该项目加入Keilc源程序。
下面以单片机实时时钟电路为例,介绍使用Proteus进行单片机实时时钟电路设计与仿真的过程。
5基本原理
单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面,其调试过程一般分为软件调试、硬件测试、系统调试3个过程。
软件调试一般比较容易进行,但如果要进行硬件电路测试和系统调试则比较麻烦,因为要进行这两个过程必须在电路板设计制作完成、元器件焊接完毕之后进行。
而电路板的制作、元器件的安装、焊接是费时费力的,如果采用单片机系统的虚拟仿真软件——Proteus,则不用制作具体的电路板也能够完成以上工作。
Proteus软件是来自英国Labcenterelectronics公司的EDA工具软Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是:
将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、LED、LCD、开关等,实时看到运行后的输入、输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus为我们建立了完备的电子设计开发环境。
Proteus软件由ISIS和ARES两个软件构成,其中ISIS是原理图编辑与仿真软件,ARES是布线编辑软件。
这里主要介绍ISIS软件。
5.1ISIS软件的主要特性有
1可以仿真、分析各种模拟器件和集成电路,其最大的特点是可以支持许多型号的单片机仿真,该软件的单片机仿真库里有5l系列、PIC系列、AVR系列、摩托罗拉的68MHll系列等,Proteus的仿真是基于SPICE3F5的,因此它也能像其他的EDA软件那样进行电路分析,如模拟分析、数字仿真、混合信号分析、频率分析等。
2提供了虚拟示波器、逻辑分析仪、信号发生器、计数器、电表、虚拟终端等虚拟仪器仪表供选用。
3能够进行原理图(SCH)的设计。
4能和Keilc等软件整合使用,以求达到更好的仿真效果。
6硬件电路设计与实现
以单片机电子时钟系统为例,介绍使用Proteus进行单片机电子时钟系统设计与仿真的过程。
这里使用的是Proteus6Demo版本。
该电子时钟系统硬件主要由AT89C51单片机、时钟芯片DS1302、LCD1602等元器件组成。
系统原理图如图1所示。
和Protel,EWB等软件相似,绘制原理图都要先从器件库里取出所需的元件并在绘图区布局好,同时编辑元件的参数,接着进行连线,添加必要的网络标识等步骤。
运行Proteus的ISIS后出现程序主窗口界面,鼠标左键单击窗口左侧的元器件工具栏的component。
按钮,接着再点击窗口左侧的元器件选择区的PickDivices。
按钮,弹出如图2所示的PickDevices窗口,再在Category栏里点击MicroprocessorICs项后,在Results栏里会出现各种类型的CPU器件,找到AT89C51后双击,AT89C51就被添加到当前窗口左侧的元器件列表区了。
用同样的方法依次把DS1302、LCD1602、数码管、晶振以及多个电阻、电容也添加到器件列表区里。
然后再依次点击列表区里的器件,单击左键把他们放到绘图区,右键选中元件,并编辑其属性,合理布局后,进行连线。
连线时当鼠标的指针靠近一个对象的引脚时,跟着鼠标的指针就会出现一个“×”提示符号,点击鼠标左键即可画线了,需要拐弯时点击一下即可,在终点再点击确认一下就画出了一段导线,所有导线画完后,点击工具栏的Inter—sheetTerminal。
按钮,添加上电源和接地符号,原理图的绘制就完成了。
最后,保存设计文件于C:
\LabcenterElectronics\Proteus6Demonstration\eclock文件夹,文件名为eclock.DSN。
7主要芯片、元器件简介
7.1DS1302
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。
采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。
DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。
DS1302的引脚排列中Vcc1为后备电源,VCC2为主电源。
在主电源关闭的情况下,也能保持时钟的连续运行。
DS1302由Vcc1或Vcc2两者中的较大者供电。
当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。
当Vcc2小于Vcc1时,DS1302由Vcc1供电。
X1和X2是振荡源,外接32.768kHz晶振。
RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。
RST输入有两种功能:
首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。
当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。
如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。
上电运行时,在Vcc≥2.5V之前,RST必须保持低电平。
只有在SCLK为低电平时,才能将RST置为高电平。
I/O为串行数据输入输出端(双向),后面有详细说明。
SCLK始终是输入端。
7.1.1DS1302的主要特性
引脚排列
图3DS1302引脚排列图
DS1302的引脚排列如图所示,各引脚的功能如下:
X1,X2——32768Hz晶振引脚端;
RST——复位端;
I/O——数据输入/输出端;
SCLK——串行时钟端;
GND——地;
VCC2,VCC1——主电源与后备电源引脚端。
7.1.2主要功能
DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器、实时时钟电路以及用于高速暂存的31字节RAM。
DS1302与单片机系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。
其工作过程可概括为:
首先系统RST引脚驱动至高电平,然后在作用于SCLK时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。
因此,其与单片机之间的数据传送是十分容易实现的。
7.2AT89C51单片机
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图4AT89系列芯片
7.2.1.主要特性
·与MCS-51兼容
·4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
7.2.2.管脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
7.2.3.振荡器特性
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
7.2.4.芯片擦除
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
7.3LCD1602液晶屏显示电路
1602是一种字符型液晶显示模块,专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
下面以某公司的1602字符型液晶显示器为例,介绍其用法。
一般1602字符型液晶显示器实物如图
图51602液晶实物图
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图
图6LCD背光和不背光尺寸差别
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下:
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Proteus 单片机 实时 时钟 仿真 设计 毕业设计 论文