微机原理电子报警器1.docx

上传人:b****4 文档编号:5969812 上传时间:2023-05-09 格式:DOCX 页数:9 大小:19.65KB
下载 相关 举报
微机原理电子报警器1.docx_第1页
第1页 / 共9页
微机原理电子报警器1.docx_第2页
第2页 / 共9页
微机原理电子报警器1.docx_第3页
第3页 / 共9页
微机原理电子报警器1.docx_第4页
第4页 / 共9页
微机原理电子报警器1.docx_第5页
第5页 / 共9页
微机原理电子报警器1.docx_第6页
第6页 / 共9页
微机原理电子报警器1.docx_第7页
第7页 / 共9页
微机原理电子报警器1.docx_第8页
第8页 / 共9页
微机原理电子报警器1.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理电子报警器1.docx

《微机原理电子报警器1.docx》由会员分享,可在线阅读,更多相关《微机原理电子报警器1.docx(9页珍藏版)》请在冰点文库上搜索。

微机原理电子报警器1.docx

微机原理电子报警器1

微机原理_电子报警器[1]

计算机科学与技术专业课程设计任务书

学生

姓名

专业

班级

学号

电子报警器

课题

性质

课题来源

指导教师

同组姓名

主要内容

设想制作一个防盗器件。

具体要求:

按动键盘某任一数字键使得内扬声器发出警报声,使得8个LED指示灯忽明忽暗,并通过液晶显示器显示相关警报信息。

程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信息;程序按CTRL+C推出后声不响光不闪。

任务

要求

根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。

设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘重的数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。

在设计发声报警时利用了8253可编程定时定时记数器。

在设计发光报警时利用了8255芯片。

在程序设计中利用INT10H实现在屏幕上显示相关的警报信息。

参考文献

1.钱晓捷《16/32位微机原理、汇编语言及接口技术》机械工业出版

社,2010.11

2.郑学周斌《微型计算机原理及应用》清华大学出版社,1994年6月

3.周明德《微机原理与接口技术实验指导与习题集》人民邮电出版

社2002

4.李芷《微机原理与接口技术》电子工业出版社2002

5.杨素行《微机原理及应用》清华大学出版社1994年。

审查

意见

指导教师签字:

教研室主任签字:

年月日

1设计任务与要求

设想制作一个防盗器件。

具体要求:

按动键盘某任一数字键使得内扬声器发出警报声,使得8个LED指示灯忽明忽暗,并通过液晶显示器显示相关警报信息。

程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信息;程序按CTRL+C推出后声不响光不闪。

2设计思想

根据本实验的要求可以知道,本程序开始要设计入口的参数,即判断输入的是否为数字,当为数字时才能报警和发光,并且在屏幕上显示警告信息。

故可用8253可编程定时定时记数器来控制发声,使内扬声器发出警报声。

可用8255来控制闪烁报警,即直接控制发光二极管的发光闪烁。

而在FD-8088A实验系统中要使用int14h中断来实现字符的输入和输出,最后还要判断是否按下CTRL+C,如有则程序退出,不发光和发声。

3主要元器件介绍

(一)8253(定时/记数器):

1)8253基本性能:

1.一片上有3个独立的16位计数器通道。

2.每个计数器都可以按照二进制或二一十进制计数。

3.每个计数器的计数速率可高达2MHz。

4.每个通道有6种工作方式可由程序设置和改变。

5.所有的输入输出都与TTL兼容。

2)8253的引线:

CLK:

输入时钟周期不能小于380ns.

GATE:

门控信号输入引脚,这是控制计数器工作的一个外部信号。

当GATE引脚为低(无效)时,通常都是禁止计数器工作;只有当GATE为高时,才允许计数器工作。

OUT:

输出引脚。

当计数到“0”时,OUT引线上必然有输出,输出信号的波形取决于工作方式。

8253的编程:

微处理器写入方式控制字,设定工作方式;微处理器写入预置寄存器,设定计数初值。

3)8253的功能:

1.延时终端;

2.可编程频率发生器;

3.事件计数器;

4.倍频器;

5.实时时钟;

6.数字单稳;

7.复杂的电机控制器;

4)8253的工作方式:

方式0一一计数结束中断

方式1一一可编程的单拍脉冲

方式2——频率发生器(分频器)

方式3——方波发生器

方式4——软件触发选通信号

方式5——硬件触发选通信号

根据应用需要利用8253的42号端口控制内扬声器,初始化8253工作在方式0关闭扬声器,待启动报警时使8253工作在方式3,赋以记数初值,调节发声频率。

(二)8255(并行接口芯片):

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,从应用角度看,8255A内部分成与外设连接部分和与处理器连接部分。

1)外部数据端口

8255A具有24条可编程输入输出引脚,并分为A、B、C三个并行接口输入输出端口,每个端口都是8位,都可以选择作为输入或输出,三个端口对应的引脚分别是PA0-PA7;PB0-PB7;PC0-PC7。

8255A的三个数据端口分成两组进行控制:

A组控制端口A和端口C的上(高)半部分(PC7-PC4);B组控制端口B和端口C的下(低)半部分(PC3-PC0)。

2)与处理器接口

数据总线缓冲器是8255A与系统数据总线的接口,CPU输入输出的数据、CPU输出的控制字及外设的装态信息都通过它传送。

用+5V单电源供电,但功能上有着不同的特点:

端口A:

一个8位数据输出锁存和缓冲器;一个8位数据输入锁存器。

端口B:

一个8位数据输入/输出、锁存/缓冲器;一个8位数据输入缓冲器。

端口C:

一个8位数据输出锁存/缓冲器;一个8位数据输入数据缓冲器。

通常端口A或B作为输入输出的数据端口,而端口C作为控制或状态信息的端口,它在“方式"字的控制下,可以分成两个四位的端口。

每个端口包含一个四位锁存器。

它们分别与端口A和B配合使用,可以作为控制信号输出,或作为状态信号输入。

3)8255的引线:

8255的数据线片选信号线、地址线、读写控制线等分别与系统总线相连,其中A、B、C三个端口以排针式引出,供8255实验用。

4)8255的工作方式:

方式0——基本输入输出方式。

这是8255A中各端口的基本输入/输出方式。

它只完成简单的并行输入/输出操作,CPU可从指定端口输入信息,也可向指定端口输出信息,如果三个端口均处于工作方式0,则可由工作方式控制字定义16种工作方式的组合。

方式1——选通输入输出方式。

在这种工作方式下,数据输入/输出操作要在选通信号控制下完成。

方式2—双向选通工作方式使其端口A工作在方式0并作为输出口,端口A输出线连接至一组发光二极管上,然后通过对8255芯片向应端口输送命令字来实现程序。

5)8255引脚功能:

reset:

复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:

片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。

RD:

读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:

写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。

4设计方案与硬件连线

用8253控制扬声器发声,用8253的定时器2的方式3控制,并且此时用8255的B端口的PR和PBi控制是否发声,并且对FD-8088A实验系统的8MHz进行分频控制CLK2

用8255控制LED灯的发光闪烁,用A端口控制8个二极管的发光。

硬件连线如下所示:

5程序流程图

主程序

 

6程序源代码

.modelsmall

•stack

.data

potra

=08h

;定义8255端口A

potrb

=09h

;定义8255端口B

contr

=Obh

;定义8255控制端口

freq

dw2000

•code

start:

movax,@data

movds,ax

again:

movah,2;输入字符

int14h

cmpal,*O';判断是否为数字0-・9

JIagain

cmpal,'9*

Jgagain;不是继续输入

;否则,显示报警

movah,1

mov屏幕上输出、V警告信息

int14h

movax,freq

callspeaker;调用发声子程序,发声

callspeakon

moval,80h;初始化8255

movdx,contr

outdx,al

again!

:

moval.Offli;使1£。

灯全亮

movdx^potra

outdx,al

calldelay;调用延迟子程序

moval,00h;使1^。

灯全灭

outdx,al

calldelay;调用延退子程序

Jmpagain2;继续循环

callspeakoff;关闭扬声器moval,80h;初始化8255

movdx,contr

outdx,al

moval,Oh

movdx^potra;使。

£。

灯全灭

outdx,al

movax,4c00h

int21h

.

delayprocnear;延迟子程序

pushexmovex,0

again1:

orex,ex

loopagain1

popexretn

delayendp

speakerproc;启动扬声器子程序

pushax

moval,0b6h;初始化8253

out43h,al

popax

out42h,al;用计数器2,初始化计数初值

moval,ah

out42h,al

ret

speakerendp

.

9

speakonproc;发声子程序

pushax

movdx,potrb;判断PBO和PB1是否打开

inal,dx

oral,03h

outdx,al

popax

ret

speakonendp

.

speakoffproc;关闭扬声器子程序

pushax

movdx,potrb

inal,dx

andal^Ofch

outdx,al

popax

ret

speakoffendp

endstart

7总结

本次课程设计的题目为电子报警器,就是当按下键盘的数字键的时候会发生报警,LED灯闪烁和扬声器发声,还在屏幕上显示报警的信息W。

故在开始时要先触动键盘的数字键,否则不发生报警。

对于本程序的报警信息,利用了FD-8088系统的hit14h中断,对字符进行输入和输出。

对于本程序的LED灯闪烁,用的是8255芯片进行控制,所用的端口是A端口。

对于本程序的扬声器发声控制,用的是8253芯片进行控制,而其输入频率是其内置8MHz,并用分频器对其分频。

这次课程设计是对上学期微机原理的书本知识的检验,虽然平时也写过很多小程序,但是这次课程设计还需要和硬件相联系,故其难度很大,并且运行的环境也不一样,还有实验室的机子有的时候有的时候不能用,所以在检查没用实现相应功能的时候,要检查很多的东西。

这次多亏了老师和同学们的帮助才完成了这次课程设计。

最后还需要指明的是,本次课程设计还有部分功能没能实现,例如,当按

TCtrl+C的时候退出,由于自己的能力有限,没能实现。

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

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

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

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