欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于Proteus多功能电子万年历的设计与实现本科Word文件下载.docx

    • 资源ID:467359       资源大小:764.55KB        全文页数:34页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Proteus多功能电子万年历的设计与实现本科Word文件下载.docx

    1、随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。在国内:单片机的学习呈上升趋势,但很多人学习是无头绪,不知道从何入手,行业发展迅速,国内生产技术不断提升。国内企业为了获得更大的投资收益,在生产规模和产品质量上不断提升,开发单片机呈必然趋势。我国生产的多功能电子万年历有很多,总体上来说是研究多功能电子万年历为主,商家生产的电子万年历更从质量、价格、实用上考虑不断改变电子万年历的设计,使其更有市场。在科技发达的今天,智能化必将是以后的发展趋势,所以开发活和学习单片机是社会发展的必然需求。

    2、在国外:最具有代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。前两次革命是摆和摆轮游丝的发明,以及石英晶体振荡器的应用,第三次革命就是单片机数码计时技术的应用,使得从原来传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期,星期,温度以及农历等显示功能,它更符合消费者的生活需求。因此,电子万年历的出现带来了钟表计时业界跨越性的进步。当前,电子万年历技术已经进入了优化人-家庭-环境的整体关系的阶段,它向着超微型、超高效以及集成电路的微型化方向发展,并为电子万年历上的集中控制提供了基础。目前,市场上出售的万年历品种很多,其中大部分是基于单片机技

    3、术设计的电子系统。当今,数字万年历主要还是用于计时、自动报时、定时、日期查询以及自动控制等方面。由于单片机技术以及数字集成电路技术的发展和采用了先进的石英技术,使得如今的数字万年历系统具有体积小、耗电省、计时准确、性能稳定、维护方便、走时准确、携带方便等优点,此外,现在市场上已有现成的数字万年历集成电路芯片出售,而且价格便宜、使用也很方便。2 开发平台本节主要介绍开发平台,兼容单片机C语言软件开发系统Keil uVision3软件和单片机仿真软件Proteus。2.1 KeiluVision3介绍 图2.1Keil uVision3软件Keil uVision3是美国Keil Software

    4、公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。KeiluVision3工具包为forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成

    5、绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。相比起其他单片机的开发软件,KeiluVision3生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。编译后能生成.hex文件,能直接为ISIS7Professional仿真软件所使用。2.2单片机仿真软件Proteus 图2.2 Proteus单片机仿真软件在Proteus是英国Labcenter公司开发的电路及点偏激系统设

    6、计与仿真软件。它可以实现数字电路,模拟电路及为控制器系统与外设的混合电路系统的电路仿真、软件仿真、 系统协同仿真和PCB设计等功能。它能对各种处理器进行实时仿真、调试与测试的EDA工具,真正实现了再没有目标原型是就可以对系统进行调试测试与验证。Proteus提供了30多个元件库和7000余个元器件。元件涉及电阻、电容、二极管、三极管、变压器、放大器、各种激励源等等。SIS 7 Professional能完成原理图设计的仿真平台,用于电路原理图的设计以及交互式仿真。通过Keil uVision3编译生成的.hex文件能直接用于Proteus所设计的电路图上。3 硬件设计微机处理系统中硬件的选择直

    7、接影响系统的功能及稳定性。选择功能适合,少发生偶合的硬件设备,是整个系统设计的关键部分,所以本次设计选择AT89S51进行实验。3.1 AT89S51引脚及功能AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。AT89S51采用的是40只引脚的双列直插式封装,如图3.1所示。图3.1 AT89S

    8、51引脚图(1)电源及晶振引脚 Vcc(第40脚):+5V电源引脚;Vss(第20脚):接地引脚;XTAL1、XTAL2(第19、18脚):外接晶振的两个引脚。(2)控制引脚RST/Vpd(第9脚):复位/备用电源引脚;ALE/PROG(第30脚):地址锁存使能输出/编程脉冲输入;PSEN(第29脚):输出访问片外程序存储器读选通信号;EA/Vpp(第31脚):外部ROM允许访问/编程电源输入。(3)并行I/O口引脚并行I/O口共有32只引脚,其中:P0.0P0.7(第3932脚)统称为P0口;P1.0P1.7(第1-8脚)统称为P1口;P2.0P2.7(第2128脚)统称为P2口;P3.0P

    9、3.7(第1017脚)统称为P3口,作为一般I/O口使用。3.2 AT89S51的内部结构其内部结构包含了作为微型计算机所必需的基本功能部件,如CPU、RAM、ROM、定时/计数器和可编程并行I/O口、可编程串行口等。这些功能部件通常都挂靠在单片机内部总线上,通过内部总线传送数据信息和控制信息。其内部基本结构如图3.2所示。图3.2 硬件系统组成结构框图1.中央处理器(CPU):整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2.数据存储器(RAM):片内有128个8位用户8个据存储单

    10、元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据、运算的中间结果或用户定义的字型表,3.程序存储器(ROM):共有4096个8位掩膜ROM,用于存放用户程序、原始数据或表格。4.中断系统:具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并与2级的优先级别选择。5.定时器/计数器:片内有2个16位的可编程定时器/计数器,以实现定时或计数产生中断,用于控制程序转向。6.串行口:内置1个全双工的串行通信口,用于与其它设备间的串行数据

    11、传送,该串行口既可以用作异步通信接发器,也可以当同步移位器使用。7.并行输入/输出(I/O)口:共有4组8位并行I/O口(P0、P1、P2、P3),每个口都由1个锁存器和1个驱动器组成。并行I/O口主要是用于实现与外部设备中数据的并行输入/输出,有些I/O口还具有其他功能。8.特殊功能寄存器:共有21个,用于对片内的各功能的部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。3.2.1 电路设计框图本系统的电路系统框图如图2.1.3所示。AT89S51单片机对DS18B20写入控制字并读取相应的数据,继而控制LCM1602作出对应的显示。 图3.3 电路

    12、设计框图3.2.2主要单元电路设计(1) AT89S51单片机主控制模块的设计AT89S51是一个低功耗,高性能CMOS 8位单片机,其具有如下特点:40个引脚,4kBytes Flash片内程序存储器,128Bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。AT89S51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个

    13、8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。(2) P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。(3) P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编

    14、程和校验时,P1口作为第八位地址接收。 (4) P2口P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。(5) P3口P3口管脚是8个带内部上拉电阻的双向I/

    15、O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。3.2.3 单片机中断典型的8051单片机有5个中断源,可分为两个优先级,实现中断服务嵌套。用户可以用关中断指令来屏蔽中断请求,也可以用开中断指令是CPU接受中断申请。每一个中断源在软件中都可以独立开关,级别可由用户自行设置。下表2.1.1为中断控制标志列表。表3.1 中断控制标志列表中断源工作标志向量地址外部中断0IE00311计时器0TF00BH外部中断1IE113H计时器1TF11BH串行端口传送T123H串行端口接收R

    16、13.3 LCD液晶显示器本系统选择的LCD是AMPIRE12864的汉字图形型液晶显示模块,可显示汉字及图形。单片机P1口作为数据输出口,RS,RW,E分别通过10K的上拉电阻连接到单片机的P0.0,P0.1,P0.2。VDD接5V电源,VSS接地。VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。E(或EN)端为使能(enable)端,下降沿使能。DB

    17、0-DB7为双向数据总线,同时最高位DB7也是忙信号检测位。BLA、BLK分别为显示器背光灯的正、负极。液晶显示器接口图和管脚表如下所示。图3.4 LCD液晶显示器表3.2 LCD接口说明表管脚号管教电平引脚说明1CS1H/L片选择信号,低电平时选择前64列2CS2H/L片选择信号,低电平时选择后64列3GND0V逻辑电源地4VCC5.0V逻辑电源正5V0LCD驱动电压6RS数据指令选择7R/W读写选择:高电平:读数据;低电平:写数据8E读写使能,高电平有效,下降沿锁定数据9DB0数据输入输出引脚10DB111DB212DB313DB414DB515DB616DB717RSTL复位信号,低电平

    18、有效18VOUT-10V背光源负极3.4 按键系统基于多功能万年历设置日历、时间、闹钟等功能,我们决定使用button元件作为控制按钮。Button元件在市场上到处可见,其功能单一,少偶合,反应速度快等特点。本系统使用3个button元件分别作为设置位选、上调、下调等功能。3个按键与一个3位与门电路相连,作为整个按键控制功能系统,以触发AT89S51中断为方式使用设置功能。其电路图如图3.4.1所示:图3.4.1 按键系统(1)Button1 :位选功能,设置位选位,可通过其对年、月、日、时、分、秒进行控制;(2)Button2 :上调功能,对当前所处状态位进行上调;(3)Button3 :下

    19、调功能,对当前所处状态位进行下调。4 程序设计单片机的微机控制系统设计,除了元件选择、系统硬件电路设计外,最主要的工作就是如何根据每个模块的实际需求设计出应用程序。应用程序的可靠性、高效性、稳定性直接影响系统的实现与应用。因此,程序设计在微机控制系统设计中占据着重要地位。在单片机的系统设计的过程中,主要分为数据处理、系统过程控制两大部分。在多功能智能万年历系统中,数据获取与数据分类占较大的比例。其中时间的计算与获取是整个系统的核心所在,另外数据显示、声音处理、过程控制也是整个系统的重点。为了更好地完成各个部分的内容,更方便地进行调程序修改和调试排错,我们把系统分为定时器模块、外部中断响应模块、

    20、主函数模块这几大部分进行设计,并分别进行设计、编程和调试,最后通过主程序将各程序模块连接起来。这样有利于程序修改和调试,增强了程序的可移植性。4.1 定时器模块在本多功能万年历系统中,使用定时器来精确计算每一秒的时间长。首先是对定时器的选择和初始化:选择定时器0,方式1。TMOD = 0x01;装载T0的初值,通过计算且与温度传感器公用,决定以20次溢出作为1秒的时间,故装填TH0 = 0x3c;TR0 = 0xb0;然后启动定时器,打开总中断开关EA = 1;ET0=1;初始化完成后便进入中断函数的设计。每一秒所产生的中断要完成年、月、日、时、分、秒的计算,并为其他功能设定标志位等,如声音,

    21、温度显示,流程图如图4.1。图4.1计时器中断响应程序流程图4.2外部中断响应模块本系统使用0号中断,在中断中响应设置时间、日历和闹钟的功能。首先在主函数中打开0号中断开关,响应模式,总中断开关IT0 = 1;EX0 = 1;另外使用button1作为设置位选位,button2作为上调,button3作为下调,其功能流程图如图4.2所示。否是图4.2 外部中断响应流程图4.3 主函数模块主函数模块主要承担显示日历、时间、星期、农历等信息。因为我们所设的设置位选位为七次一循环,所以在平常状态下,系统显示相关信息,当进入设置状态下,主函数流程如下。图4.3 主函数流程图4.4判断闰年每月天数闰年的

    22、二月有29天,否则则为28天,下图是判断闰年的每个月的天数。图4.4 判断闰年每月天数非闰年每个月天数流程图与之类似,这里就不再作具体说明。4.5时间调整1.根据当前的所处状态,来调整时间:满60秒,分加1;满60分,时加1;满24时,日加1;满30日,月加1;满12月,年加1。图4.5 时间调整图2.时间调整程序流程,先按控制键进入调整状态程序,再根据进入的状态进行调整年月日时分秒,具体流程如下图所示:图4.6 时间调整程序秒流程图图4.7 时间调整程序分流程图5 系统仿真与调试仿真部分采用仿真软件Proteus和兼容单片机C语言软件开发系统Keil uVision3软件来进行仿真和调试。5

    23、.1系统仿真5.1.1 系统原理电路图绘制(1)新建文件:打开PROTEUS,点击FILE,在弹出的下拉菜单中选择NEW DESIGN,即进入原理图绘制界面。(2)元器件选取:按设计要求,在对象选择窗口中点P,弹出PICK DEVICES对话框,在KEYWORDS中填写要选择的元器件,然后在右边对话框中选中要选的元器件,则元器件列在对象选择的窗口中。(3)放置元器件、电源和地、连线,得到系统电路图,最后进行电气检测。图5.1 总体电路硬件原理图5.1.2 Keil 工程的建立1.源文件的建立使用菜单“File-New”或者点击工具栏的新建文件按钮,即可在打开的文本编缉窗口中输入源程序,保存该文

    24、件,注意必须加上扩展名。2.建立工程文件点击“Project-New Project ”菜单,出现一个对话框,在编缉框中输入文件名,点击“保存”按钮。在Project-Option for target出现第二个对话框选择目标 CPU(本次设计选择 Atmel 公司的 AT89C52 芯片)。此时,在工程窗口的文件页中出现了“Target 1”,点击“Source Group1”右键,选中其中的“Add file to GroupSource Group1”,出现一个对话框,要求寻找源文件(注意,该对话框下面的“文件类型” 默认为 C source file(*.c),也就是以 C 为扩展名

    25、的文件),双击该文件,将文件加入项目。双击文件名,即打开该源程序。工程建立好以后,对工程进行进一步的设置,以满足要求。首先点击左边Project窗口的Target 1,然后使用菜单“Project-Option for target target1” 设置对话框中的Target页面,Xtal后面的数值是晶振频率值,本次设计设置为12MHz;Memory Model用于设置RAM使用情况选择Small;Compact是可以使用一页外部扩展RAM,而Larget则是可以使用全部外部的扩展RAM。Code Model 用于设置ROM空间的使用选择none。设置对话框中的OutPut页面中Creat


    注意事项

    本文(基于Proteus多功能电子万年历的设计与实现本科Word文件下载.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开