滴滴报警器设计单片机.docx

上传人:b****7 文档编号:15681957 上传时间:2023-07-06 格式:DOCX 页数:12 大小:158.12KB
下载 相关 举报
滴滴报警器设计单片机.docx_第1页
第1页 / 共12页
滴滴报警器设计单片机.docx_第2页
第2页 / 共12页
滴滴报警器设计单片机.docx_第3页
第3页 / 共12页
滴滴报警器设计单片机.docx_第4页
第4页 / 共12页
滴滴报警器设计单片机.docx_第5页
第5页 / 共12页
滴滴报警器设计单片机.docx_第6页
第6页 / 共12页
滴滴报警器设计单片机.docx_第7页
第7页 / 共12页
滴滴报警器设计单片机.docx_第8页
第8页 / 共12页
滴滴报警器设计单片机.docx_第9页
第9页 / 共12页
滴滴报警器设计单片机.docx_第10页
第10页 / 共12页
滴滴报警器设计单片机.docx_第11页
第11页 / 共12页
滴滴报警器设计单片机.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

滴滴报警器设计单片机.docx

《滴滴报警器设计单片机.docx》由会员分享,可在线阅读,更多相关《滴滴报警器设计单片机.docx(12页珍藏版)》请在冰点文库上搜索。

滴滴报警器设计单片机.docx

滴滴报警器设计单片机

1.引言………………………………………………………………………………2

2.设计方案…………………………………………………………………………2

3.AT89C51单片机简述及结构引脚说明…………………………………………2

4.时钟电路的设计…………………………………………………………………5

5.声音报警电路的设计……………………………………………………………6

6.电路原理图及原理………………………………………………………………6

7.软件的程序流程图及程序………………………………………………………8

7.1程序流程图……………………………………………………………………8

7.2汇编源程序……………………………………………………………………9

8.编译调试及仿真运行……………………………………………………………10

9.心得体会…………………………………………………………………………11

10.参考文献………………………………………………………………………12

 

1.引言

随着国民经济的发展,社会安全保障的需要,电子报警这门综合技术的正在不断的发展。

本设计包括确定控制任务、系统总体方案设计、硬件系统设计、软件程序的设计等,以便使我们掌握单片机系统设计的总体思路和方法。

2.设计方案

从设计的要求来分析该设计必须包含如下结构,报警电路、单片机、复位电路以及相关的控制管理软件组成。

他们之间的构成框图如下所示:

 

3.AT89C51单片机简述及结构引脚说明

AT89C51单片机是美国Atmel公司生产低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。

AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。

图2为AT89C51单片机的基本组成功能方块图。

由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。

下面介绍几个主要部分。

外时钟源外部事件计数

外部中断控制并行口串行通信

图2AT89C51功能方块图

3.1AT89C51管脚说明

ATMEL公司的AT89C51是一种高效微控制器。

采用40引脚双列直插封装形式。

AT89C51单片机是高性能单片机,因为受引脚数目的限制,所以有不少引脚具有第二功能。

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入1后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

P3口管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2INT0(外部中断0)

P3.3INT1(外部中断1)

P3.4T0(记时器0外部输入)

P3.5T1(记时器1外部输入)

P3.6

(外部数据存储器写选通)

P3.7

