大学生微型计算机原理课程设计.docx
《大学生微型计算机原理课程设计.docx》由会员分享,可在线阅读,更多相关《大学生微型计算机原理课程设计.docx(18页珍藏版)》请在冰点文库上搜索。
大学生微型计算机原理课程设计
课程设计任务书
专业
自动化
班级
11自动化2
姓名
设计起止日期
2013.12.16~2013.12.20
设计题目:
交通灯控制设计
设计任务:
1.利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。
2.实现自动控制和手动应急控制。
指导教师评语:
成绩:
签字:
年月日
课程设计说明书NO.1
1引言
交通灯是采用计算机通过编写汇编语言程序控制的。
红灯停,绿灯行的交通规则。
广泛用于十字路口,车站,码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯,交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。
诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。
还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。
或者给红绿色盲声音警示的人性化设计。
现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。
当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。
因此,研究交通灯及扩大其应用,有着非常现实的意义。
2.课程设计的目的
为了巩固《微型计算机技术》课程学到的相关知识,通过对本课程所学知识的综合运用,使学生融会贯通课程中所学的理论知识,加深对计算机系统各个部分的工作原理及相互联系的认识,加深对接口的理解,清晰地建立计算机系统的概念,培养学生进行微机应用系统硬件和软件开发的实践工作能力。
3.设计方案论证
比较复杂的程序设计一般采用模块化程序设计的思想,设计过程一般如下:
3.1分析与确定程序总体设计目标。
3.2将总体目标划分为若干任务(模块),画去模块层次图。
3.3定义每个模块的具体任务,明确它和其它模块间的通信方式,写出模块说明。
3.4编写汇编语言源程序,并进行调试。
3.5实现模块的连接,形成完整的程序。
沈阳大学
课程设计说明书NO.2
3.6编写程序文档,形成软件产品。
4.系统硬件设计
4.18253简介
intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异。
图18253内部结构及引脚图
8253内部可分为6个模块,每个模块的功能如下:
(1)数据总线缓冲器及数据总线D0~D7(如上图所示)
(2)读/写控制逻辑及控制引脚
(3)控制字寄存器
在初始化编程时,CPU写入方式控制字到控制字寄存器中,用以选择计数通道及其相应的工作方式。
8253的工作方式也是有控制字来决定。
(4)计数通道0、计数通道1、计数通道2
3个计数通道内部结构完全相同。
每个计数通道都由一个16位计数初值寄存器、一个16位减法计数器和一个16位计数值锁存器组成
计数初值存于预置寄存器,在计数过程中,减法计数器的值不断递减,而预置寄存
器中的预置不变。
输出锁存器用于写入锁存命令时,锁定当前计数值。
沈阳大学
课程设计说明书NO.3
4.28086简介
Intel8086是16位的微处理器(其内部总线为16位,外部总线为8位,故称为准16位微处理器),它采用HMOS工艺40条引脚封装。
8086工作时使用5V电源,时钟频率5MHz(8086-1为10MHz,8086-2为8MHz)它有20根地址线,故可寻址的内存空间为1MB【9】。
另外,Intel公司同期推出的Intel8088微处理器一种准16位微处理器,其内部寄存器,内部操作等均按16位处理器设计,与Intel8088微处理器基本上相同,不同的是其对外的数据线只有8位,目的是为了方便地与8位I/O接口芯片相兼容。
如图所示是8086CPU的内部功能结构。
从功能上来看,8086CPU可分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)
图28086CPU的内部功能结构图
沈阳大学
课程设计说明书NO.4
(1)8086的主要特性
Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性:
(a)8086CPU数据总线为16位,8088CUP数据总线为8位。
(b)地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。
(c)有16位的端口地址,可以寻址64KB的I/O端口。
(d)有99条基本指令,指令功能强大。
(e)有9种基本寻址方式。
(f)可以处理内部和外部中断,外部中断源多达256个。
(g)兼容性好,8086、8085在源程序一级兼容。
(h)8086/8088标准主频为5MHz,8086/8088-2主频为8MH【3】。
(i)支持单处理器或多处理器系统工作。
5.设计要求
在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路
软件设计
1.采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
2.画出程序流程图。
3.根据流程图,编写源程序。
4.在Proteus环境下,仿真调试程序
6.设计原理与硬件电路
沈阳大学
课程设计说明书NO.5
图3系统硬件接线图
沈阳大学
课程设计说明书NO.6
图48255内部结构及引脚
图48255内部结构及引脚图
具体的各引脚功能如下【3】:
D0~D7为双向数据信号线,用来传送数据和控制字。
RD为读信号线,与其它信号线一起实现对8255接口的读操作通常接系统总线的IOR信号。
WR为写信号线,与其它信号一起实现对8255的写操作,通常接系统总线的IOW。
沈阳大学
课程设计说明书NO.7
CS为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作【6】。
A0,A1为口地址选择信号线。
8255内部有3个口;A口,B口,C口,还有一个控
制寄存器,它们可由程序寻址。
A0,A1上的不同编码可分别寻址上述3个口和一个控制寄存器,具体规定如表1所示。
表18255的寻址方式
A1
A0
选择
0
0
A口
0
1
B口
1
0
C口
1
1
控制寄存器
通常A0,A1分别接系统总线A0和A1,它们与CS一起来决定8255的接口地址。
RESET为复位输入信号。
此端上的高电平可使8255复位。
复位后,8255的A口,B口,C口均被定为输入状态。
PA0~PA7为A口的8条输入输出信号线。
PB0~PB7为B口的8条输入输出信号线。
PC0~PC7,8条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线【7】。
8255工作方式控制字和C口按位置位/复位控制字格式如图3所示【4】。
沈阳大学
课程设计说明书NO.8
图
图5置位/复位控制字格式
8255的寻址:
8255占外设编址的4个地址,即A口,B口,C口和控制寄存器各占一个外设接口地址。
对同一个地址分别可以进行读写操作。
例如,读A口可将A口的数据读出;写A口可将CPU的数据写入A口并输出【8】。
如表2为方式0下系统的输入输出组合,其中分为A,B组,A组分为A口和C口,B组分为B口和C口。
8255的工作方式主要有工作方式0、工作方式1和工作方式2。
其中端口A
可以工作在三种方式中的任一种;端口B只能工作在方式0和方式1;端口C通常作为控制信号使用,配合端口A和端口B的工作。
在交通灯控制的设计中只用到了工作方式0。
沈阳大学
课程设计说明书NO.9
表2方式0下,8255的16种输入输出组合
A组
B组
A口(PA0---PA7)
C口(PC4---PC7)
B口(PB0---PB7)
C口(PC0---PC3)
入
入
入
入
入
入
入
出
入
入
出
入
入
入
出
出
入
出
入
入
入
出
入
出
入
出
出
入
入
出
出
出
出
入
入
入
出
入
入
出
出
入
出
入
出
入
出
出
出
出
入
入
出
出
入
出
出
出
出
入
出
出
出
出
工作方式0,又称为基本工作方式。
在此方式下,可分别将A口的8条线,B口的8条线,C口高4位对应的4条线和C口的低四位对应的四条线定义为输入或输出。
故它们的输入输出共有16种不同的组合。
工作方式1,既选通输入输出方式。
在这种方式下,A口和B口仍作为数据的输出口和输入口,同时还要利用C口的某些位作为控制和状态信号。
工作方式2,又称双向输入输出方式。
这种方式只有8255的口A才有。
在A口工作于双向输入输出方式时,要利用C口的5条线才能实现。
因此,B口只能工作在工作方式0或工作方式1,而C口剩下的3条线可以作为输入输出线使用或B口方式1下的控制线【1】。
沈阳大学
课程设计说明书NO.10
沈阳大学
课程设计说明书NO.11
7.程序流程图
沈阳大学
课程设计说明书NO.12
8.程序代码
A_PORTEQU200H
B_PORTEQU202H
C_PORTEQU204H
CTRL_PORTEQU206H
CLK0EQU100H
CLK1EQU102H
CTRLEQU106H
DATASEGMENT
BUF1DB09H,11H,21H,12H,0CH,4AH,89H,49H
BUF2DB0C5H,0A3H,95H,93H,95H,13H,15H,23H,0H
DATAENDS
STACKSEGMENTPARASTACK'STACK'
DB100DUP(?
)
STACKENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK
START:
MOVAX,DATA
MOVDS,AX
MOVAX,STACK
MOVSS,AX
MOVAL,10010000B
MOVDX,CTRL_PORT
OUTDX,AL
MOVAL,0
沈阳大学
课程设计说明书NO.13
MOVDX,B_PORT
OUTDX,AL
MOVDX,C_PORT
OUTDX,AL
CALLPLAY
LEASI,BUF1
LEABX,BUF2
AAA1:
MOVCH,[BX]
MOVCL,CH
ANDCL,00001111B
CALLSHOW1
CALLDELAY
CALLSHOW2
CALLDELAY
JMPAAA6
AAA4:
MOVDX,A_PORT
INAL,DX
ANDAL,00000001B
CMPAL,00000000B
JNZAAA7
MOVAL,00001001B
MOVDX,B_PORT
OUTDX,AL
MOVAL,10010000B
MOVDX,C_PORT
OUTDX,AL
沈阳大学
课程设计说明书NO.14
JMPAAA4
AAA7:
MOVDX,A_PORT
INAL,DX
ANDAL,00000010B
CMPAL,00000000B
JNZAAA4
CMPCL,0
JNZAAA5
INCSI
INCBX
MOVAL,[BX]
CMPAL,0
JNZAAA1
JMPSTART
AAA5:
DECCL
DECCH
CALLSHOW2
CALLDELAY
AAA6:
MOVDX,A_PORT
INAL,DX
ANDAL,00000010B
CMPAL,00000010B
JNZAAA6
JMPAAA4
SHOW1PROC
沈阳大学
课程设计说明书NO.15
MOVAL,[SI]
MOVDX,B_PORT
OUTDX,AL
RET
SHOW1ENDP
SHOW2PROC
MOVAL,CH
MOVDX,C_PORT
OUTDX,AL
RET
SHOW2ENDP
PLAYPROC
MOVAL,00110111B
MOVDX,CTRL
OUTDX,AL
MOVAX,1000
MOVDX,CLK0
OUTDX,AL
MOVAL,AH
OUTDX,AL
RET
PLAYENDP
DELAYPROC
PUSHCX
沈阳大学
课程设计说明书NO.16
RET
DELAYENDP
CODEENDS
ENDSTART
9.程序及硬件系统调试情况
9.1程序运行结果:
1.东西路右拐和南北路左拐绿灯点亮5秒,直通到均为红灯
2.5秒后,黄灯亮3秒钟,。
此时南北方向仍维持红灯点亮。
3.东西方向直通,为绿灯,南北方向红灯
4.黄灯再亮三秒之后,东西路左拐和南北路右拐绿灯点亮
5.南北方向的黄灯亮3秒钟后,南北方向直通,延时5秒
6.闭合A口开关,四个路口全红灯,表明紧急状态。
10.设计总结与体会
经过这一周的课程设计,做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解.
沈阳大学
课程设计说明书NO.17
而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。
把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。
以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。
11.参考文献
[1]彭虎、周佩玲、傅忠谦.《微机原理里与接口技术》(第2版)[M]北京:
电子工业出版社2008,149-187
[2]周明德.《微型计算机系统原理及应用》[M]北京:
清华大学出版社,1998;
[3]胡汉才.单片机原理及其接口技术[M].北京:
清华大学出版社,2010.3:
299-319
[4]范立南,张乐.微型计算机原理及应用[M].北京:
清华大学出版社,2012.1:
12-54
[5]杨立,邓振杰,荆淑霞.微型计算机原理与接口技术[M].北京:
中国铁道出版社,2009.3:
45-89
[6]王永山,杨宏五,杨婵娟.微型计算机原理与应用[M].西安:
西安电子科技大学出版社,2009.3:
172-253
[7]赵全利.微型计算机原理及接口技术[M].北京:
机械工业出版社,2009:
61-132
[8]周佩玲、彭虎、傅中谦编著.微机原理与接口技术[M].北京:
电子工业出版社,2005
[9]钱晓捷.汇编语言程序设计[M].北京:
电子工业出版社,2003
[10]于海生.微型计算机控制技术[M].北京:
清华大学出版社,2008
沈阳大学