16路防盗报警器.docx

上传人:b****0 文档编号:9312134 上传时间:2023-05-18 格式:DOCX 页数:93 大小:880.93KB
下载 相关 举报
16路防盗报警器.docx_第1页
第1页 / 共93页
16路防盗报警器.docx_第2页
第2页 / 共93页
16路防盗报警器.docx_第3页
第3页 / 共93页
16路防盗报警器.docx_第4页
第4页 / 共93页
16路防盗报警器.docx_第5页
第5页 / 共93页
16路防盗报警器.docx_第6页
第6页 / 共93页
16路防盗报警器.docx_第7页
第7页 / 共93页
16路防盗报警器.docx_第8页
第8页 / 共93页
16路防盗报警器.docx_第9页
第9页 / 共93页
16路防盗报警器.docx_第10页
第10页 / 共93页
16路防盗报警器.docx_第11页
第11页 / 共93页
16路防盗报警器.docx_第12页
第12页 / 共93页
16路防盗报警器.docx_第13页
第13页 / 共93页
16路防盗报警器.docx_第14页
第14页 / 共93页
16路防盗报警器.docx_第15页
第15页 / 共93页
16路防盗报警器.docx_第16页
第16页 / 共93页
16路防盗报警器.docx_第17页
第17页 / 共93页
16路防盗报警器.docx_第18页
第18页 / 共93页
16路防盗报警器.docx_第19页
第19页 / 共93页
16路防盗报警器.docx_第20页
第20页 / 共93页
亲,该文档总共93页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

16路防盗报警器.docx

《16路防盗报警器.docx》由会员分享,可在线阅读,更多相关《16路防盗报警器.docx(93页珍藏版)》请在冰点文库上搜索。

16路防盗报警器.docx

16路防盗报警器

湖南文理学院课程设计报告

课程名称:

单片机课程设计

教学院部:

电气与信息工程学院

专业班级:

自动化09102班

学生姓名:

谭红庆

学生学号:

200916010205

指导老师:

李建英老师

完成时间:

2012.06.15

报告成绩:

 

评阅意见:

 

评阅老师:

日期:

摘要

本设计为基于51单片机(AT89S51)的16路防盗报警器,硬件电路由AT89S51单片机、JGD1602A字符液晶显示屏、DS1302时钟芯片、AT24C02存储芯片以及其余外围电路构成;本设计带有电压为220V交流电源输入,16路监测信号输入以及2路共地接口。

防盗报警器具有监测16路输入并能对异常报警功能,能够记录每路两次报警时间,记录可查询和删除;正常情况下,报警器显示当前日期以及时间,日期、时间可调;本装置对自身错误具有一定的自检功能,当数据处理出现错误时,在一定程度上能及时通知用户。

本电路设计已经过电脑软件仿真和调试,通过硬件验证分析,具有良好的可行性,可以满足一般报警场合的要求。

关键词防盗报警器;51单片机;监测;报警

Abstract

ThisdesignbasedonMCS-51(AT89S51)16roadandalarmsystem,hardwarecircuitAT89S51,JGD1602Acharactersbyliquidcrystaldisplay(LCD),DS1302clockchip,AT24C02memorychipandtherestoftheperipheralcircuitform;Thisdesignwithvoltagefor220Vacpowerinput,16roadmonitoringsignalinputand2waytointerfacewith.Andalarmsystemhasmonitoring16roadinputandcanforabnormalalarmfunction,canrecordeveryroadtwoalarmtime,recordcaninquireanddelete;Normally,alarmdisplaythecurrentdateandtime,date,timecanbeadjusted;Thisdevicefortheirownmistakeshascertainself-checkfunction,whendataprocessingerror,incertainextentcaninformusers.

Thiscircuitdesignhasbeencomputersoftwaresimulationanddebugging,throughthehardwarevalidationanalysis,havegoodfeasibility,cansatisfytherequirementofgeneralalarmoccasions.

KeywordsBurglaralarmsystem;MCS-51;Monitor;Alarm

目录

摘要I

AbstractII

第1章防盗报警器的总体设计1

1.1问题引出1

1.2设计要求1

1.3设计方案2

