1、微机原理电子报警器1微机原理_电子报警器1计算机科学与技术 专业课程设计任务书学生姓名专业班级学号题目电子报警器课题性质课题来源指导 教师同组姓名主要 内容设想制作一个防盗器件。具体要求:按动键盘某任一数字键使得 内扬声器发出警报声,使得8个LED指示灯忽明忽暗,并通过液晶显 示器显示相关警报信息。程序运行后,触动键盘上的数字键,8个LED 不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信 息;程序按CTRL+C推出后声不响光不闪。任务要求根据设计任务和要求,在设计前必须对微机原理与接口技术中的 8255和8253芯片熟悉了解和掌握。设计中主要要完成的是发声报警 和发光报警这两个部
2、分功能,故在程序设计中只要设计触动键盘重的 数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上 显示警报信息。在设计发声报警时利用了 8253可编程定时定时记数 器。在设计发光报警时利用了 8255芯片。在程序设计中利用INT 10H 实现在屏幕上显示相关的警报信息。参考 文献1.钱晓捷16/32位微机原理、汇编语言及接口技术机械工业出版社,2010.112.郑学周斌微型计算机原理及应用清华大学出版社,1994年6 月3.周明德微机原理与接口技术实验指导与习题集人民邮电出版社 20024.李芷微机原理与接口技术电子工业出版社20025.杨素行微机原理及应用清华大学出版社1994年。
3、审查意见指导教师签字:教研室主任签字:年 月 日1设计任务与要求设想制作一个防盗器件。具体要求:按动键盘某任一数字键使得内扬声 器发出警报声,使得8个LED指示灯忽明忽暗,并通过液晶显示器显示相关 警报信息。程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周 期为2秒,同时在液晶显示器上显示相应的警报信息;程序按CTRL+C推出 后声不响光不闪。2设计思想根据本实验的要求可以知道,本程序开始要设计入口的参数,即判断输 入的是否为数字,当为数字时才能报警和发光,并且在屏幕上显示警告信息。 故可用8253可编程定时定时记数器来控制发声,使内扬声器发出警报声。 可用8255来控制闪烁报警,即
4、直接控制发光二极管的发光闪烁。而在 FD-8088A实验系统中要使用int 14h中断来实现字符的输入和输出,最后 还要判断是否按下CTRL+C,如有则程序退出,不发光和发声。3主要元器件介绍(一)8253 (定时/记数器):1) 8253基本性能:1.一片上有3个独立的16位计数器通道。2.每个计数器都可以按照二进制或二一十进制计数。3.每个计数器的计数速率可高达2MHz。4.每个通道有6种工作方式可由程序设置和改变。5.所有的输入输出都与TTL兼容。2) 8253的引线:CLK:输入时钟周期不能小于380ns.GATE:门控信号输入引脚,这是控制计数器工作的一个外部 信号。当GATE引脚为
5、低(无效)时,通常都是禁止计数器工 作;只有当GATE为高时,才允许计数器工作。OUT:输出引脚。当计数到“0”时,OUT引线上必然有输出, 输出信号的波形取决于工作方式。8253的编程:微处理器写入方式控制字,设定工作方式;微 处理器写入预置寄存器,设定计数初值。3) 8253的功能:1.延时终端;2.可编程频率发生器;3.事件计数器;4.倍频器;5.实时时钟;6.数字单稳;7.复杂的电机控制器;4) 8253的工作方式:方式0一一计数结束中断方式1一一可编程的单拍脉冲方式2频率发生器(分频器)方式3方波发生器方式4软件触发选通信号方式5硬件触发选通信号根据应用需要利用8253的42号端口控
6、制内扬声器,初始化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的上(高)半部
7、分(PC7-PC4); B组控制端口 B 和端口 C的下(低)半部分(PC3-PC0)。2) 与处理器接口数据总线缓冲器是8255A与系统数据总线的接口,CPU输入输出的数据、CPU 输出的控制字及外设的装态信息都通过它传送。用+5V单电源供电,但功能上有着不同的特点:端口 A: 一个8位数据输出锁存和缓冲器;一个8位数据输入锁存器。端口 B: 一个8位数据输入/输出、锁存/缓冲器;一个8位数据输入缓冲器。 端口 C: 一个8位数据输出锁存/缓冲器;一个8位数据输入数据缓冲器。通常端口 A或B作为输入输出的数据端口,而端口 C作为控制或状态信息 的端口,它在“方式字的控制下,可以分成两个四位的
8、端口。每个端口包含 一个四位锁存器。它们分别与端口 A和B配合使用,可以作为控制信号输出, 或作为状态信号输入。3) 8255的引线:8255的数据线片选信号线、地址线、读写控制线等分别与系统总线相连, 其中A、B、C三个端口以排针式引出,供8255实验用。4) 8255的工作方式:方式0基本输入输出方式。这是8255A中各端口的基本输入/输出方 式。它只完成简单的并行输入/输出操作,CPU可从指定端口输入信息,也 可向指定端口输出信息,如果三个端口均处于工作方式0 ,则可由工作方式控 制字定义16种工作方式的组合。方式1选通输入输出方式。在这种工作方式下,数据输入/输出操作 要在选通信号控制
9、下完成。方式2双向选通工作方式使其端口 A工作在方式0并作为输出口,端口 A输出线连接至一组发光二极管上,然后通过对8255芯片向应端口输送命令字 来实现程序。5) 8255引脚功能:reset:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控 制寄存器)均被清除,所有I/O 口均被置成输入方式。CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255 与CPU进行通讯。RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU 发送数据或状态信息,即CPU从8255读取信息或数据。WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写
10、入 8255。4设计方案与硬件连线用8253控制扬声器发声,用8253的定时器2的方式3控制,并且 此时用8255的B端口的PR和PBi控制是否发声,并且对FD-8088A实验 系统的8MHz进行分频控制CLK2用8255控制LED灯的发光闪烁,用A端口控制8个二极管的发光。硬件连线如下所示:5程序流程图主程序6程序源代码.model smallstack.datapotra= 08h;定义8255端口 Apotrb= 09h;定义8255端口 Bcontr= Obh;定义8255控制端口freqdw 2000codestart:mov ax,datamov ds,axagain:mov ah
11、,2 ;输入字符int 14hcmp al,*O;判断是否为数字0-9JI againcmp al,9*Jg again ;不是继续输入;否则,显示报警mov ah ,1mov 屏幕上输出、V警告信息int 14hmov ax,freqcall speaker ;调用发声子程序,发声call speakonmov al,80h ;初始化8255mov dx,controut dx,alagain!: mov al.Offli ;使1。灯全亮mov dxpotraout dx,alcall delay ;调用延迟子程序mov al,00h ;使1。灯全灭out dx,alcall delay ;
12、调用延退子程序Jmp again2 ;继续循环call speakoff;关闭扬声器 mov al,80h ;初始化8255mov dx,controut dx,almov al,Ohmov dxpotra ;使。灯全灭out dx,almov ax,4c00hint 21h.delay proc near ;延迟子程序push ex mov ex,0again 1: or ex,exloop again 1pop ex retndelay endpspeaker proc ;启动扬声器子程序push axmov al,0b6h ;初始化8253out 43h,alpop axout 42h,
13、al ;用计数器2,初始化计数初值mov al,ahout 42h,alretspeaker endp.9speakon proc ;发声子程序push axmov dx,potrb ;判断PBO和PB1是否打开in al,dxor al,03hout dx,alpop axretspeakon endp.speakoff proc ;关闭扬声器子程序push axmov dx,potrbin al,dxand alOfchout dx,alpop axretspeakoff endpend start7总结本次课程设计的题目为电子报警器,就是当按下键盘的数字键的时候会发 生报警,LED灯闪烁
14、和扬声器发声,还在屏幕上显示报警的信息W。故在开始 时要先触动键盘的数字键,否则不发生报警。对于本程序的报警信息,利用了 FD-8088系统的hit 14h中断,对字符进 行输入和输出。对于本程序的LED灯闪烁,用的是8255芯片进行控制,所用的端口是A 端口。对于本程序的扬声器发声控制,用的是8253芯片进行控制,而其输入频 率是其内置8MHz,并用分频器对其分频。这次课程设计是对上学期微机原理的书本知识的检验,虽然平时也写过很 多小程序,但是这次课程设计还需要和硬件相联系,故其难度很大,并且运行 的环境也不一样,还有实验室的机子有的时候有的时候不能用,所以在检查没 用实现相应功能的时候,要检查很多的东西。这次多亏了老师和同学们的帮助 才完成了这次课程设计。最后还需要指明的是,本次课程设计还有部分功能没能实现,例如,当按T Ctrl+C的时候退出,由于自己的能力有限,没能实现。