太原理工大学微机原理与接口技术课程设计

时间:2019-05-12 16:49:36下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《太原理工大学微机原理与接口技术课程设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《太原理工大学微机原理与接口技术课程设计》。

第一篇:太原理工大学微机原理与接口技术课程设计

微机原理课程设计

学校:

学院:

设计题目:

专业班级:

姓名:

学号:

太原理工大学

信息工程学院

国际象棋棋盘绘制程序

一.课程设计的题目:国际象棋棋盘绘制程序 二.程序功能简述

本程序在屏幕上左侧绘制一个红黑相间的国际象棋棋盘,右侧绘制一个汉字‘棋’,棋字的四个角有角框。显示完后,按q退出。

运行本程序后,从屏幕左上角开始,棋盘的奇数行位置逐行出现彼此相间15个像素宽的红色块(虚的),共出现五行,每行五个红色块,然后从第一行的第一个色块的右下角开始,在棋盘的偶数行位置逐行出现彼此相间15个像素宽的红色块(虚的),每行四块,共四行。其中红色块由8X8个彼此相间一个像素的红点组成,前一个色块和后一个色块之间有一定的显示时间间隔。

然后,屏幕的右侧会按‘棋’的笔画顺序,一笔一画的显示汉字‘棋’,其中前一笔和后一笔之间有一定的显示时间间隔。然后按先横后竖的顺序,在棋字的四个角的斜上方显示四个角框。笔画同样有时间间隔。显示完后,若在键盘上输入q,则程序退出。

三.主要设计思想简述

本程序主要通过调用 10H号BIOS中断的0CH号功能点调用来显示图像。将要显示点的坐标(line,cow)分别传送到dx,cx,然后将点的颜色代码传送al,接着调用10H号BIOS中断的0CH号功能,一个点就显示出来。

显示矩形块以及笔画(横,竖,撇,捺)是先确定第一个点的坐标后,然后让点的行坐标line,列坐标cow按某种方式循环,每次循环后调用10H号BIOS中断的0CH号功能来完成点的显示。全部循环完后,这些点的排列就是要显示的矩形块或笔画。

所以,点的行坐标line,列坐标cow的循环方式就决定了要显示的图像。显示矩形块(虚的)的循环方式是:line,cow都循环,line在外层,循环一次加2,cow在内层,循环一次加2,line循环的次数决定了方块的高,cow循环的次数决定了方块的宽。笔画横的循环方式是: 只cow循环,循环一次加1,循 环的次数决定了笔画横的长度。笔画竖的循环方式是:只line循环,循环一次加1,循环的次数决定了笔画竖的长度。笔画撇的循环方式是: line,cow都循环,在同一层。循环一次line加1,cow减1。循环的次数决定了笔画撇的长度 笔画捺的循环方式是:line,cow都循环,在同一层。循环一次line加1,cow加1。循环的次数决定了笔画捺的长度。

第一个点的坐标,循环方式,循环的次数决定了要显示的图形的位置,形状,尺寸。

将位置不同的矩形块(虚的)按照棋盘的几何结构显示出来,就构成了棋盘。将位置,长度不同的笔画(横,竖,撇,捺)按照棋字的几何结构显示出来,就构成了棋字。边框同理。

三.程序流程图。

四.源程序代码

DATA

SEGMENT LINE

DW

0

;矩形块左上角的行 ROW

DW

0

;矩形块左上角的列 PIX

DB

;矩形块的颜色 N

DW

?

;文字笔画的长度 PIX_A DB

;文字笔画的颜色 DATA

ENDS

CODE

SEGMENT

ASSUME CS:CODE,DS:DATA START:

;主程序

MOV AX , DATA

MOV DS , AX

MOV AH , 0

MOV AL , 4

INT 10H

;设置320×200彩色图形方式

mov ah,0bh

mov bh,01

mov bl,0

int 10h

KUAI

MACRO

R,L,N

;定义显示矩形块阵列宏

