研究声光报警器的内容_第1页
研究声光报警器的内容_第2页
研究声光报警器的内容_第3页
研究声光报警器的内容_第4页
研究声光报警器的内容_第5页
已阅读5页,还剩24页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、题目:声光报警器的设计一、目的熟悉可编程并行接口芯片8255的使用,学习开关、扬声器、LED等I/O设备的控制方 法,并进一步掌握简单的微机接口应用系统的设计。二. 内容:设计一个声光报警器的硬件电路和控制程序。一旦按下 SW3按钮开关,发光二级管 按规律闪烁,同时扬声器发出声音;当按下 SW2按钮开关,发光二级管停止闪烁,声音 停止。硬件设备包括一台微机、一个MIFID微机实验箱、插线若干。控制程序采用Intel8088 宏汇编语言编写。三. 要求:1针对设计内容,提出两种设计方案,要求分别采用查询方式和中断方式接受SW3的开关信号。(采用中断方式时,使用IRQ10接受中断信号。)2. 针对

2、每种设计方案进行硬件设计和软件设计:画出每种设计方案的硬件连接图;并 按照硬件连接设计相应的控制程序。3. 在MIFID微机实验箱上调试,并通过验收。4撰写课程设计报告,报告中应该包括以下内容:设计中使用的关键技术和方法,设 计方案说明(包括硬件设计和软件设计),调试及评估,遇到的问题及思考以及改进的设 想。四.进度安排:序号内容所用时间1整体方案设计1天2接口电路连线/编写程序2天3软硬件调试1天4撰写课程设计报告1天合计5天声光报警器的设计、 系统描述:1. 课程设计的目的熟悉可编程并行接口芯片 8255的使用,学习开关、扬声器、LED等I/O设备的控制方法,并进一步掌握简单的微机接口应用

3、系统的设计。2. 问题域描述1 课程设计内容设计一个声光报警器的硬件电路和控制程序。一旦按下SW3按钮开关,发光二级管按规律闪烁,同时扬声器发出声音;当按下 SW2按钮开关,发光二级管停止闪烁,声音停止。硬件设备包括一台微机、一个 MIFID 微机实验箱、插线若干。控制程序采用Intel8088 宏汇编语言编写。2设计要求b)针对设计内容,提出两种设计方案,要求分别采用查询方式和中断方式接受SW3的开关信号。(采用中断方式时,使用IRQ10接受中断信号。)c)针对每种设计方案进行硬件设计和软件设计:画出每种设计方案的硬件连接图;并按照硬件连接设计相应的控制程序。d)在 MIFID 微机实验箱上

4、调试,并通过验收。e)3撰写课程设计报告。设计思路a)基于查询方式的设计声- 光报警器模块板电路原理如下图所示。模块板上包括 4 种简单的 I/O 外设:扬声器、8个LED彩灯、8位DIP开关及按钮开关SW3它们都是并行接口的对象,虽然功能单一,结构简单,但都必须通过接口电路才能进入微机系统,接受CPU的控制,发挥相应的作用。L04xSLEDr IPAa-74 1,40-37h.Z2613-25芯PBtt-7并行PCS11口IS插PC2座JI255J51*1050芯V rz展总线leNaV.LMjae19由溯3夕I限MMb)基于中断方式的设计引用1.19318MHZ寸钟信号输入给Intel82

5、53通道2,通道2的输出信号OUT接扬声器 的音调。从Intel8255的A口向发光二极管输出相关信号,控制其闪烁。OE/端接地。置8255的C口的高四位输出,由PC6空制扬声器的门控信号,同时控制 GATE2编写程序,针对上述要求,对实验箱中Intel8253 (通道0端口地址为304h,AA 作为片内寻址)、Intel8255(A 口地址为300h,AiA)作为片内寻址)及PC机中的2片Intel8259(主片偶地址为20h,从片偶地址为a0h)进行配置,主程序通过对8253和8255的初始化、控制中断以及对各子程序的调用控制实现对发光二极管和扬声器的开关控 制。、使用平台说明1. 硬件平

