红绿灯实验报告.docx

上传人:b****6 文档编号:16623289 上传时间:2023-07-15 格式:DOCX 页数:27 大小:236.51KB
下载 相关 举报
红绿灯实验报告.docx_第1页
第1页 / 共27页
红绿灯实验报告.docx_第2页
第2页 / 共27页
红绿灯实验报告.docx_第3页
第3页 / 共27页
红绿灯实验报告.docx_第4页
第4页 / 共27页
红绿灯实验报告.docx_第5页
第5页 / 共27页
红绿灯实验报告.docx_第6页
第6页 / 共27页
红绿灯实验报告.docx_第7页
第7页 / 共27页
红绿灯实验报告.docx_第8页
第8页 / 共27页
红绿灯实验报告.docx_第9页
第9页 / 共27页
红绿灯实验报告.docx_第10页
第10页 / 共27页
红绿灯实验报告.docx_第11页
第11页 / 共27页
红绿灯实验报告.docx_第12页
第12页 / 共27页
红绿灯实验报告.docx_第13页
第13页 / 共27页
红绿灯实验报告.docx_第14页
第14页 / 共27页
红绿灯实验报告.docx_第15页
第15页 / 共27页
红绿灯实验报告.docx_第16页
第16页 / 共27页
红绿灯实验报告.docx_第17页
第17页 / 共27页
红绿灯实验报告.docx_第18页
第18页 / 共27页
红绿灯实验报告.docx_第19页
第19页 / 共27页
红绿灯实验报告.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

红绿灯实验报告.docx

《红绿灯实验报告.docx》由会员分享,可在线阅读,更多相关《红绿灯实验报告.docx(27页珍藏版)》请在冰点文库上搜索。

红绿灯实验报告.docx

红绿灯实验报告

 

课程设计

《微机原理与接口技术》

2012~2013学年第一学期

 

目录

学院(部)

电子电气工程学院

学号

021210134

姓名

崔平

授课教师

戎自强

 

目录

一、课程设计的目的………………………………………….....1

2、设计的题目及要求……………………………………….....1

2.1、题目

(一)……………………………………….............1

2.2、题目

(二)……………………………………….............1

3、设计的内容及程序……………………………………….....1

3.1对于题目

(一)的分析与设计………………………………..2

3.1.1设计的程序流程图………………………………………...2

3.1.2设计的程序………………………………………...........3

3.1.3调试结果和程序结果分析…………………………..........4

3.2对设计题

(二)的分析与设计…………………………………4

3.2.1实验电路及连线……………………………………….....4

3.2.2设计程序流程图……………………………………….....5

3.2.3设计的程序………………………………………...........6

3.2.4结果分析……………………………………….............9

3.2.5程序拓展内容………………………………………........9

4、扩展内容……………………………………….............13

4.1、关于行人闯红灯的扩展…………………………………….13

4.2、关于黄灯问题的扩展………………………………………15

五、心得体会……………………………………….............18

六、参考文献…………………………………...................19

微机课程设计报告

一、课程设计的目的

课程设计有利于基础知识的理解和逻辑思维的锻炼。

本课程设计是微机原理与接口技术课程的配套内容。

微型计算机在很多场合作为一个控制系统的控制部件或作为一个设备的智能化部件融入系统中。

学习和掌握计算机汇编语言和常用接口电路的应用和设计技术。

充分认识理论知识对应技术的指导作用,进一步加强理论知识与实践相结合,加深对专业知识和理论知识的认识和理解。

对于自动化专业的学会了解和认识微机的硬件结构和输入输出接口技术是十分必要的。

本课程设计要求同学们自己按要求设计一段程序并完成简单的红绿灯程序制作以及相应的拓展。

二、设计的题目及要求

2.1、题目

(一)

2.1.1设计目的

熟练掌握8088汇编语言程序各种结构的设计及编程方法,熟练掌握DOS中断功能调用的方法。

2.1.2内容

编制一个完整的程序,计算100个正整数(字数据)之和,如果不超过机器数的范围(65535),则计算其平均值并存于(RUSULT)中,否则显示“overflow”。

2.2、题目

(二)

2.2.1设计目的

掌握8088CPU及存储器硬件接口电路的设计连接,掌握相关硬件驱动软件设计及信息处理软件的设计调试方法。

2.2.2内容

利用8088CPU以及8255设计十字路口交通灯控制系统。

基本要求是完成双向红灯黄灯的配合控制。

并对当前的红绿灯系统的不足加以思考,并给出相应的解决方法。

