自动打铃系统设计.docx

上传人:b****8 文档编号:9856589 上传时间:2023-02-07 格式:DOCX 页数:40 大小:220.56KB
下载 相关 举报
自动打铃系统设计.docx_第1页
第1页 / 共40页
自动打铃系统设计.docx_第2页
第2页 / 共40页
自动打铃系统设计.docx_第3页
第3页 / 共40页
自动打铃系统设计.docx_第4页
第4页 / 共40页
自动打铃系统设计.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

自动打铃系统设计.docx

《自动打铃系统设计.docx》由会员分享,可在线阅读,更多相关《自动打铃系统设计.docx(40页珍藏版)》请在冰豆网上搜索。

自动打铃系统设计.docx

自动打铃系统设计

摘要

本文设计了自动打铃系统的硬件电路和软件程序。

自动打铃系统以单片机AT89C51为微处理器,DS12887为时钟芯片,8279为键盘显示接口芯片,实现了自动打铃,系统可以根据需要通过键盘调整打铃的时间,通过6位数码管显示当前的时间。

文中给出了硬件电路图和软件程序,并对部分程序设计给出了程序框图。

自动打铃系统电路简单,功能齐全。

关键词:

自动打铃系统;单片机AT89C51;DS12887;8279

Abstract

Thisarticledesignedhashitthebellsystem'shardwarecircuitandthesoftwareroutineautomatically.AutomaticallyhitsthebellsystemtakemonolithicintegratedcircuitAT89C51asthemicroprocessor,DS12887istheclockchip,8279forthekeyboarddemonstrationconnectionchip,realizedhashitthebellautomatically,thesystemmayaccordingtoneedtohitbell'stimethroughthekeyboardadjustment,through6nixietubedemonstrationcurrenttime.Inthearticlehasgiventhehardwarecircuitdiagramandthesoftwareroutine,andhasgiventheflowcharttothesubprogramdesign.Hitsthebellsystemcircuittobesimpleautomatically,thefunctioniscomplete.

keyword:

Hitsthebellsystemautomatically;MonolithicintegratedcircuitAT89C51;DS12887;8279

第1章绪论

1.1本课题研究的意义

在日常生活和工作中,我们常常用到定时控制,如扩印过程中的曝光定时等。

早期常用的一些时间控制单元都使用模拟电路设计制作的,其定时准确性和重复精度都不是很理想,现在基本上都是基于数字技术的新一代产品,随着单片机性能价格比的不断提高,新一代产品的应用也越来越广泛,大可构成复杂的工业过程控制系统,完成复杂的控制功能。

小则可以用于家电控制,甚至可以用于儿童电子玩具。

它功能强大,体积小,质量轻,灵活好用,配以适当的接口芯片,可以构造各种各样、功能各异的微电子产品。

随着电子技术的飞速发展,家用电器和办公电子设备逐渐增多,不同的设备都有自己的控制器,使用起来很不方便。

根据这种实际情况,设计了一个单片机多功能定时系统,它可以避免多种控制器的混淆,利用一个控制器对多路电器进行控制,同时又可以进行时钟校准和定点打铃。

它可以执行不同的时间表(考试时间和日常作息时间)的打铃,可以任意设置时间。

这种具有人们所需要的智能化特性的产品减轻了人的劳动,扩大了数字化的范围,为家庭数字化提供了可能。

目前各地研制了多种类型的自动打铃装置,这些装置一般都以自动接通电铃电路来代替人工打铃。

它们普遍存在以下缺点:

①电铃声音单调,主要是靠机械振动发音,是一种噪音污染源,而且音量的大小也不好控制。

②一般没有蓄电池供电装置,一旦电网停电,电铃就不能使用,直接影响教学工作的正常进行。

③没有装设遥控电路,使用不便。

④不能按作息时间要求自动控制教学楼及宿舍等用电。

因此研究智能型的自动打铃系统,具有很现实的意义。