6、台本次课程设计的硬件设计连接在 MFID微机实验平台上进行,所编写的汇编语言程序在与之相连的PC机上的汇编语言环境下进行编译连接运行。其总体布局如下图:1/TieC5DJC-*II1*EZ5SFA?iCLEOUT 2 /i*5351r J) M EE CIS(*-sc m KRlcn系StA/Dn/A本次实验主要用到了其中的8255,2.软件平台MASM for Windows 集成实验环境3.主要芯片的地址范围本平台系统提供的I/O地址范围是J3J51k、kJ7J3J9*y IE-SEFIE-4S58253 以及 LED丁,SW3 SW2键,6.0。響时卄暑应ESTSS申OIRQ10 接口。

7、300H- 30FH目前已使用的I/O地址有:(1) 8255A: 300H303H (2) 8253A: 304H307H、设计中所用器件的详细说明1. 8255的工作原理8255共有两个控制字,即工作方式控制字和相对 C 口进行置位或复位的控制字。8255工作原理图如下:RDWI/OPl J匚I/O iW-PA,I/O 代:厂15I)也I/O 卩 iLrl%它包含数据端口 A , B, C。每一个端口都是8位,都可以选择作为输入或输出,但功能上有着不同的特点:端口 A: 个8位数据输出锁存和缓冲器;一个 8位数据输入锁存器。端口 B: 个8为数据输入/输出、锁存/缓冲器;一个8位数据输入

8、缓冲器;(3)端口 C: 一个8为数据输出锁存/缓冲器;一个8位数据输入缓冲器(输入没有锁存);通常端口 A或B作为输入/输出的数据端口,而端口 C作为控制或状态信息的端口,它在“方式”字的控制下,可以分成两个四位的端口。每个端口包含一个 四位锁存器。它们分别与端口 A和B配合使用,可用作为控制信号输出,或作为状态信号输入。8255有三种基本的工作方式:方式0:基本输入/输出;(2)方式1:选通输入/输出;(3)方式2:双向传送;8255的控制字格式如下:1FiT1FF方式选择A组方式选样谛口 AFC4FC:T端口 B方式谛口 EFC0-PC3控制宇标00 :方式01输入1输人0方式1输入1输

9、入识位01 :方式10输岀0输出1方式10输出0揄出11:方式2DGD4D3D2DIDOD5控制字端口地址:303h端口 A的地址:300h端口 B的地址:301h端口 C的地址:302h2. 8253的工作原理:对CLK信号进行减1计数。首先,CPU将各控制字写入控制寄存器,将计数初始值写入初值寄存器。计数从初值 开始,在GATE控制下,每当CLK信号出现一次,计数值减1。当计数值减到0,从OUT端输出规定的信号。CLK信号出现时,计数器是否减1,由门控信号GATE空制。功能如下:8253具有三个独立的16位计数器(0#2#通道);每个通道有6种工作方式;可以进行二进制或十进制计数,计数方式

10、为减 1计数。最高计数频率2.6MHZ 内部结构图如下:内部总线数据总线缓冲器_LKq计数器0 GATE。 kOUTnVCLK -GATEj OUTiRDcWR Ao-c读写逻辑A_ LKj 计数器2 GATE?包括三个计数器,以及一个控制字寄存器。三个计数器相互独立。每个计数器可 以独立的选择05共6种工作方式。本次课程设计用到了计数器1设置为工作方式0, 以及计数器2选择工作方式3。其控制字格式如下:EClSCORWOM3M2MlBCE)F1D7D6DED4D3D2DI DOT计魏器选择计数值写入顺序工作方式选择计数值形式OQ:计数器000读计数值QW:方式00:二进制01:计数器1olf

11、ftAti 有效001:方式11:十进制10:计数器310高八位有效11先高八位后低儿位KU:芳式5计数器0地址:304h计数器1地址:305h计数器2地址:306h控制字地址 :307h3. 8259的工作原理:中断就是指CPU响应中断请求,暂停现行的主程序,转去执行中断服务子程序, 完成中断事件处理后,返回断点继续执行主程序的过程。8259内部结构如下:8259A的具体中断请求,响应过程分步详述如下:C)8259A的一条或几条IRI信号线高电平有效表示请求中断,使IRR的DI位置位;d)8259A对这些请求进入进行分析,如果中断允许则向CPU发出INT信号;e)CPU在允许可屏蔽中断状态时

