微机原理与接口技术.docx
《微机原理与接口技术.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术.docx(12页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术
微机原理与接口技术
课程设计
目录
封面-------------------------------------------------------------------
前言摘要---------------------------------------------------------------
一、题目以及设计任务、要求--------------------------------------------
二、LED的开关控制的具体设计----------------------------------------
2.1、电路原理---------------------------------------------------------
2.2、系统原理---------------------------------------------------------
2.218255A的工作原理--------------------------------------
2.228255A的内部结构:
-----------------------------------
2.23、引脚信号:
-----------------------------------------------
2.24、8255A的工作方式----------------------------------------
2.3软件流程图如下:
--------------------------------------------------
2.4汇编语言程序如下:
------------------------------------------------
三、软件的上机调试与调试结果-----------------------------------------18
3.1调试过程及相关问题-----------------------------------------------
3.2调试实例结果与实物显示:
------------------------------------------19
4、设计心得与体会:
--------------------------------------------------
5、参考文献----------------------------------------------------------
前言摘要
随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。
多媒体技术、网络技术、智能信息处理技术、自适应控制技术、数据挖掘与处理技术等都离不开计算机。
本课设是基于微机原理与接口技术的简单应用。
运用所学的微机原理与接口技术的知识来完成LED的开关控制。
通过硬件与软件的结合,用我们刚刚学过的汇编语言程序模拟分析了LED的开关控制系统,给出了一种简单实用的LED的开关控制系统的硬件,软件电路设计方案。
因为该方案可以显示开关的状态,所以该系统可适用于城市霓虹灯的控制,控制者可以知道哪里的霓虹灯不亮,以便及时检修;该方案也可以应用于医院病房监护系统,,不仅当值的护士可以看到,医院也可以看到,医生就可以第一时间赶到,及时的起到监护的作用,防止病人因为病情延缓而耽误救治。
1、题目:
八个开关控制LED
初始条件:
1、运用所学的微机原理与接口技术知识。
2、微机原理与接口技术实验室的实验箱设备。
要求完成的任务:
采用8255a芯片对开关和LED的控制,具体要求如下:
1、K1高电平时,L1亮,反之,L1熄灭,可以手动调节;
2、K2高电平时,L2亮,反之,L2熄灭,可以手动调节;
3、K3高电平时,L3亮,反之,L3熄灭,可以手动调节;
4、K4高电平时,L4亮,反之,L4熄灭,可以手动调节;
5、K5高电平时,L5亮,反之,L5熄灭,可以手动调节;
6、K6高电平时,L6亮,反之,L6熄灭,可以手动调节;
7、K7高电平时,L7亮,反之,L7熄灭,可以手动调节;
8、K8高电平时,L8亮,反之,L8熄灭,可以手动调节;
9、并且能在计算机窗口上显示LED状态(1.灯亮;0.灯灭)
10、严格按照课程设计要求撰写课程设计说明书,B5纸打印。
二、LED的开关控制的具体设计
2.1、电路原理
本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块都已经连接,使用者只要设计模块间的电路连接。
因此,硬件电路的设计和实现相对简单。
完整系统的硬件连接如图1所示。
硬件电路由开关模块,发光二极管模块,8255可编程并行接口模块组成。
实验的对应接线图如下:
对应的实物连接如下图
2.2、系统原理
2.218255A的工作原理:
Intel8086/8088系列的可编程外设接电路(ProgrammablePeripheralInterface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。
8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。
2.228255A的内部结构:
2.23、引脚信号:
8255共有40个引脚,采用双列直插式封装,各引脚功能如下:
D0--D7:
三态双向数据线,与单片机数据总线连接,用来传送数据信息。
CS:
片选信号线,低电平有效,表示芯片被选中。
RD:
读出信号线,低电平有效,控制数据的读出。
WR:
写入信号线,低电平有效,控制数据的写入。
Vcc:
+5V电源。
PA0--PA7:
A口输入/输出线。
PB0--PB7:
B口输入/输出线。
PC0--PC7:
C口输入/输出线。
RESET:
复位信号线。
A1、A0:
地址线,用来选择8255内部端口。
GND:
地线。
2.24、8255A的工作方式,8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种:
方式0:
基本的输入输出方式,即无须联络就可以直接进行的I/O方式。
其中A、B、C口的高四位或低四位可分别设置成输入或输出。
方式1:
选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0.
方式2:
双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。
2.3软件流程图如下:
汇编语言程序如下:
DATASEGMENT
IOPORTEQU0D880H-280H
IO8255CEQUIOPORT+282H
IO8255TEQUIOPORT+283H;地址
TABDB'12345678',0DH,0AH,'$';8个端口
PBDB?
MESSDB'ENTERANYKEYCANEXITTODOS!
',0DH,0AH,'$'
DATAENDS
STACKSEGMENTSTACK
STADW50DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,ES:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVES,AX
MOVAH,09H
MOVDX,OFFSETMESS
INT21H;显示提示信息
MOVAH,01H;任意键开始
INT21H
MOVDX,IO8255T;控制端口
MOVAL,99H;控制字
OUTDX,AL
MOVDX,IO8255C;读端口低四位
INAL,DX
MOVBL,AL;K1-K8信息送BL
MOVAH,09H
MOVDX,OFFSETTAB
INT21H;显示表头
MOVCL,08H;显示K1-K8
MOVDX,IO8255T
MOVAL,81H
OUTDX,AL
MOVDX,IO8255T
MOVAL,80H
OUTDX,AL
MOVDX,IO8255C;端口C
MOVAL,PB
ORAL,0CH
OUTDX,AL
MOVAL,30H
OUTDX,AL
CALLDELAY10;延时
BBB:
MOVDL,BL
CALLDISP
SHLBL,1
LOOPBBB
MOVAX,4C00H
INT21H
DISPPROCNEAR;显示字符子程序
PUSHAX
PUSHCX
MOVCL,07H
ANDDL,80H
SHRDL,CL
POPCX
ADDDL,30H
MOVAH,02H
INT21H
MOVDL,20H
INT21H
MOVDL,20H
INT21H
POPAX
RET
DISPENDP
LLL:
MOVDX,IO8255C
MOVAL,12H
OUTDX,AL
CALLDELAY10
CALLDELAY10
CALLDELAY10
MOVAL,10H
OUTDX,AL
MOVCX,0040H
TTT:
MOVAL,0CH
OUTDX,AL
PUSHCX
MOVCX,80H
LOP1:
CALLDELAY1
LOOPLOP1
MOVAL,00H
OUTDX,AL
MOVCX,80H
LOP2:
CALLDELAY1
LOOPLOP2
POPCX
LOOPTTT
MOVAL,30H
OUTDX,AL
CALLDELAY10
CALLDELAY10
CALLDELAY10
MOVAL,20H
OUTDX,AL
MOVCX,0040H
GGG:
MOVAL,0CH
OUTDX,AL
PUSHCX
MOVCX,80H
LOP3:
CALLDELAY1
LOOPLOP3
MOVAL,00H
OUTDX,AL
MOVCX,80H
LOP4:
CALLDELAY1
LOOPLOP4
POPCX
LOOPLOP4
POPCX
LOOPGGG
MOVAL,30H
OUTDX,AL
CALLDELAY10
MOVAH,06H;有键按下吗?
MOVDL,0FFH
INT21H
JNZPPP;有键按下则退出
JMPLLL;没有则继续
PPP:
MOVAX,4C00H
INT21H
DELAY1PROCNEAR;延时子程序
PUSHCX
MOVCX,0FFFFH
CCC:
LOOPCCC
POPCX
RET
DELAY1ENDP;延时子程序结束
DELAY10PROCNEAR
PUSHAX
PUSHCX
MOVCX,0F00H
UUU:
CALLDELAY1
LOOPUUU
POPCX
POPAX
RET
DELAY10ENDP
CODEENDS;结束
ENDSTART
三、软件的上机调试与调试结果
3.1调试过程及相关问题
软件在调试中编程遇到一定的问题,首先必须得对微机的汇编语言有一定的了解与应用情况,还有在编程调试中会出现很多的错误,怎么对应程序出现的不同问题,提出解决的方案。
第二:
汇编语言对应的灯的地址可能会有出现错误,不能做到相应的开关对应相应的灯。
3.2调试实例结果与实物显示:
实物显示:
从实物与调试结果可以看出,需要完成的任务已经完成了,从左到右1到8对应相应的灯,而且4,5,6号灯灭,刚好显示的是0状态,其他等显示的是1。
做到了灯口与地址对应。
4、设计心得与体会:
这次设计得到了很多东西,首先感受到了团队的重要性,虽然我们团队只有两个人,但是我们都很团结,齐心协力,在设计中遇到了很多的困难,但是我们都克服了,我知道,如果只是我一个人的话,肯定做不到这么的好,所以谢谢这个团队,还有是得感谢一直在身边的老师,你们凭你们的经验,能力帮我们解决了很多问题,这些问题我们可能靠查资料上网一直解决不了,也可能这个课设也做不出来
第二:
是感觉到了查资料的重要性,上网查,找书查,平时上课做作业的时候感觉书很死板,看到书就有点头疼,可是正是这些书,帮助我们成功,还有增进了自己网上查资料的能力,网络真是很强大。
第三:
对微机这门课,汇编语言有了更多的了解。
那些语句,那些程序,还有I/O端口,8255A,在自己的脑子里有了更深的印象。
也加深了对课堂上理论知识的了解,我相信这次的课设对我的结业考试以及以后的工作会有很大的影响!
五、参考文献
1、《微机原理与接口技术》(基于32位机)马春燕、段承先、秦文萍编著
电子工业出版社出版时间:
2007.1
2、《汇编语言程序设计实验指导》蔡启先、王智文、黄晓璐编著
清华大学出版社出版时间:
2008.3