二○一三~二○一四学年第 一歌迷大世界 学期
信息科学与工程学院
自动化系
课程设计计划书
姓 名:
学 号:
班 级:
课程名称: 微机原理及应用课程设计
学时学分: 1 周 1 学分
指导教师:
二○一三 年 12 月 25 日
(一)课程设计的任务(目的和要求)
题目三 铁路与公路交叉路口的自动交通管理系统
某路口是由铁路和公路交叉行程,为保证交通的正常,需要设计一个铁道与公路交叉路口的自动交通管理系统。
设计要求:
(1) 当检测到铁轨振动(火车将到)时,自动发出警报信号,并控制关闭栅栏,同时公路方向红灯亮。 (2) 火车将到时(关闭栅栏后),当检测到铁路上有物体时,自动发出紧急刹车信号,并以急促的声音报警,同时红灯闪烁。
(3) 当铁轨震动信号由大到小达到一定程度(火车已过)时,自动解除报警,同时打开栅栏门,公路方向绿灯亮。
提示:铁轨振动信号可由振动传感器检测,这里用模拟电压代替,输出的报警信号可参考题目二,指示灯由发光二极管代替,关栅栏门信号由输出开关信号表示,输出的紧急刹车信号由DAC0832的输出模拟信号代替。 (二)总体方案
铁轨振动信号可由振动传感器检测,这里用模拟电压(5V)代替,经ADC0808采集来的数字量由8086比较判断是否高于2.5V(若是高于2.5V,表示震动大,火车来了);输出的报警信号由喇叭给出,由三极管来驱动,通过控制通断的时间来调节音量,指示灯由发光二极管代替;铁轨上是否有物体通过数字电平信号来模拟(高电平表示有物体);关栅栏门信号由输出开关信号表示(高电平表示栅栏开),输出的紧急刹车信号(直接将ADC0808采集的数字量作为刹车信号)由DAC0832输出模拟信号,模拟信号由电压表显示出来。
(三)系统原理框图及其电路原理图
8086最小系统(74LS373锁存地址)语音识别
138译码器地址译码控制两片8255
138译码器地址译码
控制第一片8255,控制第片8255tlb
第一片8255的地址:60-62-64-66H
第一片8255的地址:70-72-74-76H
(四)程序流程图
(五)设计总结
| A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | 地址 |
第一片8255 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | PA口:60H |
0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | PB口:62H |
0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | PC口:64H |
0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 控制口:66H |
菊粉酶第二片8255 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | PA口:70H |
0 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | PB口:72H |
0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | PC口:74H |
0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 控制口: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,输入;lsd法C口高四位输出,低四位输入
MOV DX,66H
MOV AL,83H
OUT DX,AL
;设置第二片8255,控制字81H=10000001B
is曲线
;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,撤除启动信号