LOCAL LA,LB

MOV ROW,R

MOV LINE,L

mov di,N

LA:

MOV CX, N

LB:

CALL DISP_RECT

call delay

ADD row, 30

LOOP LB

MOV ROW, R

add line,30

DEC DI

JNZ LA

ENDM

HONG1 MACRO L,R,NUM,CHEN

;定义显示笔画宏

MOV LINE,L

MOV ROW,R

MOV N,NUM

CALL CHEN

CALL delay1

ENDM

KUAI

0,0,5

;显示棋盘奇数行

KUAI

15,15,4

;显示棋盘偶数行

HONG1 30,165,21,HENG

;显示‘棋’字

HONG1 15,176,60,SHU

HONG1 31,175,10,PIAN

HONG1 32,178,5,NA

HONG1 30,191,30,HENG

HONG1 15,196,45,SHU

HONG1 15,214,45,SHU

HONG1 40,196,19,HENG

HONG1 50,196,19,HENG

HONG1 60,191,30,HENG

HONG1 63,200,10,PIAN

HONG1 63,210,12,NA

HONG1 10,160,5,HENG

;显示角框

L5:

DISP_RECT

HONG1 10,160,5,SHU HONG1 10,223,5,HENG HONG1 10,228,5,SHU HONG1 80,160,5,HENG HONG1 75,160,5,SHU HONG1 80,223,5,HENG HONG1 75,228,6,SHU

mov

ah,8

;按q返回DOS int

21h cmp

al,'q' JNE

L5 MOV AH , 4CH INT 21H

PROC near PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI MOV AH , 0CH

;指明写点调用 MOV AL , PIX

;取点的颜色

MOV DI , 8

;用于控制行显示循环

MOV DX , LINE

;取点的行坐标 DISP_2:

MOV SI , 8

;控制列显示循环

MOV CX , ROW

;取显示点的列坐标 DISP_1:

INT 10H

;完成点的显示

INC CX

DISP_RECT

DELAY

D11:

D12:

inc cx

DEC SI JNZ DISP_1

INC DX inc dx

DEC DI JNZ DISP_2

POP DI POP SI POP DX POP CX POP AX RET ENDP PROC NEAR

PUSH CX PUSH DX MOV DX,2500 MOV CX,25000

LOOP D12 DEC

DX JNZ

D11 POP

DX

;列坐标加2;循环显示完一行;行坐标加2;循环显示完8行

;延时子程序

POP

CX

RET DELAY

ENDP

DELAY1

PROC NEAR

;延时子程序1

PUSH CX

D11A:

D12A:

DELAY1

HENG

DISP_3:

PUSH DX MOV DX,10000 MOV CX,25000

LOOP D12A DEC

DX JNZ

D11A POP

DX POP

CX RET ENDP PROC near

PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI MOV AH , 0CH

MOV AL , PIX_A MOV DX , LINE

MOV SI , N

MOV CX , ROW

INT 10H

inc cx

DEC SI

;笔画横的子程序

;指明写点调用

;取点的颜色

;取点的行坐标

;控制列显示循环

;取显示点的列坐标;完成点的显示;列坐标加1(行不变)12

JNZ DISP_3

;循环显示完一行

POP DI

POP SI

POP DX

POP CX

POP AX

HENG

SHU

DISP_4:

RET ENDP PROC near

PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI MOV AH , 0CH

MOV AL , PIX_A

MOV DI , N

MOV DX , LINE

MOV CX , ROW

INT 10H

inc DX

DEC DI JNZ DISP_4

POP DI POP SI POP DX POP CX POP AX RET

;笔画竖的子程序

;指明写点调用;取点的颜色;用于控制行显示循环

;取点的行坐标

;取显示点的列坐标;完成点的显示;行坐标加1(列不变);循环显示完一列 13

SHU

ENDP

PIAN

PROC near

;笔画撇的子程序

PUSH AX

PUSH CX

PUSH DX

DISP_5:

PIAN

NA

PUSH SI PUSH DI MOV AH , 0CH

MOV AL , PIX_A

MOV DI , N

MOV DX , LINE

MOV CX , ROW

INT 10H

DEC cx

inc DX

DEC DI JNZ DISP_5

POP DI POP SI POP DX POP CX POP AX RET ENDP PROC near

PUSH AX PUSH CX PUSH DX

;指明写点调用;取点的颜色;用于控制撇的长度

;取点的行坐标

;取显示点的列坐标;完成点的显示;列坐标减1;行坐标加1;笔画捺的子程序 14

PUSH SI

PUSH DI

MOV AH , 0CH

;指明写点调用

MOV AL , PIX_A

;取点的颜色

MOV DI , N

;用于控制显示循环

MOV DX , LINE

;取点的行坐标

MOV CX , ROW

;取显示点的列坐标 DISP_6:

INT 10H

;完成点的显示

INC cx

;列坐标加1

inc DX

;行坐标加1

DEC DI

JNZ DISP_6

POP DI

POP SI

POP DX

POP CX

POP AX

RET NA

ENDP

CODE

ENDS

END START

五.总结报告

①课程设计中所遇到的主要问题和解决方法。

首先遇到的问题是程序的调试,我把程序写好并检查后没发现错误,然后上机汇 15 编却发现5个警告错误,看错误类型号,都是英语,看不懂,幸好课本后部附录里有翻译,这个问题解决了,但我还是不知道错误的那几行哪里错,看起来很正确。最后。经过思考和耐心检查,终于解决了,原来其中一行把宏实参0写成了O(读欧),这一行的错误导致了其他行的错误。调试程序确实需要耐心,这个错误很简单,但太隐蔽了,检查了20分钟,差点没抓狂。

然后遇到的问题是画流程图,由于以前没画过,也不知道用什么软件,就去网上搜索,于是发现了windows office套件中的 Visio。Visio确实很好用,操作很简单,容易上手,画出的图很漂亮,流程图终于完成了。

②创新和得意之处。

这个程序是仿写的,但基本上只是借鉴了它的方法,95%的内容是重写的,增加了许多东西和功能。我觉的自己的这个程序比较起来还是简洁的,设计了两个宏和五个子程序来实现各种功能,然后在主程序中调用。代码看起来比较整齐,条理,如果要显示别的图像,只要在主程序中改一下宏的参数就可以了。

③课程设计中存在的不足,需要进一步改进的设想。

这个程序还是不够精练,五个图形子程序有许多相似的地方,功能区别不大,加上些判断,应该可以合并成一个子程序,两个延时子程序除了参数,其实是一个子程序,也可以合并成一个子程序,这样用内存会少很多。

④课程设计的感想和心得体会。

课程设计做完了,之前觉的很难,但做完以后,又感觉很简单,最起码对我的这个程序来说。曾经的困惑现在已经成了知识,有一种成就感。可以说,我享受了一次微机原理课程设计。对此而言,前几天的辛苦和思考都是值得的。真希望这样的课程设计能多些。在课程设计中,感觉真正的学到了东西。以前书本上的知识得到融会贯通,更加透彻的理解了知识间的联系。指令系统也更熟悉了,看来学编程只有两种方法,看程序,写程序,先看后写。

在课程设计中,第一次领会到汇编语言的美妙。简洁,精确,效率,这就是汇编。汇编的简洁和对硬件的精确控制给我留下很深的映象。实现同样的功能,用c的 16 话编译出来也许得30条指令,但用汇编5,6条就解决了。写汇编程序时似乎可以看到cpu在如何工作。终于理解了学微机原理为什么要学汇编了。

第二篇:微机原理与接口技术及其课程设计心得体会

微机原理与接口技术及其课程设计心得体会

本学期的微机原理和接口技术及其课程设计都已经结束。在这个过程中,我们有所付出,也有所回报,让我感受颇多。

对于《微机原理与接口技术》这门课程而言,初学时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”,可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。

