微机原理与接口技术顺序控制系统.docx

上传人:b****7 文档编号:8959100 上传时间:2023-02-02 格式:DOCX 页数:22 大小:288.02KB
下载 相关 举报
微机原理与接口技术顺序控制系统.docx_第1页
第1页 / 共22页
微机原理与接口技术顺序控制系统.docx_第2页
第2页 / 共22页
微机原理与接口技术顺序控制系统.docx_第3页
第3页 / 共22页
微机原理与接口技术顺序控制系统.docx_第4页
第4页 / 共22页
微机原理与接口技术顺序控制系统.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术顺序控制系统.docx

《微机原理与接口技术顺序控制系统.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术顺序控制系统.docx(22页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术顺序控制系统.docx

微机原理与接口技术顺序控制系统

武汉理工大学华夏学院

课程设计报告书

课程名称:

微机原理与接口课程设计

题目:

顺序控制系统设计

系名:

信息工程系

专业班级:

姓名:

学号:

指导教师:

 

2012年12月28日

 

课程设计任务书

学生姓名:

伍灿灿专业班级:

软件2101

指导教师:

李朝纯工作单位:

信息工程系

设计题目:

顺序控制系统设计

初始条件:

1、7段LED数码管引脚功能

2、TDN86/88型多功能微机实验平台

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

主要任务:

(在规定的时间内完成下列任务)

1.画出硬件原理图(接口芯片和外设部分)和实验连线图;

2.利用8个LED灯分时(按顺序)点亮,模拟1~8个工艺过程(每个工艺过程持续

30秒,由8253实现延时);

3.由开关K7控制系统启动。

要求系统在工作过程中,监控外部事件,若有异常事件发

生,则暂停系统工作,处理(红灯闪烁10次)完后,继续原工作。

*4.当8个工艺过程全部完成后,显示“END”。

时间安排:

(部分时间,某些工作可以重叠进行)

12月24日

布置题目,确定任务、查找相关资料

12月25日~1月27日

功能分析,硬件设计,拟定实验电路,编写程序,调试程序、运行系统;

12月28日

答辩后撰写设计报告。

具体要求:

设计报告撰写格式要求(按提供的设计报告统一格式撰写)

具体内容如下:

①设计任务与要求②总体方案与说明

③硬件原理图与说明④实验电路图与说明

⑤软件主要模块流程图⑥源程序清单与注释

⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);

⑧小结与体会

附录:

①源程序(必须有简单注释)②使用说明③参考资料

指导教师签字:

2012年12月24日

系主任签字:

年月日

目录

1需求分析

1章1.1设计目……………………………………………………1

1.2设计的原始资料及依据……………………………………1

1.3设计的主要内容及要求……………………………………1

1.4电路设计及主要功能………………………………………1

2、概要设计

2.1设计环境及设备……………………………………………2

2.2设计系统框图………………………………………………2

2.3硬件接线图…………………………………………………3

2.4设计流程图…………………………………………………4

3.详细设计

3.18259芯片的内部结构及引脚………………………………4

3.28255A的控制字…………………………………………5

3.38255A引脚及功能示意图…………………………………5

3.48255A内部结构框图………………………………………6

3.58255芯片的内部结构及引脚………………………………7

4、课程设计总结与体会………………………………………7

参考文献………………………………………………………8

附录(程序代码)…………………………………………9

 

1.需求分析

1.1设计目的

通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。

通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。

为以后学生结合专业从事微机应用设计奠定基础。

1.2设计的原始资料及依据

1、7段LED数码管引脚功能;

2、TDN86/88型多功能微机实验平台,及可编程定时/计数器接口芯片8253,可编程并行芯片8255,或其他相关资料。

1.3设计的主要内容及要求

1.画出硬件原理图(接口芯片和外设部分)和实验连线图;

2.利用8个LED灯分时(按顺序)点亮,模拟1~8个工艺过程(每个工艺过程持续

30秒,由8253实现延时);

3.由开关K7控制系统启动。

要求系统在工作过程中,监控外部事件,若有异常事件发

生,则暂停系统工作,处理(红灯闪烁10次)完后,继续原工作。

*4.当8个工艺过程全部完成后,显示“END”。

