找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5074|回复: 1
打印 上一主题 下一主题
收起左侧

基于单片机的作息时间控制器系统设计文档

[复制链接]
跳转到指定楼层
楼主
ID:398330 发表于 2018-9-15 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目录
摘要 1
关键词
第一章              引              言
1.1              课题背景
1.1.1              选题背景
第二章              设计方案论证
设计要求
设计方案选择
方案一:数字电路设计的作息时间控制器系统
方案二:基于单片机的作息时间控制器系统设计
方案确定
基本方案
设计课题简要概述
系统软硬件划分
单片机选型
3.2.2 DS1302
3.3.2 键盘接口电路设计
4.1.2 显示程序设计和按键判断与按键处理程序设计
系统主程序流程图
系统定时中断流程图
第五章              系统程序设计
程序设计概要
源程序清单
第六章              作息时间器硬件原理图
第七章              实训总结
参考文献
附录
附录 1 原理电路图
附录 2 元件清单
附录 3 实物图

基于单片机的作息时间控制器系统设计


重庆三峡学院电子与信息工程学院


摘要
基于单片机的作息时间器系统, 是以一片 8 位单片机为核心的实时时钟及控制系统。我们知道单片机的外接石英晶体振荡器能提供稳定、准确的基准频率, 并经 12 分频后向内部定时器提供实时基准频率信号,设定定时器工作在中断方式下,连续对此频率信号进行分频计数,              便可得秒信号, 再对秒信号进行计数便
可得到分、时等实时时钟信息。如果石英晶体振荡器的频率信号为     6MHZ,设定定时器定时工作方式  1 下,定时器为 3CBO,H 则定时器每 100ms产生 1 次中断,在定时器的中断定时处理程序中,每  10 次中断,则向秒计数器加  1,秒计数器计数到 60 则向分计数器进位(并建立分进位标志) ,分计数器计数到 60,则向时计数器进位,如此周而复始的连续计数,便可获得时、分、秒的信号,建立一
个实时时钟。 接下来便可以进行定时处理和打铃输出,              当主程序检测到有分进位标志时,便开始比较当前时间(小时与分、存放在                            RAM中)与信息时间表上的作息时间(小时与分,存放在              ROM)是否相同,如有相同者,则进行报时处理并控制打铃,如有不相同则返回主程序,如此便实现              了报时控制的要求。

关键词

单片机、时间设置电路、计时电路、显示电路、定时打铃控制电路

第一章   引言


1.1  课题背景
1.1.1 选题背景


随着科技的不断发展, 各种芯片都得到了很好的发展,              80C51 同样如此, 从开始的无人问津到现在的随处可见,红绿灯,记分牌,电子秒表,遥控器,电饭
煲,电视等只要是电子产品, 都会和芯片有关, 其实芯片并不是什么神秘的高科技,它只是里面装了一些己编好的程序而己.              而这里要介绍的是用汇编语言来编程的一个系统, 它能够让一个学校或企业集团实现打铃自动化,              总之,一个需要时间系统的机构实现自动提醒功能。
当今时代是一个新技术层出不穷的时代,              在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,              正以前所未有的速度被单片机智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等 优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用
单片机的高潮正在工厂、 学校及企事业单位大规模地兴起。              而本文是用 STC89C52
单片机设计的一个自动打铃系统。


第二章 设计方案论证


2.1 设计要求

它可以作为时钟电路来显示时间,进行设置, 定时打铃。 按照自顶向下设计方法划分自动打铃系统的功能。可分为:时间设置电路,计时电路,显示电路和  定时打铃控制电路等。
以江苏信息职业技术学院的打铃情况设计


方案一:数字电路设计的作息时间控制器系统

利用函数信号发生器来进行脉冲信号输出,利用74160N来设置十进制和六进制的进位输出。 利用数码显示器来显示时间, 利用或门、 与门、非门、与非门、等电路元件进行组合实现打铃的控制。

方案二:基于单片机的作息时间控制器系统设计

单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1 秒定时中断,没产生一次中断,存储器内相应的秒值加              1;若秒值达到 60,则将其清零,并将相应的分字节值加              1;若分值达到              60,则清零分字节,并将时字节值加              1;若时值达到 24,则将时字节清零。建立完一个实时时钟后接下来进行定时处理和打铃输出,              当主程序检测到有分进位标志时,                            便开始比较当前时间与信息时间表上的作息时间是否相同,                            相同者,则进行报时处理并控制打铃,不相同则返回主程序。