微处理器、微型计算机和微型计算机系统在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。比如,在当今的战争中,首先就是运用这方面的知识来修改地方的系统程序。让地方的卫星偏离轨道,从而不能发现目标。其威力可见一斑。然而,事物总有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,还学习了可

编程的计数/定时的8253,可编程的外围接口芯片8255A等。学的都是芯片逻辑器件,而在名字前都标有“可编程”,其核心作用不可低估。我认为,在学习中要考虑到“学以致用”,因此,在接下来我们又安排了微机原理与接口技术的课程设计。

经过本次微机课题的设计与研究,我们深入的学习了除课本以外的很多微机附件的内容,掌握了很多实验室操作技能。我们在实际设计中遇到很多问题,但结合所学知识以及参考资料的帮助,不断地尝试,设计了一种能够解决实际问题的系统。同时也加深了我们对于现实生活中,实际的嵌入式操作系统的原理的理解。

在实际设计过程中,我们遇到了诸多设计的问题。例仿真系统中某些芯片没有,这一问题主要是因为我们所设计的功能诸多,刚开始对于这一设计在硬件方面设计不是非常的合理,后来通过使用所用仿真软件的绘画功能,新增加了一个芯片便解决了所有的按键和现实问题。

在程序设计中,我们更加深入了解了8086的使用与本质。为了能设计成功,我们查阅了各种关于其硬件连接和软件设计的资料,同时也发现了理论资料与实践上的区别,通过多次尝试,成功完成了硬件和软件的设计。在这次课题设计过程中,我们合理的分工,适宜的规划进度的进展,不仅仅按时完成了预先设计的内容,而且学到了很多书本上没有的知识。

在这一过程中,我们充分发挥我们的主观能动性,想象创造性,攻克了很多之前都没有想过的难关,真的受益匪浅。这次设计不仅仅耗时耗力,而且还要整天对着电脑进行仿真且不停的调试、修改,这次课程设计对我们理论和实验都有很大的提升,我想这些对于我们今后的学习生活都有很重要的意义,这将是我们在程序设计以及大学学习过程中的宝贵经验和财富。

第三篇:微机原理与接口技术及其课程设计心得体会

微机原理与接口技术及其课程设计心得体会

本学期的微机原理和接口技术及其课程设计都已经结束。在这个过程中,我们有所付出,也有所回报,让我感受颇多。

对于《微机原理与接口技术》这门课程而言,初学时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。“麻雀虽小,五脏俱全”,可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。

微处理器、微型计算机和微型计算机系统在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。比如,在当今的战争中,首先就是运用这方面的知识来修改地方的系统程序。让地方的卫星偏离轨道,从而不能发现目标。其威力可见一斑。

然而,事物总有两面性,有优点自然缺点也不少。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇编语言实际上是培养了学习计算机语言的能力和素养。个人认为,学习汇编语言对学习其他语言很有促进作用。汇编语言在本学期微机学习中有核心地位。本学期微机原理课程内容繁多,还学习了可编程的计数/定时的8253,可编程的外围接口芯片8255A等。学的都是芯片逻辑器件,而在名字前都标有“可编程”,其核心作用不可低估。我认为,在学习中要考虑到“学以致用”,因此,在接下来我们又安排了微机原理与接口技术的课程设计。

经过本次微机课题的设计与研究,我们深入的学习了除课本以外的很多微机附件的内容,掌握了很多实验室操作技能。我们在实际设计中遇到很多问题,但结合所学知识以及参考资料的帮助,不断地尝试,设计了一种能够解决实际问题的系统。同时也加深了我们对于现实生活中,实际的嵌入式操作系统的原理的理解。

在实际设计过程中,我们遇到了诸多设计的问题。例仿真系统中某些芯片没有,这一问题主要是因为我们所设计的功能诸多,刚开始对于这一设计在硬件方面设计不是非常的合理,后来通过使用所用仿真软件的绘画功能,新增加了一个芯片便解决了所有的按键和现实问题。