1.4电路设计及主要功能

1功能简介

整个顺序控制实验我们将系统分为8个过程:

第一步:

1号指示灯亮10秒;

第二步:

2号指示灯亮10秒;

第三步:

3号指示灯亮10秒;

第四步:

4号指示灯亮10秒;

第五步:

5号指示灯亮10秒;

第六步:

6号指示灯亮10秒;

第七步:

7号指示灯亮10秒;

第八步:

8号指示灯亮10秒;

如果系统没有故障产生(即控制红外灯的开关没有闭合),此时整个顺序控制系统将循环运行这五个功能。

当出现故障的时候,即控制红外线灯的开关闭合的时候,此时系统将不能循环进行下去。

所有的过程将停止下来,此时,红外线灯亮,发出报警信号。

若此时断开开关,系统将继续运转下去。

 

2.概要设计

2.1设计环境及设备

PC机一台、windows98系统、实验箱,导线若干。

8255并口:

用做接口芯片,与数码管相连。

8259中断控制器:

用于产生中断

开关K7控制系统

LED灯

2.2设计系统框图

显示模块

中断模块模拟异常事件

图2.1设计系统图

 

2.3硬件接线图

图2.28255硬件连接

2.4设计流程图

部分设计流程图:

 

图2.4.1设计流程图

3.详细设计

3.18259芯片的内部结构及引脚

中断控制器8259是Intel公司专为控制优先级中断而设计开发的芯片。

它将中断源优先排队、辨别中断源以及提供中断矢量的电路集中于一片中。

因此无需附加任何电路,只需对8259编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。

在MD微机系统中,8259芯片工作于单片方式。

8259引脚图如图3.2,各引脚功能如下。

D7-D0——八条双向数据线;

WR(低电平有效)——写输入信号;

RD(低电平有效)——读输入信号;

CS(低电平有效)——片选输入信号;

A0——地址信号;

INT——中断请求信号;

INTA(低电平有效)——中断响应信号;

CAS0-CAS2——级联信号,形成一条专用8259A总线,以便多片8259A的级联;

SP/EN——从编程/允许级联。

在缓冲方式中,可用做输出信号以控制总线缓冲器的接收和发送。

在非缓冲方式中,作为输入信号用于表示主片还是从片;

IR0-IR7——外部中断请求输入线。

要求输入的中断请求信号是由低电平到高电平的上升沿(并保持高电平到CPU响应时为止)或者是高电平。

8259中断矢量地址与中断信号之间的关系如表3.1所示:

表3.18259中断矢量表

中断序号

0

1

2

3

4

5

6

7

功能调用

08H

09H

0AH

0BH

0CH

0DH

0EH

0FH

矢量地址

20H

~

23H

24H

~

27H

28H

~

2BH

2CH

~

2FH

30H

~

33H

34H

~

37H

38H

~

3BH

3CH

~

3FH

说明

时钟

键盘

可用

可用

串行口

可用

可用

可用

 

 

图3.18259引脚图图3.28255引脚图

3.28255A的控制字

(1)工作方式选择控制字

 8255A的工作方式可由CPU写一个工作方式选择控制字到8255A的控制寄存器来选择。

控制字的格式,可以分别选择端口A、端口B和端口C上下两部分的工作方式。

端口A有方式0、方式1和方式2共三种工作方式,端口B只能工作在方式0和方式1,而端口C仅工作在方式0。

注意:

在端口A工作在方式1或方式2,端口B工作在方式1时,C口部分I/O线被定义为8255A与外设之间进行数据传送的联络信号线,此时,C口剩下的I/O线仍工作在方式0,是输入还是输出则由工作方式控制字的D0和D3位决定。

(2)C口按位置位/复位控制字

8255A的C口具有位控功能,即端口C的8位中的任一位都可通过CPU向8255A的控制寄存器写入一个按位置位/复位控制字来置1或清0,而C口中其他位的状态不变。

控制字格式。

应注意的是,C口的按位置位/复位控制字必须跟在方式选择控制字之后写入控制字寄存器,即使仅使用该功能,也应先选送一个方式控制字。

方式选择控制字只需写入一次,之后就可多次使用C口按位置位/复位控制字对C口的某些位进行置1或清0操作。

