可编程作息时间控制器设计

上传人:人*** 文档编号:558013425 上传时间:2023-02-10 格式:DOC 页数:24 大小:666.50KB
返回 下载 相关 举报
可编程作息时间控制器设计_第1页
第1页 / 共24页
可编程作息时间控制器设计_第2页
第2页 / 共24页
可编程作息时间控制器设计_第3页
第3页 / 共24页
可编程作息时间控制器设计_第4页
第4页 / 共24页
可编程作息时间控制器设计_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《可编程作息时间控制器设计》由会员分享,可在线阅读,更多相关《可编程作息时间控制器设计(24页珍藏版)》请在金锄头文库上搜索。

1、20132014学年 第2学期单片机原理与应用课程设计报告学校北华航天工业学院题目:可编程作息时间控制器设计专业:惺惺惜惺惺班级Bxxxxx姓名:XXXXX学 号:惺惺惜惺惺信息学、XX指导教师:电子工程系2013年6月14日可编程作息时间控制器设计任务书课题名称可编程作息时间控制器设计指导教师xx执行时间20132014学年第一学期第16周学生学号承担任务ZzzZxxxx设计目的1掌握汇编语言的基本结构及应用;2、掌握各个部分功能的设计及应用;3、学会使用protues软件进行电路仿真。设计要求1 按照给定的时间模拟控制实现上下课打铃、灯光控制(屏 幕显示);2、具有各日期和时钟显示。本课题

2、是应用AT89C52为核心控制器件的作息时间控制钟,由键盘、声音 输出模块、电源转换模块和存储模块四部分组成。它利用AT89C52的定时/计数器来计算时间,并用存储器记录数据,保证了系统的可靠性。AT89C52单片机是整个设计的核心控制器件,根据从键盘接受的数据控制整个设计的工作流程。 整体性好,人性化强,可靠性高,实现了对时间控制的智能化,摆脱了传统由人 来控制时间的长短的不便,可对一些以 24小时为周期的开关量进行自动控制。 如上下课打铃及扩音设备的开与关。采用 AT89C52单片机来实现对上述开关量 的控制,设有8位数码管、可以实时显示时间、系统还设有输入键盘,用以修改 实时实时时钟,体

3、现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体 积小等特点。首先设计各个模块的屏幕显示,其次是各个模块需要调用的小程序,有PC机的日期和时钟,响铃声音,按键,屏幕显示以及延时的调用等等,最后是将各 个功能模块与其中需要的小程序通过正确的汇编语言组建起来。这样便完成了源文件的建立。再通过.ASM源文件生成的.EXE可执行文件进行仿真。该仿真可 以模拟实现:与PC机日期时钟保持一致的显示功能,仿照已设定的响铃时间进 行打铃功能,根据已设定的早晚作息时间灯光控制的功能, 键盘输入修正响铃时 间,随时手动按键实现响铃的功能。目 录摘要-1 -目录-2 -第一章 绪论-3 -1.1课题研究的目的

4、与意义 -3 -1.2研究容及采用方法 -3 -1.2.1 主要研究容-3 -主要采用方法-3 -1.3课题的研究原理-4 -第2章 可编程作息时间控制器的方案设计 -5 -2.1总体方案组成框图及设计流程图 -5 -2.2 具体步骤实施 -7 -日期和时钟显示功能的设计 -7 -2.2.2 上下课打铃功能的设计 -11 -2.2.3 灯光显示功能的设计 -13 -2.2.4 修改响铃时间功能的设计 -13 -2.2.5 模拟手动控制功能的设计 -14 -第3章 可编程作息时间控制器的protues仿真 -16 -3.1仿真结果-16 -3.2性能及误差分析 -17 -附 录.错误!未定义书签

5、。参考文献错误!未定义书签。第一章 绪论1.1课题研究的目的与意义20世纪末,电子技术得到了飞速的发展。在其推动下,现代电子产品几乎 渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程 度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。 时间对于人来说总是那么珍贵,工作的忙碌性和繁杂让人容易忘记当前时间。然 而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成更大的麻烦。 对 于学校来说作息时间尤为重要。如今,在电子计算机基础上发展而来的可编程作息时间控制器, 它可以利用 电子计算机的部时间,通过程序判断处理,完成对作息时间的精确控制,并且由 于是程序