三、设计的内容及程序

3.1、对于题目

(一)的分析与设计

编制一个完整的程序,计算100个正整数(字数据)之和,如果不超过机器数的范围(65535),则计算其平均值并存于(RUSULT)中,否则显示“overflow”。

3.1.1设计的流程图如下:

 

Y

N

N

Y

 

 

3.1.2设计的程序如下:

DSEGSEGMENT

MEMDWn1,n2,n3~~~n100

ERRDB'overflow!

',0DH,0AH,'$'

RESULTDW?

DSEGENDS

CSEGSEGMENT

ASSUMECS:

CSEG,DS:

DSEG

BEGIN:

MOVAX,DSEG

MOVDS,AX

XORAX,AX

MOVSI,AX

MOVCX,100

SUM:

ADDAX,MEM[SI]

JCOVF

ADDSI,2

LOOPSUM

MOVBX,100

MOVDX,0

DIVBX

MOVRESULT,AX

JMPSHORTEXIT

OVF:

LEADX,ERR

MOVAH,9

INT21H

EXIT:

MOVAH,4CH

INT21H

CSEGENDS

ENDBEGIN

3.1.3调试结果和程序结果分析

在程序运行完毕以后如果没有溢出,AX以及RESULT中存放的是运算的结果,BX中存放的是100,CX中存放的是0;如果溢出则显示“overflow!

”字样。

比如说存放的数字为100个“2”则最终的结果中(AX)=2000,若存放的为100个“100”则显示“overflow!

”。

3.2、对设计题

(二)的分析与设计

利用8088CPU以及8255设计十字路口交通灯控制系统。

基本要求是完成双向红灯黄灯的配合控制。

并对当前的红绿灯系统的不足加以思考,并给出相应的解决方法。

3.2.1实验电路及连线

实验箱上,用于交通灯设计的模块有如下右图的接口式样,通过高低电平的测试,我们得知DG是指灯亮绿色,DR是指灯亮红色,如果两者同时驱动,则亮黄灯。

四个灯及其接口排列如右图所示

被控制的灯的位置

(相对于示意图)

8255输出接口

接入灯的接口

灯的颜色变化

附加变化

左方灯

PC0

DG1

绿灯

同时亮起,变为黄灯

PC4

DR1

红灯

上边灯

PC1

DG2

绿灯

PC5

DR2

红灯

下边灯

PC2

DG3

绿灯

PC6

DR3

红灯

右方灯

PC3

DG4

绿灯

PC7

DR4

红灯

3.2.2设计的流程图如下

2.3设计的程序如下

DATASEGMENT

DATAENDS

STACKSEGMENTSTACK

STADW50DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

MOVAL,82H

MOVDX,203H

OUTDX,AL

B:

MOVDX,201H

INAL,DX

MOVBL,01H

TESTAL,BL

JNZB

MOVDX,202H

MOVAL,0FH

OUTDX,AL

CALLDELAY2

A:

MOVAL,096H

OUTDX,AL

CALLDELAY2

MOVAL,09FH

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,09FH

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,09FH

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,09FH

OUTDX,AL

CALLDELAY

MOVAL,096H

OUTDX,AL

CALLDELAY

MOVAL,06H

OUTDX,AL

CALLDELAY2

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,06FH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY2

MOVAL,06FH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,06FH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,06FH

OUTDX,AL

CALLDELAY

MOVAL,069H

OUTDX,AL

CALLDELAY

MOVAL,09H

OUTDX,AL

CALLDELAY2

JMPA

DELAYPROCNEAR

MOVBX,1AAH

CNT1:

MOVCX,0DFH

CNT2:

LOOPCNT2

DECBX

JNZCNT1

RET

DELAYENDP

DELAY2PROCNEAR

MOVBX,1AAH

CNT1:

MOVCX,0DF0H

CNT2:

LOOPCNT2

DECBX

JNZCNT1

RET

DELAYENDP

CODEENDS

ENDSTART

3.2.4结果分析

程序开始后,从8255输出信号096H,二进制表示为10010110B,对应8个输入灯接口。

其中DG1是1,DR1是0,所以左方向灯为绿色,以此类推,右方向灯为绿色,上、下两个灯为红色。

接着8255输出信号09FH,对应二进制为10011111B,DG1和GR1都是1,则左方向灯为熄灭,同理右方向灯也熄灭。

这样反复输入096H和09FH几次,造成左、右方向灯闪烁。

然后输入06H,二进制表示为00000110B,左、右方向灯变为黄灯。

