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

    电子时钟设计与实现.docx

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

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

    电子时钟设计与实现.docx

    1、电子时钟设计与实现单片机应用系统与开发技术 课题名称: 数字时钟的设计与实现 班级: 学号: 姓名: 数码科技系题目:数字时钟的设计与实现 前言一、概要设计61、项目描述62、功能描述63、系统框图6 硬件设计及简介二、时钟硬件设计71、 单片机简介72、AT89C51单片机介绍83、AT89C51单片机原理图84、数码管显示工作原理115、共阳数码管的原理136、所需元件137、部分电路图14三、焊接18四、软件设计191、主程序1911、主程序的概念1912、主程序流程图202、 LED显示子程序2021、LED显示子程序203、键盘扫描功能设置子程序2031、调用键盘扫描功能时的方法20

    2、32、定时中断子程序流程图213.3、编制程序21 五、设计总结27前言时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进

    3、行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本文主要介绍用单片机内

    4、部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。 一 设计要求一、概要设计; 1、项目描述:用六位LED数码管实现电子时钟的功能,显示方式为时、分、秒, 采用24小时计时方式。使用按键实现时、分的调整。 2、功能描述: 1:显示时间方式:时,分,秒。 2:计时方式:24h(小时)制。 3 :上电显示为:12-0000 3:电子时钟的系统框图。 CPU 复位、时钟等电路按键电路电源系统数码管显示电路 图 1 电子钟系统框图二 硬件设计及部分电路简介二、时钟硬件设计;1、单片机简介。 单片机全称为单片机微型计算机

    5、(Single Chip Microsoftcomputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 2、AT89C51单片机介绍。 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高

    6、。 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”

    7、时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0

    8、外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8E

    9、H地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:

    10、反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3、AT89C51单片机原理图 ,(如图2所示) 图2 单片机 4、数码管显示方案。 动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗5、数码管显示工作原理;数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型

    11、就是把多个LED显示段的阳极接在一起,又称为公共端。共阳型就是把多个LED显示段的阳极接在一起,即为公共商。通常的数码管又分为8段,即8个LED显示段,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出

    12、各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。6、共阳极数码管原理图; 图3 共阳极数码管内部结构图 7、所需元件 1、8位数码管 图3 数码管2、电容、 图4 电容器 3:电阻、 图5 电阻4:晶体、 图6 晶振7、部分硬件电路图, 1 、复位电路 图 复位电路 1、单片机最小系统,如图所示; 图6 单片机最小系统 2、键盘扫描电路,(系统中用3个按键作为功能键,K1,K2,K3,所以采用独立式键盘结构。)该设计只用了三个键盘,但实现的功能却是比较完善,减少了硬件资源的损耗,该键可以实现时、分、秒的调节。当按键按下第

    13、一个键(k1)松开时,则可以通过第二个按键实现小时的累加,可以通过第三个键(K3)实现小时的累减,每按一次小时加一或减一,当再次按第一个键(K1)时,此时分钟进行闪烁,则可以进行对分钟的加、减,同样按第一个键(K1)就可以对跑秒进行调节,每按(k1)一次选中要调节的对象,按(k2)一次加一,按(k3)一次减一。达到时间调节的目的。图7 独立按键 3、数码管扫描驱动电路,(用8个NPN型三极管来驱动8位动态数码管) 图8 三极管驱动电路、电子时钟的硬件电路图。图9 三、焊接模块。 1、物品清单与元件特性表1-1 物品清单:元件名称规格型号单位数量瓷片电容30P只2电解电容47UF/16V只1电解

    14、电容10UF/16V只2电阻10k只8电阻 200只8芯片AT89S51片1芯片座DIP40只1无源晶振12M只14位数码管0.5寸/共阳只2三极管9012个8二极管1N4148只1按键无自锁只4电池盒个1电路板9.55*5.664CM21 表1-2 AT89c51功能特性: 兼容MCS-51指令系统 4k可反复擦写(1000次)ISP Flash ROM 32个可编程I/O口 4.0-5.5V工作电压范围 2个16位可编程定时/计数器 全静态工作模式:时钟频率0-33MHz 全双工UART串行中断口线 128x8bit内部RAM 5个中断源 低功耗空闲和掉电模式 焊接总结:本次实验提供805

    15、1芯片和PNP型三极管. 焊接的时候一不小心就会犯错, ,实际上的电路图不会和仿真软件的电路图完全一致,不过大体上还是一样的。本次焊接实际上需要比较多的电线,尤其是数码管部分,由于相邻引脚非常贴近,在焊接的时候要非常留心,谨防相邻两点短路。 1、主程序。 11、主程序的概念:主程序主要是循环调用显示子程序及键盘扫描功能设置子程序,12、主程序流程图 图10 主程序流程图 2、LED显示子程序21、码管显示的数据存放在内存单元dis0dis5中。每一单元均为十进制BCD码。由于采用软件动态扫描方式实现数据显示的功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出dis0dis

    16、5某一地址中的数据,然后查的对应的显示用段码,并从p0口输出,p2口将对应的数码管选中供电,就能显示该地址单元的数据值。3、键盘扫描功能设置子程序31、调用键盘扫描功能时的方法如下:按下p1.0口按键,则进入调整时间状态,等待操作,p1.0口或p1.2口按键时,在调时间状态下可实现加1或减1的功能。32、定时中断子程序流程图 图 T0 中断服务程序流程图 3.3、编制程序:*功能描述:K0-时分位选择,K1-加1,K2-减1:*上电时初始化显示:12-00-00,12Hz晶振,8位共阳数码管 #include#define uchar unsigned char#define uint uns

    17、igned int #define led_data P0 /段码控制端#define led_bit P2 /位选端sbit key0=P10; /功能切换按键sbit key1=P11; /加一按键sbit key2=P12; /减一按键uchar code table =0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf; /共阳0-9段码,0xff为清零码,0xbf为显示“”用;uchar data scan_con8=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80; /位控制码;uch

    18、ar data timedata8=0x01,0x02,0x0b,0x00,0x00,0x0b,0x00,0x00; /用作数码管显示时分秒计数;uchar data dis10=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0a,0xff; /数码管的显示;uchar data con1s=0x00,con03s=0x00,con=0x00;void delay1ms(uint t) /延时函数 int j; for(;t0;t-) for(j=0;j=8) /如con=8,则恢复时钟正常显示,并对con的值清零; con=0; TR1=0; ET1=0

    19、; TR0=1; ET0=1; dis8=0x0a; if(con!=0) /con的值不为零,说明此时正在调时模式下等待调时; if(key1=0) delay1ms(5); while(key1=0); timedatacon+; switch(con) case 1: if(timedatacon=4&timedatacon-1=2) /判断小时是否加到“24”,如果是小时位变成“00”; timedatacon=0; timedatacon-1=0; else /小时的个位大于等于十,就使小时的十位加一; timedatacon=0; timedatacon-1+; break; ca

    20、se 3: /3和6分别代表分与秒的十位,它的值大于5时,就对当前值清零; case 6: if(timedatacon=6) timedatacon=0; break; case 4: /4和7分别代表分与秒的个位,它的值大于9时,就对当前值清零; case 7: if(timedatacon=10) timedatacon=0; break; discon=timedatacon; discon-1=timedatacon-1; dis8=0x0a; if(con!=0) if(key2=0) BEEP( ); delay1ms(5); while(key2=0); switch(con)

    21、 case 1: if(timedatacon=0) timedatacon=9; timedatacon-1-; if(timedatacon-1=0&timedatacon=0) timedatacon=3; timedatacon-1=2; else timedatacon-; break; case 3: case 6: if(timedatacon=0) timedatacon=5; else timedatacon-; break; case 4: case 7: if(timedatacon=0) timedatacon=9; else timedatacon-; break;

    22、discon=timedatacon; discon-1=timedatacon-1; dis8=0x0a; EA=1;void display( ) /显示函数 uchar k; for(k=0;k8;k+) led_data=tabledisk; led_bit=scan_conk; delay1ms(1); P2=0x00; void initializa( ) /初始化 int i; for(i=0;i=10) timedata7=0; timedata6+; if(timedata6=6) timedata6=0; timedata4+; if(timedata4=10) timed

    23、ata4=0; timedata3+; if(timedata3=6) timedata3=0; timedata1+; if(timedata1=10) timedata1=0; timedata0+; if(timedata0=2) if(timedata1=4) timedata0=0; timedata1=0; dis0=timedata0; dis1=timedata1; dis3=timedata3; dis4=timedata4; dis6=timedata6; dis7=timedata7; ET0=1;void time_intt1( ) interrupt 3 /调时闪烁中断服务函数 EA=0; TH1=0X3C; TL1=0XB0; con03s+; if(con03s=8) con03s=0x00; dis9=discon; discon=dis8; dis8=dis9; EA=1;6.2设计总结本设计能够很准确的走时,并能够通过硬件对时钟进行时间调整。功能介绍:1.显示XX:XX:XX时间2.时间可调:调整键(S1)按下(t0.5s)分钟位闪亮,此时按下S2键(t0.5s)时钟位闪亮,此时按下S2键(t0.5s),返回到正常显示状态。3.检测各芯片的电源线和地线是否接触良好,然后焊接器件,接好电源用万用表检测各电源端、地端的状态是否


    注意事项

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

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




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

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

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


    收起
    展开