1.3.1显示方式2

1.3.2数据存储2

1.3.3按键方式2

1.3.416路信号检测方式2

1.3.5时间运行方式3

1.4硬件设计3

第2章相关硬件介绍及其驱动程序5

2.1AT89S515

2.1.1定时中断06

2.1.2外部中断07

2.1.3外部中断18

2.2JGD1602A9

2.3DS130210

2.44*4矩阵扫描键盘11

2.5AT24C0213

2.616路监测信号15

第3章防盗报警器的功能及其实现17

3.1显示过程17

3.2系统初始化18

3.3报警系统19

3.4查询记录19

3.4.1总体查询19

3.4.2详细查询20

3.5删除记录21

3.6调整时间22

第4章防盗报警器使用及其仿真24

4.1系统启动24

4.2报警状态25

4.3时间调整25

4.4记录查询26

4.5删除记录26

总结27

致谢28

参考文献29

附录1硬件连接图30

附录2硬件仿真31

附录3源程序32

第1章防盗报警器的总体设计

防盗报警器采用AT89S51处理器、JCD1602液晶显示模块以及其它外围芯片,构成16路报警系统。

本系统带有220V交流输入电路,能同时监测16路信号,并对异常即时产生报警并记录产生异常产生时间。

此系统能广泛应用到多点监测场合中。

1.1问题引出

防盗报警器在当今日常生活中很常见,它对我们的生活产生重要影响,为我们的安全以及现场监测提供了便利。

报警器种类繁多,按用途、方式以及采用的电路结构分为很多种。

本次课程设计采用AT89S51处理芯片,通过控制外围芯片实现对16路监测信号的处理以及信息的存储和删除,同时,系统还带有万年历功能。

通过对此系统的设计,掌握51单片机的相关结构以及使用方法,学会应用51单片机解决实际问题。

1.2设计要求

防盗报警器设计要求:

主控芯片:

AT89S51,工作在12MHz时钟频率

输入通道:

16路监测信号,2路公共端输入,220V交流电源输入,5V电源输入

监测信号:

下降沿触发,低电平保持宽度≥1ms,监测负载≥600Ω

报警方式:

声光报警,蜂鸣器和LED

相关功能:

1.正常情况下显示当前时间,时间可调

2.实时对16路输入信号异常产生声光报警,并显示当前异常通道和产生异

常时间并记录相应时间,报警时长可调(0—198s,199不自动停止),

每通道能够记录2次异常时间(最早和最新时间)

3.具有记录查询和删除功能,能够查询每路历史异常记录,并能删除记录,

4.系统对自身部分数据处理错误能产生提示

显示方式:

2*16字符液晶显示,LED电源指示,LED报警显示

输入方式:

4*4矩阵键盘和系统复位独立按键

系统电源:

工作电源220V交流输入(根据需求也可采用5V输入),3V备用电源

系统功耗:

待定

1.3设计方案

1.3.1显示方式

方案一:

采用数码显示,占用I/O较多,体积较大,采用扫描显示占用机时,采用静态显示则需要更多芯片。

方案二:

采用1602液晶显示模块,仅需8位数据线和3位控制线,占用I/O口较少,而且能显示字符,显示位数更多,不需要其余外围芯片。

1.3.2数据存储

方案一:

直接利用MCU内部RAM存储记录数据。

方案二:

外扩存储器。

因为本系统要存储16路每路两次报警历史记录,每次记录占用7字节空间,则共需要224B地址空间,AT89S51内部仅128B内存空间,需要外扩存储器。

此处选择外扩AT24C02可擦除存储器,具有256B存储空间,采用I2C总线方式,仅占用2位占用I/O。

1.3.3按键方式

方案一:

采用独立按键,占用I/O较多

方案二:

采用扫描矩阵键盘,相同按键占用I/O口较少,扫描键盘占用机时

方案三:

采用中断矩阵键盘,相同按键占用I/O口较少,中断方式不占用多余机时,但多占用一位中断口。

本系统采用描式4*4扫矩阵键盘,16按键方便输入操作,同时爱用扫描方式,仅当需要输入时扫描键盘。

1.3.416路信号检测方式

方案一:

