电子报警器课程设计_第1页
电子报警器课程设计_第2页
电子报警器课程设计_第3页
电子报警器课程设计_第4页
电子报警器课程设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、 计算机科学与技术 专业课程设计任务书学生姓名*专业班级*学号*题 目电子报警器课题性质工程设计课题来源自拟课题指导教师同组姓名主要内容设想制作一个防盗器件。具体要求:按动键盘某任一数字键使得内扬声器发出警报声,使得8个led指示灯忽明忽暗,并通过液晶显示器显示相关警报信息。程序运行后,触动键盘上的数字键,8个led不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信息;程序按ctrlc推出后声不响光不闪。任务要求根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动

2、键盘中的数字键即8个led不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。在设计发声报警时利用了8253可编程定时记数器。在设计发光报警时利用了8255芯片。在程序设计中利用int 10h实现在屏幕上显示相关的警报信息。参考文献1微机原理及应用,杨素行,清华大学出版社,1994年。2微型计算机原理及应用,郑学周斌编著,清华大学出版社,1994年6月。3微机原理与接口技术实验指导与习题集,周明德主编,人民邮电出版社,2002。4微机原理与接口技术,李芷主编,电子工业出版社,2002。5.微机原理与应用考点分析及效果测试,丛书编委会编,哈尔滨工程大学出版社,2003。审查意见指导教师签字

3、:教研室主任签字: 年 月 日 一、设计内容与要求设想制作一个防盗器件。具体要求:按动键盘某任一数字键使得内扬声器发出警报声,使得8个led指示灯忽明忽暗,并通过液晶显示器显示相关警报信息。程序运行后,触动键盘上的数字键,8个led不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信息;程序按ctrlc推出后声不响光不闪。根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘重的数字键即8个led不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。在设计发声

4、报警时利用了8253可编程定时定时记数器。在设计发光报警时利用了8255芯片。在程序设计中利用int 10h实现在屏幕上显示相关的警报信息。二、设计思想在设计发声报警时利用了8253可编程定时定时记数器。在设计发光报警时利用了8255芯片,在一个时间间隔里小灯循环闪动代表正在报警。 三教学实验系统连线 5vgate2clk2 8253 out2 系 gate2 spk spk unit统 opclk总 1.1625mhz线四、所用芯片工作原理8255是可编程io口扩展芯片。对8255输入不同的指令可改变io口的工作方式。8255与单片机系统连接方式简单,工作方式由程序设定,图2为8255的引脚

5、图。 8255内部有4个寄存器:分别为寄存器a、b、c和控制寄存器。a、b、c寄存器的数据就是引脚pa7pa0、pb7pb0、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)和下半部分(

6、pc3pc0)中任何一个端口都可以设定为输入或输出,pc口还可以进行位操作。控制寄存器各位的含义如图3所示。slpc24中8255工作在方式0。pa、pb为输入口、pc为输出口,对控制寄存器写入的数据为10010010b,即92h。8255引脚功能 reset:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有i/o口均被置成输入方式。 cs:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与cpu进行通讯。 rd:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向cpu发送数据或状态信息,即cpu从8255读取信息或数据。 wr:

7、写入信号,当这个输入引脚为低电平时,允许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位的锁存器,分别

8、与端口a和端口b配合使用,可作为控制信号输出或状态信号输入端口。8253: 8253具有3个独立的16位计数器,6种不同的工作方式。1方式0计数到终点输出变为高电平 当将某计数器设置成方式0后,其输出out变低电平,装入初值后,仍保持低电平。门控为高电平开始计数。每来一个计数脉冲clk,计数器的值减1,当计数到达终点即计数器的值变成0时,out变为高电平。在计数期间可用门控信号暂停计数(即门控为低电平时,计数暂停)。2.方式1可编程单稳 所谓单稳,是指这样的电路,它有两种状态,但只能稳定在一种状态。在一定的外界作用下,它能从这一种状态进入到另一种状态,但经过一定时间后,又自动恢复到原来的状态。

9、 这个时间参数一般是由外加电阻、电容的值决定的。8253的方式1就是模拟单稳电路,其处于非稳定状态的时间可通过程序进行设置。 3.方式2分频脉冲发生器(分频器) 方式2用来对输入脉冲(即计数脉冲clk)n分频(n为预置的初值),在输出信号周期中低电平的时间为一个clk周期。 设置此方式后,out变高电平,装入初值后便自动开始计数,减到1时out变低电平。经过一个clk周期,out恢复高电平,且计数器又自动装入初值,重新开始计数。如此循环下去。如图623所示是工作在方式2的示意图。在上述过程中gate应一直保持高电平。 若gate变低电平将禁止计数,并使输出为高电平。在gate再次变高电平时,计

