单片机作息时间控制器课程设计

合集下载

可编程作息时间控制器设计单片机课程设计

可编程作息时间控制器设计单片机课程设计

单片机系统课程设计成绩评定表设计课题:可编程作息时间控制器设计学院名称:电气工程学院专业班级:学生姓名:学号:指导教师:设计地点:设计时间:单片机系统课程设计课程设计名称:可编程作息时间控制器设计专业班级:学生姓名:学号:指导教师:课程设计地点:课程设计时间:单片机系统课程设计任务书1、引言 (1)1.1研究背景和用途 (3)1.2设计思想及基本功能 (3)1.3研究内容及采方法 (3)(1)主要研究内容 (3)(2)主要采用方法 (4)2、总体设计方案 (4)2.1 方案选取 (4)2.2系统框图 (4)2.3系统工作原理 (5)3、硬件电路及芯片介绍 (5)3.1 AT89C51单片机 (5)3.2 1602LCD液晶显示器 (8)3.3其他重要元件 (9)(1) 独立式键盘的接口电路: (9)(2)蜂鸣器: (10)3.4硬件电路设计图 (11)4、系统软件设计 (12)4.1主程序软件设计 (12)4.2键盘扫描程序设计 (13)4.3时钟调节程序设计 (14)4.4闹钟时间调节程序设计 (15)4.5闹钟时间判断子程序设计 (16)5、总结 (17)参考文献 (18)附录: (19)1、引言1.1研究背景和用途20世纪末,电子技术得到了飞速的发展。

在其推动下,现代电子产品乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。

时间对于人来说总是那么珍贵,工作的忙碌性和繁杂让人容易忘记当前时间。

然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成更大的麻烦。

对于学校来说作息时间尤为重要。

如今,在电子计算机基础上发展而来的可编程作息时间控制器,它可以利用电子计算机的内部时间,通过程序判断处理,完成对作息时间的精确控制,并且由于是程序控制,所以可通过改变程序而进而灵活改变作息时间,同时可以实时显示时间,并实现打铃功能。

单片机作息时间课程设计论文

单片机作息时间课程设计论文

第1章系统设计要求与方案确定1.1设计要求以单片机为核心,设计一个具有定时和计数功能的智能化作息时间控制器。

该控制器要求的功能有:按作息时间接通/断开电铃;课间接通/断开播放音乐设备;时钟显示。

作息时间控制器常用于学校教学楼的时间控制,利用单片机内部定时器实现时间基准定时,并配合“启动”、“复位”等按键的操作完成铃声、音乐的开/停控制,显示的内容要求有时、分、秒各两位。

1.2设计思路根据设计要求,初步思路如下:1)计时单元由单片机内部的定时器/计数器T1来实现。

2)时间显示功能通过LED数码管动态扫描来实现。

动态扫描的定时时间由单片机内部的定时器/计数器T0实现。

3)LED数码管的段码输入和位码输入由8051的P0口、P1口产生。

4)时间调整通过接入按钮电路来实现。

系统共设三个键,分别定义为:①SET功能:设置当前时间,即当电子时钟的时间有误差时,需要随时对它进行调整,使用SET键与+1键、RET键配合来完成这一功能。

②+1调整键功能:分别对时间值的小时十位、小时个位、分的十位、分的个位进行+1调整,即该按键每按下一次,对应的时间调整位+1。

③RET确认键功能:确认,即对+1调整位进行确认,该键按下时,说明被调整位的值已经确定,转去调整下一位。

5)打铃是用P1口输出来控制继电器的闭合,从而控制打铃和放音乐。

为了方便观察,用发光二极管来代替继电器,即P1.7对应的发光二极管亮代表电铃接通,若不亮代表电铃断开,P1.6对应的发光二极管亮代表放音机接通,若不亮代表放音机断开。

第2章控制系统硬件电路设计2.1硬件电路的设计方案及框图根据设计要求与设计思路,确定该系统的控制方案,图1所示为开系统设计方案的硬件电路的设计框图。