12、对INTR作出响应,产生中断响应周期;f)8259A收到第一个INTA有效信号后,使最高优先权的ISR位置位,对应的IRR位复位;g)8259A在第二个有效时,把中断向量号送上数据总线,供 CPU读取;作在自动结束方式在最后一个时,发生中断的ISR相应位复位,8259A认为h)利用向量号转至中断服务程序,直到执行IRET指令返回。与此同时,若8259A工中断已完成。如果8259A工作在非自动中断结束方式,就等待CPL发中断结束命令,该命令使ISR复位。四、详细的设计过程1.基于查询的设计硬件连线图如下图所示:SW3SW2PAOApA7PC6PC2PC1排线接法如右图:程序流程图J526芯并行口

13、插座连接线VGNDJ626芯 并 行 口 插 座8255初始化熄灭LED根据此流程图写的程序如下:data segme nt ;para p ublic datamessagedb p ress SW3 to start !,0ah,0dh;系统提示db if you want to quit, please switch SW2!,0ah,0dh,$numdata7data endsdw 0;初始化延时变量为 0dw 0;初始化数字变量为 0db 01h,03h,07h,0Fh,1Fh,3Fh,7Fh,0FFh ;显示灯首先只亮一个,然后逐渐增加到8个 code segme nt ;para

14、 p ublic code assume cs:code,ds:data;ss:stack1, sl proc farstart:;mov ax,stack1;mov ss,axmovax,datamovds,axmovah,09h;显示系统提示movdx,seg messagemovds,dxmovdx,offset messageint21hmovdx,303h;初始化 8255moval,10000011boutdx,almovdx,300h;LED 全灭moval,0ffhoutdx,almovdx,303h;关闭 SPK,pc6 控制喇叭moval,00001100boutdx,al

15、movdx,302h; 查 SW3 按下? pc2 接收 SW3inal,dx;(PC2=0 ? )andal,04hjnzwait1;未按下,等待callledflash;已按下,调用 LED 发光子程movbx,2000movt,0ffffh;控制声音时长call outspk;调用喇叭发声子程(高频)decbxjnzhighsonmovdx,300h;LED 全灭moval,0ffhoutdx,almovbx,2000movt,0afh;控制声音时长calloutspk;调用喇叭发声子程(低频)decbxjnzlowsoncalldelay2movdx,302hinal,dxwait1:

16、begin:lowson:的信号由于检测highson:andjzjmpal,02h quit begin;SW2接pel,检测通过pel的值检测SW2是否按下;有 SW2 按下,退出;SW2 未键按下,继续quit: movmovdx,300hal,0ffh;LED 全灭, A 口接 LED 显示灯outmovmovdx,aldx,303hal,0ch;关闭 SPK;pe6 控制喇叭开关dx,alah,4eh int 21h sl endpoutmov;返回 DOSdelay1 proepush bx mov bx,t dee;延时子程 1dl1:bxjnz pop retdl1bxdela

17、y1 endpdelay2 proepushpushcxbx;延时子程 2deebxjnzdl3deeexjnzdl4popbxpopexretmovex,04ffhdl4: mov bx,0ffffhdl3: delay2 endpoutspk proemov dx,303hmov al,00001101b out dx,almov dx,303hmov al,00001100b; 喇叭发声子程;从PC6输出方波;置 PC6=1 ;打开 8253;置 PC6=0; 关闭 8253outs pk endpledflashnext:out dx,al call delay1 retprocmov

18、 si,offset data7;add si, nummov al,simov dx,300hout dx,alcall delay2inc si;LED发光子程序;LED的点亮代码;从8255的A 口输出LED点亮代码ledflash code endsinc numcmp num ,08h jne n extmov num ,00hretendpend start2.基于中断的设计硬件连线图如下:控制(音调)SW3SW2IRQ10程序流程图如下:PAOPA7PC6PC2PC3PC4L1A丫8OE#74LS37GND按照此程序流程图所写的代码如下:DATAS SEGMENTmessage

19、db press SW3 to start !,0ah,0dh;系统提示db if you want to quit, please press SW2!,0ah,0dh,$ dw 0;初始化延时变量为 0numdw 0;初始化数字变量为 0data7DATAS ENDSdb 81h,42h,24h,18h,81h,42h,24h,18hSTACKS SEGMENT dw 200 dup (?)STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DA TAS,SS:STACKS START:MOV AX,STACKSMOV SS,AXMOV AX,DATASM

