带数码管显示的交通灯模拟控制系统设计.docx

上传人:b****5 文档编号:6412020 上传时间:2023-01-06 格式:DOCX 页数:15 大小:357.69KB
下载 相关 举报
带数码管显示的交通灯模拟控制系统设计.docx_第1页
第1页 / 共15页
带数码管显示的交通灯模拟控制系统设计.docx_第2页
第2页 / 共15页
带数码管显示的交通灯模拟控制系统设计.docx_第3页
第3页 / 共15页
带数码管显示的交通灯模拟控制系统设计.docx_第4页
第4页 / 共15页
带数码管显示的交通灯模拟控制系统设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

带数码管显示的交通灯模拟控制系统设计.docx

《带数码管显示的交通灯模拟控制系统设计.docx》由会员分享,可在线阅读,更多相关《带数码管显示的交通灯模拟控制系统设计.docx(15页珍藏版)》请在冰豆网上搜索。

带数码管显示的交通灯模拟控制系统设计.docx

带数码管显示的交通灯模拟控制系统设计

成绩

 

南京工程学院

课程设计说明书(论文)

 

题目带数码管显示的交通灯模拟控制系统设计

课程名称微机原理及应用A

院系能源与动力工程

专业热能与动力工程(生产过程自动化)

班级热自101

学生姓名黄郑

学号*********

设计地点工程实践中心8-216

指导教师陆京、徐懂理

 

设计起止时间:

2012年12月3日至2012年12月7日

一、方案说明…………………………………………………………………2

1、硬件设计………………………………………………………………………2

1.1、硬件接线图………………………………………………………………2

1.2、主机接线说明………………………………………………………………3

2、软件设计………………………………………………………………………3

2.1、程序流程图………………………………………………………………4

二.源程序清单………………………………………………………………5

三、调试现象…………………………………………………………………10

四、心得体会…………………………………………………………………12

五、参考文献…………………………………………………………………13

 

一、设计说明

硬件方面:

8253产生1HZ的方波,脉冲到8259的IR1端,产生中断,调中断服务子程序。

在加入紧急车道后,单脉冲()连到8259的IRO端,产生一个高级的中断请求信号。

软件方面:

主程序先对各个硬件初始化,在开CPU中断,然后空操作,等待中断。

执行低级中断(IR1)时,8255的PA口负责选数码管,PB口负责显示数字,用查表法可查到0~9的数码管编码。

采用循环扫描方法,人眼即可看到连续的二位数。

当倒计时减到零时,对红绿灯取反。

若手动上下拨动单脉冲()一次,则产生一个高级中断(IR0),程序转而执行此中断处理程序,处理完后返回继续执行低级中断(IR1)。

 

1、硬件设计

1.1、硬件接线图

 

1.2连线说明:

C5区:

CS、A0、A1

————

A3区:

CS3、A0、A1

C5区:

OUT0

————

B3区:

CLK1

C5区:

GATE0、GATE1

————

C1区:

VCC

C5区:

CLK0

————

B2区:

2M

C5区:

OUT1

————

B3区:

IR1

B3区:

CS、A0

————

A3区:

CS2、A0

B3区:

INT、INTA

————

ES8688:

INTR、INTA

B3区:

IR0

————

B2区:

单脉冲(

B4区:

CS、A0、A1

————

A3区:

CS1、A0、A1

B4区:

PA口、PB口

————

G5区:

C口、B口

B4区:

PC口

————

G6区:

JP65(LED灯)

2、软件设计

1、程序流程图

二.源程序清单

IO8259_0EQU0E000H;8259地址偶地址端

IO8259_1EQU0E001H;8259地址奇地址端

K8255AEQU0F000H;8255的A口、B口、C口地址

K8255BEQU0F001H

K8255CEQU0F002H

K8255KEQU0F003H

ADD8253_0EQU0D000H;8253计数通道1#、2#、3#和控制口地址

ADD8253_1EQU0D001H

ADD8253_2EQU0D002H

ADD8253_CEQU0D003H

COUNTEREQU60H;倒计时数

RED_ONEQU0CCH;红灯亮

RED_OFFEQU0FFH;红灯灭

E_WEQU0C3H;东西方向通行

DATASEGMENT

TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

COUNTDB?

SCANDW485;扫描次数

DATAENDS

STCKSEGMENTSTACK

DW64DUP(?

STCKENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STCK

START:

MOVAX,DATA

MOVDS,AX

MOVES,AX

NOP

MOVDX,K8255K;写8255控制字,A,B,C均为输出,方式0

MOVAL,80H

OUTDX,AL

START1:

MOVDX,K8255C;C口输出,控制灯

MOVCX,4

FLASH:

MOVAL,RED_ON;红灯亮

OUTDX,AL

CALLDELAY;调延时

MOVAL,RED_OFF;红灯灭

OUTDX,AL

CALLDELAY

LOOPFLASH

START2:

MOVDX,ADD8253_C;写8253控制字

MOVAL,37H;0#计数器,读写16位低高字节,方式三,BCD码

OUTDX,AL

MOVAX,1000H;写0#的计数初值1000H,根据输入设定2M=1000H*2000

MOVDX,ADD8253_0

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDX,ADD8253_C;写8253控制字

MOVAL,77H;1#计数器,读写16位低高字节,方式三,BCD码

OUTDX,AL

MOVAX,2000H;写1#计数初值2000H,根据输入设定,方波频率1HZ

MOVDX,ADD8253_1

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVCOUNT,COUNTER;写计数值(红绿灯变换的间隔时间)

CALLInit8259;调8259初始化子程序

CALLWriIntver_8;调写中断向量表子程序

CALLWriIntver_9;调写中断向量表子程序

MOVCL,E_W

MOVAL,CL

MOVDX,K8255C

OUTDX,AL

STI

NOP

START3:

JMP$;给出中断以外CPU的工作

Init8259PROCNEAR;8259初始化子程序

MOVDX,IO8259_0;写ICW1,边沿触发,单片,需写ICW4

MOVAL,13H

OUTDX,AL

MOVDX,IO8259_1;写ICW2,确定中断类型号

MOVAL,08H

OUTDX,AL

MOVAL,09H;写ICW4

OUTDX,AL

MOVAL,0FCH;写OCW1,除IR0、IR1全屏蔽

OUTDX,AL

RET

Init8259ENDP

WriIntver_9PROCNEAR;写中断向量表子程序

PUSHES

MOVAX,0

MOVES,AX

MOVDI,24H;中断类型号9,对应24H,25H,26H,27H四个单元

LEAAX,INT_9;取中断服务程序IP

STOSW

MOVAX,CS;取中段服务程序CS

STOSW

POPES

RET

WriIntver_9ENDP

WriIntver_8PROCNEAR;写中断向量表子程序

PUSHES

MOVAX,0

MOVES,AX

MOVDI,20H;中断类型号8,对应20H,21H,22H,23H四个单元

LEAAX,INT_8;取中断服务程序IP

STOSW

MOVAX,CS;取中段服务程序CS

STOSW

POPES

RET

WriIntver_8ENDP

INT_9:

MOVAL,COUNT

SUBAL,01H

DAS

MOVCOUNT,AL;中断服务程序

PUSHAX

PUSHDX

PUSHBX

PUSHCX

PUSHSCAN;保护循环值,否则取数码管显示会破坏

LOO:

MOVAL,55H

MOVDX,K8255A

OUTDX,AL

MOVAL,COUNT;选高位数码管

MOVAH,AL;暂存AH

MOVCL,4

SHRAL,CL

LEABX,TAB

XLAT;十进制转数码管编码

MOVDX,K8255B

OUTDX,AL;显数

CALLDL1ms;调延时

MOVAL,0

OUTDX,AL;清除

MOVAL,0AAH

MOVDX,K8255A

OUTDX,AL;选低位数码管

MOVAL,AH

SHLAL,CL

SHRAL,CL

XLAT;十进制转数码管编码

MOVDX,K8255B

OUTDX,AL;显数

CALLDL1ms

MOVAL,0

OUTDX,AL;清除

DECSCAN

CMPSCAN,0

JNZLOO;循环扫描

POPSCAN

POPCX

CMPCOUNT,0

JNZSTOP;计数到零则重新置数,并将灯取反,未到零则直接结束中断子程序

MOVCOUNT,COUNTER

NOTCL

MOVAL,CL

MOVDX,K8255C

OUTDX,AL

STOP:

MOVDX,IO8259_0;结束中断服务,写OCW2,给8259送EOI命令,LSR1清零

MOVAL,20H

OUTDX,AL

POPBX

POPDX

POPAX

IRET

INT_8:

PUSHDX

PUSHAX

PUSHCX

MOVDX,K8255C;C口输出,控制灯

MOVCX,4

A:

MOVAL,RED_ON;红灯亮

OUTDX,AL

CALLDELAY;调延时

MOVAL,RED_OFF;红灯灭

OUTDX,AL

CALLDELAY

LOOPA

MOVDX,IO8259_0;结束中断服务,写OCW2,给8259送EOI命令,LSR1清零

MOVAL,20H

OUTDX,AL

POPCX

MOVDX,K8255C

MOVAL,CL

OUTDX,AL

POPAX

POPDX

IRET

DELAYPROC;延时子程序

PUSHBX

PUSHCX

MOVBX,04H

DELAY1:

MOVCX,0FFFFH

LOOP$

DECBX

JNZDELAY1

POPCX

POPBX

RET

DELAYENDP

DL1msPROCNEAR

PUSHAX

PUSHCX

MOVAX,0100H

MOVCX,AX

LOOP$

POPCX

POPAX

RET

DL1msENDP

CODEENDS

ENDSTART

 

三、调试现象

1、程序截图

2调试现象

程序调试时,交通信号灯系统初始状态为所有红灯闪烁4次,数码管此时不显示;系统初始状态之后东西向车行道绿灯亮,南北向车道红灯亮,此时数码管从60秒倒计时;当数码管数字减为0时,东西向、南北向红绿灯交换亮,即南北向车行道绿灯亮,东西向车道红灯亮,此时数码管重新从60秒开始计数,数码管数字减为0秒后,红绿灯再次交换,如此循环重复。

当道路发生紧急状况时,可拨单脉冲,使调试状态重新进入初始化,此时数码管停止计时(灭),初始化状态结束后,继续从刚刚被停止时刻开始计时,红绿灯状态仍为停止时刻的状态。

 

四、心得体会

一个星期的微机原理课程设计终于结束了。

在整整一星期的日子里,可以说得是苦尽甘来,从刚开始的完全迷惑到最后的豁然开朗,真是经历了很多,但是却让我们学到很多的东西,不仅可以巩固了课上所学过的理论知识,而且学到了很多在书本上所没有学到过的知识。

以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图画出来,但是我开始总觉得这样做没必要,很浪费时间。

但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。

因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问:

调试程序时,发现只有初始化状态显示,知道了中断程序进不去,就开始查中断程序,最后查出原来是没写STI等待中断,所以中断才进不去。

在检查错误的过程中发现会自己的不足之处,发现自己对以前所学过的知识理解得不够深刻,掌握得不够牢固,同时对知识的理解和接受能力还不是太强。

这次课程设计任务终于顺利完成了,在设计中遇到了很多问题,最后在自己的努力下以及与同学之间和老师的探讨下,终于一个一个得解决了问题,当看到数码管和二极管按照自己编写的程序显示的时候,心情异常兴奋,好有成就感。

这次课程设计在培养我们编程能力的同时,也让我学会了要完成一项任务,除了需要过硬的技术和能力之外,还要有不屈不挠的精神,有些同学就是没有耐心做下去,才没有好好的完成任务。

所以,感谢我们的指导老师,谢谢!

五、参考文献

1、星研公司.StarES8688使用说明书。

2、李继灿.新编16/32位微型计算机原理及应用(第4版).北京:

清华大学出版社。

3、周荷琴,吴秀清.微型计算机原理与接口技术.合肥:

中国科学技术大学出版社。

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

当前位置:首页 > 工程科技 > 能源化工

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

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