10、数器将重新装入预置的初值,并开始计数。4方式3方波发生器 方式3类似于方式2,输出是周期性的。不同的是方式3输出方波。如果预置的初值n为偶数,则输出周期中高电平和低电平的宽度相等;如果n为奇数,则输出周期中高电平比低电平多一个clk周期的时间,当n相当大时,也可认为是方波。当然,一般采用方式3时,置初值为偶数。设置成方式3后,out变高电平,装入初值后便自动开始计数。如初值为偶数,每个clk使计数器减2,计到终点改变电平。如初值为奇数,则输出为高电平时第一个clk使计数器减1,随后每个clk使计数器减2;输出为低电平时第一个clk使计数器减3,随后每个clk使计数器减2。每当计数到终点都会改变

11、电平,初值又被重新装入,并开始计数。如此循环下去。5方式4软件触发选通 设置成方式4后,out变高电平,写入计数值后自动开始计数(所以称之为软件触发),计数到终点输出一个clk周期的低电平脉冲。gate变低可暂停计数,用gate的上升沿可重新赋初值,并开始计数。 6方式5硬件触发选通 设置成该方式后,out变高电平,写入计数值后需等待gate上升沿的到来才开始计数(所以称之为硬件触发)。计数到终点也输出一个clk周期的低电平脉冲。计数过程中不受gate电平的影响。此后,用gate的上升沿可重新赋初值,并开始计数。 计数寄存器用来寄存计数初值,计数工作单元为16位减1计数器,它的初值便是计数寄存

12、器内容,计数单元对clk脉冲计数,每出现一个clk脉冲,计数器减1,当减为零时,通过out输出指示信号表明计数单元已为零。当作为定时器工作时,每当计数单元为零时,计数寄存器内容会自动重新装入 计数单元,而且clk输入是均匀的脉冲序列,于是out输出频率是降低了的(相对于clk信号频率)脉冲序列。 当作为计数器工作时,表明只关心在clk端出现(代表事件)的脉冲个数,当clk端出现了规定个数的脉冲时,out输出一个脉冲信号。五实验连线图电子报警器所用相关硬件:1.8253定时计数器。2.并行接口电路芯片8255。3.扬声器。硬件连接:(1)定时/计数器8253a芯片模块的gate2接5v,提供高电

13、平。(2)定时/计数器8253a芯片模块的out2 接扬声器。(3)定时/计数器8253a芯片模块的clk2接入八分之一8mhz的分频频率。(4)并行接口电路芯片8255的pa0pa7分别接入led的 d0d7。 5vgate2clk2 8253 out2 系 gate2 spk spk unit统 opclk总 1.1625mhz线8253接线图d0d1d2d3d4d5d6d7sw-led unit pa0 pa1 pa2 pa3 pa4 pa5 pa68255 pa7 8255线路图六、程序流程图主程序从键盘读入字符判断是否在08之间? n 初始化8253 y初始化8255显示信息关灯关声

14、音返回七、程序源代码;read from portc;output to porta porta=08h portb=09hportc=0ahportd=0bh code segmentmain proc far assume cs:code begin: mov bl,0 mov ah,0ffh mov dx,portd mov al,81h ;初始化8255 out dx,al lp: mov dx,portc in al,dx and al,0fh cmp al,00h je next cmp al,01hjb lpcmp al,08hja lpmov al,0b6h ;初始化8253o

15、ut 43h,almov ax,0out 42h,almov al,ahout 42h,almov al,bl ;灯闪烁not alout 08h,alcall delayshl bl,1test bl,ahjnz lpmov bl,1jmp lpback: retfnext: mov al,ahout 08h,aljmp lpdelay proc near push cx mov cx,0delay1: or cx,cxor cx,cxloop delay1pop cxretndelay endpmain endpcode endsend begin设计心得 通过这次的课程设计,我回忆了好多

16、以前已经忘怀的微机原理知识,也重新学习了相当多的汇编语言知识,真可以用温故而之心来形容,使我对以前所学过的知识印象更加深刻,也更加熟练的掌握了8253,8255的功能特性,相关知识原理等。 实验中也遇到了相当多的问题,还好在同组同学的共同努力下,以及在老师的细心,耐心的指导下,才一步一步的解决了问题。真的好好感谢老师的帮助。起初程序并不像我们想象的那样的显示出来,红灯没有闪烁,只是齐刷刷的亮了,我们一开始摸不着头绪,后来在程序中找到了原因。因为我们只是让8255芯片实现了小灯的亮,没有用程序去解决各个灯延时闪亮的问题。后来我们加入了新的内容便成功了。当摆动四个开关到低电平的时候就停止闪烁,当改变了初始的状态时就开始报警,也就是闪烁。而在报警声音的那部分我们让另外的一个灯亮着,代表发声了。 这次的课程设计是基于上个学期对微机原理课程学习的基础上的一个提高,通过对8255,8253芯片的编程更好的理解了其内在的原理。也是对书面知识的一种巩固与更新。在这次的设计中,我们用了一个星期的时间去做相关知识的搜索,关于报警器的原理有了整体的认识之

温馨提示

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

评论

0/150

提交评论