红绿灯实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DELAY2PROCNEAR
OUT DX,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
CALLDELAY2
JMPA
DELAYPROCNEAR
MOVBX,1AAH
CNT1:MOVCX,0DFH
CNT2:LOOPCNT2
DECBX
JNZCNT1
RET
DELAYENDP
DELAY2PROCNEAR
MOVBX,1AAH
CNT1:MOVCX,0DF0H
CNT2:LOOPCNT2
4.1、关于行人闯红灯的扩展
在当今的中国行人闯红灯的现象屡见不鲜,行人凑够一小堆儿不管是红灯还是绿灯都往前走这样的做法不仅对自己的人身安全造成了极大的威胁,也对其他车主造成了诸多的不便,更是对城市文明的亵渎。为了解决或者是说试着解决这一现象,我想到了以下的方法。
3.2对设计题(二)的分析与设计…………………………………4
3.2.1实验电路及连线……………………………………….....4
3.2.2设计程序流程图……………………………………….....5
3.2.3设计的程序………………………………………...........6
3.2.4结果分析……………………………………….............9
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
2.2、题目(二)
2.2.1设计目的
掌握8088CPU及存储器硬件接口电路的设计连接,掌握相关硬件驱动软件设计及信息处理软件的设计调试方法。
2.2.2内容
利用8088CPU以及8255设计十字路口交通灯控制系统。基本要求是完成双向红灯黄灯的配合控制。并对当前的红绿灯系统的不足加以思考,并给出相应的解决方法。
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
CODE ENDS
END START
前半部分程序,和原来的不变,后面添加了倒计时程序。每当绿灯闪烁的的时候,倒计时开始,八个灯按顺序开始亮,直到八个全亮,绿灯变黄灯,八个灯熄灭。当绿灯再次开始闪烁时再进入新的倒计时。
六、参考文献…………………………………...................19
微机课程设计报告
一、课程设计的目的
课程设计有利于基础知识的理解和逻辑思维的锻炼。本课程设计是微机原理与接口技术课程的配套内容。微型计算机在很多场合作为一个控制系统的控制部件或作为一个设备的智能化部件融入系统中。学习和掌握计算机汇编语言和常用接口电路的应用和设计技术。充分认识理论知识对应技术的指导作用,进一步加强理论知识与实践相结合,加深对专业知识和理论知识的认识和理解。对于自动化专业的学会了解和认识微机的硬件结构和输入输出接口技术是十分必要的。本课程设计要求同学们自己按要求设计一段程序并完成简单的红绿灯程序制作以及相应的拓展。
DECBX
JNZCNT1
RET
DELAYENDP
CODE ENDS
END START
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、设计的内容及程序……………………………………….....1
3.1对于题目(一)的分析与设计………………………………..2
3.1.1设计的程序流程图………………………………………...2
3.1.2设计的程序………………………………………...........3
3.1.3调试结果和程序结果分析…………………………..........4
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
B: MOV DX,201H
IN AL,DX
MOV BL,01H
TEST AL,BL
JNZ B
MOVDX,202H
MOV AL,0FH
OUT DX,AL
CALLDELAY2
A:MOVAL,096H
OUTDX,AL
CALLDELAY2
MOVAL,09FH
OUTDX,AL
CALLDELAY
MOVAL,096H
MOV DX,203H
OUT DX,AL
B: MOV DX,201H
IN AL,DX
MOV BL,01H
TEST AL,BL
JNZ B
MOVDX,202H
A:MOVAL,96H
OUTDX,AL
CALLDELAY
MOVAL,06H
OUTDX,AL
CALLDELAY
MOVAL,96H
OUTDX,AL
CALLDELAY
课程设计
《微机原理与接口技术》
2012~2013学年 第一学期
学院(部)
电子电气工程学院
学 号
021210134
姓 名
崔 平
授课教师
戎自强
2、设计的题目及要求……………………………………….....1
2.1、题目(一)……………………………………….............1
2.2、题目(二)……………………………………….............1
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
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!”。
二、设计的题目及要求
2.1、题目(一)
2.1.1设计目的
熟练掌握8088汇编语言程序各种结构的设计及编程方法,熟练掌握DOS中断功能调用的方法。
2.1.2内容
编制一个完整的程序,计算100个正整数(字数据)之和,如果不超过机器数的范围(65535),则计算其平均值并存于(RUSULT)中,否则显示“overflow”。
被控制的灯的位置
(相对于示意图)
8255输出接口
接入灯的接口
灯的颜色变化
附加变化
左方灯
PC0
DG1
绿灯
同时亮起,变为黄灯
PC4
DR1
红灯
上边灯
PC1
DG2
绿灯
PC5
DR2
红灯
下边灯
PC2
DG3
绿灯
PC6
DR3
红灯
右方灯
PC3
DG4
绿灯
PC7
DR4
红灯
3.2.2设计的流程图如下
2.3设计的程序如下
DATA SEGMENT
DATA ENDS
STACK SEGMENT STACK
STA DW 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:MOV AL,82H
MOVDX,203H
OUT DX,AL
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
除此之外,我们组还想了许多其他的拓展内容,比如在箱子左上方有个数字记数器,如果有他来做倒记时的记数器那会显得更加直观。比如说用8253来定时,用8259A来处理中断以便于CPU可以处理其他事情。以上内容由于能力有限,并未设计出来。
四、扩展内容
现在的红绿灯有许多不足之处,比如说对闯红灯的行人没有约束能力,当有车闯红灯的时候没有能力立即制止等。根据这些不足我想出了以下解决方法。
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]
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
三、设计的内容及程序
3.1、对于题目(一)的分析与设计
编制一个完整的程序,计算100个正整数(字数据)之和,如果不超过机器数的范围(65535),则计算其平均值并存于(RUSULT)中,否则显示“overflow”。
3.1.1设计的流程图如下:
Y
N
N
Y
3.1.2设计的程序如下:
DSEGSEGMENT
3.2.5程序拓展内容
在原有基础上,我们利用实验箱上的八个小灯,加入了倒计时系统。程序如下:
DATA SEGMENT
DATA ENDS
STACK SEபைடு நூலகம்MENT STACK
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:MOV AL,82H
3.2.5程序拓展内容………………………………………........9
4、扩展内容……………………………………….............13
4.1、关于行人闯红灯的扩展…………………………………….13
4.2、关于黄灯问题的扩展………………………………………15
五、心得体会……………………………………….............18
3.2、对设计题(二)的分析与设计
利用8088CPU以及8255设计十字路口交通灯控制系统。基本要求是完成双向红灯黄灯的配合控制。并对当前的红绿灯系统的不足加以思考,并给出相应的解决方法。
3.2.1实验电路及连线
实验箱上,用于交通灯设计的模块有如下右图的接口式样,通过高低电平的测试,我们得知DG是指灯亮绿色,DR是指灯亮红色,如果两者同时驱动,则亮黄灯。四个灯及其接口排列如右图所示
OUT DX,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
CALLDELAY2
JMPA
DELAYPROCNEAR
MOVBX,1AAH
CNT1:MOVCX,0DFH
CNT2:LOOPCNT2
DECBX
JNZCNT1
RET
DELAYENDP
DELAY2PROCNEAR
MOVBX,1AAH
CNT1:MOVCX,0DF0H
CNT2:LOOPCNT2
4.1、关于行人闯红灯的扩展
在当今的中国行人闯红灯的现象屡见不鲜,行人凑够一小堆儿不管是红灯还是绿灯都往前走这样的做法不仅对自己的人身安全造成了极大的威胁,也对其他车主造成了诸多的不便,更是对城市文明的亵渎。为了解决或者是说试着解决这一现象,我想到了以下的方法。
3.2对设计题(二)的分析与设计…………………………………4
3.2.1实验电路及连线……………………………………….....4
3.2.2设计程序流程图……………………………………….....5
3.2.3设计的程序………………………………………...........6
3.2.4结果分析……………………………………….............9
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
2.2、题目(二)
2.2.1设计目的
掌握8088CPU及存储器硬件接口电路的设计连接,掌握相关硬件驱动软件设计及信息处理软件的设计调试方法。
2.2.2内容
利用8088CPU以及8255设计十字路口交通灯控制系统。基本要求是完成双向红灯黄灯的配合控制。并对当前的红绿灯系统的不足加以思考,并给出相应的解决方法。
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
CODE ENDS
END START
前半部分程序,和原来的不变,后面添加了倒计时程序。每当绿灯闪烁的的时候,倒计时开始,八个灯按顺序开始亮,直到八个全亮,绿灯变黄灯,八个灯熄灭。当绿灯再次开始闪烁时再进入新的倒计时。
六、参考文献…………………………………...................19
微机课程设计报告
一、课程设计的目的
课程设计有利于基础知识的理解和逻辑思维的锻炼。本课程设计是微机原理与接口技术课程的配套内容。微型计算机在很多场合作为一个控制系统的控制部件或作为一个设备的智能化部件融入系统中。学习和掌握计算机汇编语言和常用接口电路的应用和设计技术。充分认识理论知识对应技术的指导作用,进一步加强理论知识与实践相结合,加深对专业知识和理论知识的认识和理解。对于自动化专业的学会了解和认识微机的硬件结构和输入输出接口技术是十分必要的。本课程设计要求同学们自己按要求设计一段程序并完成简单的红绿灯程序制作以及相应的拓展。
DECBX
JNZCNT1
RET
DELAYENDP
CODE ENDS
END START
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、设计的内容及程序……………………………………….....1
3.1对于题目(一)的分析与设计………………………………..2
3.1.1设计的程序流程图………………………………………...2
3.1.2设计的程序………………………………………...........3
3.1.3调试结果和程序结果分析…………………………..........4
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
B: MOV DX,201H
IN AL,DX
MOV BL,01H
TEST AL,BL
JNZ B
MOVDX,202H
MOV AL,0FH
OUT DX,AL
CALLDELAY2
A:MOVAL,096H
OUTDX,AL
CALLDELAY2
MOVAL,09FH
OUTDX,AL
CALLDELAY
MOVAL,096H
MOV DX,203H
OUT DX,AL
B: MOV DX,201H
IN AL,DX
MOV BL,01H
TEST AL,BL
JNZ B
MOVDX,202H
A:MOVAL,96H
OUTDX,AL
CALLDELAY
MOVAL,06H
OUTDX,AL
CALLDELAY
MOVAL,96H
OUTDX,AL
CALLDELAY
课程设计
《微机原理与接口技术》
2012~2013学年 第一学期
学院(部)
电子电气工程学院
学 号
021210134
姓 名
崔 平
授课教师
戎自强
2、设计的题目及要求……………………………………….....1
2.1、题目(一)……………………………………….............1
2.2、题目(二)……………………………………….............1
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
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!”。
二、设计的题目及要求
2.1、题目(一)
2.1.1设计目的
熟练掌握8088汇编语言程序各种结构的设计及编程方法,熟练掌握DOS中断功能调用的方法。
2.1.2内容
编制一个完整的程序,计算100个正整数(字数据)之和,如果不超过机器数的范围(65535),则计算其平均值并存于(RUSULT)中,否则显示“overflow”。
被控制的灯的位置
(相对于示意图)
8255输出接口
接入灯的接口
灯的颜色变化
附加变化
左方灯
PC0
DG1
绿灯
同时亮起,变为黄灯
PC4
DR1
红灯
上边灯
PC1
DG2
绿灯
PC5
DR2
红灯
下边灯
PC2
DG3
绿灯
PC6
DR3
红灯
右方灯
PC3
DG4
绿灯
PC7
DR4
红灯
3.2.2设计的流程图如下
2.3设计的程序如下
DATA SEGMENT
DATA ENDS
STACK SEGMENT STACK
STA DW 50 DUP(?)
TOP EQU LENGTH STA
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:MOV AL,82H
MOVDX,203H
OUT DX,AL
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
除此之外,我们组还想了许多其他的拓展内容,比如在箱子左上方有个数字记数器,如果有他来做倒记时的记数器那会显得更加直观。比如说用8253来定时,用8259A来处理中断以便于CPU可以处理其他事情。以上内容由于能力有限,并未设计出来。
四、扩展内容
现在的红绿灯有许多不足之处,比如说对闯红灯的行人没有约束能力,当有车闯红灯的时候没有能力立即制止等。根据这些不足我想出了以下解决方法。
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]
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
三、设计的内容及程序
3.1、对于题目(一)的分析与设计
编制一个完整的程序,计算100个正整数(字数据)之和,如果不超过机器数的范围(65535),则计算其平均值并存于(RUSULT)中,否则显示“overflow”。
3.1.1设计的流程图如下:
Y
N
N
Y
3.1.2设计的程序如下:
DSEGSEGMENT
3.2.5程序拓展内容
在原有基础上,我们利用实验箱上的八个小灯,加入了倒计时系统。程序如下:
DATA SEGMENT
DATA ENDS
STACK SEபைடு நூலகம்MENT STACK
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START:MOV AL,82H
3.2.5程序拓展内容………………………………………........9
4、扩展内容……………………………………….............13
4.1、关于行人闯红灯的扩展…………………………………….13
4.2、关于黄灯问题的扩展………………………………………15
五、心得体会……………………………………….............18
3.2、对设计题(二)的分析与设计
利用8088CPU以及8255设计十字路口交通灯控制系统。基本要求是完成双向红灯黄灯的配合控制。并对当前的红绿灯系统的不足加以思考,并给出相应的解决方法。
3.2.1实验电路及连线
实验箱上,用于交通灯设计的模块有如下右图的接口式样,通过高低电平的测试,我们得知DG是指灯亮绿色,DR是指灯亮红色,如果两者同时驱动,则亮黄灯。四个灯及其接口排列如右图所示