1.2本文研究的内容

本文以单片机AT89C51为微处理器,DS12887为时钟芯片,设计了自动打铃系统的硬件电路,同时用汇编语言编写了系统的程序,给出了软件设计思路。

第2章设计任务及要求

2.1设计任务

设计一款如下作息时间打铃的打铃器。

时间

作用

6:

10

起床

7:

50

第一节课预备

8:

00

第一节课上

8:

40

第一节课下

8:

50

第二节课预备

9:

00

第二节课上

9:

40

第二节课下

9:

50

课间操

10:

10

第三节课预备

10:

20

第三节课上

11:

00

第三节课下

11:

10

第四节课预备

11:

20

第四节课上

12:

00

第四节课下

14:

00

第五节课预备

14;10

第五节课上

14:

50

第五节课下

15:

00

自由活动

2.2设计要求

1.具有时分秒记时,6位数字显示;

2.具有快速校时功能和整点音响自动报时;

3.输出电路可根据情况选用喇叭或电铃;

4.设计自动打铃器电路原理图(包括所需的直流稳压电源);

5.编写自动打铃器制作的工艺文件

第3章系统方案设计

此系统硬件部分主要由计时、键盘显示和闹钟打铃系统三部分构成。

其计时部分可用日历时钟芯片DS12887实现。

DS12887是DALLAS公司的实时时钟芯片RTC,它功能丰富,应用广泛,PC机内的时钟信号就是由DS12887提供的。

DS12887具有时钟、闹钟和闰年补偿功能。

其内部有14个寄存器,包括10个时标寄存器,4个状态寄存器,还有114B作掉电保护用的低功耗RAM。

DS12887的DS端与单片机的P3.7相连,R/W与P3.6相连IRQ与P3.2相连.

显示部分由通用键盘/显示器接口芯片8279实现。

8279芯片能完成监视键盘输入和显示控制2种功能。

8279对键盘部分提供1种扫描工作方式,能对64个按键键盘阵列不断扫描,自动消抖,自动识别出闭合的键并得到键号,能对双键或多键同时按下进行处理。

由于本次课程设计只需0~9十个按键即可完成当前时间的设置,因此采用2*8键盘形式,通过138译码器对行列进行译码,从而得到键值。

数码管采用共阳极驱动。

闹钟部分可设置在DA12887内部的秒闹时、分闹时和时闹时单元中,在时间到达闹时时间时产生外部中断,由89C51单片机P1.0口所接测试灯实现光闹钟,P1.2口外接喇叭可实现声闹钟,从而实现闹钟的声光并现。

第4章系统硬件电路设计

在详细分析单片机自动打铃系统原理及特点的基础上,设计了以下硬件系统。

4.1总体方案设计

4.1.1系统结构框图

图4.1系统结构框图

4.1.2系统说明

本系统是基于单片机AT89C51的自动打铃系统。

使用功能强大的单片机AT89C51为CPU,DA12864作为时钟芯片。

系统硬件电路包括:

AT89C51单片机的最小系统硬件电路,时钟芯片接口电路,8279键盘显示接口电路,打铃电路,串行通信电路以及系统硬件看门狗电路。

在以下章节里对基于单片机AT89C51的自动打铃系统的各硬件部分做了详细的介绍并用Protel99画出了每部分的原理图。

系统结框图如图4.1所示。

4.2单片机最小系统

4.2.189C51单片机概述

8051系列单片机是我国应用较广的一种单片机。

本设计的MCU就使用了美国ATMEL公司新推出的具有在系统可编程功能的MCS-51兼容单片机AT89C51。

由于将多功能8位CPU和FLASH存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

AT89C51的引脚图如图4.2所示。

图4.2单片机AT89C51引脚图

AT89C51单片机有以下特点:

·兼容8051微控制器

·8K字节在系统(ISP)可编程FLASH存贮器

·256字节片内RAM