20、OV DS,AXMOV AH,09HMOV;显示系统提示DX,seg messageDS,DXDX,offset message int 21HMOVMOVmov al,0b6h ;8253 初始化 mov dx,307h out dx,al ; 写入初值 mov ax,0533Hmov dx,306h out dx,al mov al,ahout dx,alMOVDX,303H;初始化 8255MOVAL,83HOUTDX,ALMOVDX,300H;LED 全灭MOVAL,00HOUTDX,ALMOVDX,303H;关闭 SPKMOVAL,0CHOUTDX,ALMOV AL,72H;获取原中

21、断向量MOV AH,35;保存原中断向量INT 21HPUSH ESPUSH BXPUSH DSCLI;关中断MOV AX,SEG VOICELIGHTPUSH DSMOV DS,AX;设置新的中断向量MOV DX,OFFSET VOICELIGHTMOV AL,72HMOV AH,25HINT 21HPOP DSSTIIN AL,0A1HAND AL,0FBHOUT 0A1H,AL; 开中断; 打开 IRQ10;打开 IRQ2movindx,302hal,dxandal,08h;查 SW2 按下?;(PC3=0?); 按下, PC3=0, 退出JZEXITMOV DX,303HMOV AL,

22、09H;按下SW3,贝U PC4= 1申请中断IN AL,21HAND AL,0FBHOUT 21H,ALL1:movdx,302h;查 SW2 按下?inal,dx;(PC3=0?)andal,08h;按下,P C3=0,退出JZEXITNEXT0:PUSH CXMOV CX,0FFHLOOP1:LOOP LOOP1POP CXIN AL,DXAND AL,04HJNZ L1L2:OUT DX,ALPUSH CXMOV CX,100WT: LOOP WT;置 PC4=0POP CXMOV DX,303HMOV AL,08HOUT DX,ALJMP L2EXIT: mov ax,4c00hin

23、t 21hVOICELIGHT PROC NEARPUSH DSPUSH AXPUSH CXbegin: CALLledflashMOVBX,200MOVt,0ffffhHISON: CALLoutspkDECBXJNZhisonMOVDX,300HMOVAL,00hOUTDX,ALMOVBX,200MOVt,0afhLOSON: CALLoutspkDECBXJNZlosonCALLdelay2PUSH DX;已按下,调用 LED 发光子程;调用喇叭发声子程(高频);LED 全灭;调用喇叭发声子程(低频)MOVINANDJZDX,302HAL,DXAL,08Hquit;查 SW2 按下?;(

24、PC3=0?);按下, PC3=0, 退出JNZquit: MOVMOVOUTMOVMOVOUTbeginDX,300HAL,00HDX,ALDX,303HAL,0CHDX,AL;无任意键按下,继续;LED 全灭;关闭 SPKax,2572hPOPDXPOPDSINT21HPOPDSINAL,0A1HORAL,04HOUT0A1H,ALmov;恢复原中断向量;屏蔽 IRQ10INAL,21H;屏蔽 IRQ2ORAL,04HOUT21H,ALMOV AH,4CH; 返回 DOSINT 21HVOICELIGHT ENDP;延时子程PUSHBXMOVBX,TDL1:DECBXJNZDL1POPBX

25、RETdelay1 endpdelay2 procPUSHCXPUSHBXMOVCX,04FFHdelay1 proc;延时子程DL4:DL3:MOVDEC BXBX,0FFFFHJNZ DL3DECJNZCXDL4POPBXPOPRETCXdelay2 endpoutspk PROCMOV DX,303HMOV AL,0DHOUT DX,ALCALL DELAY1;从 PC6 输出方波;置 PC6=1;打开 8253MOV DX,303HMOV AL,0CH OUT DX,ALCALL DELAY1;置 PC6=0; 关闭 8253REToutspk ENDPledflash procMOV

26、 SI,OFFSET DATA7 ADD SI,NUM;LED 发光子程序;LED 的点亮代码MOV AL,SI;从 8255 的 A 口输出 LED 点亮代码MOV DX,300HOUT DX,ALINC NUMCMP NUM,08HJNE NEXTMOV NUM,00H next: ret ledflash endp CODES ENDSEND START五、 调试结果1. 程序运行结果首先调试运行基于查询方式的声光报警器的调试。执行程序,按下 SW3键,发出 报警声,以及LED灯按规律闪烁。从一边开始,第一次有一个登闪烁,每闪烁一次, 增加一个灯闪烁,待八个灯一起闪烁后,重复该过程,一直到按下SW2程序结束运行为止。然后调试运行基于中断方式的声光报警器,运行结果同上 。2. 程序调试过程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论