硬件电路由8个部分组成,即单片机按键输入电路、单片机时钟电路、单片机复位电路、6位LED动态扫描电路、语音输出与打铃电路。

下面将分别对硬件电路的设计和器件的选择做详细介绍。

图1 硬件电路设计框图2.2单片机的选择当今单片机厂商琳琅满目,产品性能各异。

基于单片机的可编程作息时刻控制器的设计

基于单片机的可编程作息时刻控制器的设计

目录第一章引言 (3)选题背景及其意义 (3)877A单片机的介绍 (3)设计要求及其功能 (4)本设计实现的功能 (4)第二章系统整体方案 (5)系统整体方案框图 (5)设计要求 (5)按照设计要求画出系统框图 (5)控制系统时刻分析表 (6)处置器的选择 (6)时钟芯片的选择 (7)液晶显示器的选择 (7)第三章硬件部份的设计 (7)系统部份 (7)键盘接口电路 (8)显示部份 (9)第四章控制系统软件部份 (10)软件介绍 (10)程序流程图 (11)按键的扫描子程序 (12)铃声控制程序 (12)仿真电路 (13)第五章总结 (15)参考文献 (16)致谢 (16)基于单片机的可编程作息时刻控制器的设计何欢(伊犁师范学院电子与信息工程学院电子信息科学与技术09-2班,新疆伊宁市 835000)摘要:本设计是作息时刻控制器,由单片机最小系统、按键模块、数码管显示模块、铃声模块组成。

采用PIC16F877A单片机、主频4MHZ晶振,通过按键STATE、TEN、UNIT控制时刻的校正时刻和铃声设定;数码管显示模块用来显示时刻,显示格式为“时分”,并能够按照需要显示年、月、日,由数码管小数点闪动作为秒计数;铃声模块进行到时提示并出相应动作:发光二极管闪亮,同时播放音乐。

时钟芯片采用的是DS1302,此芯片是DALLAS 公司推出的涓流充电时钟芯片,其内含有一个实不时钟/日历和31 字节静态RAM,并通过简单的串行接口与单片机进行通信。

实不时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每一个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM 指示决定采用24 或12 小时格式。

DS1302 工作时功耗很低,维持数据和时钟信息时功率小于1mW。

该设计采用C语言编写程序,由于汇编语言的移植性比较差,而C语言则比较灵活,许多子函数都能够直接移植过去。

关键词:PIC16F877A单片机;晶振;液晶显示器;源程序Based on single chip microcomputer controller design ofprogrammable calendarHehuan(ili normal college of electronic and information engineering college of electronic information science and technology 09-2 class, xinjiang yining city, 835000 )Abstract:This is the time schedule controller designed by single chip microcomputer minimum system module, buttons, digital tube display module, alarm module. Using PIC16F877A MCU, 4 MHZ crystal vibration main frequency, through the button STATE, TEN, UNIT control time correction time and set ring; Digital tube display module is used to display time, display format of"time", and can according to need to display year, month, day, by the digital tube decimal counting flashing as seconds; Bell module to remind and make the corresponding action: light-emitting diodes, play music at the same time.Used clock chip DS1302, this chip is DALLAS company to launch a trickle charging the clock chip, containing a real-time clock/calendar and 31 bytes static RAM, and communicate with single chip microcomputer with simple serial interface. Real-time clock/calendar circuit provides seconds, minutes, and information day, date, month, year, number of days per month and leap year the number of days can be automatically adjusted, clock operation by an AM/PM indicator decided to adopt 12 or 24 hour format. DS1302 power consumption is low, while working to keep data and clock information when the power is less than 1 mw.This design USES the C language program, due to the portability of assembly language, but C is more flexible, Many functions can be directly transplanted in the past.Keywords: PIC16F877A MCU;crystals and liquid crystal display; the source program第一章引言选题背景和意义自从人类学会计时开始,计时方式由在木棍和骨头上刻标记,随着人类的智慧的进展,到后面利用计时工具不断的改良,由最开始的圭表、日晷、漏壶、漏箭、机械闹钟、秒表、沙漏、怀表、自摆钟、石英钟等。