·工作电压4.0V到5.5V

·三级程序加密

·32个可编程IO口

·3个16位定时/计数器

·68个中断源

·完全的双工UART串行口

·低功耗支持Idle和Power-down模式

·看门狗定时器

·双数据指针

·上电复位标志

因为AT89C51的内部有一个溢出值为2的13次幂的看门狗,所以不用外接硬件的看门狗电路来对程序跑飞进行处理,只要用软件编程的方法就可以实现看门狗功能,避免使用硬件看门狗。

4.2.289C51单片机最小系统电路

振荡电路部分使用单片机内部振荡电路,为了得到高精度的串行通讯波特率,选择的晶振频率为11.0592M,电容为30pF。

复位电路元件的参数选择必须保证高电平持续时间大于2个机器周期,这样电路才能可行复位。

单片机最小系统电路如图4.3所示。

图4.3单片机最小系统图

4.3DS12887接口电路设计

4.3.1DS12887的功能特点介绍

DS12887是美国达拉斯半导体公司(Dallas)生产的并行接口实时时钟日历芯片,采用24引脚双排直列封装,内包含一个锂电池、石英晶振和写保护电路,是一个完整的子系统。

采用DS12887芯片设计的时钟电路不需要任何外围电路和器件,并且具有良好的微机接口。

MOTOROLA和INTEL总线时序选择;

其主要功能如下:

由于锂电池,它可以在无外部电源的情况下工作10年以上并不丢失数据。

能计秒、分、时、日、星期、月、年7种日历信息,并有闰年补偿功能。

二进制数码或BCD码表示时间、日历和定时闹钟。

有12小时或24小时制来显示时间,12小时制时钟模式还有AM和PM指导。

MOTOROLA和INTEL总线时序选择。

有128个RAM单元与软件接口,其中14个作为字节时钟和控制寄存器,114字节为通用RAM。

所有的RAM单元数据都具有掉电保护功能。

可编程方波信号输出。

中断信号输出和总线兼容,定时闹钟中断、周期性中断、时间闹钟中断更新周期结束中断可分别由软件屏蔽,也可以分别进行测试。

4.3.2DS12887芯片介绍

图4.4DS12887内部结构图

在图4.4中,AD0~AD7为地址/数据复用总线;NC为空脚;MOT为总线模式选择(MOTOROLA/INTEL),当此脚接VCC时,选用的是MOTOROLA总线时序,当它接地或者不接时,选用的是INTEL总线时序;CS为批片选端;AS为地址锁存允许端;R/W在INTEL总线下作为写;DS在INTEL总线下作为读;RESET为复位端,复位端对时钟、日历、RAM无效,系统上电时复位端要保持低电平200MS以上DS12887才可以正常工作;IRQ为中断请求输出端。

4.3.3DS12887时钟芯片的状态控制寄存器

DS12887芯片内部寄存器A:

内部地址为0AH。

UIP=1时,更新已到,不能读/写;UIP=0时,可以读/写。

DV0、DV1、DV2应设置为010,这样则表示打开晶振,允许计时。

RS3、RS2、RS1、RS0可以产生方波中断。

DS12887芯片内部寄存器B:

内部地址为0BH。

当SET=0时,时间正常进行,每秒计数一次;SET=1时,禁止更新,我们可以在这个时候进行程序初始化时间和日历。

ALE=1允许报警中断;

DM=1为BCD码,DM=0为二进制,且不受复位信号影响。

24/12=1表示采用24小时制,24/12=0表示采用12小时制;

4.3.4DS12887时钟芯片和89C51单片机的接口电路

DS12887时钟芯片和89C51单片机的接口如图4.5所示。