在程序设计中,我们更加深入了解了8086的使用与本质。为了能设计成功,我们查阅了各种关于其硬件连接和软件设计的资料,同时也发现了理论资料与实践上的区别,通过多次尝试,成功完成了硬件和软件的设计。在这次课题设计过程中,我们合理的分工,适宜的规划进度的进展,不仅仅按时完成了预先设计的内容,而且学到了很多书本上没有的知识。

在这一过程中,我们充分发挥我们的主观能动性,想象创造性,攻克了很多之前都没有想过的难关,真的受益匪浅。这次设计不仅仅耗时耗力,而且还要整天对着电脑进行仿真且不停的调试、修改,这次课程设计对我们理论和实验都有很大的提升,我想这些对于我们今后的学习生活都有很重要的意义,这将是我们在程序设计以及大学学习过程中的宝贵经验和财富。

第四篇:微机原理与接口技术课程设计心得

HEFEI UNIVERSITY

微机原理与接口技术课程设计心得

别 电子信息与电气工程系 班 级 姓

学 号

完成 时间 2011 / 12 / 30

初学《微机原理》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。

《微机原理》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。

“微机原理与系统设计” 作为电子信息类本科生教学的主要基础课之一,课程紧密结合电子信息类的专业特点,围绕微型计算机原理和应用主题,以Intelx86CPU为主线,系统介绍微型计算机的基本知识,基本组成,体系结构和工作模式,从而使学生能较清楚地了解微机的结构与工作流程,建立起系统的概念。

这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在王老师的辛勤指导下,终于游逆而解。同时,在王老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!

第五篇:微机原理与接口技术课程设计-交通灯控制系统

版权所有

微机原理课程设计

报 告 书

课 题 名

班 级

学 号

姓 名

指导教师 日 期

目录 设计目的................................................................................................2 2 设计内容................................................................................................2 3 设计要求................................................................................................2 4 设计原理与硬件电路............................................................................3 5 程序流程图............................................................................................5 6 程序代码................................................................................................5 7 程序及硬件系统调试情况....................................................................9 8 设计总结与体会..................................................................................10 9 参考文献..............................................................................................10 设计目的

电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。

交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。

要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。

设计内容

交通灯控制系统

利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。设计要求

在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路 软件设计

1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。

2、画出程序流程图。

3、根据流程图,编写源程序。

4、在Proteus环境下,仿真调试程序 设计原理与硬件电路 程序流程图 程序代码

A_PORT EQU 200H B_PORT EQU 202H C_PORT EQU 204H CTRL_PORT EQU 206H

CLK0 EQU 100H CLK1 EQU 102H CTRL EQU 106H DATA SEGMENT BUF1 DB 09H,11H,21H,12H,0CH,4AH,89H,49H BUF2 DB 0C5H,0A3H,95H,93H,95H,13H,15H,23H,0H DATA ENDS STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?)STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AL,10010000B MOV DX,CTRL_PORT OUT DX,AL MOV AL,0 MOV DX,B_PORT OUT DX,AL MOV DX,C_PORT OUT DX,AL CALL PLAY LEA SI,BUF1 LEA BX,BUF2 AAA1: MOV CH,[BX] MOV CL,CH AND CL,00001111B

CALL SHOW1 CALL DELAY CALL SHOW2 CALL DELAY JMP AAA6 AAA4: MOV DX,A_PORT IN AL,DX AND AL,00000001B CMP AL,00000000B JNZ AAA7 MOV AL,00001001B MOV DX,B_PORT OUT DX,AL MOV AL,10010000B MOV DX,C_PORT OUT DX,AL JMP AAA4 AAA7: MOV DX,A_PORT IN AL,DX AND AL,00000010B CMP AL,00000000B JNZ AAA4 CMP CL,0 JNZ AAA5 INC SI INC BX MOV AL,[BX] CMP AL,0 JNZ AAA1 JMP START

