毕业设计(论文)承诺与数字电子钟的应用

程序执行方式是单片机的基本工作方式。随着科学技术的发展,在线可编程(ISP)单片机已经应用于实际生产,如STT89C58、AT89S51、AT89S52芯片,都具有在线可编程功能。基于51单片机的电子时钟实物图

介绍

数字电子钟是利用数字电路显示日期、时、分、秒数字的计时装置。由于数字集成电路的发展和石英晶体振荡器的广泛使用,数字钟的精确度远远超过了老式钟表。钟表的数字化给人们的生产生活带来了极大的方便,大大扩展了钟表的计时功能。数字钟已成为人们日常生活中的必需品,广泛用于家庭、车站、码头、影剧院、办公室等场所,给人们的生活、学习、工作带来了极大的方便。不仅如此,在现代化进程中,电子钟的相关功能和原理也密不可分,如机械手的控制、家务的自动化、自动报时、按时自动响铃、时间程序的自动控制、定时广播、路灯的自动开启和关闭、定时开关烤箱、开关电源设备,甚至各种定时电器的自动启动,都是建立在钟表数字化的基础上的。

第一章 项目 1.1 项目来源

在日常生活和工作中,我们经常会用到时序控制,比如晒版过程中的曝光定时等。早期常用的一些时间控制单元都是采用模拟电路设计制作的,其定时精度和重复性都不是很理想,现在基本上都是基于数字技术的新一代产品。随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,它们可以组成复杂的工业过程控制系统,完成复杂的控制功能,小一点的可以用于家电控制,甚至用于儿童电子玩具。它功能强大,体积小,重量轻,使用灵活方便,配上合适的接口芯片即可。

2.1 硬件系统设计概述

本系统设计以STC89C52系列单片机为核心部件,采用DALLAS公司生产的高性能、低功耗实时时钟芯片DS1302提供时间和日期数据。STC89C52从DS1302中读取时间数据并进行分析处理。由于显示的数据只有温度数据和英文字符,数据比较少,液晶显示电路采用LCD1602即可满足显示要求。报时电路由发光二极管和蜂鸣器组成,当报时时间到时,报时电路中的发光二极管亮起,蜂鸣器发声,实现报时功能。由于键盘控制电路所需按键较少,因此采用独立键盘的方式完成相应的控制和调节功能。

注册名称

重置状态

注册名称

重置状态

个人电脑

0000 小时

时间控制器

0×000000B

ACC

00小时

TL0

00小时

00小时

TH0

00小时

私人秘书

00小时

TL1

00小时

服务供应商

07H

TH1

00小时

时间调制解调法

00小时

控制网

0×××0000B

DPTR

0000 小时

SBUF

××××××××

P0~P3

前庭高心率

斯康

00小时

2.程序执行方法

程序执行模式是单片机的基本工作模式,系统复位后PC = 0000H,考虑到单片机存储器结构的特殊性(0003H至002AH共有40个单元,保留用于存放中断程序的入口地址),在0000H至0002H之间放置一条绝对跳转指令,使程序从指定地址开始执行。

程序调试时,程序可以以单步、跟踪、全速三种执行模式运行,目前一般的模拟器都提供这三种程序执行模式。

随着科技的发展,在线可编程(ISP)微控制器已经应用到实际生产中,STT89C58、AT89S51、AT89S52等芯片均具备在线可编程功能。

毕业设计(论文)承诺与数字电子钟的应用

3.低功耗工作模式

毕业设计(论文)承诺与数字电子钟的应用

毕业设计(论文)承诺与数字电子钟的应用

基于51单片机的电子钟实物图

毕业设计(论文)承诺与数字电子钟的应用

2.4 键盘控制电路设计 2.4.1 键盘控制主要功能

在单片机应用系统中,键盘用于输入数据、代码、命令等;显示器用于显示单片机的输入值、控制过程中间信息、计算结果等。键盘和显示器是实现人机对话必不可少的两个硬件配置。

