基于单片机技术的多功能电子钟设计.docx
- 文档编号:6392512
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:27
- 大小:100.55KB
基于单片机技术的多功能电子钟设计.docx
《基于单片机技术的多功能电子钟设计.docx》由会员分享,可在线阅读,更多相关《基于单片机技术的多功能电子钟设计.docx(27页珍藏版)》请在冰豆网上搜索。
基于单片机技术的多功能电子钟设计
密级:
JINGGANGSHANUNIVERSITY
本科毕业论文(设计)
题目:
基于单片机技术的多功能电子钟设计
学院电子与信息工程学院
专业电子信息科学与技术
姓名
班级
学号
指导教师
起讫时间2013.12—2014.5
基于单片机技术的多功能电子钟设计
作者:
*****级电信本(*)班指导老师:
***
[摘要]
近年来,科技发展日新月异,生活节奏也越来越快,人们的时间观念越来越强;随着智能化、自动化技术的发展,机电产品的智能化的提高。
比如用到时间提示,定时控制的地方也会愈来愈多,因此,设计开发数字时钟方面具有非常好的应用前景。
单片机由于价格的低廉,性能高,在自动控制产品中得到了十分广泛的应用。
本毕业设计利用的时Atmel公司的AT89C52系列单片机对电子时钟进行开发。
本次毕业设计了实现所需功能的硬件电路,应用C语言进行软件编程,用protues软件进行了仿真实验。
在介绍本单片机的发展情况基础上,详细地说明了实验板硬件情况,本设计实现的功能,以及,并对各功能电路进行了分析。
主要工作放在软件编程上,用protues软件实现对时间,定时及它们的设定日期的功能,详细对软件编程流程以及调试进行了说明,并对计时误差进行了分析及校正。
提出了定时音与显示相冲突问题及解决方案。
实验证明效果良好,可以投入使用。
[关键词]电子钟;单片机;AT89C51
Multi-functionelectronicclockdesignbasedonsinglechipmicrocomputertechnology
Author:
LiHanchunTeacher:
LiuQiuping
Inrecentyears,thedevelopmentofscienceandtechnologychangerapidly,thepaceoflifeisbecomingmoreandmorequickly,People'sconceptoftimemoreandmore;Withthedevelopmentofautomationtechnology,intelligent,mechanicalandelectricalproductsintelligentimprove.Forexample,usetimeprompt,timingcontrolwheretherewillbemoreandmore,therefore,hasaverygoodapplicationprospectindesigningdigitalclock.SCMbecauseoflowprices,highperformance,intheautomaticcontrolofproductshasbeenwidelyused.ThegraduationdesignofAT89C52seriessinglechipofAtmelcompanytodeveloptheelectronicclock.
Thisgraduationdesignthehardwaretoachieverequiredfunctions,usingtheClanguageprogramming,thesimulationexperimentsarecarriedoutwithProtuessoftware.BasedonintroducingthedevelopmentsituationoftheSCM,detaileddescriptionoftheexperimentalboardhardwaredesign,therealizationofthefunction,andthefunctionofeachcircuit,andanalyzesthe.Themainworkinthesoftwareprogramming,therealizationofthetimebyusingthesoftwareofProtues,timingandtheysetthedateofthefunction,thesoftwareprogramminganddebuggingprocessindetailaredescribed,andthetimingerroranalysisandcorrection.Thetimingandtoneanddisplayconflictproblemsandsolutions.Theexperimentprovedthattheeffectisgood,canbeputintouse.
[Keywords]Electronicclock;Singlechipmicrocomputer;AT89C51
第一章绪论
1.1引言
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域.
本文的电子钟系统是以单片机(AT89C51)为核心,由按键部分、晶振电路、复位电路、
电源盒1602液晶部分组成。
具体介绍应用Proteus的ISIS软件进行单片机系统的电子钟设计与仿真的实现方法。
该方法既能准确验证所设计的系统是否满足技术要求,又能提高系统设计的效率和质量,降低开发成本,具有推广价值。
随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。
单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。
然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。
来自英国LabcenterElectronics公司的Proteus软件很好地诠释了利用现代EDA工具方便快捷开发单片机系统的优势。
它包括PROTEUSVSM(VirtualSystemModelling)、PROTEUSPCBDESIGN两大组成部分,在PC机上就能实现原理图电路设计、电路分析与仿真、单片机代码级调试与仿真、系统测试与功能验证以及形成PCB文件的完整嵌入式系统设计与研发过程。
单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软件编程设计两个方面,其调试过程一般分为软件调试、硬件测试、系统调试3个过程。
如果采用单片机系统的虚拟仿真软件——Proteus,则不用制作具体的电路板也能够完成以上工作。
1.2Proteus软件简介
PROTEUS电路绘图软件是由Labcenter公司开发的,到目前为止是世界上最完整、最先进、功能最强大的嵌入式系统仿真与设计平台,可以实现诸如微控制器系统、模拟电路及数字电路与外设的混合电路系统的软件仿真、系统协同仿真、PCB设计功能和电路仿真等功能,也是目前世界上唯一能够对各种处理器进行调试、实时反震与测试的EDA工具。
关于微控制器系统相关的仿真需要建立编译和debug环境,可选择Keil系列软件,如KeiluVision2。
该软件不仅支持许多不同公司的芯片,具有编辑代码,编译和programdebug等于一体,同时还支持PLM、C语言和汇编语言的程序设计。
它的界面浅显易懂,在programdebug、软件模拟等方面有很强大的功能。
其革命性的功能是将电路微处理器仿真和电路仿真进行同步工作,直接在原理图的的基础上的虚拟原型进行处理器编程debug,并对功能进行验证,通过动态器件如LCD,LED,电机,开关等,准确地看到运行成功的输入、输出成果,并且配合系统配置的虚拟仪器如示波器、逻辑分析仪等,Proteus绘图软件为我们创建了非常了齐全的电子设计开发环境。
第二章单片机的相关知识
2.1单片机简介
单片微型计算机简单称为单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),经常用缩写的英文单词MCU来表示单片机,最早的工业控制领域是使用单片机完成的。
单片机是由芯片内部仅有微处理器的专用CPU发展而来。
将大量外围设备和CPU集成在一个芯片中式单片机最早的设计理念,这样可以使计算机系统变得更小更便捷,使得那些对体积要求严格的控制设备更容易集成。
最早按照这种思想设计出的处理器是INTEL的Z80,之后,单片机和专用处理器的发展便各个发展自己的产品。
2.2单片机(MCU)的特点
1.单片机(MCU)的存储器RAM和ROM是按照要求非常严格区分的。
RAM用作数据存储器,存放用户数据及工作区。
ROM则为程序存储器,只存放固定常数、数据表格及存放程序。
2.单片机(MCU)是采用面对控制的指令系统。
为了达到控制的要求,单片机(MCU)拥有非常强大的逻辑控制能力,尤其是单片机(MCU)拥有非常强大的位处理功能。
3.单片机(MCU)的输入/出(I/O)口通常是具有多功能的。
但是因为单片机(MCU)芯片上的引脚有数目限制,所以为了处理引脚实际个数和所需要的信号线个数的问题,单片机(MCU)使用了芯片引脚功能够重复使用的方法,芯片引脚处于哪种功能,不仅可以通过代码指令来设置,也可以通过由机器状态来分辨。
4.单片机(MCU)的外部扩展功能十分强大。
当单片机(MCU)内部的各种功能部件不能满足应用的需要时,都可以在单片机(MCU)外部进行补充,与众多通用的微机I/O芯片互相兼容,这给应用系统方面的设计和实现带来了很大的便捷
2.3AT89C52单片机介绍
AT89C52是一种带有8KB字节闪烁的可编程可擦除的只读存(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的CMOS8位微处理器,具有高性能、低消耗的优点,也称作单片机(MCU)。
AT89C2052是一种带有4KB字节闪烁的可编程可擦除的只读存储器的单片机(MCU)。
单片机(MCU)的可擦除只读存储器可以重复擦除高达100次。
它的元器件使用的是ATMEL制造技术制造,具有高密度、不容易丢失的优点。
与当代工业制定的标准MCS-52指令集和输出管脚互相兼容。
ATMEL公司制造的AT89C51芯片是具有超高效率的微控制器(将很多闪烁存储器和多功能8位CPU融合在同一个芯片当中),AT89C2052是AT89C52的一种精简版本。
AT89C系列单片机(MCU)为嵌入式控制系统提出了很多种方案(灵活度高,价格低廉)。
图2-1AT89C52芯片图
2.3.1管脚说明
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口将被作为第8位地址进行接收。
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.6/WR
外部数据存储器写选通
P3.7/RD
外部数据存储器读选通
表2-1P3引脚功能表
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:
来自反向振荡器的输出。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
第三章电子时钟电路设计
3.1电子钟系统硬件组成
电子钟系统硬件主要由AT89C51单片机、按键部分、蜂鸣器部分、晶振电路、复位电路、电源和1602液晶部分等组成。
AT89C52是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
使用到的元器件:
A89C52,排阻,蜂鸣器,电阻,vcc、电源,三极管,电容,按键,LCD1602,可变电阻,晶振,电位器……
3.2电子时钟系统设计电路图
本实验用到的原理图主要由以下4部分组成。
(1)按键部分,如下图所示,用的是独立键盘(s2,s3,s4,s5)。
图中S2-S4为独立键盘分别和单片机的P1^0-P0^2相连。
独立按键左边的4个引脚链接到一起并且由硬件直接接地。
当检测到低电平时认为是被按下。
图3-1键盘原理图
图3-2按键原理流程图
(2)单片机和蜂鸣器部分,如下图所示。
图3-3单片机和P0排阻图
图3-4蜂鸣器电路图
蜂鸣器原理:
这张图片上,三极管主要是做驱动用的。
因为单片机的IO口驱动能力不够让蜂鸣器发出声音,所以我们通过三极管放大驱动电流,从而可以让蜂鸣器发出声音,你要是输出高电平,三极管导通,集电极电流通过蜂鸣器让蜂鸣器发出声音,当输出低电平时,三极管截止,没有电流流过蜂鸣器,所以就不会发出声音。
(3)晶振和复位电路部分,如下图所示。
图3-5晶振电路图
晶振原理:
单片机系统都有晶振,在单片机系统里晶振作用非常大,全程叫晶体震荡器,它结合单片机内部电路产生单片机所需要的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率。
图3-6复位电路图
复位电路的原理:
在上电或复位过程中,控制CPU的复位状态:
这段时间CPU
保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的令执行错误操作,也可以提高电磁兼容性能。
无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。
而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。
许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。
基本的复位方式单片机在启动时都需要复位,以使
CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
单片机系统的复位方式有:
手动按钮复位和上电复位1、手动按钮复位手动按钮复位需要人为在复位输入端RST上加入高电平。
一般采用的办法是在RST端和正电源Vcc之间接一个按钮。
当人为按下按钮时,则Vcc的+5V电平就会直接加到RST
端。
手动按钮复位的电路如所示。
由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
(4)电源和1602液晶部分,如下图所示。
由于单片机内部自带供电系统,多以电源电路图可以省略。
图3-71602液晶电路
本实验使用的1602液晶为5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置128个字符的ASCII字符集字库,只有并行接口,无串行接口。
1602液晶接口说明如下:
a.液晶1,2端为电源;
b.3端口为液晶对比度调节端,通过一个10k电位器接地来调节液晶显示对比度。
在首次使用时,在液晶上电状态下,调节液晶上面一行显示出黑色小格为止。
c.4端口为想液晶控制器写数据/写命令选择端,接单片机的P3.5口。
d.5端口为读/写选择端。
3.4Proteus电路图设计
运行Proteus的ISIS后出现程序主窗口界面,鼠标左键单击窗口左侧的元器件工具栏的component.按钮,接着再点击窗口左侧的元器件选择区的PickDivices.按钮,弹出如图1所示的PickDevices窗口,再在Categ栏里点击MicroprocessorICs项后,在Results栏里会出现各种类型的CPU器件,找到AT89C52后双击,AT89C52就被添加到当前窗口左侧的元器件列表区了。
用同样的方法依次把LCD1602液晶、按键、蜂鸣器、晶振以及多个电阻、电容也添加到器件列表区里。
然后再依次点击列表区里的器件,单击左键把他们放到绘图区,右键选中元件,并编辑其属性,合理布局后,进行连线。
连线时当鼠标的指针靠近一个对象的引脚时,跟着鼠标的指针rICs就会出现一个“×”提示符号,点击鼠标左键即可画线了,需要拐弯时点击一下即可,在终点再点击确认一下就画出了一段导线,所有导线画完后,点击工具栏的Inter-sheeTerminal.按钮,添加上电源和接地符号,原理图的绘制就完成了。
图3-8Proteus中设计的电子时钟系统原理图
第四章软件设计
4.1程序实现的功能
1.时间显示在1602液晶上,并且按秒实时更新。
2.能够用按键随时调节时钟的时、分、秒,按键可设计为三个有效键,分别为功能选择键、数值增大键和数值减少键。
3.每次都有按键按下时,蜂鸣器都以短“滴”声报警。
4.2源程序设计
中断技术在单片系统中有着十分重要的作用,它不仅可以提高单片机CPU的效率,也可以对突发事件处理。
所谓中断就是当CPU正在执行程序A时,发生了另一个急需处理的事件B,这是CPU暂停当前执行的程序A,立即转去执行处理事件B的程序,处理完事件B后,再返回到程序A继续执行,这个过程被叫做中断。
关于中断的概念有下列几个名词:
(1)程序A称为主程序,
(2)处理事件B的程序称为中断服务程序,(3)主程序中转向中断服务程序的地方称为断点,(4)引起中断的原因即事件B称为中断源,(5)转去执行中断服务程序称为中断响应。
关于中断的概念可以打个如下的比喻。
领导(CPU)在自己的房间办公(执行主程序),下属(外设)有问题打电话来请示(中断源),领导停下正在进行的工作,通过电话给下属做指示(执行中断服务程序),指示完后,领导挂断电话,继续做自己的工作(返回主程序继续执行)。
中断是一个过程,当中央处理器CPU在处理某件事情时,外部又发生了另一紧急事件,请求CPU暂停当前的工作而去迅速处理该紧急事件。
处理结束后,再回到原来被中断的地方,继续原来的工作。
引起中断的原因或发出中断请求的来源,称为中断源。
单片机一般允许有多个中断源,当几个中断源同时向CPU请求中断时,就存在CPU优先响应哪一个中断请求源的问题(优先级问题),一般根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求,于是便规定每一个中断源都有一个中断优先级别,并且CPU总是响应级别最高的中断请求。
当CPU正在处理一个中断源请求的时候,又发生了另一个优先级比它高的中断源请求,如果CPU能够暂时中止对原来中断处理程序的执行,转而去处理优先级更高的中断源请求,待处理完以后,再继续执行原来的低级中断处理程序,这样的过程称为中断嵌套。
4.3KeilC51进行程序调试
4.4仿真与调试
4.4.1Proteus进行电子钟系统仿真
在ProteusISIS的Debug菜单中选择Execute,运行程序,系统仿真结果如下图所示。
实现功能:
当进入调整功能时,按第一个键S2进行功能选择,按第二个键S3进行加运算。
按下第三个键S4进行减法运算,每次按键都会有“滴”的声音。
从而可以进行具体时间调整。
时间显示格式为:
时-分-秒;日期显示格式为:
年-月-日—星期。
具有实时显示当前计算机系统时间和日期的功能。
Proteus系统仿真结果
以下为源程序:
/*****************************************
*这里为了方便计算时间,我们假设晶振为12M.*
*****************************************/
#include
#defineucharunsignedchar
#defineuintunsignedint
bitwrite=0;//写24C02的标志;
sbitsda=P2^0;
sbitscl=P2^1;
void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 技术 多功能 电子钟 设计