声光报警器的设计.docx
- 文档编号:11762140
- 上传时间:2023-04-01
- 格式:DOCX
- 页数:32
- 大小:274.66KB
声光报警器的设计.docx
《声光报警器的设计.docx》由会员分享,可在线阅读,更多相关《声光报警器的设计.docx(32页珍藏版)》请在冰豆网上搜索。
声光报警器的设计
学年论文
题目声光控报警器
姓名王江涛
所在学院周口科技职业学院
指导教师张宏亮
日期2011年月日
目录
前言…………………………………………………………………………………………1
设计任务要求及方案论证选择…………………………………………………2
进度安排…………………………………………………………………………3
第三章.声光报警器的设计………………………………………………………………4
系统描述……………………………………………………………………………4
3.1.2课程设计的目的……………………………………………………………………5
第四章.问题域描述………………………………………………………………………5
4.1课程设计内容…………………………………………………………………………9
第五章.设计要求…………………………………………………………………………12
5.1设计思路………………………………………………………………………………12
第六章.使用平台说明……………………………………………………………………15
硬件平台……………………………………………………………………………19
软件平台……………………………………………………………………………22
第七章.设计中所用器件的详细说明………………………………………………………22
7.18255的工作原理…………………………………………………………………23
8253的工作原理……………………………………………………………………23
8259的工作原理……………………………………………………………………23
第八章.详细的设计过程………………………………………………………………………24
8.1基于查询的设计……………………………………………………………………………25
第九章基于中断的设计…………………………………………………………………………26
9.1硬件连线图如下………………………………………………………………………………
第十章.调试结果……………………………………………………………………………
810.1程序运行结果………………………………………………………………………2
第十一章.程序调试过程中遇到的问题………………………………………………………
30第十三章.计心得……………………………………………………………………………
谢词………………………………………3
参献………………………………………………………………………………………33
声光警报器的设计与实现题目:
一.声光报警器的设计
摘要
近年来,随着改革开放的深入发展,电子电器的飞速发展,人们的生活水平有了很大提高。
各种高档家电产品和贵重物品为许多家庭所拥有。
然而一些不法分子也是越来越多。
这点就是看到了大部分人防盗意识还不够强。
造成偷盗现象屡见不鲜。
因此,越来越多的居民家庭对财产安全问题十分担忧。
报警器大多数采用国外的先进技术,其功能也非常先进。
类型也十分的多种多样,有红外线报警器、有害气体控制报警器、多路触摸报警器、其中也包括声光报警器,也即是本文将介绍的产品。
同时声光报警器作为报警控制系统中一个重要部件,越来越多的被用户关注。
一.目的:
熟悉可编程并行接口芯片8255的使用,学习开关、扬声器、LED等I/O设备的控制方法,并进一步掌握简单的微机接口应用系统的设计。
二.内容:
设计一个声光报警器的硬件电路和控制程序。
一旦按下SW3按钮开关,发光二级管按规律闪烁,同时扬声器发出声音;当按下SW2按钮开关,发光二级管停止闪烁,声音停止。
硬件设备包括一台微机、一个MIFID微机实验箱、插线若干。
控制程序采用Intel8088宏汇编语言编写。
三.要求:
1.针对设计内容,提出两种设计方案,要求分别采用查询方式和中断方式接受SW3的开关信号。
(采用中断方式时,使用IRQ10接受中断信号。
)
2.针对每种设计方案进行硬件设计和软件设计:
画出每种设计方案的硬件连接图;并按照硬件连接设计相应的控制程序。
3.在MIFID微机实验箱上调试,并通过验收。
4.撰写课程设计报告,报告中应该包括以下内容:
设计中使用的关键技术和方法,设计方案说明(包括硬件设计和软件设计),调试及评估,遇到的问题及思考以及改进的设想。
四.进度安排:
序号
内容
所用时间
1
整体方案设计
1天
2
接口电路连线/编写程序
2天
3
软硬件调试
1天
4
撰写课程设计报告
1天
合计
5天
第三章.声光报警器的设计:
3.1.1系统描述:
3.1.2课程设计的目的
熟悉可编程并行接口芯片8255的使用,学习开关、扬声器、LED等I/O设备的控制方法,并进一步掌握简单的微机接口应用系统的设计。
第四章.问题域描述:
4.1课程设计内容:
设计一个声光报警器的硬件电路和控制程序。
一旦按下SW3按钮开关,发光二级管按规律闪烁,同时扬声器发出声音;当按下SW2按钮开关,发光二级管停止闪烁,声音停止。
硬件设备包括一台微机、一个MIFID微机实验箱、插线若干。
控制程序采用Intel8088宏汇编语言编写。
第五章.设计要求:
针对设计内容,提出两种设计方案,要求分别采用查询方式和中断方式接受SW3的开关信号。
(采用中断方式时,使用IRQ10接受中断信号。
)
针对每种设计方案进行硬件设计和软件设计:
画出每种设计方案的硬件连接图;并按照硬件连接设计相应的控制程序。
在MIFID微机实验箱上调试,并通过验收。
撰写课程设计报告。
5.1设计思路:
基于查询方式的设计
声-光报警器模块板电路原理如下图所示。
模块板上包括4种简单的I/O外设:
扬声器、8个LED彩灯、8位DIP开关及按钮开关SW3。
它们都是并行接口的对象,虽然功能单一,结构简单,但都必须通过接口电路才能进入微机系统,接受CPU的控制,发挥相应的作用。
基于中断方式的设计
引用1.19318MHz时钟信号输入给Intel8253通道2,通道2的输出信号OUT2接扬声器的音调。
从Intel8255的A口向发光二极管输出相关信号,控制其闪烁。
OE#端接地。
置8255的C口的高四位输出,由PC6控制扬声器的门控信号,同时控制GATE2。
编写程序,针对上述要求,对实验箱中Intel8253(通道0端口地址为304h,A1A0作为片内寻址)、Intel8255(A口地址为300h,A1A0作为片内寻址)及PC机中的2片Intel8259(主片偶地址为20h,从片偶地址为a0h)进行配置,主程序通过对8253和8255的初始化、控制中断以及对各子程序的调用控制实现对发光二极管和扬声器的开关控制。
第六章.使用平台说明:
6.1硬件平台:
本次课程设计的硬件设计连接在MFID微机实验平台上进行,所编写的汇编语言程序在与之相连的PC机上的汇编语言环境下进行编译连接运行。
其总体布局如下图:
本次实验主要用到了其中的8255,8253以及LED灯,SW3,SW2键,IRQ10接口。
:
MASMforWindows集成实验环境6.0。
6.3主要芯片的地址范围:
本平台系统提供的I/O地址范围是300H~30FH,目前已使用的I/O地址有:
(1)8255A:
300H~303H
(2)8253A:
304H~307H
第七章.设计中所用器件的详细说明:
7.18255的工作原理:
8255共有两个控制字,即工作方式控制字和相对C口进行置位或复位的控制字。
8255工作原理图如下:
它包含数据端口A,B,C。
每一个端口都是8位,都可以选择作为输入或输出,但功能上有着不同的特点:
端口A:
一个8位数据输出锁存和缓冲器;一个8位数据输入锁存器。
端口B:
一个8为数据输入/输出、锁存/缓冲器;一个8位数据输入缓冲器;
端口C:
一个8为数据输出锁存/缓冲器;一个8位数据输入缓冲器(输入没有锁存);
通常端口A或B作为输入/输出的数据端口,而端口C作为控制或状态信息的
端口,它在“方式”字的控制下,可以分成两个四位的端口。
每个端口包含一个四位锁存器。
它们分别与端口A和B配合使用,可用作为控制信号输出,或作为状态信号输入。
8255有三种基本的工作方式:
方式0:
基本输入/输出;
方式1:
选通输入/输出;
方式2:
双向传送;
8255的控制字格式如下:
控制字端口地址:
303h
端口A的地址:
300h
端口B的地址:
301h
端口C的地址:
302h
7.28253的工作原理:
对CLK信号进行减1计数。
首先,CPU将控制字写入控制寄存器,将计数初始值写入初值寄存器。
计数从初值开始,,在GATE控制下,每当CLK信号出现一次,计数值减1。
当计数值减到0,从OUT端输出规定的信号。
CLK信号出现时,计数器是否减1,由门控信号GATE控制。
功能如下:
8253具有三个独立的16位计数器(0#~2#通道);
每个通道有6种工作方式;
可以进行二进制或十进制计数,计数方式为减1计数。
最高计数频率2.6MHZ
内部结构图如下:
包括三个计数器,以及一个控制字寄存器。
三个计数器相互独立。
每个计数器可以独立的选择0~5共6种工作方式。
本次课程设计用到了计数器1设置为工作方式0,以及计数器2选择工作方式3。
其控制字格式如下:
计数器0地址:
304h
计数器1地址:
305h
计数器2地址:
306h
控制字地址:
307h
7.38259的工作原理:
中断就是指CPU响应中断请求,暂停现行的主程序,转去执行中断服务子程序,完成中断事件处理后,返回断点继续执行主程序的过程。
8259内部结构如下:
8259A的具体中断请求,响应过程分步详述如下:
8259A的一条或几条IRI信号线高电平有效表示请求中断,使IRR的DI位置位;
8259A对这些请求进入进行分析,如果中断允许则向CPU发出INT信号;
CPU在允许可屏蔽中断状态时对INTR作出响应,产生中断响应周期;
8259A收到第一个INTA\有效信号后,使最高优先权的ISR位置位,对应的IRR位复位;
8259A在第二个INTA\有效时,把中断向量号送上数据总线,供CPU读取;
利用向量号转至中断服务程序,直到执行IRET指令返回。
与此同时,若8259A工作在自动结束方式在最后一个INTA\时,发生中断的ISR相应位复位,8259A认为中断已完成。
如果8259A工作在非自动中断结束方式,就等待CPU发中断结束命令,该命令使ISR复位。
第八章.详细的设计过程
8.1基于查询的设计
硬件连线图如下图所示:
排线接法如右图:
程序流程图
根据此流程图写的程序如下:
datasegment;parapublic'data'
messagedb'pressSW3tostart!
',0ah,0dh;系统提示
db'ifyouwanttoquit,pleaseswitchSW2!
',0ah,0dh,'$'
tdw0;初始化延时变量为0
numdw0;初始化数字变量为0
data7db01h,03h,07h,0Fh,1Fh,3Fh,7Fh,0FFh;显示灯首先只亮一个,然后逐渐增加到8个
dataends
codesegment;parapublic'code'
assumecs:
code,ds:
data;ss:
stack1,
slprocfar
start:
;movax,stack1
;movss,ax
movax,data
movds,ax
movah,09h;显示系统提示
movdx,segmessage
movds,dx
movdx,offsetmessage
int21h
movdx,303h;初始化8255
moval,10000011b
outdx,al
movdx,300h;LED全灭
moval,0ffh
outdx,al
movdx,303h;关闭SPK,pc6控制喇叭
moval,00001100b
outdx,al
wait1:
movdx,302h;查SW3按下?
pc2接收SW3的信号由于检测
inal,dx;(PC2=0?
)
andal,04h
jnzwait1;未按下,等待
begin:
callledflash;已按下,调用LED发光子程
movbx,2000
movt,0ffffh;控制声音时长
highson:
calloutspk;调用喇叭发声子程(高频)
decbx
jnzhighson
movdx,300h;LED全灭
moval,0ffh
outdx,al
movbx,2000
movt,0afh;控制声音时长
lowson:
calloutspk;调用喇叭发声子程(低频)
decbx
jnzlowson
calldelay2
movdx,302h
inal,dx
andal,02h;SW2接pc1,检测通过pc1的值检测SW2是否按下
jzquit;有SW2按下,退出
jmpbegin;SW2未键按下,继续
quit:
movdx,300h;LED全灭,A口接LED显示灯
moval,0ffh
outdx,al
movdx,303h;关闭SPK
moval,0ch;pc6控制喇叭开关
outdx,al
movah,4ch
int21h;返回DOS
slendp
delay1proc;延时子程1
pushbx
movbx,t
dl1:
decbx
jnzdl1
popbx
ret
delay1endp
delay2proc;延时子程2
pushcx
pushbx
movcx,04ffh
dl4:
movbx,0ffffh
dl3:
decbx
jnzdl3
deccx
jnzdl4
popbx
popcx
ret
delay2endp
outspkproc;喇叭发声子程
movdx,303h;从PC6输出方波
moval,00001101b;置PC6=1;打开8253
outdx,al
movdx,303h
moval,00001100b;置PC6=0;关闭8253
outdx,al
calldelay1
ret
outspkendp
ledflashproc;LED发光子程序
movsi,offsetdata7;LED的点亮代码
;addsi,num
next:
moval,[si]
movdx,300h;从8255的A口输出LED点亮代码
outdx,al
calldelay2
incsi
incnum
cmpnum,08h
jnenext
movnum,00h
ret
ledflashendp
codeends
endstart
第九章.基于中断的设计
9.1硬件连线图如下:
程序流程图如下:
按照此程序流程图所写的代码如下:
DATASSEGMENT
messagedb'pressSW3tostart!
',0ah,0dh;系统提示
db'ifyouwanttoquit,pleasepressSW2!
',0ah,0dh,'$'
tdw0;初始化延时变量为0
numdw0;初始化数字变量为0
data7db81h,42h,24h,18h,81h,42h,24h,18h
DATASENDS
STACKSSEGMENT
dw200dup(?
)
STACKSENDS
CODESSEGMENT
ASSUMECS:
CODES,DS:
DATAS,SS:
STACKS
START:
MOVAX,STACKS
MOVSS,AX
MOVAX,DATAS
MOVDS,AX
MOVAH,09H;显示系统提示
MOVDX,segmessage
MOVDS,DX
MOVDX,offsetmessage
int21H
moval,0b6h;8253初始化
movdx,307h
outdx,al;写入初值
movax,0533H
movdx,306h
outdx,al
moval,ah
outdx,al
MOVDX,303H;初始化8255
MOVAL,83H
OUTDX,AL
MOVDX,300H;LED全灭
MOVAL,00H
OUTDX,AL
MOVDX,303H;关闭SPK
MOVAL,0CH
OUTDX,AL
MOVAL,72H;获取原中断向量
MOVAH,35
INT21H
PUSHES;保存原中断向量
PUSHBX
PUSHDS
CLI;关中断
MOVAX,SEGVOICELIGHT
PUSHDS
MOVDS,AX
MOVDX,OFFSETVOICELIGHT
MOVAL,72H;设置新的中断向量
MOVAH,25H
INT21H
POPDS
STI;开中断
INAL,0A1H;打开IRQ10
ANDAL,0FBH
OUT0A1H,AL
INAL,21H;打开IRQ2
ANDAL,0FBH
OUT21H,AL
L1:
movdx,302h;查SW2按下?
inal,dx;(PC3=0?
)
andal,08h;按下,PC3=0,退出
JZEXIT
NEXT0:
PUSHCX
MOVCX,0FFH
LOOP1:
LOOPLOOP1
POPCX
INAL,DX
ANDAL,04H
JNZL1
L2:
movdx,302h;查SW2按下?
inal,dx;(PC3=0?
)
andal,08h;按下,PC3=0,退出
JZEXIT
MOVDX,303H;按下SW3,则PC4=1申请中断
MOVAL,09H
OUTDX,AL
PUSHCX
MOVCX,100
WT:
LOOPWT
POPCX
MOVDX,303H;置PC4=0
MOVAL,08H
OUTDX,AL
JMPL2
EXIT:
movax,4c00h
int21h
VOICELIGHTPROCNEAR
PUSHDS
PUSHAX
PUSHCX
PUSHDX
begin:
CALLledflash;已按下,调用LED发光子程
MOVBX,200
MOVt,0ffffh
HISON:
CALLoutspk;调用喇叭发声子程(高频)
DECBX
JNZhison
MOVDX,300H;LED全灭
MOVAL,00h
OUTDX,AL
MOVBX,200
MOVt,0afh
LOSON:
CALLoutspk;调用喇叭发声子程(低频)
DECBX
JNZloson
CALLdelay2
movdx,302h;查SW2按下?
inal,dx;(PC3=0?
)
andal,08h;按下,PC3=0,退出
JZquit
JNZbegin;无任意键按下,继续
quit:
MOVDX,300H;LED全灭
MOVAL,00H
OUTDX,AL
MOVDX,303H;关闭SPK
MOVAL,0CH
OUTDX,AL
movax,2572h;恢复原中断向量
POPDX
POPDS
INT21H
popds
inal,0a1h;屏蔽IRQ10
oral,04h
out0a1h,al
inal,21h;屏蔽IRQ2
oral,04h
out21h,al
MOVAH,4CH
INT21H;返回DOS
VOICELIGHTENDP
delay1proc;延时子程1
pushbx
movbx,t
dl1:
decbx
jnzdl1
popbx
ret
delay1endp
delay2proc;延时子程2
pushcx
pushbx
movcx,04ffh
dl4:
movbx,0ffffh
dl3:
decbx
jnzdl3
deccx
jnzdl4
popbx
popcx
ret
delay2endp
outspkPROC
movdx,303h;从PC6输出方波
moval,0dh;置PC6=1;打开8253
outdx,al
calldelay1
movdx,303h
moval,0ch;置PC6=0;关闭8253
outdx,al
calldelay1
ret
outspkENDP
ledflashproc;LED发光子程序
movsi,offsetdata7;LED的点亮代码
addsi,num
moval,[si]
movdx,300h;从8255的A口输出LED点亮代码
outdx,al
incnum
cmpnum,08h
jnenext
movnum,00h
next:
ret
ledflashendp
CODESENDS
ENDSTART
第十章.调试结果
10.1程序运行结果
首先调试运行基于查询方式的声光报警器的调试。
执行程序,按下S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 声光 报警器 设计