作息时间控制器(基于51单片机和DS1302的时钟).

作息时间控制器(基于51单片机和DS1302的时钟).

课程设计(论文)题目:作息时间控制器院(系):电子工程与自动化学院专业:测控技术与仪器学生姓名:吉哲学号: 0900820413指导教师:徐翠锋职称:讲师2012年12月27日摘要本次作息时间控制器设计是采用AT89S52单片机作为系统的核心元件,在其最小系统基础上与DS1302时钟芯片配合,四个独立按键控制,六位七段数码管显示,无源蜂鸣器发声。

单片机最小系统作为核心处理和控制单元;时钟芯片用来实现实时时间的精准输出和闹钟信息的存储,并可用纽扣电池供电以保持时间的连续运行;独立按键用于进行时间及闹钟的设定;数码管用于显示时间及闹钟信息;蜂鸣器用于在达到设定的时间后进行及时提醒。

关键词:时间控制;AT89S52;单片机;DS1302;时钟芯片;闹铃;定时报警AbstractThis work and rest time controller design is to use AT89S52 SCM as the core of the system components, in its minimum system with DS1302 clock chip based on coordination, four independent key control, six seven period of digital tube display, passive buzzer sound. Single chip microcomputer minimum system as the core processing and control unit; Clock chip to realize real-time time accurate output and alarm information storage, and use button batteries to keep continuous operation time, Independent key for time and alarm clock Settings; Digital tube is used to display the time and alarm information; Buzzer to reach a set time for timely remind.Key words:Time control; AT89S52 devices; SCM; DS1302; Clock chip; Alarm; Timing alarm目录引言 (1)1 课程设计任务及要求 (1)2 硬件设计 (1)2.1 总体设计思路及系统框图 (1)2.2 中央处理控制器 (2)2.3 晶振电路 (3)2.4 时钟信号产生电路 (3)2.5 显示电路 (4)2.6 控制电路 (6)2.7 闹铃电路 (8)2.8 电源及下载电路 (8)3 程序设计 (9)3.1 主程序流程图 (9)3.2 按键扫描程序流程图 (9)3.3 响铃扫描程序 (10)4 制板、组装与调试 (11)4.1 PCB制作 (11)4.2 制作PCB板流程 (11)4.3 调试 (11)5 方案总结 (11)心得体会 (12)谢辞 (13)参考文献 (14)附录 (15)引言时间是人类生活必不可少的重要元素,从古至今它都扮演着一个非常重要的角色。

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

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

单片机原理及系统课程设计专业:电气工程及其自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2014 年1 月13 日单片机原理及系统课程设计报告基于单片机的作息时间控制器设计1. 课程设计目的(1)进一步熟悉和掌握单片机的最小系统结构及其工作原理。

(2)掌握单片机的接口技术和键盘扫描、数码管显示的原理及拓展使用方法。

(3)通过课程设计,提高综合运用所学知识的能力,掌握单片机程序设计、调试,应用电路设计、分析及调试检测。

2. 设计方案及原理本设计是作息时间控制器,设计其实现的功能主要有:使用4位七段显示器来显示当前的时间,由LED闪动作为秒计数表示,显示格式为“时分”,并可显示日期,显示格式为“月日”,年份单独显示。

由4个按键来作功能设置,可以设置现在的日期、时间及定时设置时间,一旦设置的时间到则作出相应动作:发光二极管闪亮,同时播放音乐。

单数码管显示模块片机最按键控制模块小系闹钟模块统系统方框图图13. 硬件设计3.1单片机AT89C52提供以下标准功能:8K字节FLASH闪存,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。

3.2 按键控制模块按键设定部分比较简单,因为本系统按键少,所以在设计上采用了独立按键方式,程序的编制上也采用了简单的扫描方式。