3.38255A引脚及功能示意图

B组

A组

(b)功能示意图

(a)引脚

图8255A引脚及功能示意图

3.48255A内部结构框图

图8255A内部结构框图

 

3.58255芯片的内部结构及引脚

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种工作方式下工作:

方式0—基本输入/输出方式

方式1—选通输入/输出方式

方式2—双向选通输入/输出方式

8255引脚图如图示,各引脚功能如下。

D7~D0——与CPU侧连接的八条双向数据线;

WR(低电平有效)——写输入信号;

RD(低电平有效)——读输入信号;

CS(低电平有效)——片选输入信号;

A0、A1——片内寄存器选择输入信号;

PA7~PA0——A口外设双向数据线;

PB7~PB0——B口外设双向数据线;

PC7~PC0——C口外设双向数据线;

RESET——复位输入信号

8255端口地址

 

表3.28255端口地址表

信号线

寄存器

编址

IOY3

A口

60H

B口

61H

C口

62H

控制寄存器

63H

 

4.软件设计

子程序名称:

SHOW

;子程序功能:

依次点亮八个LED灯

;子程序入口:

;子程序出口;无

SHOWPROC

PUSHAX

B1:

MOVAL,82H

OUT63H,AL

MOVAL,11111111B;使灯开始处于熄灭状态

OUT60H,AL

MOVAL,BL;按要求点亮灯

OUT60H,AL

CALLDELAYNORMAL;显示后延时

RORAL,1;移位

MOVBL,AL;把初始工作过程保存在BL中

POPAX

RET

SHOWENDP

子程序名称:

DELAYSHANSHUO

;子程序功能:

延时

;子程序入口:

;子程序出口;无

DELAYSHANSHUOPROC

PUSHCX

MOVCX,8000H;延时的长短由CX寄存器内容来决定

AGAIN0:

NOP

LOOPAGAIN0

POPCX

RET

DELAYSHANSHUOENDP

子程序名称:

DELAYNORMAL

;子程序功能:

延时

;子程序入口:

;子程序出口;无

DELAYNORMALPROC

PUSHAX

PUSHCX

MOVAX,0FFFFH;用双重循环来控制较长时间的延时

AGAIN1:

MOVCX,0003H

AGAIN2:

NOP

LOOPAGAIN2

DECAX

CMPAX,0000H

JNZAGAIN1

POPCX

POPAX

RET

DELAYNORMALENDP

CODEENDS

ENDSTART

5.设计中所遇到的各种问题及解决

1.如何引入中断?

答:

取中断程序入口地址、填8259中断7中断矢量、填偏移量矢量、填段地址矢量、关中断、把初始工作过程保存在BL中、请取8259中断屏蔽字、开放8259中断IRQ7、启动工作过程及用初始化命令队8259A设置为电平触发方式,那么,8259A便把中断请求输入端出现的高电平作为中断请求信号

2.8258初始化PA口输出的作用是什么?

答:

发送信息来控制LED灯

 

小结

一周的微机原理及接口技术课程设计,顺序控制系统从无到有,这个过程使我感触很多,当然也获益匪浅。

我们通信专业的学生对微机原理硬件知道了解太少,对其中有些具体的知识点了解很肤浅,在整整一星期的实验过程中我们可以学到很多很多的的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过对数字闹钟的汇编实现,对硬件特别是8253、8255、8259并行口的原理和实现都有了很深的了解。

更加深了对汇编语言的使用.

以前接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务。

所以在编写程序之前必须有一个完整清晰的思路设计好各个模块所实现的功能。

其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

刚看到课设题目的时候不知道该从哪开始编起,后来老师给我们讲了大概的设计思路和各个芯片的功能,才有了点头绪。

因为基础知识学得不是很扎实,所以在编写程序的过程中还是遇到了很多问题。

最后通过老师耐心的指导和讲解我们的程序终于完成了。

刚看见数码管能显示数而且时间计数还很准的时候别提有多激动了,只是六个数码管都显示一样的数,就因为一个小小的疏忽让我们查了很长时间,所以编程的时候一定要细心地思考和编写每一个语句。

当显示正常的时候我们都忍不住地叫起来,大家都很兴奋。

