微机原理及应用课程设计-武汉科技大学-铁路与公路交叉路口的自动交通管理系统-Proteus-微机原理与接口技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二○一三~二○一四学年第一学期

信息科学与工程学院

自动化系

课程设计计划书

姓名:

学号:

班级:

课程名称:微机原理及应用课程设计

学时学分: 1 周 1 学分

指导教师:

二○一三年12 月25 日(一)课程设计的任务(目的和要求)

题目三铁路与公路交叉路口的自动交通管理系统

某路口是由铁路和公路交叉行程,为保证交通的正常,需要设计一个铁道与公路交叉路口的自动交通管理系统。

设计要求:

(1)当检测到铁轨振动(火车将到)时,自动发出警报信号,并控制关闭栅栏,同时公路方向红灯亮。

(2)火车将到时(关闭栅栏后),当检测到铁路上有物体时,自动发出紧急刹车信号,并以急促的声音报警,同时红灯闪烁。

(3)当铁轨震动信号由大到小达到一定程度(火车已过)时,自动解除报警,同时打开栅栏门,公路方向绿灯亮。

提示:铁轨振动信号可由振动传感器检测,这里用模拟电压代替,输出的报警信号可参考题目二,指示灯由发光二极管代替,关栅栏门信号由输出开关信号表示,输出的紧急刹车信号由DAC0832的输出模拟信号代替。

(二)总体方案

铁轨振动信号可由振动传感器检测,这里用模拟电压(5V)代替,经ADC0808采集来的数字量由8086比较判断是否高于2.5V(若是高于2.5V,表示震动大,火车来了);输出的报警信号由喇叭给出,由三极管来驱动,通过控制通断的时间来调节音量,指示灯由发光二极管代替;铁轨上是否有物体通过数字电平信号来模拟(高电平表示有物体);关栅栏门信号由输出开关信号表示(高电平表示栅栏开),输出的紧急刹车信号(直接将ADC0808采集的数字量作为刹车信号)由DAC0832输出模拟信号,模拟信号由电压表显示出来。

(三)系统原理框图及其电路原理图

8086最小系统(74LS373锁存地址)

138译码器地址译码控制两片8255

138译码器地址译码

控制第一片8255,

控制第片8255

第一片8255的地址:60-62-64-66H 第一片8255的地址:70-72-74-76H

(四)程序流程图 (五)设计总结

ADC0808将震动信号(0-5V电压模拟)转换为数字量(查询法判断是否转换完毕),由第一片8255的PA0-PA2选通IN0,PA7启动转换,PC0查询EOC来判断是否转换完毕,PC7 控制OE是否允许输出。

第二片8255的PC17控制74LS373锁存,PA10-PA15为锁存输入端,PA17作为NPN基极控制信号,控制喇叭通断;Q0-Q5为锁存器输出端,Q0-Q3分别控制绿灯,红灯和栅栏;PC10为输入端,输入铁路上是否有物体。

第二片8255的PB口PB10-PB17作为数模转换芯片DAC0832的数字输入端;PC10控制

DAC0832(单缓冲模式)的启动;转换的模拟量由运算放大器放大,在电压表上显示来模拟刹车信号。

(四)程序源码及流程图

第一片8255的地址:60H(PA),62H(PB),64H(PC),66H(控制口)

第二片8255地址:70H(PA1),72H(PB1),74H(PC1),76H(控制口)

设置第一片8255,控制字83H=10000011B

A口工作方式0,输出;B口工作方式0,输入;C口高四位输出,低四位输入

设置第二片8255,控制字81H=10000001B

A口工作方式0,输出;B口工作方式0,输出;C口高四位输出,低四位输入

程序源码(文字版):

;一片8255的地址:60H(PA),62H(PB),64H(PC),66H(控制口)

;另一片8255地址:70H(PA1),72H(PB1),74H(PC1),76H(控制口) ;

STACK SEGMENT STACK 'stack'

DW 32 DUP(0)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK

START:

;设置第一片8255,控制字83H=10000011B

;A口工作方式0,输出;B口工作方式0,输入;C口高四位输出,低四位输入 MOV DX,66H

MOV AL,83H

OUT DX,AL

;设置第二片8255,控制字81H=10000001B

;A口工作方式0,输出;B口工作方式0,输出;C口高四位输出,低四位输入 MOV DX,76H

MOV AL,81H

OUT DX,AL

LOOP1: MOV AL,00H ;选通ADC0808的IN0

MOV DX,60H ;PA,BOOT ADC0808

OUT DX,AL

MOV AL,80H ;PA7=1,启动ADC0808

OUT DX,AL

MOV AL,03H ;PA7=0,撤除启动信号

OUT DX,AL

MOV DX,64H

CHECK: IN AL,DX

TEST AL,01H ;读ECO,检测是否转换完毕

JZ CHECK ;未完继续检测

MOV DX,64H

MOV AL,80H ;PC7=1,WRITE OE

OUT DX,AL

MOV DX,62H

IN AL,DX ;PB读转换的数字信号

MOV DX,0000H

MOV DS,DX

MOV BX,0

MOV [BX],AL ;将读取的数据存在0000:0000H处 CMP AL,7FH ;读取的量和7FH(2.5V)比较

JNB STOP ;震动大,火车来了,跳至STOP

相关文档
最新文档