(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/

当访问外部存储器时,地址锁存允许端的输出电平用于锁存地址的地址字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

PSEN:

外部程序存储器的选通信号端。

在由外部程序存储器取指期间,每个机器周期两次PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/VP:

保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,

将内部锁定为RESET;当

端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

反向振荡器的输出,如采用外部时钟源驱动器件,应不接.

4.时钟电路的设计

TAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。

如图6所示为时钟电路。

图6时钟电路图

5.声音报警电路的设计

6.电路原理图及原理

用AT89S51单片机产生“嘀、嘀、…”报警声从P1.0端口输出,产生频率为1KHz,根据上面图可知:

1KHZ方波从P1.0输出0.2秒,接着0.2秒从P1.0输出电平信号,如此循环下去,就形成我们所需的报警声

(1)把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPKIN端口上,

(2)在“音频放大模块”区域中的SPKOUT端口上接上一个8欧或者是16欧的喇叭;

(3)生活中我们常常到各种各样的报警声,例如“嘀、嘀、…”就是常见的一种声音报警声,但对于这种报警声,嘀0.2秒钟,然后断0.2秒钟,如此循环下去,假设嘀声的频率为1KHz,则报警声时序图如下:

(4)由于要产生上面的信号,我们把上面的信号分成两部分,一部分为1KHZ方波,占用时间为0.2秒;另一部分为电平,也是占用0.2秒;因此,我们利用单片机的定时/计数器T0作为定时,可以定时0.2秒;同时,也要用单片机产生1KHZ的方波,对于1KHZ的方波信号周期为1ms,高电平占用0.5ms,低电平占用0.5ms,因此也采用定时器T0来完成0.5ms的定时;最后,可以选定定时/计数器T0的定时时间为0.5ms,而要定时0.2秒则是0.5ms的400倍,也就是以0.5ms定时400次就达到0.2秒的定时时间了。

7.软件的程序流程图及程序

7.1程序流程图

按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图所示:

主程序框图

 

中断服务程序框图

7.2汇编源程序

T02SAEQU30H;把30H赋值给T02SA

T02SBEQU31H;把31H赋值给T02SB

FLAGBIT00H;把00H位地址赋值给FLAG

ORG00H

LJMPSTART;上电,转向START

ORG0BH;T0的中断入口地址

LJMPINT_T0;转向中断服务程序

START:

MOVT02SA,#00H;将00H赋值给T02SA

MOVT02SB,#00H;将00H赋值给T02SB

CLRFLAG;清空FLAG

MOVTMOD,#01H;设置定时器T0工作于模式1

MOVTH0,#0FCH;装入T0计数初值

MOVTL0,#06H

SETBTR0;TR0置1,启动T0

SETBET0;打开定时器ET0中断允许标志位

SETBEA;打开CPU中断允许标志位

SJMP$

INT_T0:

MOVTH0,#0FCH;装入T0计数初值

MOVTL0,#06H

INCT02SA;T02SA加1

MOVA,T02SA;将T02SA的内容放入A

CJNEA,#100,NEXT;(A)与100比较,不相等跳转

INCT02SB;T02SB加1

MOVA,T02SB;将T02SB的内容放入A

CJNEA,#04H,NEXT;(A)与4比较,不相等跳转

MOVT02SA,#00H;将00H赋值给TO2SA

MOVT02SB,#00H;将00H赋值给TO2SB

CPLFLAG;将FLAG取反

NEXT:

JBFLAG,DONE;若FLAG=1,跳转到DONE

CPLP1.0;将P1.0取反

DONE:

RETI;中断返回

END

8.编译调试及仿真运行

处理器采用51系列单片机AT89C51。

整个系统是在系统软件控制下工作的。

9.心得体会

这次课程设计,使我对学过的知识有了更深的了解,对书本中的知识掌握的更扎实了,真正的做到了学以致用,也使自己对于如何根据人们的需要设计产品,有了一定了解,设计的过程中出现了不少问题,在大家伙的共同努力下,最终都得以解决,这锻炼我们发现问题,解决问题的能力,这次课程设计也在一定程度上锻炼了我的团队协作能力,我相信这对于我今后走上社会工作时一定会有所帮助。

 

参考文献

[1]孙涵芳.MCS-51/96系列单片机原理及应用(修订版).北京航空航天大学出版社.1994

[2]李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.2005

[3]蒋辉平.基于Proteus的单片机系统设计与仿真实例.机械工业出版社.2009

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

当前位置:首页 > 工程科技 > 能源化工

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

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