微机原理与接口技术课程设计报告电子报警器设计Word文档下载推荐.docx
《微机原理与接口技术课程设计报告电子报警器设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计报告电子报警器设计Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。
众多住宅小区的安防防犯主要倚靠安装防盗窗、防盗门以及人工防犯。
这样不仅有碍美观,不符合防火的要求、而且不能有效地防止坏人的侵入。
随着生活水平的不断提高,人们的安全防范意识也在不断的增强,各种智能防盗报警器应运而牛,并不断地向各个领域深入,报警器是一种为防止或预防某事件发生所造成的后果,以声咅、电话提醒等形式來警示或提醒我们应当采取某种行动的电子产品。
随着科技的进步,家居安防中的机械式报警器越来越多地被先进的电子报警器代替,如防盗报警器、防艸鯛、煤*^»
气嶙报瞬等。
并且电子报堂智育餌鮒艮警繇
越重要的作用。
如家庭、公與也点、企事业单位,公司等。
木课程设计是基于微机
原理与
接口技术的简单应用。
运用所学的微机原理和接口技术知识完成电子警报器的设计。
目录
刖吕 3
一、设计要求与设计方案 6
1.1电子警报器设计方案的论证与比较 6
1.2电子警报器的功能与要求 6
1.3电子警报器设方案的确定 6
二、硬件设计 7
2.1电子警报器的硬件框图 7
2.2输入、输出显示电路设计 8
2.3系统总电路图 8
三、软件设计 9
3.1主程序流程图 9
3.2电子警报器主程序设计 9
四、系统的安装与调试 13
4.1硬件调试 13
4.2软件调试 13
4.3调试过程 13
五、设计体会与小结 14
5.1总结设计体会与心得 14
附录 15
前言
电子警报器的具体要求是程序运行时扬声器发出警报声,使得8个LED指示灯忽明忽暗,并通过液晶显示器显示相关警报信息。
程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的
警报信息;
程序按任意键退出后声不响光不闪。
8255是可编程I/0 口扩展芯片。
对8255输入不同的指令可改变I / 0 口的工作方式。
8255与单片机系统连接方式简单,工作方式由程序设定,图2为8255
的引脚图。
8255内部有4个寄存器:
分别为寄存器A、B、C和控制寄存器。
A、B、C寄存器的数据就是引脚PA7〜PAO、PB7〜PBO、PC7〜PCO上输入或输出的数据。
而
控制寄存器的数据则表明PA、PB、PC的工作方式。
通过CS、AO、Al>
RD和WR
对4个寄存器进行操作。
1)CS为低电平时选通8255;
2)A1、AO为地址选通;
3) RD和WR为读、写信号:
RD为低、WR为高时为读方式,RD为高、WR为低时为写方式。
4)DO〜D7为数据口。
向控制寄存器写入不同的数据可以使8255工作在三种不同的方式下。
这里只
介绍应用最多的方式0。
方式0下8255的PA、PB及PCD上半部分(PC7〜PC4)
和下半部分(PC3〜PCO)中任何一个端口都可以设定为输入或输出,PC 口还可以进行位操作。
控制寄存器各位的含义如图3所示。
SLPC-24中8255工作在方
式0。
PA、PB为输入口、PC为输出口,对控制寄存器写入的数据为10010010B,即92Ho
8255引脚功能
RESET:
复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有1/0口均被置成输入方式。
CS:
片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与
CPU进行通讯。
RD:
读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
WR:
写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写8255o
DO〜D7:
三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PAO〜PA7:
端口 A输入输岀线,一个8位的数据输岀锁存器/缓冲器,一个8位的数据输入锁存器。
PBO〜PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PCO〜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后,OfT变高电平,写入计数值后自动开始计数(所以称之为软件触发),计数到终点输出一个CLK周期的低电平脉冲。
GATE变低可暂停计数,用GATE的上升沿可重新赋初值,并开始计数。
6.----------方式5 硬件触发选通
设置成该方式后,OUT变高电平,写入计数值后需等待GATE上升沿的到来才开始计数(所以称之为硕件触发)o计数到终点也输出一个CLK周期的低电平脉冲。
计数过程中不受GATE电平的影响。
此后,用GATE的上升沿可重新赋初值,并开始计数。
计数寄存器用来寄存计数初值,计数工作单元为16位减1计数器,它的初值便
是计数寄存器内容,计数单元对CLK脉冲计数,每出现一个CLK脉冲,计数器减1,当减为零时,通过OUT输出指示信号表明计数单元己为零。
当作为定时器工作时,
每当计数单元为零吋,计数寄存器内容会自动重新装入计数单元,而口 CLK输入
是均匀的脉冲序列,于是OUT输出频率是降低了的(相对于CLK信号频率)脉冲序
列。
当作为计数器工作时,表明只关心在CLK端出现(代表事件)的脉冲个数,当
CLK端出现了规定个数的脉冲时,OUT输出一个脉冲信号。
设计要求与设计方案
1.1电子警报器设计方案的论证与比较
方案1:
按动键盘某任一数字键使得内扬声器发出警报声,使得8个LED指示灯忽明忽暗,
并通过液品显示器显示相关警报信息。
程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周期为2秒,同时在液晶显示器上显示相应的警报信息;
程序按CTRL+C推出后声不响光不闪。
方案2:
程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。
警报信息出现后
LED灯熄灭,程序按任意键退出后声不响光不闪。
方案1较方案2复杂,警报器的功能也较为完善,但实行起來有一定的难度,程序编写比较困难,而方案2的功能较为简单,实行起来比较容易。
1.2电子警报器的功能与要求
功能:
程序运行时扬声器发出警报声,使得8个LED指示灯忽明忽暗,14
秒倒计时结束后液晶显示器显示相关警报信息(yxyqr DANGER go away)o程序运行后,触动键盘上的数字键,8个LED不停光闪,光闪周期为2秒,同时在液
晶显示器上显示相应的警报信息;
程序按任意键退出后声铃响光不闪。
要求:
根据设计任务和要求,在设计前必须对微机原理与接口技术中的8255和8253芯片熟悉了解和掌握。
设计中主要要完成的是发声报警和发光报警这两个部分功能,故在程序设计中只要设计程序运行后8个LED不停光闪,同吋内扬声器发出警报声,且在屏幕上显示警报信息。
在设计发声报警时利用了8253可编程定
时记数器。
在设计发光报警时利用了8255芯片。
在程序设计中利用INT 10H实现在屏幕上显示相关的警报信息
1.3电子警报器设方案的确定
通过长吋间的思考论证与总结,最后确定方案2为最终实行方案,即电子警报器的功能为:
程序运行时扬声器发出警报声,使得8个LED指示灯不停光闪,光闪周期为2秒,14秒倒计时结束后液晶显示器显示相关警报信息。
警报信息出现后LED灯熄灭,程序按任意键退出后声不响光不闪。
二、硬件设计
2.1电子警报器的硬件框图电子报警器所用相关硬件:
1.8253定时计数器。
2.并行接口电路芯片8255o
丿
3.扬声器。
硕件连接:
(1)定时/计数器8253A芯片模块的GATE2接+5V,提供高电平。
(2)定时/计数器8253A芯片模块的0UT2接扬声器。
(3)定吋/计数器8253A芯片模块的CLK2接入八分之一8MHZ的分频频率。
(4)并行接口电路芯片8255的PAO〜PA7分别接入LED的DO〜D7。
+5
8253接线图
PAO
DO
—
PA1
DI
PA2
D2
PA3
匸丿
a
D3
PA4
D4
PA5
O
D5
PA6
D6
D7
PA7
SW-LEDUNIT
8255
8255线路图
2.2输入、输出显示电路设计
8255的A端、B端作为输入端,C端作为输出端,对8253控制响铃。
2.3系统总电路图
三、软件设计
3.1主程序流程图
主程序
V
3.2电子警报器主程序设计程序源代码如下:
yangequ0ff00h-0280hyuan8255_A equyang+288h
yuan8255_B equyang+28bhyuan8255_Cequyamg+28ahyuan8255_M0DEequyang+28chyuan8253aequyang+280hyuan8253bequyang+281hyuan8253kequyang+283h
DATASEGMENT
LA DB?
LB DB?
AADB'
yxyqrDANGERgoaway!
!
$'
TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHDATAENDSCODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
movdx,yuan8253k ;
向8253写控制字
moval,36h ;
使0通道为工作方式3outdx,al
movax,1000 ;
写入循环计数初值1000
movdx,yuan8253a
out
dx,
al
;
先写入低字节
mov
al,
ah
后写入高字节
movdx,yuan8253k
moval,76h ;
设8253通道1工作方式2outdx,al
movax,200 ;
写入循环计数初值200
movdx,yuon8253b
outdx,al ;
先写低字节
moval,ah
outdx,al ;
后写高字节
MOVAX,DATAMOVDS,AX
MOVDX,yuan8255_M0DE ;
初始化8255
MOVAL,88H ;
置8255的A口B口为输岀,C口高4位为输入,低4位
为输出
OUTDX,AL
MOVCL,9 ;
赋初值9
DISPY:
MOVBX,OFFSETTABLEMOVAL,CL
;
赋七段代码表首地址给BX
XLAT ;
查表指令, 将以BX为首地址AL为偏移地址的值
赋给AL
MOVDX,yuan8255_AOUTDX,AL
;
从A口输出AL
CALLDALLY1 ;
调用1S延时子程序
PAUSE• •
•f
MOVDX,yuan8255_CINAL,DX
CMPAL,40H
暂停,D14置1暂停倒计吋
WATT1:
;
复位,
CMPAL,80H
D15置1复位复到9
JZWAIT2 ;
D15置1后执行WAIT2
SUBCL,1 ;
减1倒计时
WAIT2:
BB:
Al:
away!
"
MOVAL,CLCMPCL,OFFHJNZDISPYJMPBB
MOVCL,9
MOVBX,OFFSETTABLEMOVAL,CL
JMPDTSPY
MOV
DX,
yuan8255_M0DE
AL,
80H
OUT
AL
MOVDX,yuan8255_CMOVAL,77H
OUTDX,ALMOVLA,AL
MOVDX,yuan8255_BMOVAL,OFEI1
OUTDX,ALMOVLB,AL
CALLDALLY
LA
ROR
LA,
AND
30H
MOVDX,yuan8255_C
LB
ROL
LB,
MOVDX,yuan8255_BOUTDX,AL
MOVDX,OFFSETAA
MOVAll,91NT21H
MOVDL,ODHMOVAH,02HTNT21H
倒计时未到0,继续倒计时
重新从9开始倒计时
流水灯
再次初始化8255
A.B.C三个端口都为输出
延时
不带进位的循环右移取AL的4,5位
从C口输岀,控制蜂鸣器
不带进位的循环左移
输出字符“yxyqrDANGERgo
DALLY:
CALLDALLYCALLBREAKJMPAl
MOVCX,3FFH
软件延吋子程序
DI:
D2:
DI:
MOVAX,
OFFFFH
DECAX
JNZD2LOOPDIRET
BREAKPROCNEAR 有键按下终止程序,无键按下继续
执行程序
MOVAH,1TNT16HJZAl
MOVAX,4C00HINT21H
BREAKENDP
DALLY1PROCNEAR ;
Is延时程序
PUSHAXPUSHCX
MOVCX,OFFFFH
D3:
MOVAX,7FFFIID4:
DECAX
JNZD4LOOPD3POPCXPOPAXRET
DALLY1ENDP
CODEENDS
ENDSTART
PS:
对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的功能显示报警信息。
通过试验一出错一再试验的过程,才得以完成。
当我们完成这个程序时,发现脑中关于微机原理的知识更加清晰。
这才让我们相信,只有不断的试验,不断的动手去演练,基础知识才能转化成真正在生活屮能够实现的东西。
我想我们以后无论在什么方面,特别是在研究设计方面。
动手加动脑才是成功的关键,一味的在理论上追根问底根本不可能在现实中实现。
这是我从这次课程设计中得到的最大的体会。
此外,我们要感谢张兵老师对我们的悉心指导,在课程设计出现问题的过程中,是他不厌其烦的为我们讲解电子警报器的原理及相关知识,没有他的辛勤付出,我们的课程设计是不可能取得成功的。
附录
参考文献
1.《微机原理及应用》,杨素行,清华大学岀版社,1994年。
2.《微型计算机原理及应用》,郑学周斌编著,清华大学岀版社,1994年6月。
3.微机原理与接口技术实验指导与习题集,周明德主编,人民邮电出版社,2002o
4.《微机原理与接口技术》,李芷主编,电子工业岀版社,2002o
5.《微机原理与应用考点分析及效果测试》,丛书编委会编,哈尔滨工程人学出版社,2003o