采用扫描检测,占用机器周期,存在扫描间隔时间,而且需多出加入扫描子程序。

方案二:

采用中断方式,能及时发现并处理异常,主程序以及子程序省掉相关扫描子程序。

本系统采用中断方式监测16路信号,当信号发生异常时,进入中断,扫描16路监测信号输入状况,并对信号进行计算处理,判断异常通道号,并记录相关数据,然后出发报警中断,进行报警提示。

1.3.5时间运行方式

方案一:

采用单片机内部定时中断计时。

存在加大误差,而且完成日的处理程序复杂。

方案二:

采用外部时钟芯片。

误差小,能够够自动校正日期。

本系统采用外部时钟芯片精确计时,单片机定时中断同时计时,每过24点自动从外部时钟芯片DS1302校准时间。

1.4硬件设计

图1.1系统组成框图

如图1.1为防盗报警系统的硬件框图。

整个系统由AT89S51、键盘、LCD显示屏、DS1302时钟芯片、AT24C02存储芯片、16路监测信号输入、声光报警电路组成。

通过结构框图系统可看出:

以AT89S51为系统中心,MCU与AT24C02交换历史记录信息,从DS1302获得校准时间,通过4*4矩阵键盘扫描输入相关信息,通过LCD显示屏显示相关信息,16路监测信号异常时对MCU申请中断,MCU通过相关处理产生异常信息,通过声光报警(蜂鸣器,报警指示灯)

本系统电源可采用220V交流电输入,也可直接提供5V电源,DS1302可根据需要提供备用电源(3V纽扣电池或者大电容)。

系统的MCU时钟采用12MHz晶振;4*4矩阵键盘输入行线接入P1.0—P1.3口,列线接入P1.4—P1.7口;时钟芯片DS1302时钟SCLK引脚接MCUP1.6口,复位RST引脚接P1.7口,数据I/O引脚接P3.6口;AT24C02为I2C双总线传输方式,时钟信号SCK接P2.2口,数据线DSA接P2.3口;P3.4口接报警系统的蜂鸣器驱动,蜂鸣器采用三极管驱动,并联续流二极管防止三级管击穿;P3.7口接报警系统的报警指示灯。

MCU的P0口做数据输入输出口;LCD的数据输入、输出和16路监测信号的输入都经过P0口,LCD三位控制线分别连接P2.5、P2.6、P2.7;16路监测信号进过74LS373所存输入给MCU。

本系统具体硬件连接见附录1硬件连接图。

第2章相关硬件介绍及其驱动程序

本章主要介绍所用的主要器件以及硬件最底层所用到的驱动程序。

并简略分析其在本系统中的工作流程以及作用。

图2.1AT89S51

2.1AT89S51

如图2.1为AT89S51引脚排列图,AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kB可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。

AT89S51主要性能特点:

1、4kBytesFlash片内程序存储器(ROM);

2、128Bytes的随机存取数据存储器(RAM);

3、32个外部双向输入/输出(I/O)口;

4、5个中断优先级、2层中断嵌套中断;

5、6个中断源;

6、2个16位可编程定时器/计数器;

7、与MCS-51兼容;

8、全静态工作:

0Hz-33MHz;

中断源

中断矢量地址

相关I/O口

外部中断0

0003H

P3.2

定时器/计数器0(T0)

000BH

P3.3

外部中断1

0013H

P3.4

定时器/计数器1(T1)

001BH

P3.5

串行中断(RI、TI)

0023H

P3.0、P3.1

AT89S51中断源、中断矢量地址以及相应I/O口。

在本系统中,定时中断0用于计时,工作在方式1,定时初值为TH0:

03CH、TL0:

0B9H,计时20次的时间约为1s;外部中断0用于16路监测信号的中断,为使能及时处理监测异常,中断优先级置位最高,中断程序处理异常信号的检测和时间的记录等,并且触发报警中断;外部中断1用于发现异常后的报警,中断由中断0触发,中断程序执行报警和显示等相关任务。

与中断相关寄存器设置:

IE=07H,TMOD=01H,IP=01H。

2.1.1定时中断0

定时中断0工作在第4组寄存器状态,其程序流程图如2.2。