方案确定

方案一的设计只能事先设定打铃时间不能完全自动打铃,且在修改打铃时间上存在一定的困难。 而方案二中的设计能完全实现自动化,              诠释了我们这次设计的主题。 并在修改打铃时间上有了很大的方便,              只需修改一部分程序便能实现不同的需要。
因此我选择方案二进行设计。

基本方案

设计课题简要概述

作息时间控制器系统装置用于工厂、              学校等地的时间控制, 本设计是按照学校作息时问设定的,模拟了电了钟显示时、分、秒。还根据学校的作息时间按时  打铃,本系统有              4  个按钮,分别用来调时、调分、秒和强制打铃及强制关铃, 以保证始终与标准时间相吻合。
首先设计出本系统的硬件基本框图,              根据框图设计电气原理图, 简要概述基本原理,按照设计技术参数设计出各部分程序。

系统软硬件划分

由于需要最小系统设计, 因此, 极大地介于系统的硬件成本,              所有能用软件实现的功能都用软件完成,如按键的去抖,采用延时,显示部分用动态显示等,  这样硬件部分的设计可以采用单片机最小系统,              所谓最小系统时仅有程序存储器和时钟及复位电路的单片机系统。

单片机选型

根据课题的具体内容,任务要求,计时、校时、定时、键盘显示等功能,经  多方面考虑,所选系统选项用.与MSC-51单片机完全兼容的          STC89C52低功耗单片机。

总体设计框图

显示部分采用 2 块 4 位数码管,即 8 位共阳数码显示,由             STC89C52芯片对该数码管传送数据。而在              P2 口接入 8 个三极管对数码管的位控进行控制。该显示采用的是动态显示, 段控和位控都经过反相器,显示的字形代码是共阳的显示代码,位控信号输出时是高电平有效,             在校时时, 采用的是点亮小数点信位调节器标志,哪位小数点亮表示调整的是该位的值。



      • 键盘接口电路设计
由于键盘只有四个,采用独立式按钮,用查询法完成读健功能。

图五              按键电路

各键功能已写入程序, 在使用按键的时候, 根据有无按键否, 一一进行判断,软件中采用 if              嵌套模式,因此使各按键的功能具有多样性和课重复使用性。因

本次实训的课题,为实现,年月日,时分秒等时间的调试,系统使用              5 只按键,

4 只按键用来调整时间, 且其中一只在不设置时间的情况下可为强制打铃,              另一只单独连接, 可实行复位和强制结束打铃。 通过选择键选择调整位, 选中位闪烁, 按增加键为选中位加              1,按减少键为选中位减              1。按强制打铃按钮是实现强制打 铃或者强制关闭打铃。



      • 响铃电路设计

响铃电路用到了蜂鸣器、三极管、              1K 电阻。蜂鸣器两端分别接地和三极管。三极管一段电源另一端与电阻相连并接入                           STC89C52的 P3.7 接口。



图六              响铃电路

    • 总体运行进程

首先实现 24 小时制电子钟,在              8 位数码管显示,显示为时分秒,实现的格式为: 23-59-59 。到达预定时间启动蜂鸣器开始打铃,打铃的方式分为起床、熄灯和上下课铃两种。 系统使用 5 只按键, 4 只按键用来调整时间, 且其中一只在不设置时间的情况下可为强制打铃,              另一只单独连接,可实行复位和强制结束打铃。通过选择键选择调整位,选中位闪烁,按增加键为选中位加              1,按减少键为选中位减 1。按强制打铃按钮是实现强制打铃或者强制关闭打铃。

第四章              软件电路设计及流程图

    • 基本原理概述


主程序首先是初始化部分, 主要是计时单元清零, 中断初始化, 堆栈指针初始化,启动定时器工作, 然后是调用显示子程序。 主程序的起始存储地址是              0000H 单元,但由于本系统用了定时器              T0 的中断,中断服务程序入口地址为                            000BH, 因此从0000H单元起存放一条短调转指令              AJMP,使真正的主程序从              0300H单元开始存放。



      • 中断服务程序设计
