《基于ds12c887的电子时钟制作》.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《基于ds12c887的电子时钟制作》.doc

基于ds12c887的电子时钟方案 方案概述: 本项目以stc89c52单片机为控制单元,ocmj4x8c(128X64)为时钟显示器件,ds12c887时钟芯片作为系统的核心时钟器件,它能够自动产生世纪、 年、月、日、时、分、秒等时间信息其内 部又增加了世纪寄存器,从而利用硬件电路 解决子“千年”问题;DS12C887 中自带有锂电池,外部掉电时,其内部时间信息还能够保 持 10 年之久;对于一天内的时间记录,有12 小时制和 24 小时制两种模式。在 12 小时 制模式中,用 AM 和 PM 区分上午和下午; 四.单元电路设计: 蜂鸣器驱动电路:蜂鸣器是靠电流驱动的,51单片机I/O口的输出电流太小,无法驱动蜂鸣器发声,故需要接上三级管来驱动之,其驱动电路如下所示,蜂鸣器的正极连接VCC,负极接三极管,三级管的基级通过一个10k的电阻连接到单片机的P3.6口,可以通过控制P3.6口的电平来控制蜂鸣器的发声。 液晶连接电路: 项目中所使用的液晶为OCMJ4X8C,它是一个20脚的器件,1,2脚为接地端和电源端;3脚为背光亮度调节端,该引脚需要连接一个电位器和VCC,进行背光亮度调节;4,5,6脚是与单片机通信的控制端,分别是RS,R/W和E,它们的操作要严格按照其时序图,系统中将他们分别连接至P1.0,P1.1,P1.2;7~14脚是8位数据口,与单片机的P2口连接;15脚为串/并行选择端,本项目使用并行操作,接高电平;17脚为复位口,接VCC;19,20脚为背光电源正负级,固定连接。故经以上分析,液晶电路如下: DS12C887连接电路 DS12c887的连接方式与OCMJ4X8C连接方法类似,不再赘述,其连接电路如下: 五.软件设计: 本系统的软件部分主要由主函数,液晶写数据与命令子函数(2个子函数),DS12c887读、写子程序(2个子函数),键盘扫描(设定时间与闹钟时间),蜂鸣器发声子程序,初始化子程序,外部中断1(用来实现闹钟中断,使蜂鸣器发声),程序初步设计如下(真正实际能使用的程序还要在此基础上调试): #define uchar unsigned char //端口与变量的定义 #define uint unsigned int sbit rs=P1^0; sbit lcden=P1^2; sbit lcdrw=P1^1; sbit s1=P1^0; sbit s2=P1^1; sbit s3=P1^2; sbit s4=P1^3; sbit beep=P3^6; sbit dscs=P1^4; sbit dsas=P1^5; sbit dsrw=P1^6; sbit dsds=P1^7; sbit dsirq=P3^3; uchar count,s1num,flag,flag1; char miao,shi,fen; uchar code table[]= 2007-7-30 MON; uchar code table1[]= : : ; #includereg52.h #includedefine.h void delay(uint z) //延时函数 { uint x,y; for(x=z;x0;x--) for(y=110;y0;y--); } void didi() //蜂鸣器发声函数 { beep=0; delay(50); beep=1; delay(100); beep=0; delay(50); beep=1; } void write_com(uchar com) //液晶写命令函数 { rs=0; lcden=0; P0=com; delay(5); lcden=1; delay(5); lcden=0; } void write_date(uchar date) //液晶写命令函数 { rs=1; lcden=0; P0=date; delay(5); lcden=1; delay(5); lcden=0; } void init() //初始化函数 { uchar num; EA=1; EX0=1; IT0=1; lcden=0; // set_time(); set_alarm(14,13,10); write_ds(0x0B,0x26); read_ds(0x0c); // fen=59; // miao=53

文档评论(0)

ddwg + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档