12级微机原理课程设计报告电子版 z张德全.docx
《12级微机原理课程设计报告电子版 z张德全.docx》由会员分享,可在线阅读,更多相关《12级微机原理课程设计报告电子版 z张德全.docx(18页珍藏版)》请在冰豆网上搜索。
12级微机原理课程设计报告电子版z张德全
吉林建筑大学
电气与电子信息工程学院
微机原理接口技术课程设计报告
设计题目:
微机原理与接口技术
专业班级:
信科121
学生姓名:
张德全
学号19
指导教师:
王蓉晖
设计时间:
2014.12.10-2014.12.26
教师评语:
成绩评阅教师日期
目录
摘要…………………………………………………………………………3
第1章设计目的要求及原理…………………………………………………4
1.1系统设计要求………………………………………………………………4
1.2设计目的……………………………………………………………………4
1.3设计原理……………………………………………………………………4
第2章硬件与软件设计及功能介绍…………………………………………5
2.1计数器8253…………………………………………………………………5
2.2可编程并行接口8255………………………………………………………8
2.3译码器74LS138……………………………………………………………10
2.4可编程中断控制器8259A…………………………………………………10
2.5硬件的连接…………………………………………………………………11
2.5.18255与外接设备的连接…………………………………………………11
2.5.2译码器与8255.8253连接………………………………………………12
第3章总结……………………………………………………………………13
参考文献…………………………………………………………………………13
附录………………………………………………………………………………14
摘要
利用可编程中断控制器8259根据不同的信号源来对中断源进行中断屏蔽,系统通过可编程定时/计数器8253的两个计数器级联,实现对2MHz时钟信号的计数定时,初始化8253中写入定时信息,使系统每100ms产生一个定时中断请求信号发送给8259A,由其送入8086CPU后,CPU检测一次开关状态,若检测开关为闭合状态,则使继电器通电动作,若检测开关为断开状态,则继电器不动作;初始状态下继电器不动作。
关键词:
可编程定时/计数器8253,可编程并行接口8255,中断控制8259A,译码器74LS138,继电器。
ABSTRACT
Usingprogrammableinterruptcontroller8259accordingtothedifferentsourcetointerruptmaskinterruptsource.Thesystemcountthe2MHzclocksignalbytwocountersoftheProgrammableTiming Counter8253cascadedtogether,theTiminginformationiswrotewheninitializingthe8253,thesystemproducesaninterruptrequestsignalevery100msandconveyittotheCPUthroughProgrammable InterruptController8259A,afterthat,8086CPUteststhestateoftheswitch,iftheswitchisclosed,CPUwillmaketherelayactuate,andintheinitialstateoriftheswitchisopened,the8086willmaketherelaystayoff.
Keywords:
ogrammableParallelInterface8255ProgrammableTiming Counter8253Timerandinterruptinterruptcontroldecoder74LS138.
第1章设计要求目的及原理
1.1系统设计要求
1,用8255,8255实现开关的检测与继电器的控制电器。
2,开关断开时,继电器闭合。
开关打开时,继电器工作。
3,每隔100ms检测开关状态实现继电器控制。
4,初始状态继电器不动作。
5,8255的片选地址384H~387H,8253的片选地址388H~38BH
1.2设计目的
该设计以8086CPU为主控芯片,利用可编程并行接口8255作为开关检测和继电器控制信息的输入/输出接口,使8255的PA端口和PB端口均工作于方式0;将可编程定时/计数器8253的计数器0和计数器1两个计数器级联,并使其均工作在方式3,利用OUT0的输出作为计数器1的时钟信号,使其输出频率为2KHz,使OUT1输出频率为10Hz,从而实现对2MHz时钟信号分频,使系统每100ms产生一次中断,将该定时中断请求信号发送给8259A,并由其送入8086CPU的INTR端,CPU收到中断请求后检测开关状态,若检测开关为闭合状态,则使继电器通电动作,若检测开关为断开状态,则继电器不动作;初始状态下继电器不动作。
8253、8255和8259A的片选地址由74LS138译码给出。
1.3设计原理
图1-1原理图
第2章硬件与软件设计及功能介绍
2.1计数器8253
(1)引线及功能
图2-18253管脚图
D0~D7;8位双向数据
;片选信号,输入,低电平有效。
由系统高位的I/O地址译码产生。
当它有效时,此定时器芯片被选中。
;读控制信号,输入低电平有效。
当它有效的时候表示CPU要对计数器芯片进行读操作。
;写控制信号,输入低电平有效。
当它有效的时候表示CPU要对计数器芯片进行写操作。
A0,A1;地址信号线。
高位地址好经译码产生CS片选信号,决定8253芯片所具有的地址范围。
CLK0~CLK2;每个计数器的始终信号输入端。
计数器对此时钟信号进行技术。
GATE0~GATE2;门控信号,用于控制计数的启动和停止。
OUT0~OUT2;计数器输出信号。
(2)工作方式
表2.18253计数器工作方式
工作方式
启动计数
中止计数
自动重复
更新初值
输出波形
0
软件
GATE=0
否
立即有效
延时时间可变的上升沿
1
硬件
/
否
下一轮
宽度N*Tclk的单一负脉冲
2
软/硬件
GATE=0
是
下一轮
周期N*Tclk宽TCLK的连续负脉冲
3
软/硬件
GATE=0
是
下半轮
周期N*Tclk的连续方波
4
软件
GATE=0
否
立即有效
宽度Tclk的单一负脉冲
5
硬件
/
否
下一轮
宽度Tclk的单一负脉冲
(3)控制字
8253必须先初始化才能正常工作,每个计数通道可分别初始化.CPU通过指令将控制字写入可编程定时器8253的控制寄存器,从而确定3个计数器分别工作于任何种工作方式下。
(4)与系统相连,内部结构,编程
8253共占用4个端口地址,地址范围由高位地址信号决定,高位地址的译码输出接到片选段CS,A0和A1分别接入到系统总线的A0,A1地址信号线上,用来寻址芯片内部的3个计数器及控制寄存器。
表2.2各寻址信号组合功能
A1A0
功能
A1A0
功能
000
10
写计数器0
000
01
读计数器0
001
10
写计数器1
001
01
读计数器1
010
10
写计数器2
010
01
读计数器2
011
10
写控制寄存器
011
01
无效
8253主要由3个计数器,一个控制寄存器以及数据总线缓冲器和读/写逻辑电路.每个计数器都包含16位的初值寄存器,一个计数执行单元和一个输出锁存器.当置入初值后,计数器执行单元开始对输入脉冲CLK进行减1计数,在减到零时,从OUT端输出一个信号,整个过程重复进行。
数据缓冲器是一个8位的双向三态缓冲器,和CPU数据总线之间连接接口。
D0~D7
A0
A1
图2-2可编程定时器8253的内部结构框图
8253的编程也称为对8253进行初始化。
它包括两部分:
写各计数器的方式控制字,设置技术初值。
由于8253每个计数器都有自己的地址,控制字中又有专门两位来指定计数器,这使得对计数器的初始化可按任何顺序进行。
写入方式控制字
写入计数值低8位
写入计数值高8位
图2-3计数器的初始化编程顺序
(5)8253的初始化
设置工作方式;
MOVDX,38BH
MOVAL,36H;36H=00110110
OUTDX,AL
MOVAL,56H
OUTDX,AL
置计数器初值;
MOVDX,388H
MOVAX,1000
OUTDX,AL
MOVAL,AH
OUTDX,AL
MOVDX,389H
MOVAX,999
:
:
:
2.2可编程并行接口8255简介
Intel8255是一个通用的可编程的并行接口芯片,它有三个并行I/O口,传输速度快,信息率高。
又可通过编程设置多种工作方式,价格低廉,使用方便,可以直接与Intel系列的芯片连接使用,在中小系统中有着广泛的应用。
8255由以下几部分组成:
三个数据端口A,B,C、A组和B组的控制电路、数据总线缓冲器和读/写控制逻辑电路,见图2-6。
其管脚图如图2-7所示。
图2-48255的内部结构
图2-58255管脚图
8255内部包含A.B.C三个端口和一个控制寄存器,共占4个外设地址。
由高位地址通过译码产生片选信号,决定芯片在整个接口地址空间中的位置;A1.A0决定片内的4个端口(例如,A1A0=00时指向得A口),他们结合起来共同决定了芯片所占的地址范围。
表2-38255个引脚状
CS
A1
A0
IOR
IOW
操作
0
0
0
0
1
读A口
0
0
1
0
1
读B口
0
1
0
0
1
读C口
0
0
0
1
0
读A口
0
0
1
1
0
读B口
0
1
0
1
0
读C口
0
1
1
1
0
写控制寄存器
0
/
/
1
1
D0~D7三态
8255有ABC共3个8位数据端口,可以通过编程把它们分别指定为输入口或输出口.A口和B口的输入/输出都具有数据锁存的能力,C口输出有锁存的能力,而输入没有。
ABC这3个口作为输出时,其输出锁存器的内容可以由CPU用输入指令读回,ABC这三个口可作为三个独立的8位数据输入/输出口;也可以只将AB口作为数据的输入/输出口,而是C口的各位作为他们与外设连络用的状态或选通控制信号的输入输出。
(4)8255的初始化
MOVDX,387H
MOVAL,82H;10000010
OUTDX,AL
XORAL,AL;A口输出全0
MOVDX,384H
OUTDX,AL
2.3译码器74LS138简介
74LS138是一个利用CMOS门电路组成的3线—8线译码器。
它的作用是把给定的3位二进制代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。
译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据分配,存贮器寻址和组合控制信号等。
译码器是组合逻辑电路的一个重要的器件。
74LS138的逻辑功能表如表2-1所示,管脚图如图2-2所示。
表2-474ls138工作图
图2-674ls138引脚图
71LS138有三个附加的控制端S1、S2非和S3非。
当S2非和S3非为低电平,S1为高电平时,译码器处于工作状态。
否则,译码器被禁止,所有的输出端被封锁在高电平。
这三个控制端也叫做“片选”输入端,利用片选的作用可以将多篇连接起来以扩展译码器的功能。
2.4可编程中断控制器8259A
8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。
单个的8259A能管理8级向量优先级中断。
在不增加其他电路的情况下,最多可以级联成64级的向量优级中断系统。
8259A有多种工作方式,能用于各种系统。
各种工作方式的设定是在初始化时通过软件进行的。
在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态,编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态。
中断处理;
MOVDX,385H;PB口地址
INAL,DX;读PB0状态
NOTAL;变法
MOVDX,384H;输出到继电器
:
:
8259A的内部结构是由中断请求寄存器IRR、中断屏蔽寄存器IMR、中断服务寄存器ISR、优先权判别器PR、数据总线缓冲器、读/写控制逻辑和级联缓冲/比较器组成的。
其管脚结构如图2-5所示。
图2-78259A管脚图
8259A的工作方式有如下几类:
中断优先方式与中断嵌套、中断结束处理方式、屏蔽中断源的方式、中断触发方式和级联工作方式。
本系统中8259A的中断源由8253的OUT1给出,送到任一中断请求输入端,而其中断请求输出端接到8086的中断请求信号输入引脚INTR。
2.5硬件的连接
2.5.18255与外界设备的连接
图2-88255与外设的连接
2.5.2译码器与8255,8253的连接
图2-9译码器与8255,8253连接
第3章总结
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。
通过这次接口设计,本人在多方面都有所提高。
通过这次模具设计,综合运用本专业所学课程的理论和生产实际知识进行一次8086接口设计设计工作的实际训练从而培养和提高学生独立工作能力,巩固与扩充了8255芯片设计等课程所学的内容,以及8253芯片设计的内容。
在这次设计过程中,体现出自己单独设计接口的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
我们的王老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次接口设计的每个实验细节和每个数据,都离不开老师您的细心指导。
而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。
同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。
参考文献
1,《微机计算机原理与接口技术》吴宁冯博琴清华大学出版社
2,《软件技术与程序设计》杨宪泽清华大学出版社
3《电子系统设计》余小平奚大顺北京航空航天大学出版社
附录: