logo资料库

电子报警器.doc

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
课 程 设 计 课程设计名称: 电子报警器 专 业 班 级 : 计算机科学与技术 04 级 4 班 学 生 姓 名 : 学 号 : 20044140431 指 导 教 师 : 郑丽萍 课程设计时间: 2007.12.03---2006.12.15
计算机科学与技术 专业课程设计任务书 学生姓名 题 目 课题性质 指导教师 专业班级 04 计科 4 班 电子报警器 课题来源 同组姓名 工程设计 郑丽萍 学号 20044140431 自拟课题 王永斌 设想制作一个防盗器件。具体要求:按动键盘某任一数字键使得内扬声器 发出警报声,使得 8 个 LED 指示灯忽明忽暗,并通过液晶显示器显示相关警 主要内容 报信息。程序运行后,触动键盘上的数字键,8 个 LED 不停光闪,光闪周期为 2 秒,同时在液晶显示器上显示相应的警报信息;程序按 CTRL+C 推出后声不 响光不闪。 根据设计任务和要求,在设计前必须对微机原理与接口技术中的 8255 和 8253 芯片熟悉了解和掌握。设计中主要要完成的是发声报警和发光报警这两 任务要求 个部分功能,故在程序设计中只要设计触动键盘重的数字键即 8 个 LED 不停 光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。在设计发声报 警时利用了 8253 可编程定时定时记数器。在设计发光报警时利用了 8255 芯 片。在程序设计中利用 INT 10H 实现在屏幕上显示相关的警报信息。 参考文献 1.《微机原理及应用》,杨素行,清华大学出版社,1994 年。 2.《微型计算机原理及应用》,郑学周斌编著,清华大学出版社,1994 年 6 月。 3.微机原理与接口技术实验指导与习题集,周明德主编,人民邮电出版社, 2002。 4.《微机原理与接口技术》,李芷主编,电子工业出版社,2002。 5.《微机原理与应用考点分析及效果测试》,丛书编委会编,哈尔滨工程大学 出版社,2003。 指导教师签字: 审查意见 教研室主任签字: 年 月 日
一、 设计任务与要求 设想制作一个防盗器件。具体要求:按动键盘某任一数字键使得内扬声器发 出警报声,使得 8 个 LED 指示灯忽明忽暗,并通过液晶显示器显示相关警报信息。 程序运行后,触动键盘上的数字键,8 个 LED 不停光闪,光闪周期为 2 秒,同时 在液晶显示器上显示相应的警报信息;程序按 CTRL+C 推出后声不响光不闪。 根据设计任务和要求,在设计前必须对微机原理与接口技术中的 8255 和 8253 芯片熟悉了解和掌握。设计中主要要完成的是发声报警和发光报警这两个部分功 能,故在程序设计中只要设计触动键盘重的数字键即 8 个 LED 不停光闪,同时内 扬声器发出警报声,且在屏幕上显示警报信息。在设计发声报警时利用了 8253 可编程定时定时记数器。在设计发光报警时利用了 8255 芯片。在程序设计中利 用 INT 10H 实现在屏幕上显示相关的警报信息。 二、 设计思想 在设计发声报警时利用了 8253 可编程定时定时记数器。在设计发光报警时利 用了 8255 芯片,在一个时间间隔里小灯循环闪动代表正在报警。 三、 主要元器件介绍 8255 是可编程 I/O 口扩展芯片。对 8255 输入不同的指令可改变 I/O 口的 工作方式。8255 与单片机系统连接方式简单,工作方式由程序设定,图 2 为 8255 的引脚图。 8255 内部有 4 个寄存器:分别为寄存器 A、B、C 和控制寄存器。A、B、C 寄 存器的数据就是引脚 PA7~PA0、PB7~PB0、PC7~PC0 上输入或输出的数据。而 控制寄存器的数据则表明 PA、PB、PC 的工作方式。通过 CS、A0、A1、RD 和 WR 对 4 个寄存器进行操作。 1)CS 为低电平时选通 8255;2)A1、A0 为地址选通;3)RD 和 WR 为读、写信号: RD 为低、WR 为高时为读方式,RD 为高、WR 为低时为写方式。4)D0~D7 为数据 口。 向控制寄存器写入不同的数据可以使 8255 工作在三种不同的方式下。这里只 介绍应用最多的方式 0。方式 0 下 8255 的 PA、PB 及 PC 口上半部分(PC7~PC4) 和下半部分(PC3~PC0)中任何一个端口都可以设定为输入或输出,PC 口还可
以进行位操作。控制寄存器各位的含义如图 3 所示。SLPC-24 中 8255 工作在方 式 0。PA、PB 为输入口、PC 为输出口,对控制寄存器写入的数据为 10010010B, 即 92H。 8255 引脚功能 RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存 器)均被清除,所有 I/O 口均被置成输入方式。 CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许 8255 与 CPU 进行通讯。 RD:读信号线,当这个输入引脚为低电平时,允许 8255 通过数据总线向 CPU 发送 数据或状态信息,即 CPU 从 8255 读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,允许 CPU 将数据或控制字写 8255。 D0~D7:三态双向数据总线,8255 与 CPU 数据传送的通道,当 CPU 执行输入输出 指令时,通过它实现 8 位数据的读/写操作,控制字和状态信息也通过数据总线 传送。 PA0~PA7:端口 A 输入输出线,一个 8 位的数据输出锁存器/缓冲器, 一个 8 位 的数据输入锁存器。 PB0~PB7:端口 B 输入输出线,一个 8 位的 I/O 锁存器, 一个 8 位的输入输出缓 冲器。 PC0~PC7:端口 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 恢复高电平,且计数器又自动装入初值, 重新开始计数。如此循环下去。如图 6.23 所示是工作在方式 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 输出一个脉冲信号。 四、 设计方案与硬件连线 +5v 系 统 OPCLK 总 1.1625MHZ 线 GATE2 GATE2 CLK2 8253 OUT2 8253 接线图 SPK SPK UNIT
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 8255 D0 D1 D2 D3 D4 D5 D6 D7 SW--LED UNIT 五、 程序流程图 8255 线路图 主程序 从键盘读入字符 判断是否在 0-8 之间? N Y 初始化 8253 初始化 8255 显示信息 关灯 关声音
返回 六、程序源代码 ;read from portc ;output to porta porta=08h portb=09h portc=0ah portd=0bh code segment main proc far ;初始化 8255 ;初始化 8253 ;灯闪烁 begin: assume cs:code mov bl,0 mov ah,0ffh mov dx,portd mov al,81h out dx,al mov dx,portc in al,dx and al,0fh cmp al,00h je next cmp al,01h lp: jb lp cmp al,08h ja lp mov al,0b6h out 43h,al mov ax,0 out 42h,al mov al,ah out 42h,al mov al,bl not al out 08h,al call delay shl bl,1 test bl,ah jnz lp mov bl,1 jmp lp retf mov al,ah back: next:
分享到:
收藏