Proteus电子钟仿真实验高清版

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Proteus 仿真大赛

仿

第一章电子时钟总体设计

电子时钟简介

电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。

很多单片机产品具有实时时钟的功能,例如智能化仪器仪表、工业过程系统及家用电器等。这里要求实现一个具有实时时钟显示和闹钟控制功能的数字钟。通过数字钟的设计与制作,将前面所学的单片机内部定时资源、I/O端口、键盘和显示接口等知识融会贯通,锻炼独立设计、制作和调试应用系统的能力,深入领会单片机应用系统的硬件设计、模块化程序设计及软硬件调试方法等,并掌握单片机应用系统的开发过程。

电子钟设计要求

设计并制作具有如下功能的数字钟:

(1)自动计时,由6位LED先四起显示时、分、秒。

(2)具备校准功能,可以设置当前时间。

(3)具备定时启动功能,可以设置闹钟时间,启闹10s后自动关闭闹铃。

电子钟计时方案

(1)采用实时时钟芯片。针对应用系统对实时功能的普遍需求,各大芯片生产厂家陆续推出了一系列实时时钟集成电路,如DS1287、DS12887、DS1302、PCF8563、S35190等。这些实时时钟芯片具备年、月、日、时、分、秒、计时功能和多点定时功能,计时数据每秒自动更新一次,不需程序干预。单片机可通过中断或查询方式读取计时数据。实时时钟芯片的计时功能无须占用CPU时间,功能完善,精度高,软件程序设计相对简单,在实时工业测控系统中多采用这一类专用芯片来实现。

(2)软件控制。利用AT89S51内部定时/计数器进行中断定时,配合软件延时、分、秒的计时。该方案节省硬件成本,且能够使读者对前面所学知识进行综合运用,因此,本系统设计采用这一方案。

电子钟显示方案

(1)利用串行口扩展LED,实现LED静态显示。

该方案占用单片机资源少,且静态显示亮度高,但硬件开销大,电路复杂,信息刷新速度慢,比适用于单片机并行口资源较少的场合。

(2)利用单片机并行I/O端口,实现LED动态显示。

该方案直接使用单片机并行口作为显示接口,无须外扩接口芯片,但占用资源较多,且动态扫描显示方式需占用CPU 时间。在非实时测控或单片机具有足够并行口资源的情况下可以采用。 这里采用动态显示方案。

第二章 硬件描述及系统设计构思

电子时钟功能模块

系统硬件描述

1. 控制器用AT89S51 , 12M 晶振 2. 数码管动态扫描驱动——P2口 3. 数码管段码驱动——P1口 4. 闹铃驱动——

5. 调整键K1——(外部中断0, 正常、调时、调分、调秒) 6. 定时/正常切换键K2—— 7. 时间参数低位加1键K3—— 8. 时间参数高位加1键K4——

系统设计构思

1.主流程是取时间参数,显示时间参数。

主程序 函数

LED 显示 函数 键盘 检测 函数

查值 函数

加1 修改 功能 函数

闹钟 设置 函数

时钟 设置 函数 定时 器中 断函 数 闹钟 判断 启动 函数

2.利用T0中断来完成计时、比较定时时间、驱动闹铃。3.利用T1中断完成动态显示中,调整时间闪烁效果的定时。4.利用外部中断0来完成调整选择功能。

5.利用外部中断1完成定时显示,当前时间显示的切换6.K3、K4键完成时间参数的循环加1操作

电子时钟电路原理图

如图为电子时钟电路原理图

第三章电子钟硬件介绍

单片机的介绍

单片机也被称为微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。

单片机芯片

单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!

第四章控制系统的软件设计

程序设计

本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、闹钟设置程序四大模块。在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。

/***************数字钟程序***************/

#include <>

#define uchar unsigned char

sbit buzzer=P2^7; //定义蜂鸣器控制端口

/**************函数声明*************/

void display(uchar *p);

uchar keyscan(); //扫描键盘有无键按下

uchar search(); //按键识别

void alarm(); //闹钟判断启动

void ftion0(); //时钟修改

void ftion1(); //闹钟修改

void cum(); //加1修改

/***************全局变量定义****************/

uchar clockbuf[3]={0,0,0};//存放时钟时分秒的十进制数

uchar bellbuf[3]={0,0,0};//存放闹钟时分秒的十进制数

uchar msec1; //10ms中断次数

uchar msec2; //1s循环次数

uchar timdata,rtimdata; //时钟和闹钟修改位置标志

uchar count; //闹钟启动后10s计时单元

uchar *dis_p; //显示缓冲区指针

bit armbit;//闹钟标志,为0闹钟未设定,为1已设定

bit rtimbit;//闹钟是否启动标志,为1已启动

bit rhourbit;//闹钟小时修改标志,为1正在修改闹钟小时

bit rminbit;//闹钟分修改标志,为1正在修改闹钟分

bit hourbit;//时钟小时修改标志,为1正在修改时钟小时

bit minbit;//时钟分修改标志,为1正在修改时钟分

bit secbit;//时钟秒修改标志,为1正在修改时钟秒

/****************主函数****************/

void main()

{

uchar a;

相关文档
最新文档