接着输入069H,二进制表示为01101001B,这样,左、右方向灯变为红灯,上、下方向灯变为绿灯,完成红绿灯转换。

8255输出信号06FH,二进制表示为01101111B,这样上、下方向灯熄灭,反复几次,造成闪烁效果。

最后输入09H,二进制表示为00001001B,上、下方向灯变为黄灯。

只要最后进行跳转,重新开始输入信号即可。

3.2.5程序拓展内容

在原有基础上,我们利用实验箱上的八个小灯,加入了倒计时系统。

程序如下:

DATASEGMENT

DATAENDS

STACKSEGMENTSTACK

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

MOVAL,82H

MOVDX,203H

OUTDX,AL

B:

MOVDX,201H

INAL,DX

MOVBL,01H

TESTAL,BL

JNZB

MOVDX,202H

A:

MOVAL,96H

OUTDX,AL

CALLDELAY

MOVAL,06H

OUTDX,AL

CALLDELAY

MOVAL,96H

OUTDX,AL

CALLDELAY

MOVAL,06H

OUTDX,AL

CALLDELAY

MOVAL,96H

OUTDX,AL

CALLDELAY

MOVAL,06H

OUTDX,AL

CALLDELAY2

MOVAL,69H

OUTDX,AL

CALLDELAY

MOVAL,09H

OUTDX,AL

CALLDELAY

MOVAL,69H

OUTDX,AL

CALLDELAY

MOVAL,09H

OUTDX,AL

CALLDELAY

MOVAL,69H

OUTDX,AL

CALLDELAY

MOVAL,09H

OUTDX,AL

CALLDELAY2

JMPA

DELAYPROCNEAR

MOVBX,1CAH

CNT1:

MOVCX,0DFH

CNT2:

LOOPCNT2

DECBX

JNZCNT1

RET

DELAYENDP

DELAY2PROCNEAR

OUTDX,AL

MOVDX,200H

MOVAL,000H

OUTDX,AL

CALLDELAY

MOVAL,080H

OUTDX,AL

CALLDELAY

MOVAL,0C0H

OUTDX,AL

CALLDELAY

MOVAL,0E0H

OUTDX,AL

CALLDELAY

MOVAL,0F0H

OUTDX,AL

CALLDELAY

MOVAL,0F8H

OUTDX,AL

CALLDELAY

MOVAL,0FCH

OUTDX,AL

CALLDELAY

MOVAL,0FEH

OUTDX,AL

CALLDELAY

MOVAL,0FFH

OUTDX,AL

CALLDELAY

MOVDX,202H

RET

DELAY2ENDP

DELAY3PROCNEAR

MOVBX,1CAH

CNT1:

MOVCX,0DFH

CNT2:

LOOPCNT2

DECBX

JNZCNT1

RET

DELAY3ENDP

CODEENDS

ENDSTART

前半部分程序,和原来的不变,后面添加了倒计时程序。

每当绿灯闪烁的的时候,倒计时开始,八个灯按顺序开始亮,直到八个全亮,绿灯变黄灯,八个灯熄灭。

当绿灯再次开始闪烁时再进入新的倒计时。

除此之外,我们组还想了许多其他的拓展内容,比如在箱子左上方有个数字记数器,如果有他来做倒记时的记数器那会显得更加直观。

比如说用8253来定时,用8259A来处理中断以便于CPU可以处理其他事情。

以上内容由于能力有限,并未设计出来。

四、扩展内容

现在的红绿灯有许多不足之处,比如说对闯红灯的行人没有约束能力,当有车闯红灯的时候没有能力立即制止等。

根据这些不足我想出了以下解决方法。

4.1、关于行人闯红灯的扩展

在当今的中国行人闯红灯的现象屡见不鲜,行人凑够一小堆儿不管是红灯还是绿灯都往前走这样的做法不仅对自己的人身安全造成了极大的威胁,也对其他车主造成了诸多的不便,更是对城市文明的亵渎。

为了解决或者是说试着解决这一现象,我想到了以下的方法。

如以上图片所示,当斑马线两侧红灯亮起时启动红外探测器对“机非隔离外援延长线”处采集信号。

假设没有移动物体越过此线时,采集的信号为“0”;有移动物体越过此线时采集的信号为“1”。

基于这个假设当红灯亮起时若没有人闯红灯则采集到的信号一直为低电平,当有行人闯红灯的时候则此信号将变为高电平。

把采集到的信号传入8255中然后通过8255传送到CPU中进行判断。

通过采集到的信号高低电平的变化可以判断是否有人闯红灯。

