数字电子时钟课程设计仿真图加程序.docVIP

数字电子时钟课程设计仿真图加程序.doc

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

电子技术课程设计 ——数字时钟 齐齐哈尔大学通信与电子工程学院 通信 093: 导教师: 2011年6月20日 数字时钟的设计 一、选题依据 现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中段,用于一秒的定义,通过计数方式进行满六十秒进一分钟,满六十分钟小时进一,满二十四小时清零。从而达到计时的功能。数字式电子时钟用集成电路计时时,译码代替机械转动,用LED显示屏代替指针显示时间,减少了计时误差。这种表具有时分秒现实时间的功能。还可以进行时和分的校准,闹钟更能。 二、设计要求及技术指标 1.设计要求:数字钟的功能要求:用八位LED数码管显示时、分、秒,以 24小时计时方式运行,使用按键开关可实现时分调整功能 2.技术指标: 使用AT89C51单片机芯片控制电路,省去了很多复杂的线路,使得电路简明易懂,同时使用C语言程序来控制整个时钟显示,使得编程更容易。 (1)Keil.uVision3 三、电路结构及其工作原理 1.电路的结构框图: 图1 数字电子时钟框图 2.电路的原理图: 图2数字电子时钟电路原理图 3.电路工作原理: 电路由4部分组成:核心控制部分、显示部分、闹铃电路、调节电路。 本设计采用C语言程序设计,使单片机控制数码管显示时、分、秒,当秒计数计满60时就向分进位,分计数器计满60后向时计数器进位,小时计数器按“23翻0”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显示。 四、电路主要元件简介  AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 振荡器特性:   XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 Keil.uVision3的使用。知道了现在时钟的制作原理。了解到了什么是单片机,单片机有什么作用。加强了动手能力。 程序 #include reg51.h unsigned char led[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x00}; //ó?ò???êy×é?¨ò?0-9?¢oá?ü?¢è??e unsigned char num[10]={2,0,0,8,0,1,1,6,6,8} ; unsigned char a[8]; unsigned char second=0,minute=0,hour=0; unsigned char minute1=0,hour1=0; unsigned char b[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //é¨?è unsigned char k=0; unsigned int temp; // ????1000oá???a1??μ?±?á? unsigned char M,S_flag; //Mê??£ê?£??üD?ê±??μ?4???£ê??óé??y3£?£ê? S_flagéá??±ê?? sbit K1=P3^0; sbit K2=P3^1; sbit K3=P3^2; sbit BEEP=P3^3; void delay(unsigned n) //0.2oá?? { int x,y; for(x=0;xn;x++) for(y=0;y24;y++); } void init() { M=0; S_flag=0; //éá??±

文档评论(0)

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

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

1亿VIP精品文档

相关文档