基于PROTEUS仿真的数字电子钟设计|数字电子钟实验报告
时间:2020-03-28 07:21:50 来源:雅意学习网 本文已影响 人
摘要:单片机技术是现代电子工程领域一门迅速发展的技术,它的应用已经渗透到各种嵌入式系统中。随着计算机技术的普及,采用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
推荐访问:仿真 数字 电子钟 基于PROTEUS仿真的数字电子钟设计 基于fpga的数字电子钟设计