单片机内部的定时 / 计数器 T0 定时 100ms,即 0.1s ,10 次中断即为 1 秒,
60 秒为 1 分, 60 分为 1 小时, 24 小时为一天,如此循环,从而实现计时功能。

编写中断服务程序关键要注意:              1. 现场保护, 本系统中是累加器              A 和程序状态字 PSW值的保护。 2. 计时处理时采用的确十进制,因此时,分,秒单元加              1

后要进行十进制调整,即要执行              DAA指令,还要注意的是时计到              24 就回零,分
和秒计到 60 就回零。 3. 中断返回前的现场恢复。


      • 显示程序设计和按键判断与按键处理程序设计

显示采用的是动态显示, 段控和位控都经过反相器, 显示的字形代码是共阳的显示代码, 位控信号输出时是高电平有效, 在校时时, 采用的是点亮小数点信位调节器标志,哪位小数点亮表示调整的是该位的值。

显示子程序的第一部分是拆字,显示缓冲区是   2FH—2AH;第二部分是查字型码,输出段控和位控信号, 由于采用的是动态显示, 所以每出输出一位的段控和位控信号要延时一定的时间,使 LED显示器显示的字符时稳定的。

按键判断程序有编写时应注意按键的去抖动,              该系统采用的是延时去抖动的方法,延时是通过调用子程序来实现的, 每个按键按下后都要等待释放后再返回。

按键处理程序中的按键式校时的,所以进入按键处理程序后就关闭定时中断,对于动能键注意设置显示标志。




    • 流程图


      • 系统主程序流程图

图 7 主程序流程图




      • 系统定时中断流程图

图 8 中断流程图


第五章              系统程序设计
5.1              程序设计概要
程序名称:基于单片机的作息时间器系统设计
说明:实现 24 小时制电子钟, 8 位数码管显示,显示时分秒显示格式:
23-59-59(小时十位如果为              0 则不显示)。

到预定时问启动蜂鸣器模拟打铃,蜂鸣器             BEEP: P3.7。打铃方式分起床、熄幻铃和上、下课铃两种。

系统使用 5 只按键,4 只按键用来调整时间, 且其中一只在不设置时间的情况下可为强制打铃,另一只单独连接,可实行复位和强制结束打铃。

键 SET_KFY: PI.0 ;通过选择键选择要调的时间,选中位闪烁。可调整年月日,时分秒,周期和预设闹钟时间。

键 SET_KFY:PI.1 ;通过选择键选择调整位,选中位闪烁,且在             1 键选择到设置闹钟时间时可跳出预设闹钟时间。

增加键 ADD_KEY : PI.2;按一次使选中位加              1。
减少键 DEC_KEY: PI.3 ;按一次使选中位位。 1,且具有强制打铃效果
5.2源程序清单


第六章              作息时间器硬件原理图



第七章              实训总结
完成作息时间器设计的实训我能综合运用电子技术中的所学到的理论

知识来完成自动打铃机的设计和分析电路,              学会了在虚拟的环境下创建电路,              计算和调整参数,我能灵活的应用              AltiumDesign              软件画图,并且掌握了一定的 单片片机知识,通过这门课的设计我还有以下几点收获:

1、有利于基础知识的掌握

通过这次设计我亲手做, 自己思考, 将理论知识上升到实践的高度,              从而进一步打破了单片机的神秘面纱。

2、有利于逻辑思维的锻炼。

在许多常规可生的日常学习中我们不难发现这样一个现象,              不少学生的思维常处于混乱的状态, 写作文来前言不搭后语, 解起数学题来步骤混乱, 这些都是缺乏思维训练的结果, 程序设计是公认的, 最能直接有效的训练学生的创造思维, 培养分析问题解决问题的能力的方法之一。即使见到陌生的程序,从任务分析,  确定算法界面布局,缩写代码到调试运行,都能顺利完成。

整个过程需要我们有条理的构思,              这之间有猜测设计, 判断思维的抽象思维训练,又有分析问题解决问题,预测日标等能力的培养。


以上图文的Word格式文档下载(内容和本网页上的一模一样,方便保存)::

基于单片机的作息时间控制器系统设计.docx (737.52 KB, 下载次数: 49)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:966195 发表于 2021-9-15 19:00 | 只看该作者
这源码和百度的一样吗?有相应的头文件没
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表