微机原理与接口技术课程设计-交通灯控制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
版权所有
微机原理课程设计
报告书
课题名
班级
学号
姓名
指导教师
日期
目录
1 设计目的 (2)
2 设计内容 (2)
3 设计要求 (2)
4 设计原理与硬件电路 (3)
5 程序流程图 (5)
6 程序代码 (5)
7 程序及硬件系统调试情况 (9)
8 设计总结与体会 (10)
9 参考文献 (10)
1 设计目的
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。
2 设计内容
交通灯控制系统
利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。
3 设计要求
在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路
软件设计
1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
2、画出程序流程图。
3、根据流程图,编写源程序。
4、在Proteus环境下,仿真调试程序4 设计原理与硬件电路
5 程序流程图
6 程序代码
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