模式选择脚MOT接地,选择INTEL时序,选择DS12887时钟芯片的地址总线及AS端口和89C51单片机的ALE端直接相连;而DS、R/W读写控制线于单片机的P3.7、P3.6控制线相连;DS12887的高位地址由89C51单片机的P2.7端口来片选,则DS12887的高8位地址定为7FH,而其低8位地址则由芯片内部各单元的地址来决定(00H~3FH);DS12887的SQW端口可编程产生方波输出信号。

图4.5DS12887时钟芯片与89C51硬件联接图

4.48279键盘显示接口电路

4.4.18279概述

8279芯片是一种专用于键盘/显示器的接口器件,它能对显示器自动扫描,能识别键盘上闭合的键号,提高CPU的工作效率。

8279包括键盘输入和显示输出两个部分。

键盘部分提供的扫描方式可以和64个按键或传感器阵列相连;能自动消除开关抖动以及对N键同时按下采取保护。

显示部分按扫描方式工作,可以显示8或16位LED数码管显示器。

(1)8279的引脚功能

DB0-DB7:

双向数据总线,用于在CPU和8279之间传

送命令、数据和状态;

CLK:

时钏输入线,用于产生内部定时;

RESET:

复位输入线,复位后,8279被置为以下工作方式:

16显示左边输入,编码扫描键盘双键封锁,时钟系数为31;

CS:

选片信号输入线,低电平时CPU选中8279,允许对8279进行读写操作;

A0:

缓冲器地址输入线,高电平时数据线上传送的是命令或状态信息,低电平时数据线上传送的是数据信息;

RD:

读信号输入线,低电平有效,8279内部缓冲器信息送DB0-7;

WR:

写信号输入线,低电平有效,接收数据总线DB0-7上的信息写入内部缓冲器;

IRQ:

中断请示输出线,高电平有效。

在键盘工作方式中,FIFORAM中有键输入数据时,IRQ上升为高电平,向CPU请求中断,CPU每次读出FIFORAM数据时,IRQ上升为高电平,向CPU请求中断,CPU每次读出FIFORAM数据时,IRQ变为低电平,若RAM中还有数据,IRQ在读出后又返回高电平,直至FIFO中的所有数据被读完IRQ才保持低电平。

在传感器方式中,每当检查到传感器信号变化时IRQ上升为高电平;

SL0-SL3:

扫描输出线,用以对键盘/传感器矩阵和显示器进行扫描;

RL0-RL7:

数据输入线,键盘/传感器矩阵的行(或行号)数据输入线。

该输入线内部有提高电路,使之保持高电平,也可以由外部开关拉成低电平;

SHIFT:

换档输入线,在键扫描中,闭合键的位置信息(行和列号)与换档输入线的状态一起存入FIFO,使键盘上的每个键可以定义为上、下两档功能;

CNTL/STB:

控制/选通输入线,在键盘方式中,作为控制输入线,它的状态和键输入信息一起存储到FIFO中。

在选通工作方式中,作为数据送入FIFO的选通输入线。

OUTA0~OUTA3:

四位输出口;

OUTB0~OUTB3:

四位输出口;

BD:

显示消隐输出线,低电平有效,该输出线在数字切换过程中或使用显示器熄灭命令使显示器消隐;

Vcc:

电源;

Vss:

地。

(2)8279的内部结构与工作原理

8279的内部结构主要由I/O控制及数据缓冲器、控制与定时寄存器及定时控制、扫描计数器、输入缓冲器、键盘去抖及控制、FIFO/传感器及其状态寄存器、显示RAM和显示地址寄存器组成。

I/O控制及数据缓冲器

双向的三态数据缓冲器将内部总线和外部系统的数据总线DB0-DB7相连,用于在CPU和8279之间传送命令、数据和状态信息。

I/O控制电路以CS、A0、RD、WR线上输入信号控制总线上信息的传送,即对内部不同的寄存器和缓冲器进行读或写。

CS为片选输入线,为低电平有效。

当该引脚上为低电平时允许CPU对其进行读写,一般接系统的地址译码器。