本系统中键盘控制电路的主要功能是设定温度初始值和修改检测时间的实时显示值。

2.4.2 键盘电路设计

在键盘接口技术中,键盘分为独立键盘和矩阵键盘两种类型。

1.独立键盘

独立键盘是最简单的键盘电路,每个键独立地接一根输入线。这种键盘的优点是结构简单,使用方便。目前,这种结构的键盘应用相当普遍。这种键盘的缺点是每个键都占用一根I/O口线,因此随着键盘数量的增加,I/O口就会不够用。因此,独立键结构的键盘只适用于键盘数量较少的应用系统。

附件 C 程序

//DS1302.c(主程序)

/****************************

* 名称:DS1302.c

* 说明:main.c文件

*****************************/

#包括“DS1302.h”

#包括“1302.h”

#包括“LCD1602.h”

uchar bdata flag1; //使用bdata定义位寻址息肉数据存储区域中的变量

sbit EXT0 = P3^2; //外部中断0引脚

sbit OptionSwitchButton = P3^0; //切换选中项按钮,目的是切换需要调整的项目,比如秒、小时

sbit IncreaseValueButton = P3^3; //增加所选项目的值

sbit Beep = P2^6; //蜂鸣器接口

sbit LED = P2^5; //报警LED接口

uchar Mode=0; //模式标志,若Mode=0则表示正常工作模式,若Mode为1则表示工作于定时模式,若Mode为2则表示工作于定时模式。

uchar Mode0_Init_flag = 0; //正常工作模式下LCD是否初始化完成标志,若显示-和:则显示一次,若显示过则该标志置1。

uchar FlashTime = 100; //确定闪烁交替的持续时间

uchar time_date[] = {0,0,12,1,1,2,13}; // 初始时间和日期,秒,分,时,日,月,年。2013 年 1 月 1 日星期二 12:00:00

uchar Min_time_date[] = {0,0,0,1,1,1,0}; //时间调整状态下各值的最小值

uchar Max_time_date[] = {59,59,23,31,12,7,99}; //时间调整状态下各值的最大值

uchar Set_time[] = {0,0,0}; //定时器值

uchar *p1 = time_date; //将P1指向时间和日期数组

uchar Mode1_read_flag = 0; //用于判断是否是第一次进入定时状态

uchar Mode2_Display_flag = 0; //用于判断是否进行了显示

sbit FLASH_FLAG = flag1^0; //根据该标志,将空字符和实际时间信息交替写入相应位

sbit Write_RTC_flag = flag1^1; //根据此位判断在时间调整状态下时间是否改变,在正常状态下是否需要重新将时间写入DS1302

sbit Beep_flag = flag1^2; //根据此标志位判断是否上报时间

uchar Keep_Press_flag = 0; //按钮按下并保持标志

uint Timer0_Counter = 0; //Timer0 计数器

uint Flash_Counter = 0; //用于控制所选项目闪烁的计数器

//uint Beep_Counter = 0; //用于控制蜂鸣器的计数器

uchar Beep_time = 0; //哔哔声次数,在4声哔哔声后插入一个延迟,使得每4声哔哔声后有一个暂停

uchar Option = 0; //计时状态下当前选中的项

uchar Set_Time_Option = 0; //当前选定项处于计时状态

uchar code write_addr[7] = {0x80,0x82,0x84,0x86,0x88,0x8a,0x8c}; //写入秒、分、时、日、月、周的寄存器地址

uchar code read_addr[7] = {0x81,0x83,0x85,0x87,0x89,0x8b,0x8d}; //读取秒、分、时、日、月、周的寄存器地址

/************************************

1us 延迟不准确

****************************/

无效delay_us(uint n)

单位我;

当(n–)

对于(i = 1;i>0;i–);

/****************

单片机

单片机工作原理、特点、分类、硬件特性、应用领域及发展趋势介绍

2024-6-9 2:07:40

单片机

毕业设计的意义与优秀毕业设计的特点(精选 10 篇)

2024-6-9 3:08:07

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索