6、控制,所以可通过改变程序而进而灵活改变作息时间, 同时可以实时显 示时间,并实现打铃功能。可编程时间控制器可实现对时间控制的智能化, 摆脱 由人控制时间的长短不同的不便,并且可以在必要时人工切入控制, ,完美的满 足作息时间控制。1.2研究容及采用方法主要研究容用C语言编写作息时间控制程序,按照给定的时间模拟控制,上下课打铃、 灯光控制(屏幕显示),并且具备日期和时钟显示。给定的时间可修改,可模拟 手动控制,用扬声器模拟打铃。主要采用方法通过汇编语言编程,先在数据段中开几段缓冲区,以存放需要显示的提示信 息以及存储PC机部时钟日期等等,调用子程序的清屏部分来显示已经设定好的 屏幕部分,再调用D

7、OS的日期及时钟调用功能,读取 PC机部日期和时钟,并 将数据存入显示缓冲区,然后调用时间和日期显示功能,把程序设计成用刷新的 方式来不断获取系统时间,这样就有了一秒一秒走动的日期时钟显示,在此过程需要用到延时程序,所以把延时程序单独做成一个子程序, 然后在需要的时候调 用它,使得时间显示程序更加精炼,此时日期和时钟显示功能已经完成; 而后设 计灯光控制(屏幕显示),采用比较跳转的方式即可,当到达设定的时间区域时 通过比较来判断是亮灯还是灭灯;随后是上下课打铃的模拟,需要调用DOS显示功能,将设定好的时间在屏幕上显示出来,然后调用PC机部时钟,判断时钟与给定时间是否相同,进而判断是否响铃,若响

8、铃则调用设定好的响铃程序, 并 实现屏幕模拟显示;给定时间修改是调用键盘 I/O中断功能号,获取键值的方法 来进入,先确定应该修改哪个响铃,再将新的响铃时间数据存入要修改时钟的缓 冲区,并将其覆盖来实现;模拟手动控制、用扬声器模拟打铃,同样采用调用键 盘I/O中断功能号,获取键值的方法,判断是否与设定的手动按键相同,若相同 则进入手动控制,进入后调用响铃程序,而后自动退出响铃,开始其他响应功能。1.3课题的研究原理将定时闹钟改造为4路可调闹钟,从而实现打铃等功能。当四路闹钟中的任 一路到时,均会点亮灯、打铃。如有需求,可对程序进行调整,增加闹钟的路数, 及到时后的处理方式第2章 可编程作息时间

9、控制器的方案设计2.1总体方案组成框图及设计流程图时间作息控制的主体电路应包括秒信号发生器、时间显示电路按键电路、供电电源以及闹铃指示电路等几部分。时间作息控制的系统组成框图如图 2-1-1所示:图2-1-1时间作息控制的系统组成框图图2-1-2介绍了作息时间控制器的大致设计思路图2-1-2方案实施流程图2.2具体步骤实施日期和时钟显示功能的设计221.1日期和时钟显示流程图图2-2-1是时钟和日期设计的大体思路,先在数据段中开辟存储日期时间等的缓冲区,便于后续程序的使用,再调日期和时钟的DOS功能调用中的显示功能,将数据由二进制转换为 ASCII码,存储并显示。图2-2-1日期和时钟显示流程

10、图221.2日期和时钟设计步骤分析该模块设计中,先在数据段开了两段缓冲区,以存储显示日期和时间的提示 Time is以及从PC机读到的日期和时间。而后是调用 DOS的日期功能,其功能 号是2ah,日期分别存于ex, dx中,在该设计中调用出来的日期时间均是二进 制数,如果要在界面中显示必须要转换成ASCII码。每一次数制转换后均要将转换后的数据存储于数据段开辟的存储缓冲区tbuf,接下来便可调用DOS的的9号显示功能,只需将提示信息、日期及时间的存储缓冲区的偏移地址赋予dx,再使用DOS功能,调用9号的显示功能即可。这样,日期和时间的第一次显示 时间完成,由于PC机的日期时间一直在变化,所以需