AO为信息属性选择线,用来指出所传送的信息是命令/状态,还是数据,A0为逻辑1时,CPU写入8279的信息是控制命令,从8279读出的状态字节;A0为逻辑0时,读出和定入的信息都是数据。

A0通常接系统的地址总线低位。

时序控制逻辑

控制和时序寄存器用于存放键盘和显示器的工作方式和其他状态信息。

时序和控制部件包含了定时计数器,其中一个计数据是N分频器,分频系数可以编程为2-31之间的任何一个数,对CLK上输入的时钟脉冲信号进行N分频,以产生基本的100KHz的内部计数信号(此时扫描时间为5.1ms,去抖动时间为10.3ms),共它计数器将100KHz信号再分频,以提供适当的键盘矩阵扫描和显示器扫描的时间。

扫描计数器

扫描计数器有两种工作方式,一种是编码工作方式,计数器以二进制方式计数,4位计数的状态直接从扫描线SL0-SL3上输出,必须由外部译码对SL0-SL3进行译码,以产生对键盘和显示器的扫描信号,另一种是译码工作方式,对计数器的低两位进行译码后从SL0-SL3上输出,作为4×8键盘和4位显示器的扫描信号,因此在译码方式中只有显示RAM的前4个字符被显示出来。

编码方或扫描出高电平有效,译码方式中扫描输出线低电平有效。

输入缓冲器和键盘去抖控制

输入缓冲器锁存RL0~RL7上的信息。

在键盘工作方式中,对键盘进行扫描,搜索键盘上的闭合键,由去抖电路检测到某个键闭合后等待10ms,再检测该键的状态,若仍然闭合,则将键在矩阵中的地址(行、列号)以及SHIFT和CNTL状态都写入FIFORAM。

在传感器方式中,每次扫描时直接把RL0~RL7上信息写八传感器RAM,在选通方式中,由选通输入信号的上升沿将RL0~RL7上信息写入FIFORAM。

FIFO/传感器RAM

FIFO/传感器RAM是一个双功能的8×8RAM缓冲器。

在键盘选通输入方式中,是一个先进先出的数据缓冲器,每一个新输入的信息写入RAM中的下个单元,并按写入的次序读出。

FIFO状态寄存器存放FIFO中的字符数和FIFO的满空标志,对FIFO读出写入次数太多时间视为溢出错误。

当CS=0,A0=1,RD=0时便读出FIFO的状态字节,当FIFO中有数据时,由控制电路发出IRQ信号。

显示地址寄存器和显示RAM

显示地址寄存器用于存储CPU当前正在读写的显示RAM单元地址以及正在显示的两个4位半字节地址。

读写显示RAM地址由编程设定,也可以定义为读写后地址半字节显示地址由8279自动刷新。

4.4.28279键盘显示接口电路

图4.68279键盘显示接口电路图

4.5控制打铃电路

P1.5口控制继电器进而控制电铃工作。

当时钟当前的时间和当前所执行的时间表的时间一致时,相应得标志位为1,P1.5口输出高电平,控制继电器闭合,从而合上开关,启动电铃进行打铃。

打铃一定时间,标志位置0,P1.5输出低电平,继电器打开,电铃停止工作。

电路图如下:

图4.7打铃电路电路图

4.6系统电源电路

系统有两个电源输入口,分别给逻辑控制电路和电铃驱动电路供电。

因此,需要外接独立的电源给电机供电,要求外接电源的电压在5V~12V之间,并可以提供750mA以上的电流。

根据系统需要,设计了5V和12V的电源电路,电源电路图如图4.84所示。

图4.8电源电路图

4.7串行通信接口电路

RS-232通讯模块是上位机和下位机的接口,它传输的正确与否关系到整个系统数据的获得、运算处理的最终结果的正确性。

因此除了制定严谨而实用的通讯协议外,还得建立有效的通讯数据处理电路,才能保证正确的数据下传和接受,以进行及时的转移和处理。