中断程序完成对时、分、秒的计数,R7完成对秒的计数,每禅城一次定时中断则R7加1,R7计数20次则约为1s时间,则对R7清零,如此,完成对时、分、秒的计数。

当时间为24时时,中断会从DS1302时钟芯片校准时间,包括年、月、日、时、分、秒的校准。

其具体中断程序如下:

图2.2定时中断0流程

TIME:

MOVTH0,#03Ch

MOVTL0,#0b7h

SETBTR0

PUSHPSW

MOVPSW,#18H

INCR7

CJNER7,#14H,LOPTI;R7计数20次加1S

MOVR7,#00H

PUSHACC

CALLTIMES

POPACC

SETB00H

LOPTI:

POPPSW

RETI

TIMES:

MOVA,40H;秒计数

ADDA,#1

DAA

MOV40H,A

MOV40H,#00H

CALLTIMEM

LOPTS:

RET

TIMEM:

MOVA,41H;分计数

ADDA,#1

DAA

MOV41H,A

CJNEA,#60H,LOPTM

MOV41H,#00H

CALLTIMEH

LOPTM:

RET

TIMEH:

MOVA,42H;时计数

ADDA,#1

DAA

MOV42H,A

CJNEA,#24H,LOPTH

PUSHPSW

MOVPSW,#00H

CALLGET1302

POPPSW

LOPTH:

RET

CJNEA,#60H,LOPTS

2.1.2外部中断0

图2.3外部中断0流程

外部中断0工作在第4组寄存器状态,其流程图如图2.3。

中断程序完成对异常信号的判断和对异常信号数据的记录。

程序首先扫描16路监测信号,并记录16信号的状态,然后通过未处理对16路信号进行判断,计算出异常通道号,并计算出AT24C02地址,将当前时间记录供以后查询,记录规则是:

若当前通道没有记录,则将当前记录设为第一条;若当前通道已存在记录,则将当前记录设为第二条。

中断程序在判断并处理完相关信息后,拉低P3.1口,即申请外部中断1,进行报警。

其具体中断程序如下:

ALARMIT:

CLREA

CLRE

PUSHPSW

MOVPSW,#18H

MOVP0,#0FFH

CLRP2.0

MOVR5,P0

SETBP2.0

CLRP2.1

MOVR6,P0

SETBP2.1

PUSHACC

PUSHB

MOVA,R6

ANL2FH,A

MOVA,R5

ANL2EH,A

MOVR0,#30H

MOVR2,#1

MOVA,R6

CALLALAITC;处理

CALLGET1302

MOV09H,28H

SETBEA

POPB

POPACC

POPPSW

CLRP3.1

RETI

;--------------------------------------------------------

ALAITC:

MOVR3,#8

ALTC2:

RRCA

JCALTC1

INC@R0

MOVR5,A

MOVA,R2

MOVB,#14

MULAB

MOVR4,#17

CJNE@R0,#1,ALTC4

MOVR4,#10

SJMPALTC3

ALTC4:

CJNE@R0,#3,ALTC3

DEC@R0

DEC2DH

ALTC3:

ADDA,R4

MOV10H,A

CALLALAITC;处理

MOV11H,#40H

CALLW_7DA

CALLD10MS

INC2DH

MOVA,R5

ALTC1:

INCR2

INCR0

DJNZR3,ALTC2

RET

2.1.3外部中断1

图2.4外部中断1流程

外部中断0工作在第4组寄存器状态,其流程图如图2.4。

中断程序产生报警信号,即LCD显示异常信息,拉低P3.7口使报警灯点亮,同时P3.4产生脉冲信号,驱动三极管使蜂鸣器鸣叫。

报警时长从内存28H获得,当报警时间到达或者用户按确认键后,退出报警中断程序,同时置位P3.1口,使不再重复报警。

其具体中断程序如下:

ALAITB:

PUSHPSW

MOVPSW,#08H

PUSHACC

PUSHB

MOVA,28H

CJNEA,#0,ALTBS

SJMPALTBE2

ALTBS:

CLRP3.7

ALTB1:

MOVR6,#250

ALTB2:

CLRP3.4

CALLD1MS