按键控制模块主要有由四个按键1单片机原理及系统课程设计报告组成:K1、K2、K3、K4、。

其中K1的功能是模式切换键;K2的作用是加一;K3的作用是闹钟使能;K4的作用是减一。

K1KKK按键控制模23.3 数码管显示模块时间显示模块主要由四位七段数码管来显示,配合按键控制模块的校正与设定时间,相应的显示。

苏州科技学院单片机课程设计可编程作息时间控制器程序设计

苏州科技学院单片机课程设计可编程作息时间控制器程序设计

苏州科技学院天平学院单片机课程设计报告作息时间控制器设计姓名:王亚明学号:04专业班级:电气0921指导老师:徐树梅2012年6月2日目录1 概述 ........................................... 错误!未定义书签。

课程设计的目的和意义........................... 错误!未定义书签。

单片机课程设计的要求........................... 错误!未定义书签。

作息时间控制器的设计要求....................... 错误!未定义书签。

2 系统总体方案及硬件设计 (3)系统总体设计 (3)系统各个部分的电路设计 (4)3 软件的设计 (6)概述 (6)主模块的设计 (6)显示模块设计 (7)时间设定模块设计 (7)声光显示功能的实现 (8)4 Proteus软件仿真 (8)仿真结果 (8)性能及误差分析 (9)5课程设计体会 (10)参考文献 (10)附1 程序源代码 (10)附2原理图 (15)第一部分概述课程设计的目的和意义:综合利用所学单片机知识完成一个单片机应用系统设计并仿真、由硬件实现,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下良好基础。

单片机课程设计的要求:1、进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统设计的基本方法和步骤;2、掌握单片机仿真软件Proteus的使用方法;3、掌握键盘和显示器在的单片机控制系统中的应用。

4、掌握撰写课程设计报告的方法。

作息时间控制器的设计要求:1、设计制作一个单片机数字钟及控制电路。

2、使用LED显示器来显示现在的时间。

显示格式为“时-分-秒”,由LED闪动作为秒计数表示。

3、可以设定作息时间,并进行到时提示。

4、能够根据预先设定好的作息时间表自动启停控制电路,完成对外部设备的实时控制。

5、可以设置现在的时间及显示定时设置时间。

单片机作息时间控制器设计方案

单片机作息时间控制器设计方案

单片机作息时间控制器设计方案第1章总体方案设计1.1 设计要求本课题要求以单片机为核心,设计一个具有定时和计数功能的智能化作息时间控制器,用于学校教学楼的时间控制,实现时间基准定时,并配合“启动”、“复位”等按键的操作,并按作息时间显示的容要求有有以下功能:(1)按作息时间接通/断开电铃;(2)课间接通/断开播放音乐设备;(3)时间的设置与值显示(显示的容要求有时、分、秒各两位)1.2优点及意义本课题要求设计一个具有定时和计数功能的智能化作息时间控制器,用于学校教学楼的时间控制,实现时间基准定时。

数码管显示电路采用LED动态控制方式,显示时分秒。

按键电路控制定时计时。

闹铃指示电路控制铃声。

1.3 系统硬件电路设计本方案采用一种是用以STC89C52为核心,外加8位数码管,蜂鸣器,继电器和按键完成系统的设计要求。

系统硬件设计框图。

根据设计要求,确定系统的设计方案,图1-1为系统总体设计计框图。

硬件电路由6个部分组成,即单片机时钟电路、复位电路、键盘输入电路、LED数码管显示电路、蜂鸣器电路、继电器电路。

1.4初步设计思路(1)定义一组数表,存字形码(2)定义4个数据缓冲区,对应4个数码管,将要显示的字符的偏移量存入。

通过查表指令从P1口输出。

(3)LED数码管通过驱动电路,显示相应的状态。

位选由P2口高四位产生,(4)通过P3口接通继电器和蜂鸣器。

(5)系统设置3个按键,分别是选择键、时间加键、时间减键。