当采集到高电平的时候CPU可以通过执行一个程序去驱动扬声器播出“文明出行,请不要闯红灯”提醒闯红灯的行人。

以及提醒交警前去阻止闯红灯的人。

基于这个设想我设计了如下的程序框图:

YNNY以上设想由于能力有限以及硬件的连接问题没能编写出完整的程序,在此仅给出以上程序框图。

若是以后还有条件我还可以在这个框图的基础上编写出适合使用的程序。

4.2、关于黄灯问题的扩展

最近我国新出台的交通法规中对闯黄灯的司机处以扣6分的严重处罚。

这在一定程度上解决司机视黄灯如绿灯的情况。

但是这也在一定程度上使得司机在遇到黄灯时要紧急刹车。

由于前面的司机紧急刹车,后面的司机搞不清前面的情况,就容易造成追尾事故的发生。

据报道在四川成都2013年1月3日有一位车主急刹躲黄灯导致4车连环追尾,造成了极大地损失。

为了试着解决这一问题,我做出了以下的设想:

在距离红绿灯100米左右的地方安装一个具有三盏绿灯的辅助交通灯。

当前方交通灯为红灯和黄灯的时候三盏灯全灭。

当前方的红绿灯为绿灯的且剩余20秒以上变为黄灯时三盏绿灯全亮,当前方的红绿灯为当绿灯的且剩余10秒~20秒变为黄灯时亮两盏绿灯,当前方的红绿灯为当绿灯的且剩余10秒以下变为黄灯时亮一盏绿灯。

这样就可以以绿灯亮的个数来提示车主前方100米处的红绿灯还有多久会变成黄灯,以便于他们判断是否可以在黄灯亮起以前安全通过该交通路口。

关于这个设想我设计了以下的程序框图(假设前方交通灯绿灯亮的时间为60秒):

N

Y

在以上红绿灯的基础上我编写了以下程序(假设绿灯亮起时给CPU发出的信号为“1”,8255的时钟频率为5MHZ):

DATASEGMENT

DATAENDS

STACKSEGMENTSTACK

STADW50DUP(?

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,ES:

DATA,SS:

STACK

START:

MOVAL,82H

MOVDX,203H

OUTDX,AL

B:

MOVDX,201H

INAL,DX

MOVBL,01H(8255的B口的第一位接的是一个开关)

TESTAL,BL

JNZB(以上程序为当开关闭合时,该程序开始工作)

A:

MOVDX,201H

INAL,DX

MOVBL,02H (8255的B口的第二位接的是一绿灯开启的信号)

TEXTAL,BL   

JZA(以上三行为测试前方交通灯绿灯是否开启)

MOVAL,0F1H

MOVDX,202H

OUTDX,AL(以上三行为开启辅助交通灯的三盏绿灯)

CALLDELAY

CALLDELAY

CALLDELAY(以上三行为延时30秒)

MOVAL,0F3H

OUTDX,AL

CALLDELAY(以上三行为开启辅助交通灯的两盏绿灯并延时10秒)

MOVAL,0F7H

OUTDX,AL

CALLDELAY(以上三行为开启辅助交通灯的一盏绿灯并延时10秒)

MOVAL,0FFH

OUTDX,AL(以上两行为熄灭辅助交通灯的全部绿灯)

JMPA

DELAYPROCNEAR(以下为延时10秒的子程序)

MOVBX,0C350H

CNT1:

MOVCX,33EH

CNT2:

LOOPCNT2

DECBX

JNZCNT1

RET

DELAYENDP

此程序为控制三盏绿灯开启与关闭的程序,目的在于用绿灯开启的个数来提示司机前方100米处红绿灯会在多久以后变为黄灯,以避免司机由于躲黄灯而发生交通事故。

5、心得体会

经过这两周的课程设计,做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8088芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解.而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。

把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。

以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。

六、参考文献

[1]宋杰等主编.微机原理与接口技术课程设计——高等院校计算机课程设计指导丛书.北京:

机械工业出版社.2005

[2]李国栋主编.微机原理与接口技术课程设计(高等院校计算机技术与应用系列规划教材).浙江:

浙江大学出版社.2007

[3]陆红伟主编.微机原理实验与课程设计指导书(普通高等教育十一五规划教材).北京:

中国电力出版社.2006

[4]郑家声主编.微型计算机原理与接口技术.北京:

机械工业出版社.2004

[5]顾滨主编.80X86微型计算机组成/原理及接口.北京:

机械工业出版社.2001

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2