微机原理与接口技术课程设计电子报警器设计

上传人:无*** 文档编号:65997015 上传时间:2022-03-26 格式:DOC 页数:16 大小:274.50KB
返回 下载 相关 举报
微机原理与接口技术课程设计电子报警器设计_第1页
第1页 / 共16页
微机原理与接口技术课程设计电子报警器设计_第2页
第2页 / 共16页
微机原理与接口技术课程设计电子报警器设计_第3页
第3页 / 共16页
点击查看更多>>
资源描述
课程设计任务书学生姓名: 专业班级: 电子信息工程2班 指导教师: 工作单位: 题 目:电子报警器设计 一、设计条件:1 运用所学的微机原理和接口技术知识;2 微机原理和接口技术实验室的实验箱设备。二、主要任务: (包括课程设计工作量及其技术要求以及说明书撰写等具要求)设想制作一个防盗器件。具体要求:程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘中的数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。在设计发声报警时利用了8253可编程定时记数器。在设计发光报警时利用了8255芯片。在程序设计中利用INT 10H实现在屏幕上显示相关的警报信息。三、时间安排:序号阶 段 内 容所需时间(天)1设计思路、原理电路设计12编程,调试33撰写课程设计报告1合 计5指导教师签名: 年 月 日基于微机原理电子警报器的设计 摘 要在当今高速发展的中,人们对自身所处的环境越来越关心,居家安全已成为当今小康之家优先考虑的。当您上班家中无人,或者仅有老人孩子在家,或者您晚上在家熟睡,您必须确保家庭成员和财产的绝对安全。众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。随着生活水平的不断提高,人们的安全防范意识也在不断的增强,各种智能防盗报警器应运而生,并不断地向各个领域深入,报警器是一种为防止或预防某事件发生所造成的后果,以声音、电话提醒等形式来警示或提醒我们应当采取某种行动的电子产品。随着科技的进步,家居安防中的机械式报警器越来越多地被先进的电子报警器代替,如防盗报警器、防火报警器、煤气天然气泄露报警器等。并且电子报警器在安全智能家居监控报警系统起越来越重要的作用。如家庭、公共地点、企事业单位,公司等。本课程设计是基于微机原理与接口技术的简单应用。运用所学的微机原理和接口技术知识完成电子警报器的设计。目录前言3一、设计要求与设计方案71.1电子警报器设计方案的论证与比较71.2电子警报器的功能与要求71.3电子警报器设方案的确定7二、硬件设计82.1 电子警报器的硬件框图82.2 输入、输出显示电路设计92.3 系统总电路图9三、软件设计103.1 主程序流程图103.2 电子警报器主程序设计10四、系统的安装与调试144.1 硬件调试144.2 软件调试144.3 调试过程14五、设计体会与小结155.1 总结设计体会与心得15附录16前言电子警报器的具体要求是程序运行时扬声器发出警报声,使得8个LED指示灯忽明忽暗,并通过液晶显示器显示相关警报信息。程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信息;程序按任意键退出后声不响光不闪。8255是可编程IO口扩展芯片。对8255输入不同的指令可改变IO口的工作方式。8255与单片机系统连接方式简单,工作方式由程序设定,图2为8255的引脚图。 8255内部有4个寄存器:分别为寄存器A、B、C和控制寄存器。A、B、C寄存器的数据就是引脚PA7PA0、P B7PB0、PC7PC0上输入或输出的数据。而控制寄存器的数据则表明PA、PB、PC的工作方式。通过CS、A0、A1、RD和WR对4个寄存器进行操作。 1)CS为低电平时选通8255;2)A1、A0为地址选通;3)RD和WR为读、写信号:RD为低、WR为高时为读方式,RD为高、WR为低时为写方式。4)D0D7为数据口。 向控制寄存器写入不同的数据可以使8255工作在三种不同的方式下。这里只介绍应用最多的方式0。方式0下8255的PA、PB及PC口上半部分(PC7PC4)和下半部分(PC3PC0)中任何一个端口都可以设定为输入或输出,PC口还可以进行位操作。控制寄存器各位的含义如图3所示。SLPC24中8255工作在方式0。PA、PB为输入口、PC为输出口,对控制寄存器写入的数据为10010010B,即92H。8255引脚功能 RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。8253: 8253具有3个独立的16位计数器,6种不同的工作方式。1方式0计数到终点输出变为高电平 当将某计数器设置成方式0后,其输出OUT变低电平,装入初值后,仍保持低电平。门控为高电平开始计数。每来一个计数脉冲CLK,计数器的值减1,当计数到达终点即计数器的值变成0时,OUT变为高电平。在计数期间可用门控信号暂停计数(即门控为低电平时,计数暂停)。2.方式1可编程单稳 所谓单稳,是指这样的电路,它有两种状态,但只能稳定在一种状态。在一定的外界作用下,它能从这一种状态进入到另一种状态,但经过一定时间后,又自动恢复到原来的状态。 这个时间参数一般是由外加电阻、电容的值决定的。8253的方式1就是模拟单稳电路,其处于非稳定状态的时间可通过程序进行设置。 3.方式2分频脉冲发生器(分频器) 方式2用来对输入脉冲(即计数脉冲CLK)N分频(N为预置的初值),在输出信号周期中低电平的时间为一个CLK周期。 设置此方式后,OUT变高电平,装入初值后便自动开始计数,减到1时OUT变低电平。经过一个CLK周期,OUT恢复高电平,且计数器又自动装入初值,重新开始计数。如此循环下去。如图623所示是工作在方式2的示意图。在上述过程中GATE应一直保持高电平。 若GATE变低电平将禁止计数,并使输出为高电平。在GATE再次变高电平时,计数器将重新装入预置的初值,并开始计数。4方式3方波发生器 方式3类似于方式2,输出是周期性的。不同的是方式3输出方波。如果预置的初值N为偶数,则输出周期中高电平和低电平的宽度相等;如果N为奇数,则输出周期中高电平比低电平多一个CLK周期的时间,当N相当大时,也可认为是方波。当然,一般采用方式3时,置初值为偶数。设置成方式3后,OUT变高电平,装入初值后便自动开始计数。如初值为偶数,每个CLK使计数器减2,计到终点改变电平。如初值为奇数,则输出为高电平时第一个CLK使计数器减1,随后每个CLK使计数器减2;输出为低电平时第一个CLK使计数器减3,随后每个CLK使计数器减2。每当计数到终点都会改变电平,初值又被重新装入,并开始计数。如此循环下去。5方式4软件触发选通 设置成方式4后,OUT变高电平,写入计数值后自动开始计数(所以称之为软件触发),计数到终点输出一个CLK周期的低电平脉冲。GATE变低可暂停计数,用GATE的上升沿可重新赋初值,并开始计数。 6方式5硬件触发选通 设置成该方式后,OUT变高电平,写入计数值后需等待GATE上升沿的到来才开始计数(所以称之为硬件触发)。计数到终点也输出一个CLK周期的低电平脉冲。计数过程中不受GATE电平的影响。此后,用GATE的上升沿可重新赋初值,并开始计数。 计数寄存器用来寄存计数初值,计数工作单元为16位减1计数器,它的初值便是计数寄存器内容,计数单元对CLK脉冲计数,每出现一个CLK脉冲,计数器减1,当减为零时,通过OUT输出指示信号表明计数单元已为零。当作为定时器工作时,每当计数单元为零时,计数寄存器内容会自动重新装入 计数单元,而且CLK输入是均匀的脉冲序列,于是OUT输出频率是降低了的(相对于CLK信号频率)脉冲序列。 当作为计数器工作时,表明只关心在CLK端出现(代表事件)的脉冲个数,当CLK端出现了规定个数的脉冲时,OUT输出一个脉冲信号。一、设计要求与设计方案1.1电子警报器设计方案的论证与比较方案1:按动键盘某任一数字键使得内扬声器发出警报声,使得8个LED指示灯忽明忽暗,并通过液晶显示器显示相关警报信息。程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信息;程序按CTRLC推出后声不响光不闪。方案2:程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。 方案1较方案2复杂,警报器的功能也较为完善,但实行起来有一定的难度,程序编写比较困难,而方案2的功能较为简单,实行起来比较容易。1.2电子警报器的功能与要求功能:程序运行时扬声器发出警报声,使得8个LED指示灯忽明忽暗,14秒倒计时结束后液晶显示器显示相关警报信息(yxyqr DANGER go away)。程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信息;程序按任意键退出后声铃响光不闪。要求:根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计程序运行后8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。在设计发声报警时利用了8253可编程定时记数器。在设计发光报警时利用了8255芯片。在程序设计中利用INT 10H实现在屏幕上显示相关的警报信息1.3电子警报器设方案的确定通过长时间的思考论证与总结,最后确定方案2为最终实行方案,即电子警报器的功能为:程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。二、硬件设计2.1 电子警报器的硬件框图电子报警器所用相关硬件:1.8253定时计数器。2.并行接口电路芯片8255。3.扬声器。硬件连接:(1)定时/计数器8253A芯片模块的GATE2接5V,提供高电平。(2)定时/计数器8253A芯片模块的OUT2 接扬声器。(3)定时/计数器8253A芯片模块的CLK2接入八分之一8MHZ的分频频率。(4)并行接口电路芯片8255的PA0PA7分别接入LED的 D0D7。5GATE2CLK2 8253 OUT2 系 GATE2 SPK SPK UNIT统 OPCLK总 1.1625MHZ线8253接线图D0D1D2D3D4D5D6D7SW-LED UNIT PA0 PA1 PA2 PA3 PA4 PA5 PA68255 PA7 8255线路图 2.2 输入、输出显示电路设计8255的A端、B端作为输入端,C端作为输出端,对8253控制响铃。2.3 系统总电路图三、软件设计3.1 主程序流程图 主程序初始化8253初始化8255铃响、8个LED灯不停闪烁 14秒倒计时后显示信息 灯灭返回3.2 电子警报器主程序设计程序源代码如下:yangequ 0ff00h-0280hyuan8255_A equ yang+288hyuan8255_B equ yang+28bhyuan8255_Cequ yang+28ahyuan8255_MODEequ yang+28chyuan8253aequ yang+280hyuan8253bequ yang+281hyuan8253kequ yang+283hDATA SEGMENTLA DB ?LB DB ?AA DB yxyqr DANGER go away! $TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: mov dx,yuan8253k ;向8253写控制字mov al,36h ;使0通道为工作方式3out dx,almov ax,1000 ;写入循环计数初值1000mov dx,yuan8253aout dx,al ;先写入低字节mov al,ahout dx,al ;后写入高字节mov dx,yuan8253kmov al,76h ;设8253通道1工作方式2out dx,almov ax,200 ;写入循环计数初值200mov dx,yuan8253bout dx,al ;先写低字节mov al,ahout dx,al ;后写高字节 MOV AX,DATA MOV DS,AX MOV DX,yuan8255_MODE ; 初始化8255 MOV AL,88H ;置8255的A口B口为输出,C口高4位为输入,低4位为输出 OUT DX,AL MOV CL,9 ; 赋初值9 MOV BX,OFFSET TABLE ; 赋七段代码表首地址给BX MOV AL,CL DISPY: XLAT ; 查表指令,将以BX为首地址AL为偏移地址的值赋给AL MOV DX,yuan8255_A ; 从A口输出AL OUT DX,AL CALL DALLY1 ; 调用1S延时子程序 PAUSE: ; 暂停,D14置1暂停倒计时 MOV DX,yuan8255_C IN AL,DX CMP AL,40H JZ PAUSE WAIT1: ; 复位,D15置1复位复到9 MOV DX,yuan8255_C IN AL,DX CMP AL,80H JZ WAIT2 ; D15置1后执行WAIT2 SUB CL,1 ; 减1倒计时 MOV AL,CL CMP CL,0FFH JNZ DISPY ; 倒计时未到0,继续倒计时 JMP BB WAIT2: ; 重新从9开始倒计时 MOV CL,9 MOV BX,OFFSET TABLE MOV AL,CL JMP DISPYBB: ; 流水灯 MOV DX,yuan8255_MODE ; 再次初始化8255 MOV AL,80H ; A.B.C三个端口都为输出 OUT DX,AL MOV DX,yuan8255_C MOV AL,77H OUT DX,AL MOV LA,AL MOV DX,yuan8255_B MOV AL,0FEH OUT DX,AL MOV LB,AL CALL DALLY ; 延时A1: MOV AL,LA ROR AL,1 ; 不带进位的循环右移 MOV LA,AL AND AL,30H ; 取AL的4,5位 MOV DX,yuan8255_C ; 从C口输出,控制蜂鸣器发声 OUT DX,AL MOV AL,LB ROL AL,1 ; 不带进位的循环左移 MOV LB,AL MOV DX,yuan8255_B OUT DX,AL MOV DX,OFFSET AA ; 输出字符“yxyqr DANGER go away! ” MOV AH,9 INT 21H MOV DL,0DH MOV AH,02H INT 21H CALL DALLY CALL BREAK JMP A1DALLY: ; 软件延时子程序 MOV CX,3FFHD1: MOV AX,0FFFFHD2: DEC AX JNZ D2 LOOP D1 RETBREAK PROC NEAR ; 有键按下终止程序,无键按下继续执行程序 MOV AH,1 INT 16H JZ A1 MOV AX,4C00H INT 21H BREAK ENDPDALLY1 PROC NEAR ; 1s延时程序 PUSH AX PUSH CX MOV CX,0FFFFH D3: MOV AX,7FFFH D4: DEC AX JNZ D4 LOOP D3 POP CX POP AX RET DALLY1 ENDPCODE ENDS END STARTPS:对8253的初始化程序有袁倩如完成,对8255的初始化以及延迟程序由杨雪完成,对于屏幕上显示的字母、流水灯以及硬件调试由两人一起完成。四、系统的安装与调试4.1 硬件调试4.2 软件调试主程序运行后,发出报警信息,即铃响,但LED指示灯不闪烁,14秒倒计时结束后,液晶屏上显示信息”yxyqr DANGER go away”,此时,铃继续响,按下任意键退出,第二次运行时,铃响,8个LED灯不停闪烁,光闪周期为2秒,14秒倒计时结束后,液晶屏上显示信息”yxyqr DANGER go away”,与此同时,LED灯熄灭,铃继续响。4.3 调试过程在调试的过程中出现了很多问题,如铃不响,后来通过添加8253程序解决了这一问题,但最后程序的运行结果还是没有达到我们的期望,程序设计的最终结果为:主程序运行后,发出报警信息,即铃响,但LED指示灯不闪烁,14秒倒计时结束后,液晶屏上显示信息”yxyqr DANGER go away”,此时,铃继续响,按下任意键退出,第二次运行时,铃响,8个LED灯不停闪烁,光闪周期为2秒,14秒倒计时结束后,液晶屏上显示信息”yxyqr DANGER go away”,与此同时,LED灯熄灭,铃继续响。五、设计体会与小结 5.1 总结设计体会与心得通过这次的课程设计,我对老师在课堂上讲解的微机原理知识有了更进一步的认识,也重新学习了很多的汇编语言知识,真可以用温故而之心来形容,使我对以前所学过的知识印象更加深刻,也更加熟练的掌握了8253,8255的功能特性,相关知识原理等。 实验中也遇到了相当多的问题,还好在同组同学的共同努力下,以及在老师的细心,耐心的指导下,才一步一步的解决了问题。真的好好感谢老师的帮助。起初程序并不像我们想象的那样的显示出来,没有发出报警信息,即铃不响,只是8个LED灯不停闪烁,我们一开始摸不着头绪,后来在程序中找到了原因。因为我们没有添加8253的程序,故8253的功能没有得以实现,后来我们加入了新的内容便成功了。当主程序运行后,铃响,8个LED灯不停闪烁,光闪周期为2秒,14秒倒计时结束后,液晶屏幕上显示信息”yxyqr DANGER go away”,与此同时,LED灯停止闪烁。 这次的课程设计是基于这个学期对微机原理课程学习的基础上的一个提高,通过对8255,8253芯片的编程更好的理解了其内在的原理。也是对书面知识的一种巩固与更新。在这次的设计中,我们用了很长的时间去做相关知识的搜索,关于报警器的原理有了整体的认识之后才去上机试验。起初因为程序的一些错误,只实现了相关的一小部分内容,只是就铃不响问题得到解决,但是我们又通过相互讨论解决了报警这部分的设计,用了8253的功能显示报警信息。通过试验出错再试验的过程,才得以完成。 当我们完成这个程序时,发现脑中关于微机原理的知识更加清晰。这才让我们相信,只有不断的试验,不断的动手去演练,基础知识才能转化成真正在生活中能够实现的东西。我想我们以后无论在什么方面,特别是在研究设计方面。动手加动脑才是成功的关键,一味的在理论上追根问底根本不可能在现实中实现。这是我从这次课程设计中得到的最大的体会。 此外,我们要感谢xx老师对我们的悉心指导,在课程设计出现问题的过程中,是他不厌其烦的为我们讲解电子警报器的原理及相关知识,没有他的辛勤付出,我们的课程设计是不可能取得成功的。附录参考文献1微机原理及应用,杨素行,清华大学出版社,1994年。2微型计算机原理及应用,郑学周斌编著,清华大学出版社,1994年6月。3微机原理与接口技术实验指导与习题集,周明德主编,人民邮电出版社,2002。4微机原理与接口技术,李芷主编,电子工业出版社,2002。5.微机原理与应用考点分析及效果测试,丛书编委会编,哈尔滨工程大学出版社,2003。15
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!