第2章硬件电路设计2.1时钟电路设计单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XTAL2两个引脚间,接一只晶振及两只电容就构成了单片机的时钟电路,如图2-1所示。

图2-1时钟电路电路中器件选择可以通过计算和实验确定,也可以参考一些典型电路参数。

电路中,电容器C1和C2对振荡频率有微调作用,同时帮助晶振起振,通常取值围在22±0.1PF,一般晶振为12MHZ,电容取22PF。

单片机课程作息时间控制设计报告

单片机课程作息时间控制设计报告

单片机课程作息时间控制设计报告1. 引言单片机是现代电子技术的重要组成部分,在工业自动化、电子产品控制等领域都有广泛应用。

本次设计目的是通过单片机实现课程作息时间的自动控制,以解决学校师生在课程安排上的繁琐和误差问题。

2. 设计方案2.1 系统功能本系统通过采集外部的时间信息,并通过单片机进行处理和控制,最终实现对学校课程作息时间的自动控制。

2.2 硬件设计本系统的硬件设计主要包括单片机、时钟模块和显示模块。

单片机负责控制整个系统的运行以及与外部硬件的交互,时钟模块提供系统需要的准确时间信息,显示模块用于显示当前的时间和课程信息。

2.3 软件设计本系统的软件设计主要包括时间采集模块、时间处理模块和课程控制模块。

时间采集模块负责从时钟模块获取当前的时间信息,时间处理模块用于处理时间数据,课程控制模块根据时间数据决定当前课程的状态和下一节课的时间。

3. 工作流程3.1 初始化系统启动时,单片机初始化各个硬件模块,并从时钟模块获取当前的时间信息。

3.2 时间采集单片机通过时钟模块定时采集当前的时间信息,并将其存储在内部存储器中。

3.3 时间处理时间处理模块从内部存储器中读取当前的时间信息,并根据预设的课程时间表以及当前的时间,确定当前课程的状态(上课、下课或休息)。

3.4 课程控制课程控制模块根据当前课程的状态,通过单片机控制相关设备的开关,实现对课程作息时间的控制。

4. 技术难点4.1 时间信息的准确获取为了保证系统的准确性,需要选择一款精度较高的时钟模块,并采用合适的算法来处理时间数据。

4.2 课程时间表的灵活性不同学校的课程安排可能不同,因此需要设计一个灵活可变的课程时间表,以适应不同学校的需求。

5. 结论通过单片机实现课程作息时间的自动控制,可以提高学校课程安排的效率,减少学生和老师的繁琐操作。

本设计报告详细介绍了系统的硬件和软件设计,以及系统的工作流程和技术难点。

在实际应用中,可以根据具体需求进行相应的改进和调整,以满足不同学校的需求。

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

单片机作息时间控制器课程设计湖南工程学院课程设计课程名称微机原理与应用课题名称单片机作息时间控制器1湖南工程学院课程设计任务书课程名称微机原理与应用课题单片机作息时间控制器专业班级自动化0702学生姓名罗琦学号200701020216指导老师王迎旭、李晓秀、林国汉审批任务书下达日期2010年 6 月7日任务完成日期2010年 6 月20日1111、目录第一章引言 (7)1.1简介及技术要求 (7)1.2计时方案 (7)1.3键盘/显示方案 (7)第二章硬件设计 (8)2.1 电路原理图 (8)2.2 系统工作流程 (9)2.3 系统使用说明 (10)第三章系统软件设计 (10)3.1 软件设计 (10)3.2 系统工作流程 (11)第四章程序模块设计. (15)4.1主程序模块 (16)14.2定时中断服务程序模块 (18)4.3扫描显示模块 (22)4.4键扫描子程序 (23)4.5键值处理子程序 (27)4.6移位键处理程序模块 (30)第五章调试及分析 (32)第六章课程总结………………………………………………………33参考文献 (34)附录 (35)第1章引言因为单片机的种类多,而型号杂,也是我们学习中的困难,所以就MCS—51系列的产品来说,就是一个典型的学习方法。