参考文献

[1]戴梅萼,史嘉权编著.微型计算机技术及应用(第三版).北京:

清华大学出版社,2003

[2]周明德编著.微型计算机系统原理及应用(第四版).北京:

清华大学出版社,2002

[3]李顺增,吴国东,赵河明等.微机原理及接口技术.北京:

机械工业出版社,2006

[4]杨立新.微型计算机原理和应用[M].北京:

科学技术文献出版社,1986.11

 

附录

源程序代码:

STACKSEGMENTSTACK

DW64DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAL,82H;方式控制字为10000010,A口方式0作为输出,C口未使用

OUT63H,AL;B口方式0,作为输入

MOVAL,11111111B;使灯开始为熄灭状态

OUT60H,AL

BEGIN:

INAL,61H;读取启动开关状态

TESTAL,01H

JZBEGIN;测试启动开关是否按下,若未按下,继续测试

PUSHDS;保存数据段

MOVAX,0000H

MOVDS,AX;数据段清零

MOVAX,OFFSETIRQ7;取中断程序入口地址

MOVSI,003CH;填8259中断7中断矢量

MOV[SI],AX;填偏移量矢量

MOVAX,CS

MOVSI,003EH

MOV[SI],AX;填段地址矢量

CLI;关中断

POPDS

MOVBL,01111111B;把初始工作过程保存在BL中

INAL,21H;请取8259中断屏蔽字

ANDAL,7FH;开放8259中断IRQ7

OUT21H,AL

A1:

STI

CALLSHOW;启动工作过程

JMPA1

IRQ7:

PUSHAX;中断服务程序,实现异常事件处理

PUSHCX

MOVCX,10;红灯闪烁次数

SNOP:

MOVAL,11111111B;使灯开始处于熄灭状态

OUT60H,AL

MOVAL,00001111B

OUT60H,AL

CALLDELAYSHANSHUO

MOVAL,11111111B

OUT60H,AL

CALLDELAYSHANSHUO

LOOPSNOP

MOVAL,20H;中断结束返回

OUT20H,AL

POPCX

POPAX

CLI

IRET

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;子程序名称:

SHOW

;子程序功能:

依次点亮八个LED灯

;子程序入口:

;子程序出口;无

SHOWPROC

PUSHAX

B1:

MOVAL,82H

OUT63H,AL

MOVAL,11111111B;使灯开始处于熄灭状态

OUT60H,AL

MOVAL,BL;按要求点亮灯

OUT60H,AL

CALLDELAYNORMAL;显示后延时

RORAL,1;移位

MOVBL,AL;把初始工作过程保存在BL中

POPAX

RET

SHOWENDP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;子程序名称:

DELAYSHANSHUO

;子程序功能:

延时

;子程序入口:

;子程序出口;无

DELAYSHANSHUOPROC

PUSHCX

MOVCX,8000H;延时的长短由CX寄存器内容来决定

AGAIN0:

NOP

LOOPAGAIN0

POPCX

RET

DELAYSHANSHUOENDP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;子程序名称:

DELAYNORMAL

;子程序功能:

延时

;子程序入口:

;子程序出口;无

DELAYNORMALPROC

PUSHAX

PUSHCX

MOVAX,0FFFFH;用双重循环来控制较长时间的延时

AGAIN1:

MOVCX,0003H

AGAIN2:

NOP

LOOPAGAIN2

DECAX

CMPAX,0000H

JNZAGAIN1

POPCX

POPAX

RET

DELAYNORMALENDP

CODEENDS

ENDSTART

 

设计者:

伍灿灿

日期:

2012年12月28日

设计过程中质疑(或答辩)记载:

1如何引入中断?

答:

取中断程序入口地址、填8259中断7中断矢量、填偏移量矢量、填段地址矢量、关中断、把初始工作过程保存在BL中、请取8259中断屏蔽字、开放8259中断IRQ7、启动工作过程及用初始化命令队8259A设置为电平触发方式,那么,8259A便把中断请求输入端出现的高电平作为中断请求信号

28258初始化PA口输出的作用是什么?

答:

发送信息来控制LED灯。

 

指导教师评语:

 

评分:

 

签名:

年月日

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1