


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、交通与汽车工程学院单片机课程设计方案1.1 问题的提出随着人类科技文明的发展, 人们对于时钟的要求在不断地提高。 时钟已不仅仅被看成 一种用来显示时间的工具, 在很多实际应用中它还需要能够实现更多其它的功能。 高精度、 多功能、小体积、低功耗,是现代时钟发展的趋势。在这种趋势下,时钟的数字化、多功 能化已经成为现代时钟生产研究的主导设计方向。 本文正是基于这种设计方向, 以单片机 为控制核心,设计制作一个多功能的数字时钟。本设计基于单片机技术原理,以单片机芯片 AT89C51作为核心控制器,通过硬件 电路的制作以及软件程序的编制, 设计制作出一个多功能数字时钟系统。 该时钟系统主要 由时钟模块
2、、 数码管显示模块、 键盘控制模块以及信号提示模块组成。 系统具有简单清晰 的操作界面,可随时进行时间调整。同时,该时钟系统还具有功耗小、成本低的特点,具 有很强的实用性。 由于系统所用元器件较少, 单片机所被占用的 I/O 口不多, 因此系统具 有一定的可扩展性。1.2 任务与分析本次设计的系统的控制中心是 89C51 单片机。首先,在 Protel 软件环境中进行硬件 电路图的设计。然后在 8051 软件环境中进行系统的软件编程,并进行程序源文件的编译 和调试,最后生成.hex文件。此.hex文件是硬件电路运行实现的源代码来源。把.hex文件 加载到AT89C51单片机芯片,然后在Prot
3、eus软件环境中运行硬件电路,时钟的日期就可 以正常显示了。本设计的系统主要由 :AT89C51 为中央处理芯片,用于数据处理,初值设定。时钟芯 片 DS1302 是本例的核心模块,由他提供时钟信息并由 LED 显示,用汇编语言进行编程。 本系统可以分为以下 4 大模块:1、AT89C51模块:用于数据处理,和外围的时钟芯片通信,并控制时钟传输过程, 采集时间信息并予以处理。2、DS1302 模块:实时显示可以通过软件编程来实现,但这种方法需要编制的程序 复杂,代码多,且单片机软件开销大, 时间信息也不容易长期保存。 而采用时钟芯片 DS1302 可以避免这些问题,它可以长期保存此信息,因此本
4、例中我们使用此芯片来实现此系统。3、数码管显示模块: 显示模块采用普通的共阳 LED 数码管, 此模块用于实时的显示 时间信息。4、程序:包括单片机控制时钟芯片的接口程序 (实现单片机和时钟芯片之间的数据传 输过程)和数码管显示程序。2 系统方案设计2.1 系统设计方案通过查阅相关资料,设计初期共有 3 个方案供我选择,分别是: ( 1)采用 89C2051 单片机组成的系统;(2)采用89C51单片机,8155芯片组成的系统;(3)采用89C51单 片机,DS1302实时时钟芯片组成的系统。( 1)采用 89C2051 单片机组成的系统此系统的硬件部分主要是由89C2051单片机,74LS4
5、8芯片,ULN2003芯片所组成。 该系统硬件结构简单,但是单片机的 I/O 接口太少,不足以实现多种功能,软件设计部 分,程序冗长而复杂,易产生混淆。(2)采用 89C51 单片机, 8155芯片组成的系统这个方案采用89C51单片机,8155芯片,LED显示器,4*4键盘来组成系统的硬件。 该系统采用的是单片机部的定时 /计数器进行中断定时,配合软件延时实现时,分,秒的 计时。但这样的话,程序复杂化,时间信息也不容易长期保存。(3)采用89C51单片,DS1302实时时钟芯片组成的系统此方案在硬件部分采用了 89C51单片机,DS13O2时钟芯片,74LS47芯片,LED 显示器,几个按键
6、。该系统的最大特点是采用了新的芯片即 DS1302。在功能上进行了 扩充,并且使得硬件连线显得较为简单,在软件部分,程序显得层次分明。最后确定设计采用第3方案,即 系统是由89C51单片机,74LS164芯片,DS1302时钟芯片, LED 显示器组成2.2系统总体框图图1系统总体框图当程序启动后,程序进入初始化阶段。单片机将从 DS1302时钟芯片中读出年,月, 日,时,分,秒,。并且经过显示缓存后送入LED显示器进行显示。当需要调整日期和时 间时,按下“调日历”键,进入调整年、月、日。首先“年”的两位数码管闪烁显示,表 示在调整“年”状态,按“加一”键调整到期望的年,再按“调日历”键确认“
7、年” ,同 时进入调整“月”状态。同理,月和日的调整方法也是一样。调整时间也是同样的道理。 闹钟的设置则是当按下闹钟键后,时分秒的显示不变,并且小时部分闪烁,按“加一”键 调整到期望的闹钟时间后,再按“闹钟”键确认小时,同时进入调整分钟的状态。调整好 后再按下“闹钟”键确认,返回正常显示,当到达设定时间时,蜂鸣器响。3系统硬件电路设计3.1 89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM Falsh Programmable and Erasable Read Only Memory 的低电压,高性能 CMOS 8 位微处理器, 俗称单片机。AT89C2
8、051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片 机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制 造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容。由于将多功能 8位CPU 和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉 的方案。p 1.0匸 vccp 1.12汕PO.O |ADD|p 1z c339 y wp 13 U3FLl P-fl J AD2PL百匚沁 PO.J 1AD3)p 1Ll PO .
9、 4A4 jP V1AOD)PI.7 db小口鮎RSTb321 P0.7 iADT)XD) P3Qt op f AjVPF*(T XDJ P3.1 c11F ALEPROG2 C1 229 PSCM3 Ur 3Th Pi.T 4A1 5(Tfl) P34 CT A P2 61 4.9 U2(ft) P3. c1 &i n p s.7 E;i r244AT 卄XTL2 IIB23Fl P2 2 (AIDktaliZ? PZ 1 (AB)gnc 二2D51 Pi.ft图2 89C51单片机引脚图89C51单片机与早期In tel的8051/8751/8031芯片的外部引脚和指令系统完全兼容, 只不
10、过用Flash ROM替代了 ROM/EPROM而已。89C51单片机部结构如图所示。3 片 A IIL1TB0WKOHE i T ALIIRsr s f图3 89C51单片机部结构示意图各引脚的功能如下:VCC :供电电压。GND :接地。P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当P1 口 的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被 定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校3 验时,P0输出原码,此时P0外部必须被拉高。P1 口: P1 口是一个部提供上拉电阻的8位双向
11、I/O 口,P1 口缓冲器能接收输出4TTL 门电流。P1 口管脚写入1后,被部上拉为高,可用作输入,P1 口被外部下拉为低电平时, 将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1 口作为第八位地址接 收。P2 口: P2 口为一个部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收,输出4个TTL 门电流,当P2 口被写“ 1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入 时,P2 口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“ 1”时,它利用部上拉优势
12、,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的容。P2 口在FLASH编程和校验时接收高八位地址信号和控制信号P3 口: P3 口管脚是8个带部上拉电阻的双向I/O 口,可接收输出4个TTL门电流。 当P3 口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为 低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位 字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变
13、的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于 定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR 8EH地址上置0。此时,ALE只有在执行 MOVX,MOVC指 令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止, 置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周 期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的 /PSEN信号将不出现。/EA :当/EA保持低电平时,则在此期间CPL只访问外部程序存储器(0000H
14、-FFFFH, 不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高 电平时,则执行部程序存储器中的程序。在FLASH编程期间,此引脚也用于施加12V编程 电源(VPP)。XTAL1 :反向振荡放大器的输入及部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。写出其它硬件芯片的介绍! !4 系统软件设计4.1 proteus 软件环境介绍本系统的硬件设计首先是在Proteus软件环境中仿真实现的。Proteus软件是来自英国 Labcenter electronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使 用,除了具有和其它
15、EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能 外,其革命性的功能是,它的电路仿真是互动的。 针对微处理器的应用,还可以直接在基 于原理图的虚拟原型上编程, 并实现软件源码级的实时调试。 如果有显示及输出, 配合系 统配置的虚拟仪器如示波器、逻辑分析仪等,还能看到运行后输入输出的效果。Proteus建立了完备的电子设计开发环境,尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果 2 。Proteus是目前最好的模拟单片机外围器件的工具。可以仿真51系列、AVR、PIC等常用的MCU及其外围电路(如 LCD,RAM,ROM,键盘,马达,LE
16、D,AD/DA,部分 SPI 器件,部分 IIC 器件. )。其实 Proteus 与 multisim 比较类似,只不过它可以仿真 MCU,当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用 开发板和仿真器当然是最好选择, 可是初学者拥有它们的可能性比较小。 当然,硬件实践 还是必不可少的。在没有硬件的情况下,Proteus能像pspice仿真模拟/数字电路那样仿真MCI及外围电路。另外,即使有硬件,在程序编写早期用软件仿真一下也是很有必要的。 Proteus软件主要具有以下几个方面的特点:1、设计和仿真软件 Proteus 是一个很有用的工具,它可以帮助学生和专业人士提
17、高他们 的模拟和数字电路的设计能力。2、它允许对电路设计采用图形环境,在这种环境中,可以使用一个特定符号来代替元器 件,并完成不会对真实电路造成任何损害的电路仿真操作。3、它可以仿真仪表以及可描述在仿真过程中所获得的信号的图表。4、它可以仿真目前流行的单片机,如 PICS, ATMEL-AVR, MOTOROLA, 8051等。5、在设计综合性方案中,还可以利用ARES开发印制电路板。4.2 Protel 软件环境介绍Protel印制板设计软件包是澳大利亚protel tech no logy公司与1990年推出的电子CAD 产品,具有方便、易学、实用、快速以及高速度、高步通率的特点。它采用了
18、分层 次下拉窗口菜单结构形式,用户基本上不需要记背太多的键盘命令, 用鼠标点击菜单命令 就能操作,protel有着很高的自动布线布通率。布通率是电子产 CAD产品的一项重要指 标,它反映电子元件在电路图中连接关系有多少能在印刷版图中实现。在设计常用的单、双面印制板时只要选择适当的元件布局和布线策略方法,protel就可以轻易的达到98%-1008的布通率。对于极少数不能布通的定方, protel可以用飞线指示出来,引导用户 用手工方法连通。另外,protel有强大的宏命令设置功能,利用宏命令功能多定义的热键1可以大大提高操作速度。Protel对微机的软硬件配置要求很低:cpu在8088以上,d
19、os2.0以上版本,存640kb 以上,双软件(或一个软件一个硬盘),单色显示器(多层板设计时最好用彩色),各种兼 容打印机。也能在Windows9X平台的模拟DOST运行。Protel已成为印制板设计加工方面的工业标准。 据初步统计protel在CAD的市场占有 率达95%,成为电子产品制造业界的首选 CAD软件。4.3系统软件分析(写出你编写程序前,主要要先考虑的地方)任何一个应用系统,它们都有着自己的硬件系统和软件系统, 少了任何一个部分都不 可能称之为一个完整的应用系统,它们之间是相互依存的一个整体,硬件系统是软件系统 的一个基础和前提,为软件系统提供了一个操作平台;而软件系统是硬件系
20、统的灵魂,它 对硬件系统起到扩充和完善的作用。 可想而知软件系统与硬件系统同等重要, 下面为系统 软件设计过程:(1)日历程序设计过程因为使用了时钟芯片DS1302,日历程序只需要从DS1302各寄存器中读出年、周、 月、日、时、分、秒等数据,再处理即可。在首次对 DS1302进行操作之前,必须对它进 行初始化,然后从DS1302中读出数据,在经过处理后,送给显示缓冲单元。(2)确定数值存储地址表3数值存储地址表60H从1302中读出的秒存放的地址单兀61H从1302中读出的分存放的地址单元62H从1302中读出的小时存放的地址单元63H从1302中读出的日期存放的地址单元64H从1302中读
21、出的星期存放的地址单元65H从1302中读出的月份存放的地址单兀66H从1302中读出的年份存放的地址单元4AH-4BH年份的显示缓冲单元48H-49H月份的显示缓冲单元46H-47H日期的显示缓冲单元44H-45H小时的显示缓冲单元42H-43H分钟的显示缓冲单元40H-41H秒的显示缓冲单元58H闹钟的小时存放单元57H闹钟的分钟存放单元(3) 中断允许寄存器IE在程序采用了外部中断1的工作方式。完成闹钟的时间输入的功能。在程序中使用了中 断允许寄存器IE。下面介绍IE。IED7D6D5D4D3D2D1DOIEEAESET1EX1ETOEXO位地址AFHACHABHAAHA9HA8H1、E
22、A :中断总允许位。EA=1, CPU开放中断;EA=O, CPU禁止所有的中断请求。2、ES:串行中断允许位。ES=1,允许串行口中断;ES=O,禁止串行口中断。3、ET1: T1溢出中断允许位。ET1=1,允许T1中断;ET1=0,禁止T1中断。4、EX1 :外部中断1允许位。EX仁1,允许外部中断1中断;EX仁0,禁止外部中断1中断。5、ETO: T0溢出中断允许位。ET0=1,允许T0中断;ETO=O,禁止T0中断。6、EX0 :外部中断0允许位。EX0=1,允许外部中断0中断;EXO=O,禁止外部中断0中断 。(4) LED动态扫描显示方式的设计1、将要显示的数据地址送至 P1 口,
23、让LED接收信号。2、通过单片机P2.0 P2.6控制相应的LED位选线,本设计定义的位选线如下表所示:表4位选线定义表位选线LED被选中位所代表的含义P2.0年份的高位和小时的十位P2.1年份的低位和小时的个位P2.2月份的高位和分钟的十位P2.3月份的地位和分钟的个位P2.4日的高位和秒的十位P2.5日的低位和秒的个位4.4程序流程图(1)主程序流程图图15主程序流程框图主程序流程图说明:因为使用了时钟芯片DS1302,只需要从DS1302各寄存器中读出年、周、月、日、时、分、秒等数据,再处理即可。程序初期,对地址单元赋初值,并且开启中断。在首次 对DS1302进行操作之前,必须对它进行初
24、始化,然后进行按键的判断,如果按下闹钟键, 则转去处理闹钟中断的程序, 若没按下闹钟键,则再判断是否按下了调日历和挑时间按键, 若按下,则转去处理相应的调整子程序, 若没按下,则正常显示当前的日期和时间。将正常显示的时间与闹钟设置的时间相对比,若相等则使蜂鸣器响,若不相等,则正常显示(2)调日历子程序的流程图是曰车是先图 16 调日历子程序流程图框图调日历子程序流程图说明:在此流程图中, 主要说明的是年份的调整方法, 之所以没有说明月份和日的调整, 因为它们的调整方法与年份如出一辙, 故此省略。 通过流程图可以看出日历的调整,通过判断调日历的按键是否按下,以此来确定是否进入调整日历子程序。日历
25、的调整是由 调日历键和+1键来共同实现的,当按下调日历键,调整的相应位闪烁,再按下 +1键,调 整闪烁位的数值,调好后再按下调日历键,确认刚调整位以及使下一调整位闪烁。 当全部 的日历都调整好后,再按下调日历键,返回显示部分。(3) INT1中断程序流程图图 18 中断程序流程图框图中断程序流程图说明:当按下闹钟键,则执行外部中断 1 的程序,跳至中断程序。将小时的部分闪烁,表 示要对此进行调整。按下 +1 键,对闪烁位进行调整,输入闹钟的小时时间。再按下闹钟 键,对小时位进行确认,使分钟位闪烁,再按下 +1 键进行分钟位的调整。将输入的闹钟 的小时,分钟分别放入相应的地址单元保存起来。 再次按下闹钟键, 就跳回主程序, 正常5系统调试过程通过上面的硬件设计和软件设计过程, 设计的工作已经基本完成,接下来的工作就是对所设计好的应用系统进行调试。通过调试可以检查出系统出现的一些错误,从而进行下步的修改。(1) 在Protel 99 SE中,对硬件电路图进行 ERC电气规则检查。日EE日日日TiTmTTT图20 protel原理图| SHEJI.EHCError 尺即匚了七 Fn? - SHEJI . SchEk3 Repor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中性安全知识培训总结课件
- 高中女生工作课件
- 高一必修走进细胞课件
- 离婚双方房产租赁及物业管理协议范本
- 夫妻离婚房产分割及子女抚养、监护协议模板
- 离婚协议书中关于知识产权归属的详细范本
- 租赁合同担保法律风险防范与违约责任追究
- 教育培训机构租赁合同担保与教育资源整合协议
- 广告创意提案及代理落地合同
- 骨骼知识培训课件
- 人教PEP版(2024)四年级上册英语-Unit 3 Places we live in 单元整体教学设计(共6课时)
- 贵阳市殡仪服务中心招聘考试真题2024
- 中学藏文散文教学课件大纲
- 苗圃建设项目可行性研究报告
- 2025年全国保密教育线上培训考试试题库完整答案附带答案详解
- 数据挖掘(第2版)PPT全套完整教学课件
- 流动机械安全专项方案
- 医院患者有自杀倾向时应急预案及处理流程
- 汽车材料(第三版)整套课件汇总完整版电子教案(全)
- 古今滑稽诗话 稽山范范左青编
- 第二章纯金属的结晶
评论
0/150
提交评论