对于类似汇编的单片机编程过程,也是一个十分有趣的过程。

为了更好的说明,我以上介绍先从应用电路切入,同时介绍它们的使用方法,以便能快速掌握它们的应用。

1.1简介及技术要求校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。

如上下课打铃及扩音设备的开与关、教学楼照明的定时开与关、学生宿舍灯及校园路灯的定时开关的控制。

技术要求如下:1(1)定时准确,月误差《=10%。

(2)有显示和校时功能。

(3)具备到时响铃功能。

1.2计时方案采用软件控制利用MCS-51 系列单片机内部的定时/计数器进行中数年定时,配合软件延时实现时、分、秒的计时。

该方案节省硬件成本,且能够使读者在定时/计数器的使用、中数年及程序设计方面得到锻炼与提高,因此本系统将采用软件方法实现计时。

1.3键盘/显示方案对于实时时钟而言,显示显然是另一个重要的环节。

如前所述,通常有两种显示方式:动态显示和静态显示。

直接利用MC51单片机的P0和P2口,LED动态显示。

该方案硬件连接简单,但动态扫描的显示方式需占用CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。

第2章硬件设计考虑到在停电时本机仍需正常走时,故单片机选用COMS低功耗产品如MCS51,由于LED显示电路耗电量较大,可将其电源与单片机电源分开,从而使得在停电时蓄电池仅对单片机供电,而不对显示电路供电,延长电池的供电时间。

选用典型的并口扫描显示输出。

用MCS51的P0口和P2口作为段码和位码输出口,并由2片ULN2003作为每个端口的反相驱动。

利用P1口的低六位作为6个功能键的键盘线,P3口部分口作为冬季或夏季作息时间的选择线、临时报时处理设置线和打铃输出控制(输出部分加光电隔离)。

12.1电路原理框图报时钟电路的核心是MCS51单片机,其内部带有4KB的程序ROM,无须外扩程序存储器。

电脑时钟没有大量的运算和暂存数据,现有的128B片内RAM已能满足要求,也不必外扩片RAM。

系统配备5位LED 显示和6*1键盘,用P1口作为键盘接口电路,P2口作为5位LED 显示的位选通口,P0口则作为字形码输出口。

采用共阴极LED数码管,P0口、P2口和数码管之间串接了反相驱动芯片ULN2003,因此P2口输出高电平选中相应的位,而P0口输出低电平点亮相应的段。

P3。

2接用户自设定报时/作息时间报时的选择开关,开关闭合(P3。

2为低电平)时,仅对用户自设定的时间点进行报时;开关断开时,则进行固定的作息时间表报时。

P3。

3端口接夏令/冬令作息时间表,P3。

3=1时选择择冬令作息时间表。

P3。

4端口外接光电隔离器,驱动扩音机电源的控制开关,低电平有效。

图2.1 单片机原理框图2.2系统工作流程1本单片机报时控制系统具备以下功能:时钟显示。

5位LED从左到右依次显示时、分,采用24H计时。

图2.2 时间显示图(4)键盘功能。

采用4个独立按键,包括:移位键、加1键、减1键、校时置入键。

(5)移位键:(P1。

0=0)每按动移位键一次,小数点从左向右移动1位。

(6)加1键:(P1。

1=0)对小数点所在位的数什进行十进制加1。

(7)减1键:(P1。

2=0)对小数点所在位的数值进行十进制减1。

(8)校时置入键:(P1。

3=0)将显示的时间值置入实时时钟的计时缓冲区。

图2.3 键盘功能(9)扬声器驱动电路:图2.4 扬声器驱动电路2.3 系统的使用说明(1)时间显示。

通电后,系统自动进入时钟显示,从00:00:00:开始计时,此时可以设定当前时间。

(2)时间校对。

按下“移位”键,小数点从左向右移动,每按动1次,小数点便移动1位;要修改设置哪一位,只需将小数点移到该位,便可用“加1键”或“减1键”对该位进行数字设定;时间的校对设定一共有5位,从左到右依次为星期、小时十位、小时个位、他的十位、分的个位。

