基于PROTEUS仿真数字电子钟设计.docVIP

  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文档。上传文档
查看更多
基于PROTEUS仿真数字电子钟设计

基于PROTEUS仿真数字电子钟设计摘要:单片机技术是现代电子工程领域一门迅速发展的技术,它的应用已经渗透到各种嵌入式系统中。随着计算机技术的普及,采用Proteus软件与Keil软件整合构建单片机虚拟实验平台。可以使教师在讲述理论的同时,利用Proteus软件进行仿真、演示,使学生消除“抽象感”增加学习的兴趣。使课堂教学更生动、直观使单片机课程中一些基本理论和基本概念更加容易理解 关键词:虚拟 模拟 仿真 0 引言 Proteus软件是英国Labcenter electronice公司开发的电路分析与实物仿真软件。它不仅具有其他EDA工具软件的仿真功能。还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件工具。该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:8051系列、AVR系列、ARM系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 1 数字钟电路设计 数字钟的原理框图如图1所示。它由以下几个部件组成:单片机AT89S52、电源、时分显示部件 时分显示采用动态扫描,可以降低对单片机I/O口数的要求,同时也降低系统的功耗。时分显示模块以及显示驱动都通过AT89S52的I/O口控制 电源部分:两种方法:一种是由220V的市电通过变压、整流稳压(主要用7805稳压块)来得到+5V电压,维持系统的正常工作。另一种是用USB接口取+5V电压 2 利用Proteus仿真软件进行电路图绘制 如图2所示。电路的核心是单片机AT89S52。单片机的P3口八个引脚接LED显示器的段选码(a、b、c、d、e、f、g、dp)的引脚上,单片机的P1口六个引脚接LED显示器的位选码(2、3、4、5、6、7)的引脚上,在实际电路中P1口需要接1K的上拉电阻,电阻起限流作用 3 系统的软件构成及功能 本系统的软件系统主要可分为主程序(图3所示)和定时器中断程序两大模块。在程序过程中,加入了抗干扰措施。中断程序(图4所示)完成时间计数,时间调整,误差消除等功能。中断采用AT89S52内部T0中断实现,定时时间为125ms,当时间到达125ms×8,即1分钟时,分计数缓冲器增加1,到达1小时,则时计数缓冲器自动增加1,并将分、时的个位、十位放入显示缓冲器。当分计数缓冲器和时计数缓冲器分别到达60min、24h时,则对它们清零,以便从新计数。在中断设计中,还通过软件实现了累计误差消除功能,使整个系统时间的精确度得到保证 4 Keil C与Proteus连接调试 4.1 假若KeilC与Proteus均已正确安装在D:\Program Files的目录里 4.2 安装Keil C与Proteus的连接插件vdmagdi.exe 4.3 进入KeilC μVision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:Atmel公司的AT89S52)。并为该项目加入KeilC源程序 部分源程序如下: #include int count=0;int count2hz=0; int second=55,min=59,hour=23; int dp=0x80;int led[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} void main (void) { int b;init(); TMOD=0x01;TH0 =(65536-50000)/256;TL0 =(65536-50000)%256; ET0 =1;EA=1;TR0=1; while (1) { display(keyscan()); P1=0xff; //all led off P3=led[second%10]; //秒个位置数 P1_7=0; //动态刷新显示开1 for(b=0;b 1

文档评论(0)

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

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

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档