课程设计(论文)-基于AT8920C51的多功能电子钟的设计.doc_第1页
课程设计(论文)-基于AT8920C51的多功能电子钟的设计.doc_第2页
课程设计(论文)-基于AT8920C51的多功能电子钟的设计.doc_第3页
课程设计(论文)-基于AT8920C51的多功能电子钟的设计.doc_第4页
课程设计(论文)-基于AT8920C51的多功能电子钟的设计.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计 题目: 基于at8920c51的多功能电子钟的设计 学院名称: 电气工程学院指导老师: 班 级: 电子信息工程071班学 号: 学生姓名: 二一年六月基于at89c2051的多功能电子钟的实现摘要:电子钟在生活中非常有用,尤其是多路定时功能。市场上有许多电子钟的专用芯片如:lm8363、lm8365等,但它们功能单一,电路连接复杂。不便于业余爱好者制作!用单片机配合计时软件,可制成功能任意的电子钟,而且可以做到硬件简单、成本低廉。 at89c2051是性价比很好的单片机,它的i/o吸入电流可以达到20ma,可以直接驱动led数码管和蜂鸣器;具有2个硬件定时器,非常适合制作电子钟。关键字:at89c2051目 录一、硬件部分1. at89c2051芯片1.1 芯片介绍1.2 主要性能参数1.3 功能特性概述1.4 at89c2051芯片1.5 引脚功能1.6 模式介绍与编程方法2. 智能电子钟功能3. 电路原理设计3.1 电路原理图3.2 电路原理3.3 电路pcb图3.4 引脚连接3.5 电子钟制作3.6 电子钟的改进与扩展4. 电子钟的使用二、软件的实现与控制三、总结四、附录1元器件表2. 参考文献3. 软件程序一、硬件部分1. at89c2051芯片1.1 at89c2051芯片简介at89c2051是美国atmel公司生产的低电压,高性能cmos8位单片机片内含2k bytes的可反复可擦写的只读程序储存器(perom)和128bytes的随机存储数据储存器(ram),器件采用atmel公司的高密度,非易失性储存技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器和flash存储单元。1.2 主要性能参数:与mcs-51产品指令系统完全兼容2k字节可重擦写闪速储存器1000次擦写周期2.76v的工作电压范围全静态操作:0hz24mhz两级加密程序存储器1288字节内部ram15个可编程io口线两个16位定时计数器6个中断源可编程串行uart通道可直接驱动led的输出端口内置一个模拟比较器低功耗空闲和掉电模式 1.3 功能特性概述:at89c2051提供一下标准功能:2k字节flash闪速储存器,128字节内部ram,15个io口线,两个16位定时计数器,一个5向量两级中段结构,一个全双工串行通讯口,内置一个精密比较器,片内振荡器及时钟电路。同时,at89c2051可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许ram,定时计数器,串行通讯口及中段系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件动作直到下一个硬件复位1.4 at89c2051芯片封装vcc:电源电压gnd:地1.5 引脚功能p1口:p1口是一组8位双向io口,p1,2p1.7提供内部上位电阻,p1.0和p1.1内部无上位电阻,主要考虑它们分别是内部精密比较器的同相输入端(ain1),如果需要应在外部街上位电阻。p1口输出缓冲器可吸收20ma电流并可直接驱动led。当p1口引脚写入:1“时可作输入端,当引脚p1.2p1.7用作输入并被外部拉低时,它们将因内部的上位电阻而输出电流(i)。p1口还在flash闪速编程及程序校验时接收代码数据。p3口:p3口的p3.0p3.5、p3.7是带有内部上位电阻的7个双向io口。p3.6meiyou引出,它作为一个通用io口但不可访问,但可作为固定输入片内比较器的输出信号,p3口缓冲器可吸收20ma电流。当p3口写入“1”时,它们被内部上位电阻拉高并可作为输入端口。作输入端时,被外部拉低的p3口将用上位电阻输出电流(i)。p3口还用于实现at89c2051特殊功能,如下表所示:口引脚功能特性p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2(外中断0)p3.3(外中断1)p3.4t0(定时计数器0外部输入)p3.5t1(定时计数器1外部输入)p3口还接收一些用于flash闪速存储器编程和程序校验的控制信号。rst:复位输入。rst引脚一旦变成两个及其周期以上高电平,所有的io口都将复位到“1”(高电平)状态,当振荡器正在工作时,持续两个及其周期以上的高电平便可完成复位,每个机器周期为12振荡时钟周期。xtal1:振荡器反相放大器的及内部时钟发生器的输入端。xtal2:振荡器反相放大器的输出端。振荡器特征:xtal1、xtal2为片内振荡器的反相放大器的输入和输出端,如下图所示。可采用石英晶体或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动at89c2051,时钟信号从xtal1输入,xtal2应悬空。由于输入到内部电路是经过一个2分频触发器,所有输出的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。1.6模式介绍与编程方法(1) 空闲模式在空闲模式下,cpu保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内ram和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。p1.0和p1.1在不使用外部上位电阻的情况下应设置为“0”,或者在使用上位电阻的情况下设置为“1”。应注意的是:在用硬件复位终止空闲模式时,at89c2051通常从程序停止一直到内部复位获得控制之前的两个机器周期处恢复程序执行。在这种情况下片内硬件禁止对内部ram的读写,但允许对端口的访问,要消除硬件复位终止空闲模式对端口以外写入的可能,原则上进入空闲模式指令的下一条指令不应对端口引脚或外部存储器进行访问。(2) 掉电模式在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内ram和特殊功能寄存器的内容在终止掉电模式前被冻结。推出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能存储器但不改变ram中的内容,在vcc恢复到正常工作电平前,复位应无效,且必须保持一定实践以使振荡器重启动并稳定工作。p1.0和p1.1在不使用外部上位电阻的情况下应设置为“0”,或者在使用外部上位电阻时应设为“1”。 (3) flash闪速存储器的编程:at89c2051是在擦除状态下(也即所有单元内容均为ffh)用2k字节的片内perom代码存储阵列进行封装微控制器,其程序存储器是可反复编程的。代码存储阵列一次编程一个字节,一旦阵列被编程,如需重新编程一非空字节,必须对整个存储器阵列进行电擦除。 at89c2051内flash闪速存储器的编程和校验电路如图4和图5所示。内部地址计数器:at89c2051内部包含一个perom编程地址计数器,它总是在rst上升沿到来时复位到000h,并在xatl1引脚上出现正跳变脉冲时进行加1计数。(4) 编程方法:要对at89c2051进行编程。上电次序:在vcc和gnd引脚之间加上电源。设置rst和xtal为gnd电平。其它引脚置控,等待至少10ms以上。置rst引脚为高电平,置p3.2引脚为高电平。2.智能电子钟功能1)全日历计时。2)12/24小时转换。3)8路定时输出(可关/开控制)4)误差:软件中加入了误差调节功能,误差系数为0-99。实际使用中,根据时间快慢,仔细多调几次,可以做到高的精度。月误差小于1s。通过调节软件误差系数,可以保证极高的精度!5)大、小月、润年、周,自动追踪6)4位时间显示,使用1寸高亮数码管;1位星期显示,使用0.5寸高亮数码管。7)电源输入:usb供电或变压器供电两种,此电路选择变压器供电。8)电路可以选择采用后备电池,以防掉电.掉电时,系统正常工作,但数码管不显示。3电路原理3.1电路原理图基于at89c2051的电子钟电路原理图3.2电路原理设计的原始电路见上图,整个电路用25个元器件。用p1口的8根线驱动led数码管的段码;用p3口驱动led数码管的位脚。由于89c2051的i/o脚的上拉内阻有14k左右,无法为led数码管提供必要的工作电流,特添加了8只1k电阻,使led数码管的每段电流在2ma左右。数码管全部点亮时电流约16ma小于20ma,89c2051可以安全工作。为了节省i/o线,键盘处理采用动态扫描方式。先置p30=0,p31=p32=1,再读取p31、p32的状态,如果p31、p32=0,则说明有键按下。进行必要的去抖动处理后,便可得到相应的键值。3.3 电路pcb图基于at89c2051的电子钟电路pcb图3.4 引脚接法单片机与数码管各引脚的具体接线如下: ic12脚至g ; ic13脚至e ; ic14脚至d ; ic15脚至c ; ic16脚至点 ; ic17脚至f ; ic18脚至a ; ic19脚至b ;ic9脚至led1阴极 ; ic8脚至led2 阴极 ; ic7脚至led3阴极 ; ic6脚至led4 阴极 ; ic3脚至led5阴极 ;ic6脚至k1; ic3脚至k2; ic2脚至k1k2公共端。3.5 电子钟制作电子钟的led数码管排列电子钟的时、分位间要有一个跳动的“:”;12小时显示时必须有区分的标志。因此将十时,十分位的led数码管旋转180度,用小数点代替,即可达到要求。此时led数码管的段码顺序被打乱,必须重新排列。常见数码管管脚排列:3.6 电子钟的改进与控制由于2051的输出的电流太小,不能满足需要,因此电路中可设置上拉电阻,目的是进一步加大数码管的灌入电流,但同时也加大了2051单片机芯的功耗,使用时间长了,2051和上拉电阻发热,导致了整个电路功耗较大。原电路设计使用0.5时数码管,显示的数字尺寸太小,若使用1时的数码管,将导致数码管的亮度更加不足,因此,可改进电路增加了一片hc44三态输出芯片,加大了输出电流,增大了输出电压,从而使数码管的亮度可以达到很高,由于增加了74hc244做缓冲器。原1k电阻改为10k的电阻即可,降低了额定工作电流。电路设计,可以使用usb电源供电和变压器供电两种,同时配备后备电池,当停电时,后备电池提供电源,可以使单片机延续工作10小时以上,从而保证掉电时,系统正常运行.注:掉电时,系统正常工作,但切断了输出显示(见图中的三极管,其集电极输出控制hc244的g端,断电时,hc244的输出呈现高阻状态),以维持单片机的工作时间,此时的工作电流在5ma左右。如果想使用更大尺寸的数码管,由于大尺寸的数码管,段是由多个高亮的发光管串联而成,必须达到相应的工作电压,才能正常显示。具体制作时,电源输出的电压要足够高,以使数码管达到足够的亮度。系统的定时输出,设计均由蜂鸣器输出,如果需要控制其它设备,可以自行把定时输出的高电平加以扩展,控制其它的设备。4. 电子钟的使用上电后,电子钟显示“1:00”。1、 8路定时时间查询按下k1键依此显示8路定时时间。星期位显示:“h”表示:打开当前定时输出;“l” 表示:关闭当前定时输出。此时按k2键可进行“h”、“l”的切换。所有输出,均由蜂鸣器输出!2、 显示状态的控制按下k2键可进入以下工作状态:1)12小时/ 日月交替显示。2)12小时固定显示。3)24小时/ 日月交替显示。4)24小时固定显示。3、 校时 按下k2键3s后,进入校时菜单。按下k1键依次进入校时状态:分、时、天、月、年、微调系数。此时按k2键,完成+1。当显示“d”时,表示要调整微调系数(0-99),其值越小,时钟走时越慢。当使用的6mhz的晶振偏差大时,应仔细调整微调系数!当显示“out”时,按k2键,即可退出!退出后,按任意键即可启动时钟。4、 设置定时时间 按下k1键3s后,进入设置菜单。按下k1键依次进入8路定时调整状态:时、分。此时按k2键,完成+1。当显示“out”时,按k2键,即可退出!二、软件的实现与控制由编程控制。三、总结通过两个星期的单片机课程设计,自己感慨颇多。首先,我从中体会出了学习中的快乐,当一份试验报告和自己亲手做的实物图出现在自己的面前,自己感到很欣慰和快乐,虽然做得不怎么样,而且可能错误摆出,但这毕竟是自己亲自动手做出来。我觉得这种设计十分可行,它连接我们各方面知识,使之能综合应用,它锻炼我门动手能力,更重要的是它提高我们对单片机的热爱,为我在以后的学习中无疑打下了一针强心剂,给了我信心和动力,为我以后走上工作岗位铺下坚实的基础。 其次从中我体会自己诸多不足,任何事物都有自己的两面性。单片机设计有自己一定的难度。首先就是理论知识的缺乏,单片机综合我们大学学的很多知识,比如程序设计、仪器仪表、protel99se 等等,这要求在各方面的知识都要有相当的熟悉程度。这对我来说有一定的难度,所以在做实验报告时相当吃力。比如说在做pcb图时,把以前的书从中翻出来,从新看一遍,这也无疑延长了试验的时间。在就是在动手这一方面,自己深感不足,不说别的,由于自己对元器件的不熟悉,结果去买时,总是买不到相对应的,做一个实物就去买了几次。,懂得理论与实际中间还是有一定的差距,以后还有很多要做,不断提升自己,有所收获。 最后,感谢黄智伟老师对本次设计的辛勤指导。四、附录1元器件表名称型号及参数数量(个)备注数码管0.5fjs101ah4共阴高亮(红)数码管0.36lf10361共阴高亮(红)电阻(金膜)1/4w 1k 1/4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论