设置正确后“校时置入键”,时间校正便设置完成,报时钟开始按新设置的时间值开始走时和显示。

(3)用户报时时间设置/显示。

用户可以自行设定10组报时时间点,这时LED显示的最高位定义为组编号其他位定义不变;按下“报时设定键”,系统根据“组编号”将用记设定的报时时间点(小时和分)存入内部RAM相应存储单元中,用户如需修改和检查这些报时时间。

如需修改,可用“移位键”、“加1键”,“减1 键”来重新设定,然后用“报时设定键”来转入并结束显示。

(4)报时输出的驱动过程。

在报时处理程序上中,一旦当前时间与作息时间表中的某一时间点(时、分值)相同时,则建立F0报时标志,建立F1放音标志,扩音机播放报时音乐,并在26H中设置放音时间,放音时间到,则关闭驱动及清除F1标志位,完成1次报时驱动.第3章软件设计3.1系统资源分配(1)为方便阅读程序,先对系统的资源分配加以说明。

1)定时器。

定时器0用作时钟定时,按方式1工作,每隔100MS 溢出中断1次。

2)片内RAM及标志位的分配与定义见表1(2)软件流程。

根据上述工作流程,软件设计可分为以下几个功能模块: 1) 主程序:初始化与键盘监控。

2) 计时:为定时器0中断服务子程序,完成刷新计时缓冲区的功能。

3) 时间设置与报时设置:由键盘输入设置当前时间与定时启闭时间。

4) 显示:完成5位LED 动态显示。

5)键盘扫描:判断是否有键按下,并求取键号。

6)定时比较:判断报时时间到否,如时间到,则启动报时处理程序。

7)其他辅助功能程序,如键盘设置、拆字、合字、冬季或夏季时间表选择及假日停止报时等。

第4章程序模块设计程序的模块设计非常重要,有很多功能的程序,列表如表2表2 :4.1 主程序模块(MAIN)在主程序模块中,先对各端口进行初始化,对内部RAM区清零,设置堆栈和定时器初值,关闭显示器,启动定时及其中断。

然后检测时钟分值变更标志位F3是否建立,如果已建立,则进行报时处理,否则再检测有无按键按下,若有则进行按键处理,无则返回循环点。

ORG 0000HSTART: AJMP MAIN ;跳转入主程序0030HORG 000BHAJMP CTCINT ;跳转到定时器T0的中断服务程序入口ORG 0030HMAIN: NOP ;主程序入口地址:0030HNOPNOPMOV A,#OFFH ;关闭各输出口MOV P0,A ;P0口为字形口,低电平有效MOV P1,A ;P1口作为6个键输入口MOV P2,A ;P2口是字位口,低电平有效MOV P3,A ;P3口报时方式控制和驱动输出口SETB T0 ;关闭报时音乐输出(T0=1)SETB T1 ;关闭报时扩音机电源(T1=1)CJNE SP,#07H,NOT1MOV R0,#7FHMOV R1,#7DH ;否则RAM清零初始化CLR ALOOP0: MOV @R0,ADEC R0DJNZ R1, LOOP0 ;从内部RAM区03H到7FH均清零NOT1: MOV SP,#60H ;设置栈指针MOV IP,#02H;设置定时器T0为最高中断优先级MOV IE,#82H;定时器T0开中断MOV TMOD,#01H;设置定时器T0为方式1MOV TL0,#0B0H;设置定时器T0初值MOV TH0,#3CHSETB TR0;启动定时NOPNEXTT: NOPMOV SP,#60H ;重置堆栈底位置LCALL DISP ;调用显示子程序NOP ;检测标志是否出现,F3为定时分钟值变化的标志位JNB 0F3H,NEXT1 ;F3=0,则转键扫描,判断有无键按下NOP ;F3=1,调用报时处理子程序SETB INT0JNB INT0 , USERS;如INTO=0,则调用用户自设定报时点LCALL TIMERA;INTO=1,调用TIMERA,按作息时间表报时USERS: NOPLCALL TIMERB;TIMERB为用户自设定报时点报时NOPNEXT1:LCALL CHECKEY;调用按键扫描子程序,判断有无键按下JZ NEXTT;无键按下,返回重新扫描NOPLCALL KEYACC;有键按下,调用按键处理子程序NOPSJMP NEXTTNOPNOP4.2定时中断服务程序模块该多好模块完成下述工作:①对100毫秒(20H)、秒(21H)、分(22H)、小时(23H)进行累计计数,如果分值有计数变化并且无键按下,则将小时和分钟送显示缓冲区更新显示目录;②如有报是处理标志,则对报时扩音机电源和报时音乐输出分别进行定时控制。