AAA5: DEC CL DEC CH CALL SHOW2 CALL DELAY AAA6: MOV DX,A_PORT IN AL,DX AND AL,00000010B CMP AL,00000010B JNZ AAA6 JMP AAA4

SHOW1 PROC MOV AL,[SI] MOV DX,B_PORT OUT DX,AL RET SHOW1 ENDP

SHOW2 PROC MOV AL,CH MOV DX,C_PORT OUT DX,AL RET SHOW2 ENDP

PLAY PROC MOV AL,00110111B MOV DX,CTRL OUT DX,AL MOV AX,1000

MOV DX,CLK0 OUT DX,AL MOV AL,AH OUT DX,AL RET PLAY ENDP

DELAY PROC PUSH CX MOV CX,0F5FH LOOP1: LOOP LOOP1 POP CX RET DELAY ENDP

CODE ENDS END START 程序及硬件系统调试情况 程序运行结果:

1. 东西路右拐和南北路左拐绿灯点亮5秒,直通到均为红灯 2. 5秒后,黄灯亮3秒钟。此时南北方向仍维持红灯点亮。3. 东西方向直通,为绿灯,南北 方向红灯

4. 黄灯再亮三秒之后,东西路左拐和南北路右拐绿灯点亮 5. 南北方向的黄灯亮3秒钟后,南北方向直通,延时5秒 6. 闭合A口开关,四个路口全红灯,表明紧急状态。设计总结与体会

经过这两周的课程设计, 做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解.而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。参考文献

[1] 彭虎、周佩玲、傅忠谦.《微机原理里与接口技术》(第2版)[M] 北京:电子工业出版社 2008,149-187 [2] 周明德.《微型计算机系统原理及应用》[M] 北京:清华大学出版社,1998;

下载太原理工大学微机原理与接口技术课程设计word格式文档
下载太原理工大学微机原理与接口技术课程设计.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    微机原理与接口技术试题答案

    微机原理与接口技术试题答案 一、填空题(20*1) 1、微机系统由(硬件系统)和(软件系统)两部分组成。 2、8086有( 20 )位地址线,存储器容量为( 1M)B。 3、8086CPU 内部组成结构从功能上讲,......

    微机原理与接口技术小结范文大全

    微机原理与接口技术基础 1.为什么在流水CPU中,将一条指令从取指到执行结束的任务分割为一系列子任务,并使各子任务在流水线的各个过程段并发地执行,从而使流水CPU具有更强大的......

    微机原理与接口技术试题及答案

    一、 填空题(每空 1 分,共 15 分) 得分 评阅人 1.RESET信号到来后8088/86的CS和IP 分别为 _FFFF_H 和_0000_H。 2. 在特殊全嵌套方式下,8259可响应 同级或高级 中断请求。 3......

    微机原理与接口技术 实验报告一

    评阅微机原理与接口技术实验报告一姓名匡越学号1715211016时间地点实验题目一、实验目的1.熟悉Keil软件使用2.熟悉MCS-51指令3.学习简单程序的调试方法二、实验说明通过实验......

    微机原理与接口技术实验总结

    微机原理与接口技术实验总结 11107108徐寒黎 一、 实验内容以及设计思路 1、①试编写一程序,比较两个字符串STRING1、 STRING2 所含字符是否相同,若相同输出“MATCH”,若不......

    微机原理与接口技术学习心得5篇

    本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第......

    微机原理与接口技术每章小结(范文大全)

    第一章微型计算机概述 课程知识总结: 本章的主要内容为计算机的基本结构、微型计算机系统的组成和主要性能指标、不同进位计数制计数方法、不同进位制数之间相互转换的方法、......

    微机原理与接口技术课程总结

    10电子班《微机原理与接口技术》课程总结提要 一、围绕本课程的教学内容,除了阅读教材外你还看了哪些资料?请归纳简述其内容。 二、请陈述当前你对微控制器工作系统的认识 三......