微机原理于接口课程设计 电子报警器Word文件下载.docx
- 文档编号:14744545
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:9
- 大小:64.49KB
微机原理于接口课程设计 电子报警器Word文件下载.docx
《微机原理于接口课程设计 电子报警器Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理于接口课程设计 电子报警器Word文件下载.docx(9页珍藏版)》请在冰豆网上搜索。
4.……所用芯片工作原理
5.……实验连线图
6.……程序流程图
7.……程序源代码
一、设计内容与要求
设计制作一个电子防盗器件。
具体要求:
按动键盘某任一数字键使得内扬声器发出警报声,使得8个LED指示灯忽明忽暗,并通过液晶显示器显示相关警报信息。
程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信息;
程序按CTRL+C推出后声不响光不闪。
根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。
设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计触动键盘重的数字键即8个LED不停光闪,同时内扬声器发出警报声,且在屏幕上显示警报信息。
在设计发声报警时利用了8253可编程定时定时记数器。
在设计发光报警时利用了8255芯片。
在程序设计中利用INT10H实现在屏幕上显示相关的警报信息。
二、设计思想
在设计发光报警时利用了8255芯片,在一个时间间隔里小灯循环闪动代表正在报警。
三教学实验系统连线
+5v
系GATE2
统OPCLK
总1.1625MHZ
线
四、所用芯片工作原理
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输出一个脉冲信号。
五 实验连线图
电子报警器所用相关硬件:
1.8253定时计数器。
2.并行接口电路芯片8255。
3.扬声器。
硬件连接:
(1)定时/计数器8253A芯片模块的GATE2接+5V,提供高电平。
(2)定时/计数器8253A芯片模块的OUT2接扬声器。
(3)定时/计数器8253A芯片模块的CLK2接入八分之一8MHZ的分频频率。
(4)并行接口电路芯片8255的PA0~PA7分别接入LED的D0~D7。
8253接线图
8255线路图
六、程序流程图
主程序
N
Y
七、程序源代码
;
readfromportc
outputtoporta
porta=08h
portb=09h
portc=0ah
portd=0bh
codesegment
mainprocfar
assumecs:
code
begin:
movbl,0
movah,0ffh
movdx,portd
moval,81h;
初始化8255
outdx,al
lp:
movdx,portc
inal,dx
andal,0fh
cmpal,00h
jenext
cmpal,01h
jblp
cmpal,08h
jalp
moval,0b6h;
初始化8253
out43h,al
movax,0
out42h,al
moval,ah
moval,bl;
灯闪烁
notal
out08h,al
calldelay
shlbl,1
testbl,ah
jnzlp
movbl,1
jmplp
back:
ret
next:
moval,ah
delayprocnear
pushcx
movcx,0
delay1:
orcx,cx
orcx,cx
loopdelay1
popcx
ret
delayendp
mainendp
codeends
endbegin
设计心得
通过这次的课程设计,我回忆了好多以前已经忘怀的微机原理知识,也重新学习了相当多的汇编语言知识,真可以用温故而之心来形容,使我对以前所学过的知识印象更加深刻,也更加熟练的掌握了8253,8255的功能特性,相关知识原理等。
实验中也遇到了相当多的问题,还好在同组同学的共同努力下,以及在老师的细心,耐心的指导下,才一步一步的解决了问题。
起初程序并不像我们想象的那样的显示出来,红灯没有闪烁,只是齐刷刷的亮了,我们一开始摸不着头绪,后来在程序中找到了原因。
因为我们只是让8255芯片实现了小灯的亮,没有用程序去解决各个灯延时闪亮的问题。
后来我们加入了新的内容便成功了。
当摆动四个开关到低电平的时候就停止闪烁,当改变了初始的状态时就开始报警,也就是闪烁。
而在报警声音的那部分我们让另外的一个灯亮着,代表发声了。
这次的课程设计是基于上个学期对微机原理课程学习的基础上的一个提高,通过对8255,8253芯片的编程更好的理解了其内在的原理。
也是对书面知识的一种巩固与更新。
在这次的设计中,我们用了一个星期的时间去做相关知识的搜索,关于报警器的原理有了整体的认识之后才去上机试验。
起初因为程序的一些错误,只实现了相关的一小部分内容,只是就闪烁问题得到解决,但是我们又通过请教老师解决了报警这部分的设计,用了另外一个灯显示报警信息。
通过试验—出错—再试验的过程,才得以完成。
当我们完成这个程序时,发现脑中关于微机原理的知识更加清晰。
这才让我们相信,只有不断的试验,不断的动手去演练,基础知识才能转化成真正在生活
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理于接口课程设计 电子报警器 微机 原理 接口 课程设计 电子 报警器