CTCINT:NOP;T0的中断服务子程序MOV TL0,#0B4H;设置定时器T0初值MOV TH0,#3CHPUSH ACC;保护主程序现场数据PUSH PSWNOPSETB RS0;选择新的工作寄存器区(1区)CLR RS1;SELECT 1 AREAINC 20H;0.1S单元加1MOV A,20HJB OF4H,LCA;(F4H)为键处理标志位,在键处理过程中不显示秒点CJNE A,#05H,CTNUCCTNUC: JC LC2;小于0.4S则秒点闪亮,大于0.4S则秒点熄灭CLR 6CHSJMP LCALC2: SETB 6CHLCA: CJNE A,#0EH,RTNH;未计满1S则退出中断MOV 20H,#00H;毫秒计数单元清零JNB 0F0H,NEXTE;F0H=1为报时扩音机预热延时标志位MOV A,25H;(25H)中存放报时扩音机预热延时时间值JNZ NEXTFCLR OFOHCLR OFOHSETB OF1HMOV 26H,#1OH ;(26H)中存放报时放音的延时时间值CLR TONEXTE: JNB OF1H,NEXTF ;(F1H=1)为报时放音的延时标志位MOV A,26HDEC AMOV 26H,AJNZ NEXTF ;判断报时放音延时是否结束CLR OF1H ;延时时间到,清除报时放音标志位,关闭报时电源SETB T1SETB T2SETB TOSETB TONOPNEXTF: NOPMOV A,21H ;对秒计数单元(21H)进行累计计数ADD A,#01HDA AMOV 21H,ACJNE A,#06H,RTNH ;判断分计数是否计满CLR AMOV 21H,ASETB 0F3H ;(F3H)为分值有变更标志位NEXT: MOV A,22H ;对分(22H)进行累计计数ADD A,#01H;DA AMOV 22H,ACJNE A,#60H,RTDNMOV 22H,#00HMOV A,23HADD A,#01H ;时单元加1DA AMOV 23H,A ;对时(23H)进行累计计数CJNE A,#24H,TRNDMOV 23H,#00HMOV A,24HADD A,#01H ;星期计数单元(24H)加1DA AMOV 24H,ACJNE A,#07H,RTDNMOV 24H,#00HRTDN: NOPJNB OF3H,RTDH ;确认(F3=0)分值无变更,则返回JB OF4H,RTNH ;确认(F4=0)正在键处理,则返回LDDA: NOP ;将当前的时间值显示缓冲区NOPMOV R0,#24H ;(24H、23H、22H、)送(2FH~2BH)MOV R1,#2FHMOV R2,#02HMOV A,@R0ANL A,#0FHMOV @R1,ADEC R0DEC R1LD1: MOV A,@R0 ;将1字节压缩的BCD码拆成两个字节,数数值存放在低字节内ANL A,#OF0HSWAP AMOV @R1,ADEC R1MOV A,@R0ANL A,#0FHMOV @R1,ADEC R0DEC R1DJNZ R2,LD1NOPRTNH:NOP ;中断返回,并恢复现场数据NOPPOP PSWPOP ACCRETI4.3扫描显示模块该模块为5位LED扫描显示模块。

相关文档
最新文档