11、要不断调用PC机的显示时间并显示,因此需要再回转至最初的调用日期程序, 这样,显示日期时间的功 能才真正完成。下面是针对数制转换和日期时间的显示做的更为细致的解读。(1)数制转换通常在计算机当中,从键盘输入的十进制数的每一位数码或者是向CRT输出的十进制的每一位数,均是以它的 ASCII码表示的。而在机器中的一个十进 制数,是以相应的二进制数存放或者是以BCD码的形式存放。因此,如果我们想将PC机中读取的日期时间显示到.EXE的界面中,必须将从中读取的二进制数 转换为ASCII码。本设计是先将二进制数转换为十进制数,再将十进制数转换 为ASCII码的,使其在屏幕上显示出来。由于调用该小程序段的

12、显示数值都是十位数或个位数,所以该段小程序的设计思路是使用减法,统计需要转换的数值中有多少10、1,即为十进制数中的十、 个位上的数,然后将十进制数转换为ASCII码输出。首先,在数据段中已经设计 好了被减数,即const的数据,用需要数据转换的数据已经在之前的数据中赋值 给了 ax,使用sub ax,si语句实现上述的减法,若不够减,则需要重复减,并累 计次数,直至不够减为止,累计的次数即为该数据十位数的数值,此时仍旧通过or dl,30h语句转换为ASCII码,并将转换后的数据都存储于 bx中。(2 )日期时钟显示功能9号DOS功能调用可实现日期时钟显示功能,由于需要在.EXE界面显示提示

13、信息mess1中的相关容,因此调用BIOS功能,置光标于0行0列,将ah 赋值2即可置光标,dh的赋值表示行,dI的赋值表示列,使用Iea dx,messI语句, 将messl的偏移地址赋予dx,使用mov ah,9和int 21h语句完成DOS的9号功能 调用,这样.EXE界面就出现了 mess 1中的相关容;再使用BIOS功能调用,将 光标置于17行21列显示日期时间的提示信息time is,方法与上述介绍的相同, 最后即可将光标置于17行37列,显示PC机的日期和时间。222上下课打铃功能的设计222.1上下课打铃设计流程图如图是上下课打铃设计的大体思路, 先于数据段设存储缓冲区,存储设

14、定的 响铃时间,将响铃时间由二进制换成 ASCII代码,调用DOS的显示功能,显示 响铃时间,再调PC机时间与设定的响铃时间比较,相同时响铃,不同时跳转。图2-2-2上下课打铃设计流程图上下课打铃设计步骤分析本部分设计中,先在数据段开辟了四段缓冲区,分别是 bel响铃提示信息, tbufl响铃时间存储区,timeh设定好的响铃时间中小时的存储区,timem设定好 的响铃时间中的分钟存储区,进入代码段后,便开始将timeh和timem中设定好的响铃时间由二进制数转换成 ASCII代码,并将转换后的信息存于tbufl,对于 数制转换的容上文中已有介绍,这里便不再重复了。这是tbufl中已经包含我最

15、初设定的二十个响铃时间,使用 DOS功能调用中的9号显示功能即可将上述二 十个响铃时间显示在界面上。随后需要调用PC机的时间与我设定的时间进行比较,若相等则响铃,响铃后返回,若时间不等同样也返回,去重复上述的显示、 调用以及比较的过程。接下来我会针对 PC机时间与我设定的时间比较的程序和 响铃程序做较为细致的分析,以使该设计更加清晰明了。(1)PC机时间与设定响铃时间比较首先我将存储响铃时间的timeh和timem的偏移地址分别赋给了 si和di,随 后使用DOS功能调用语句中的mov ah,2ch以及int 21h来完成PC机时间的读取, 对于PC机时间的读取,系统自动将小时、分钟分别存于 ch、cl中。接下来便开 始比较,先假设设定的响铃均已比较完,缓冲区后区时间为空,贝炖当先将PC机时间与设定好的响铃时

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号