SETBP3.4

CALLD1MS

CALLKEY

CJNER4,#12,ALTB5

SJMPALTBE

ALTB5:

DJNZR6,ALTB2

MOVA,#01H

CALLXIEZL

MOV29H,#42H

CALLXSSJ

MOVA,#8AH

CALLXIEZL

MOVDPTR,#ALARMXS

CALLALLXS

MOVA,#0C0H

CALLXIEZL

MOVA,2EH

MOVR0,#8

ALTB7:

RRCA

MOVR4,A

MOVA,#"!

"

JNCALTB6

MOVA,#"*"

ALTB6:

CALLXIESJ

MOVA,R4

DJNZR0,ALTB7

MOVA,2FH

MOVR0,#8

ALTB9:

RRCA

MOVR4,A

MOVA,#"!

"

JNCALTB8

MOVA,#"*"

ALTB8:

CALLXIESJ

MOVA,R4

DJNZR0,ALTB9

MOVR6,#88

ALTB3:

CALLD10MS

CALLKEY

CJNER4,#12,ALTB4

SJMPALTBE

ALTB4:

DJNZR6,ALTB3

MOVA,28H

CJNEA,#199,ALTB0

SJMPALTB1

ALTB0:

DJNZR1,ALTB1

ALTBE:

SETBP3.7

ALTBE2:

SETBP3.1

POPB

POPACC

POPPSW

MOV2EH,#0FFH

MOV2FH,#0FFH

RETI

;---------------------------------------------

D1MS:

MOVR5,#10;0.1MS报警延时

LOPC:

MOVR7,#25

DJNZR7,$

DJNZR5,LOPC

RET

2.2JGD1602A

图2.5JGD1602A

1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,能够同时显示16x02(2行,每行16个)即32个字符,如图2.5为JGD1602A引脚排列图:

1脚:

VSS为电源地。

2脚:

VDD接5V电源正极。

3脚:

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

4脚:

RS为寄存器选择,高电平选择数据寄存器、低电平选择指令寄存器。

5脚:

RW为读写信号线,高电平读操作,低电平写操作。

6脚:

E(或EN)端为使能端。

7~14脚:

D0~D7为8位双向数据端。

15~16脚:

空脚或背灯电源。

15脚背光正极,16脚背光负极。

1602的驱动程序包含读显示模块状态(DUZT)、读数据(DUSJ)、写状态(XIEZT)和写数据(XIESJ),接口为A,其驱动程序分别为:

DUZT:

MOVP0,#0FFH;LCD读状态

MOVP2,#01011111B

LOPT:

CLRE

SETBE

JBP0.7,LOPT

CLRE

RET

;----------------------------------------------------------------

XIEZL:

CALLDUZT;写LCD指令

MOVP0,A;指令存放A

MOVP2,#00011111B

SETBE

CLRE

RET

XIESJ:

CALLDUZT;写LCD数据

MOVP0,A;数据存放A

MOVP2,#00111111B

SETBE

CLRE

RET

;-------------------------------------------------------------------

DUSJ:

CALLDUZT;LCD读数据

MOVP2,#01111111B

SETBE

MOVA,P0;数据读入A

CLRE

RET

2.3DS1302

图2.6DS1302

DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

具有主电源/后备电源双电源引脚,同时提供对备用电源进行涓细电流充电的能力。

DS1302引脚排列如图2.6:

1、8脚:

VCC2为主电源Vcc1为后备电源。

在主电源关闭的情况下,也能保持时钟的连续运行;DS1302由Vcc1或Vcc2两者中的较大者供电;当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。

当Vcc2小于Vcc1时,DS1302由Vcc1供电。

2、3脚:

X1和X2是振荡源,外接32.768kHz晶振。

5脚:

RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。

RST输入有两种功能:

RST接通控制逻辑,允许地址/命令序列送入移位寄存器;RST能终止单字节或多字节数据的传送。

当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。

传送过程中RST置为低电平,终止此次数据传送,I/O变为高阻态。

上电运行时,Vcc>2.0V之前,RST必须保持低电平。

只有SCLK为低电平,才能将RST置为高电平。

6脚:

I/O为

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2