4.7.1RS-232芯片介绍

图4.9RS-232内部结构图

由图4.9并结合RS-232芯片介绍资料可以得出RS-232驱动器的驱动输出电压幅度在±8V之间,当加载5KΩRS-232接收器,VCC则为+5V。

它要求在最坏的情况下有±5V的最小驱动输出,装载驱动输出电压变化范围是(-5V~-15V)和(+5V~+15V),输入端(INPUTS)TTL与CMOS兼容,用到的驱动器输入端可以让它悬空,因为有400K的内部上拉电阻接至VCC,它强迫驱动器的输出变为低电平,内部上拉电阻产生了12uA的电流,但是在关闭模式中上拉电阻不能发挥作用,驱动输出关闭,进入高阻态。

RS-232接收器电压大于3V时为逻辑‘0’,因此,所有接收转换,输入门限被设定为0.8V和2.4V。

接收端的电压是0.5V,最小保证电压0.2V,这点可以说明确认指出以低速移动信号输出发射,伴随一定的噪声。

接收传播延迟的时间是600ns。

由于RS-232属于单端信号传输,这种形式的传输存在噪声大切不能一直共模干扰,所以为了保证信息传输的准确性,建议通讯距离大约保持在15m,RS-232一般只能用与20m以内的点对点通信。

4.7.2RS232和单片机实现接口通讯

串行通信中,每秒传送的数据位称为波特率。

如数据传送的波特率为1200波特,采用N.8.1帧格式(10位),则每秒传送字节为120个,而字节中每一位传送时间即为波特率的倒数:

T=I/1200=0.833ms。

同样,如数据传送的波特率为9600波特,则字节中每一位传送时间为T=1/9600=0.104ms。

图4.10RS-232通讯接口电路图

89C51单片机的P3口通过RS232与上位机PC机实现通信的。

硬件接口电路如图2-11所示。

由于上位机串行口为RS232标准接口,而89C51单片机在输入、输出均采用TTL电平,所以两者在接口规范上不一致,因此TTL电平到RS232接口电平的转换采用MAXIM公司的MAX232标准。

本系统使用常用的MAX232芯片,作为与单片机串行通信的接口。

用于RS-232电平与TTL电平的相互转换。

如图4.10所示。

4.8看门狗电路

在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称"看门狗"。

看门狗电路的应用,使单片机可以在无人状态下实现连续工作,其工作原理是:

看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序跑飞后而陷入某一程序段不进入死循环状态时,写看门狗引脚的程序便不能被执行,这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。

MAX813L是具有监控电路的微处理芯片,它具有4个功能:

具有独立的看门狗计时器,如果看门狗输入在1.6s内无变化,就会产生看门狗输出;调点或电源电压低于1.25V时,产生掉电输出;上电时能自动产生200ms宽的复位脉冲;具有人工复位功能,当人工复位端输入低电平时,产生复位信号输出。

控制器中具体的电路连线图如下4.11所示。

图4.11系统看门狗电路

 

第5章系统软件设计

本设计的软件程序包括主程序、中断子程序、打铃子程序、时钟显示子程序、查询时间表切换程序和延时子程序等等。

5.1系统主程序设计

图5.1系统主程序流程图

DS12887的四个寄存器在任何时间都可以访间.通过对四个寄存器的访间,控制时钟芯片的频率、时钟、日历的设置和中断的申请.利用DS12887的中断,在时钟设置时使响应的数码显示闪烁.在正常情况下保持1秒钟刷新一次,保证了显示的稳定性.用户可随时对显示的时间、日历、安全运行天数进行修改,所修改的参数保存在DS12887的非易失性RAM中.当发生掉电重新加电时,从RAM中读出参数,通过比较RAM中数据的日期自动对用户所置参数进行修复,保证用户一次设置,终身使用。

5.2DS12887与AT89C51接口软件

下面为DS128887

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1