微机原理课设交通信号灯模拟控制系统的设计
微机系统课程设计实验报告---交通信号灯自动控制模拟指示系统[13页].docx
微机系统课程设计实验报告课题:交通信号灯自动控制模拟指示系统一、课程设计目的1.掌握CPU与各芯片管脚连接方法,提高借口扩展硬件电路的连接能力。
2.加深对定时器、计数器和并行借口芯片的工作方式和编程方法的理解。
3.掌握交通信号灯自动控制系统的设计思路和实现方法。
二、课程设计内容设计并实现十字路口通信号自动控制模拟指示系统。
设该路口由A、B两条通行相交而成,四个路口各设一组红、黄、绿三色信号灯,用两位数码管作倒计时显示。
三、应用系统设计方案交通信号灯的亮灭时间及数码管显示时间可以通过8253来控制,8253的时钟源采用时钟信号发生器与分频电路提供,通过计算获得计数初值为1000。
按照需要设定工作在方式3.交通信号灯及数码管可以采用系统提供的相应模块,控制可以通过8255可编程并行借口,PA口控制红黄绿交通灯的亮灭,PB口和PC口控制时间显示数码管的段和位。
PC0作为OUT1的输入。
四、系统测试结果1.基本功能实现(1)以秒为计时单位,两位数码管以十进制递减计数显示通行剩余时间,在递减计数为零瞬间转换。
即南北的绿灯、东西的红灯同时亮30秒,同时南北路口数码管递减显示绿灯剩余时间;为0时,南北的黄灯闪烁5秒钟,同时东西的红灯继续亮;南北的红灯、东西的绿灯同时亮30秒,同时东西路口数码管递减显示绿灯剩余时间;为0时,南北红灯继续亮,同时东西的黄灯闪烁5秒;若不结束,则开始循环。
(2)通过键盘可以对红、黄、绿三色信号灯所亮时间再0~99内任意设定。
(3)十字路口的通行气势状态可自行设定,系统启动后自动运行,按“Q”退出。
2、发挥部分实现(1)增加人工干预模式,在特殊情况下可通过人工干预,手动控制A、B交通灯的切换时间,并可以随时切换为自动运行模式。
(2)增加夜间控制功能,交通灯在进入夜间模式后,A、B干道上红、绿灯均不亮,黄灯信号灯闪烁。
(3)增加红灯倒计时显示。
五、课程设计中遇到的问题及解决办法1.8253的两个计时器的连接及工作方式选择,在查找相关资料后,将两个计时器串联,并工作在方式3下,初始值为1000。
#微机型交通信号灯实时控制系统的模拟设计
微机型交通信号灯实时控制系统的模拟设计目录1.摘要 (1)2.引言 (1)3.单片机概述 (2)4.实验目的 (2)5.实验任务 (2)6.实验设备器材 (3)7.实验原理 (3)8.实验流程图 (5)9.实验主程序 (6)10.心得体会 (9)1.摘要:近年来随着科技的飞速发展,单片机的使用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机使用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、黄、绿灯燃亮时间的功能。
本系统实用性强、操作简单、扩展功能强。
2. 引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
《微机原理与接口技术》课程设计实验报告-交通灯控制功能设计
微机课程设计——交通灯控制系统
中断子程序模块是通过扩充中断源实现的,主要是通过设置 8259 的工作模 式,开放 TR1 和 TR0 的中断,按上开关 K 后,TR0 就发生中断,在 TR0 中断没有 触发的情况下,从 OU1 口输出一个上升沿脉冲,TR1 就中断一次, 程序如下所示:
QUERY: MOV DX,MY8259_OCW3 MOV AL,0CH OUT DX,AL IN AL,DX ;读出查询字 ;判断中断是否已响应 ; 没有响应则继续查询 ; 向 8259 的 OCW3 发送查询命令
《微机原理与接口技术》 课程设计实验报告
题目:交通灯控制功能设计
指导老师:
专业:
班级:
目录
微机课程设计——交通灯控制系统
ห้องสมุดไป่ตู้
一、设计思想和实施方案论述,硬件原理图及分析 1.1、课程设计名称 1.2、课程设计要求 1.3、课程设计目的 二、设计思想和实施方案论述,硬件原理图及分析 2.1、设计思想和实施方案 2.2、硬件原理图 三、典型模块以及典型编程技巧分析 3.1、8086 典型模块分析 3.2、编程技巧分析 四、设计中遇到的问题及解决方法 五、程序清单和程序注释,相关流程图 5.1 程序清单和注释 5.2、实验室及流程图 六、收获与体会 七、参考文献
微机课程设计——交通灯控制系统
MOV OUT 器输出 1HZ 的方波
AL,2 DX,AL ;1.041667MHZ/2000/1000=1HZ, 即计数
数码管的显示是通过调用显示函数实现的, 通过设置 8255 的工作模式, 选择数码管的高位工作, 然后将计数的高位送到数码管, 再选择数码管的低位工 作,然后将计数的低位送到数码管,在 1s 钟内多次扫描就可以消除闪烁,从而 达到理想的计数效果,它的程序如下所示:
微机原理交通信号灯控制系统设计报告
HEFEI UNIVERSITY微机原理设计报告题目交通信号灯的控制系别电子信息与电气工程系班级11级电子信息工程(2)班姓名钟文俊学号1105012012指导老师丁健完成时间2013年5月28日交通信号灯控制系统摘要:本文介绍了以8086微处理器为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制,主要是模拟十字路口的红绿灯,介绍了交通灯控制器的原理以及电路接线。
在设计中所用到的编程语言是汇编语言,延时采用的是软件延时(即通过汇编指令)。
关键词:8086微处理器;交通灯;8255A一、课程设计任务1.1 设计目标利用ZY15MicInt12BB微机原理及接口实验箱上的8086微处理器模块、并行接口8255A 模块,地址译码单元以及0—1LED灯显示等模块,根据所学的微机原理知识,按照实际交通情况设定一种交通灯规则,设计一个简单的交通信号灯控制系统。
1.2 设计要求在一个十字路口,东西方向和南北方向各有两组交通指示灯,每组有红、黄绿三个灯。
东西方向同色灯连在一起,南北方向同色灯连在一起。
对各组的交通灯进行控制,以保证车辆在各道上通畅运行。
两组组的交通灯工作过程为:1.南北方向亮绿灯允许通行,东西方向亮红灯禁止通行2.当延时25秒后,南北方向的黄灯同时变亮,且延时5秒。
3.延时后,东西方向转为绿灯,南北方向转为红灯,且延时25秒。
4.25秒后,转为东西方向黄灯亮,延时5秒后,回到第一步,以次重复进行,不断循环。
5.当遇到道路障通,或紧急情况时,A、B道全为红灯。
二、原理说明与硬件设计2.1原理说明在本次课程设计当中,采用的是以8086微处理器为核心,以8255A芯片作为接口芯片,运用软件定时(即通过汇编指令)控制LDE灯(即交通灯)按照设定的交通规则显示。
2.2 8086简介8086微处理器是Intel系列的第三代微处理器,拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器,其主频为5MHz/10MHz,地址总线宽度为20位,可寻址的内存空间打1MB。
微机原理课程设计—交通灯控制
交通信号灯的控制一、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。
通过本课程设计,使学生初步了解微机系统的硬件设备,学会 8086 系列编程指令的基本功能。
二、设计要求1、通过 8255A 并口来控制 LED 发光二极管的亮灭。
2、A 口控制红灯,B 口控制黄灯,C 口控制绿灯。
3、输出为 0 则亮,输出为 1 则灭。
4、用8253 定时来控制变换时间。
要求:设有一个十字路口,1、3 为南,北方向,2、4 为东西方向,初始态为 4 个路口的红灯全亮。
之后,1、3 路口的绿灯亮,2、4 路口的红灯亮,1、3 路口方向通车。
延迟 30 秒后,1、3 路口的绿灯熄灭,而 1,3 路口的黄灯开始闪烁(1HZ)。
闪烁 5 次后,1、3 路口的红灯亮,同时 2、4 路口的绿灯亮,2、4 路口方向开始通车。
延迟 30 秒时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁。
闪烁 5 次后,再切换到 1、3 路口方向。
之后,重复上述过程。
三、流程图:四、真值表:五、电路图:电路图中地址线连接在 A2,A3 上,用 74HC139 译码,故地址范围为00H~03H,04H~07H,08H~0BH,每个芯片的 A0、A1 均与8086 的A0、A1 相连,RD、WR 与8086 的RD、WR 相连,以控制芯片的读写。
8253 使用定时器 0,输出接 8259 的IR0,故中断向量为08H。
13 方向的绿灯同 PC0 相连,24 方向的绿灯同 PC1 相连,红灯、黄灯接 PA、PB,方式同上。
六、源程序:;-------------------------------------------------------------;模块作用:交通灯控制;编程语言:汇编;编程:孙逸痕,本程序无版权,欢迎使用;日期:2011-12-11;-------------------------------------------------------------;---------STACK------------------------------------------STACK SEGMENT STACK 'STACK'DW 32 DUP(0)STACK ENDS;---------DATA--------------------------------------------DATA SEGMENTCOUNT_L EQU 0H ;计数器初值COUNT_H EQU 0HADD_8253_T0 EQU 00H ;芯片地址ADD_8255 EQU 04HADD_8259 EQU 08HRED_ADD EQU ADD_8255 ;PAYELLOW_ADD EQU ADD_8255+1 ;PBGREEN_ADD EQU ADD_8255+2 ;PCLIGHT_ON EQU 01H ;Pi1/Pi0=01 (i=A,B)LIGHT_OFF EQU 03H ;Pi1/Pi0=11SYS_COUNTER DB 18 ;系统频率GREEN_COUNTER DB 30 ;绿灯30 秒计数YELLOW_COUNTER DB 5 ;黄灯5 秒计数DATA ENDS;----------CODE------------------------------------------CODE SEGMENTMAIN PROC FARASSUME SS:STACK,CS:CODE,DS:DATA;----系统初始化--------PUSH DSMOV AX,0PUSH AXMOV ES,AXMOV AX,DATAMOV DS,AX;----中断向量----------MOV AX,OFFSET TIMER ;装入中断向量表MOV ES:20H,AXMOV AX,SEG TIMERMOV ES:22H,AX;----8253 定时器 0 初始化---MOV AL,36HOUT ADD_8253_T0,AL ;16 位,方式 3MOV AL,COUNT_L ;装入初值OUT MOV OUT ADD_8253_T0,AL AL,COUNT_H ADD_8253_T0,AL;----8255 初始化--------MOV AL,80H ;方式0OUT ADD_8255+3,AL;----8259 初始化--------MOV AL,13H ;单片,边沿触发OUT ADD_8259,ALMOV AL,8H ;中断类型码为 08H~0FHOUT ADD_8259+1,ALMOV AL,0DHOUT ADD_8259+1,AL;-----系统运行---------SYS_ON:IN AL,ADD_8259+1 ;开中断IRQ0AND AL,0FEHOUT ADD_8259+1,ALMOV AL,LIGHT_ON ;开13 方向绿灯,24 方向红灯,关黄灯OUT GREEN_ADD,ALNEG ALOUT RED_ADD,ALMOV AL,LIGHT_OFFOUT YELLOW_ADD,ALGRE_30:JMP $ ;等待计时中断DEC GREEN_COUNTER ;等待绿灯亮30 秒JNZ GRE_30MOV BX,OFFSET GREEN_COUNTER ;复位计数器MOV [BX],30MOV AL,LIGHT_OFF ;关绿灯,开黄灯OUT GREEN_ADD,ALMOV AL,LIGHT_ONOUT YELLOW_ADD,ALYEL_5: JMP $ ;等待计时中断MOV AL,LIGHT_ONMOV AH,03H ;取辅助值(用于黄灯状态取反)放在AH 中SUB AH,ALXOR AL,AH ;黄灯状态取反OUT YELLOW_ADD,ALDEC YELLOW_COUNTER ;计时值,每一秒改变一次状态,共5 秒JNZ YEL_5MOV BX,OFFSET YELLOW_COUNTER ;复位计数器MOV [BX],5MOV AL,LIGHT_ON ;点亮红灯OUT RED_ADD ,ALMOV BX,OFFSET LIGHT_ON ;将13 边换位 24 边MOV [BX],AHMOV AL,LIGHT_OFF ;熄灭黄灯OUT YELLOW_ADD,ALMOV AL,LIGHT_ON ;24 边绿灯亮UT GREEN_ADD,ALJMP SYS_ON ;循环RET;----中断函数------------TIMER: DEC SYS_COUNTER ; 是否计数18 次JNZ OVERMOV BX,OFFSET SYS_COUNTER ;复位计数器MOV [BX],18POP AXINC AXINC AXPUSH AXOVER: IRETMAIN ENDPCODE ENDSEND MAIN。
微机原理交通信号灯课程设计
课程设计任务书课题名称:基于8086/8088的交通信号灯设计完成期限:2015年06月22日至 2015年06月28日院系名称机械工程与自动化学院指导教师专业班级学生姓名院系课程设计(论文)工作领导小组组长签字一、课题训练内容设计一个基于8086/8088微型计算机的一个交通信号灯控制系统,要求能完成基本的交通灯控制,如红、绿、黄三种灯的定时交替点亮与熄灭;能提供行人通过时的临时信号修改;能提供当时当地的温度、湿度信息;提供基本的键盘输入。
要求学生了解8086/8088微型计算机控制系统的基本设计方法与思路,能独立查阅资料并汇总,具备一定的控制系统设计能力,掌握绘制电路原理图的能力,能编写一定难度的汇编程序并调试。
二、设计(论文)任务和要求(包括说明书、程序、图纸、等具体要求)1. 设计一个基于8086/8088微型计算机的一个交通信号灯控制系,要求使用如下器件:8086、8259、8253、8255、ADC0809、温度传感器(选择数字式或模拟式均可)和湿度传感器(选择数字式或模拟式均可)、健盘(5按键,包括4个路口紧急按键和1个复位按键);(20分)2. 交通灯的亮、灭情况如下:东、西两个相对路口红灯亮12s,南、北两个路口绿灯亮6s,后转为黄灯亮6s;南、北两个相对路口红灯亮12s,东、西两个路口绿灯亮6s,后转为黄灯亮6s;(10分)3. 每个路口设一个紧急按键,可以中断当前的交通灯状态,使当前路口为绿灯,经12s后恢复原来的工作状态;(20分)4. 使用8253提供时间定时,每6s读入1次温、湿度;(20分)5. 说明书正文不少于10页,小4号宋体,1.5倍行距,正文不包含程序;(30分)6. 提供完整的电路原理图并给出每个外设的地址(电路图必需是打印稿);(50分)7. 提供软件流程图与完整的程序;(50分)8. 按要求时间提交课程设计。
微机原理课程设计报告一、分析课题基于8086/8088交通信号灯设计主要需要实现这几部分功能:第一、信号灯的通断延时;第二、紧急按键对交通信号灯的控制,则每一个路口有一个紧急按键,可以中断当前的交通状态,当前状态为绿灯,经过12秒后恢复;第三、环境湿度、温度的采集。
微机原理与接口技术交通灯设计
《微机原理和接口技术》课程设计姓名:*******班级学号:*******任课老师:*******一、实验课题《交通信号灯控制系统》二、实验目的在熟悉8086/8088指令系统的基础上,掌握8086/8088汇编语言程序设计方法;掌握8259可编程中断控制器,8255可编程并行接口、8253可编程定时/计数器的使用三、实验要求1、模拟交通信号灯(分A、B两组)的红、黄、绿灯(实验箱中的发光二极管)交替变换的过程。
2、在实验箱的LED显示器上显示当前剩余时间(每秒更新一次,倒计时)。
A组、B组之间时间关系如下:A组B组绿灯26秒红灯30秒四、 实验设备机一台、PC实验箱一个(8086、8259、8255、8253芯片及相关电路、发光二极管六只)及导线若干。
五、 设计 1、 设计思路(1)分析问题——各端口使用——代码实现(2)具体使用(8255的B 口做灯信号的输出,A 口做位选码的输出,C 口做LED 的输出。
)(3)实验内容1、系统中,8259采用初始化命令字ICW1、ICW2、ICW4和操作命令字OCW1,允许内部中断IRQ0和外部中断IRQ1 2、系统中,8255选用(10000000)方式选择字,A 组工作0方式,A 端口输出,PC3-PC7输出,B 组0方式,B 端口输出,PC3-PC0输出3、系统中,8253选用(00110101)选择零号端口读写两个字节,工作方式2(频率发生器)二十进制2、程序流程黄灯 4秒 红灯 30秒 绿灯 26秒 黄灯 4秒3、电路原理图4、初始化8259 初始化8255设置中断向量显示时间启动计数器开始设置交通灯初态结束初始化8253STACK ENDSDATA SEGMENTTIMER DB 00H,30H;IRQ0中断次数,通行剩余时间(A道30秒,B道30秒)初始设为B道通行TAB DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;七段码,用于显示时间,顺序不可调换DISOFF DB 00H,00H,00H,00H;LED显示器缓冲区,数字(剩余时间)的个位和十位ROD DB 00H ;当前道路通行状态(00:为A通行道;01为B通行)LIGHT DB 0D7H ;信号灯的输出信号(11010111)KK1 DB 00H ;暂停开关KK1计数LIGHTZT DB 00HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,0000H ;数据段清零MOV DS,AX;填写中断向量表MOV AX,OFFSET IRQ0 ;提取IRQ0的中断处理程序的偏移地址ADD AX,2000H ;加载时IP=2000H(绝对地址) MOV SI,0020H ;中断号0的矢量地址为(20H-23H) MOV [SI],AX ;填写中断处理程序的偏移地址写进中断向量表MOV AX,0000HMOV SI,0022HMOV [SI],AX ;填写中断处理程序的段地址写进中断向量表MOV AX,OFFSET IRQ1ADD AX,2000HMOV SI,0024H ;中断号1的矢量地址为(24H-27H) MOV [SI],AXMOV AX,0000HMOV SI,0026HMOV [SI],AX;加载数据段MOV AX,DATAMOV DS,AX;8259初始化MOV AL,13H ;8259初始化ICW1(00010011)单片方式需写ICW4OUT 20H,AL ;端地址A0=0MOV AL,08H ;ICW2(00001000)中断向量号的高五位(000001)OUT 21H,ALMOV Al,01H ;ICW4(00000001)一般全嵌套,非缓冲,非自动中断结束,十六位机系统OUT 21H,AL ;特征位:D7-D5=000MOV AL,0FCH ;OCWl允许IRQ0、IRQ1中断OUT 21H,AL;8255初始化MOV AL,80H ;(10000000)方式选择字,A组工作0方式,A端口输出,PC3-PC7输出,B组0方式,B端口输出,PC3-PC0输出OUT 63H,AL;初始化8253MOV AL,35H ;(00110101)选择零号端口读写两个字节,工作方式2(频率发生器)二十进制OUT 43H,ALMOV AX,380 ;定时(频率乘以时间)OUT 40H,AL ;低字节MOV AL,AHOUT 40H,AL ;高字节STI ;开中断(允许CPU接收中断)M:CALL DISP2CMP KK1,1JZ ZT ;调用时间显示函数CMP TIMER+1,04H ;判断是否到了最后4秒,到了则跳转JZ R1CMP TIMER+1,00H ;判断通行时间是否结束,到了则跳转JZ R2JMP DISP1 ;如时间大于五秒,则直接按当前方式显示信号灯R1: CMP ROD,00H ;如到了最后五秒,则判断是A 道通行否? ROD=00H为A道JZ R12 ;如是A道通行,则改变状态R11:MOV LIGHT,7BH ;(01111110)改变为A道红,B道黄JMP DISP1 ;信号输出R12:MOV LIGHT,0B7H ;(10110111)改变为A道黄,B道红JMP DISP1R2: CMP ROD,00H ;改变通行状态JZ R22R21:MOV LIGHT,0D7H ;如果当前B道通行结束,则切换为A道MOV ROD,00HMOV TIMER+1,30H ;A道通行时间30秒JMP DISP1R22:MOV ROD,01H ;如果当前A道通行结束,则切换为B道ROD=01H为B道MOV LIGHT,7DHMOV TIMER+1,30HJMP DISP1 ;B道通行时间30秒ZT:JMP MDISP1: ;灯信号输出函数MOV AL,LIGHT ;将灯信号输出到8255的B口OUT 61H,ALSTIJMP MIRQ0:PUSH AX ;现场保护PUSH CXPUSHFMOV AL,TIMER ;取80次中断请求为一秒INC ALMOV TIMER,ALCMP AL40H ;1秒判断?JNE M1 ;不到则跳转MOV AL,00H ;毫秒数清零MOV TIMER,ALMOV AL,TIMER+1 ;剩余时间减1 SUB AL,01HDAS ;调整为压缩BCD码MOV TIMER+1,ALM1: MOV AL,20H ;中断复位OUT 20H,ALPOPFPOP CXPOP AXSTIIRETIRQ1: ;暂停(恢复)PUSH AXPUSHFMOV AL,KK1CMP AL,00H ;判断当前的状态:00为通行,01为暂停JNE M2INC AL ;改变当前状态MOV KK1,ALMOV AL,0FDH ;(11111101)关IRQ0中断,开IRQ1中断OUT 21H,ALMOV AL,LIGHTMOV LIGHTZT,AL;///////////////////////////////////////////////////////////MOV AL,77H ;(01110111)大、小道均为红灯OUT 61H,ALJMP M3M2: ;恢复MOV AL,00HMOV KK1,ALMOV AX,LIGHTZT;//////////////////////////////////////////////////////////////////OUT 61H,ALMOV AL,0FCH ;(11111100)开IRQ0、IRQ1中断OUT 21H,ALSTIM3:MOV AL,20HOUT 20H,ALPOPFPOP AXSTIIRETDISP2: ;时间显示函数MOV AL,TIMER+1 ;AL=30H AX=?30HAND AL,0FH ;AX=0000HMOV DISOFF+3,AL ;DISOFF+3=00HDISOFF DB 03H,00H,03H,00HMOV DISOFF+1,AL ;DISOFF+1=00HMOV AL,TIMER+1 ;AL=30HMOV CL,04H ;CL=04HSHR AL,CL ;AL=03HMOV DISOFF+2,AL ;DISOFF+2=03HMOV DISOFF,AL ;DISOFF=03HMOV SI,OFFSET DISOFF ;缓冲区的偏移地址MOV DL,0F7H ;(11110111)将位选码初值送DLMOV AL,DL ;AL=0F7HAGAIN:OUT 60H,AL ;从A口输出位选码MOV AL,[SI]MOV BX,OFFSET TAB ;七段码的偏移地址AX=0003H BX=TABAND AX,00FFHXLAT ;MOV AL,BX+[AX] ;将显示七段码送ALOUT 62H,AL ;将AL转换成七段码从B口输出CALL DALLY ;调用延时1ms子程序INC SI ;SI=SI+1MOV AL,DLTEST AL,01H ;4位显示完否?JZ M4ROR AL,01H ;DL循环右移一位MOV DL,ALJMP AGAINM4: RETDALLY: ;循环256次MOV CX,0010H ;延时子程序T1: MOV AX,0010HT2: DEC AXJNZ T2LOOP T1RETCODE E NDSEND START六、心得体会这周关于交通灯的设计是对我来说就是一次挑战,虽然说代码并非是我自己写的,可以说我是参考别人的,但是理解所有的设计代码我确实也花了不少时间,我除了要熟悉8259、8255、8253这些芯片,还得将它们合理的利用起来,由于之前对汇编知识的掌握相当差,理解起来是相当的困难,但是庆幸的事,我向同学和老师咨询中吸收了不少知识。
微机系统课程设计实验报告交通信号灯自动控制模拟指示系统
微机系统课程设计实验敷陈课题:交通信号灯自动控制模拟指示系统一、课程设计目的1.掌握CPU与各芯片管脚连接方式,提高借口扩展硬件电路的连接能力。
2.加深对按时器、计数器和并行借口芯片的工作方式和程方式的理解。
3.掌握交通信号灯自动控制系统的设计思路和实现方式。
二、课程设计内容设计并实现十字路口通信号自动控制模拟指示系统。
设该路口由A、B两条通行相交而成,四个路口各设一组红、黄、绿三色信号灯,用两位数码管作倒计时显示。
三、应用系统设计方案交通信号灯的亮灭时间及数码管显示时间可以通过8253来控制,8253的时钟源采用时钟信号发生器与分频电路提供,通过计算获得计数初值为1000。
按照需要设定工作在方式3.交通信号灯及数码管可以采用系统提供的相应模块,控制可以通过8255可程并行借口,PA口控制红黄绿交通灯的亮灭,PB口和PC口控制时间显示数码管的段和位。
PC0作为OUT1的输入。
四、系统测试结果1.根本功能实现(1)以秒为计时单位,两位数码管以十进制递减计数显示通行剩余时间,在递减计数为零瞬间转换。
即南北的绿灯、东西的红灯同时亮30秒,同时南北路口数码管递减显示绿灯剩余时间;为0时,南北的黄灯闪烁5秒钟,同时东西的红灯继续亮;南北的红灯、东西的绿灯同时亮30秒,同时东西路口数码管递减显示绿灯剩余时间;为0时,南北红灯继续亮,同时东西的黄灯闪烁5秒;假设不完毕,那么开场循环。
(2)通过键盘可以对红、黄、绿三色信号灯所亮时间再0~99内任意设定。
(3)十字路口的通行气势状态可自行设定,系统启动后自动运行,按“Q〞退出。
2、发挥局部实现〔1〕增加人工干预干与模式,在特殊情况下可通过人工干预干与,手动控制A、B交通灯的切换时间,并可以随时切换为自动运行模式。
〔2〕增加夜间控制功能,交通灯在进入夜间模式后,A、B干道上红、绿灯均不亮,黄灯信号灯闪烁。
〔3〕增加红灯倒计时显示。
五、课程设计中遇到的问题及解决法子1.8253的两个计时器的连接及工作方式选择,在查找相关资料后,将两个计时器串联,并工作在方式3下,初始值为1000。
微机原理课设交通信号灯模拟控制系统
南京工程学院通信工程学院课程设计说明书(论文) 题目交通信号灯模拟控制系统课程名称微型计算机原理与接口技术专业班级学生姓名学号设计地点指导教师设计起止时间:2013年12月23日至2013年12月27日目录第一章概述在实际生活中,交通信号灯控制着交通的秩序安全。
本次微机原理课程设计就是模拟实际十字路口交通灯的运行规则,用汇编语言来设计交通信号灯。
本次设计主要是实现对十字路口交通信号灯的控制而进行的编程,用8255A的A口控制东西方向的交通灯,用8255A的B口控制南北方向的交通灯。
当程序正常运行时,依次为东西方向的绿灯和南北方向的红灯闪烁25s,东西方向的绿灯灭后东西方向的黄灯亮5s,随后东西方向的红灯和南北方向的绿灯亮并闪烁15s,南北方向的黄灯亮5s,之后同理往复循环。
用8255A的C口控制紧急情况时东西、南北方向的红、黄、绿灯的亮灭,通过读C口输入的数据并进行测试查询,从而对紧急情况进行及时处理。
用LED(发光二极管)模拟信号灯,8255A实现对信号灯的控制(PC0~PC6分别接D0~D6),8253的计数器2实现基本单位定时(如10ms)信号的输出;再用8255A的PA口查询定时信号的变化,并统计脉冲数,以实现25s、15s和5s的定时。
十字路口交通信号灯设计充分利用了可编程的并行接口芯片8255A各引脚的功能,选定工作方式0,通过改变控制字来实现交通信号灯的状态转换。
另外,通过调用延时子程序来实现交通信号灯某一状态的持续,调用循环子程序来实现对交通信号灯状态循环的控制,通过控制开关来实现紧急情况下各路口红灯全亮的功能。
综合各部分功能来实现较为完善的程序,运行程序来模拟十字路口交通信号灯。
第二章设计介绍功能描述当东西方向(A道)和南北方向(B道)均有车辆要求通过时,A道和B 道轮流放行。
A道放行25S,B道放行15S,依次轮流。
绿灯转换红灯时黄灯亮5S。
一道有车,另一道无车时(用开关K5、K6状态模拟),控制系统能立即让有车道放行。
微机原理课设交通信号灯模拟控制系统的设计
微机原理课设交通信号灯模拟控制系统的设计 Modified by JEEP on December 26th, 2020.南京工程学院Array通信工程学院课程设计说明书(论文)题目交通信号灯模拟控制系统的设计课程名称微机原理与接口技术专业班级学生姓名学号设计地点指导教师设计起止时间:2013年12月23日至2013年12月27日目录1、设计目的 (2)2、设计内容及要求 (2)3、设计原理 (2)、电路接线方案 (2)、定时问题 (3)、工作状态 (3)4、实验元件解释 (3)、可编程并行通信接口8255A................................................................. (3)、可编程计数器/定时器8253 (4)5、程序流程图及说明 (5)、基本和中级要求的流程图 (5)、高级要求的流程图 (6)、流程图说明 (7)6、实验源代码及解释 (7)7、实际接线图 (13)8、运行结果 (13)9、设计心得与体会 (16)10、主要参考文献 (16)1、设计目的通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。
通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际。
2、设计内容及要求1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。
当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行7秒钟,B道再放行5秒钟,依次轮流。
绿灯转换红灯时黄灯亮1秒钟。
2)一道有车,另一道无车时(实验时用开关K5和K6控制),交通控制系统能立即让有车道放行。
3)有紧急车辆要求通过时,系统要能禁止普通车辆通过,A、B道均为红灯,紧急车由K7开关模拟,有紧急车时另有一红灯闪烁。
4)基本要求:采用8255输出控制信号灯,8255输入K5、K6、K7控制开关信号,用循环程序软件定时实现功能要求;(60分)5)中级要求:采用8255输出控制信号灯,8255输入K5、K6、K7控制开关信号,用8253硬件定时,软件查询方式实现功能要求;(80分)6)高级要求:在中级要求的基础上,增加用8255输出驱动LED数码显示器显示绿灯倒计时秒数,黄灯时不显示时间。
微机原理课设带数码管显示的交通灯模拟控制系统设计
微机原理课设带数码管显示的交通灯模拟控制系统设计Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】南京工程学院课程设计说明书(论文)题目带数码管显示的交通灯模拟控制系统设计课程名称微机原理及应用院系专业班级学生姓名学号设计地点指导教师设计起止时间:2013年12月23日至2017年12月27日目录一、方案说明 (2)1、硬件设计 (2)、硬件接线图 (2)、主机接线说明 (3)2、软件设计 (3)、程序流程图 (4)二.源程序清单 (5)三、调试现象 (10)四、心得体会 (12)一、设计说明硬件方面:8253产生1HZ的方波,脉冲到8259的IR1端,产生中断,调中断服务子程序。
在加入紧急车道后,单脉冲()连到8259的IRO端,产生一个高级的中断请求信号。
软件方面:主程序先对各个硬件初始化,在开CPU中断,然后空操作,等待中断。
执行低级中断(IR1)时,8255的PA口负责选数码管,PB口负责显示数字,用查表法可查到0~9的数码管编码。
采用循环扫描方法,人眼即可看到连续的二位数。
当倒计时减到零时,对红绿灯取反。
若手动上下拨动单脉冲()一次,则产生一个高级中断(IR0),程序转而执行此中断处理程序,处理完后返回继续执行低级中断(IR1)。
1、硬件设计、硬件接线图C5区:CS、A0、A1————A3区:CS3、A0、A1C5区:OUT0————C5区:CLK1————C1区:VCCC5区:GATE0、GATE1C5区:CLK0————B2区:2MC5区:OUT1————B3区:IR1B3区:CS、A0————A3区:CS2、A0B3区:INT、INTA————ES8688:INTR、INTAB3区:IR0————B2区:单脉冲() B4区:CS、A0、A1————A3区:CS1、A0、A1B4区:PA口、PB口————G5区:C口、B口B4区:PC口———— G6区:JP65(LED灯)实物连线图2、软件设计1、程序流程图2.设计思路①8255交通信号灯的灯光变化和数码显示通过8255实现控制。
交通信号灯模拟控制系统课程设计报告书
课程设计报告书课程名称:交通信号灯模拟控制系统目录一、设计概述 (1)(一)交通灯的应用前景及现状 (1)(二)课程设计的性质和目的 (1)二、设计任务 (1)三、方案简介 (2)四、设计详解 (4)(一)显示子程序 (4)(二)定时子程序 (4)(三)总体程序流程 (4)五、元件清单及主要元件说明 (5)(一)AT89S51单片机 (6)(二)共阴极数码管 (8)(三)发光二极管(红绿黄三色) (8)六、系统硬件设计 (8)(一)单片机主电路 (8)(二)交通灯接口电路 (9)(三)LED数码管显示电路 (10)(四)键盘口电路 (10)七、系统软件设计 (11)(一)初始化程序 (11)(二)显示子程序 (11)(三)定时中断处理程序 (12)(四)紧急中断处理程序 (13)(五)延迟程序 (14)八、设计心得 (14)九、参考文献 (15)十、附录 (15)交通信号灯模拟控制系统一、设计概述(一)交通灯的应用前景及现状随着社会经济的发展,城市交通问题越来越引起人们的关注。
人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。
城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。
所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。
在大、中城市,十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
在交通灯的通行与禁止时间控制显示中,通常根据交通规律设置红绿黄三色信号的时间,时间控制都是固定的。
微机原理课程设计交通灯
一、课程设计题目交通灯控制二、课程设计目的●综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计能力与实现系统、绘制系统电路图的能力,为实际应用奠定一定的根底。
●掌握8255A方式0的使用与编程方法●PC机与配套的接口电路实验装置●IC芯片:8255A应用和8253三、课程设计内容●采用8255A设计交通灯控制的接口方案●采用8253设计延时电路●插接电路●编写控制程序四、课程设计过程1、设计原理●82558255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。
具有3个通道3种工作方式的可编程并行接口芯片〔40引脚〕。
其内部与引脚图如下图:8255有三个端口A、B、C端口,3种不同的工作方式,在其控制字的作用下使某一个端口工作于某一种工作状态下。
8253intel8253是NMOS工艺制成的可编程计数器/定时器,其内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全一样,如下图:每个计数器的输入和输出都决定于设置在控制存放器中的控制字,互相之间工作完全独立,采用减1计数方式。
控制字如下图:在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。
当计数脉冲是周期的时钟信号时,计数就成为定时。
各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。
在这里我们主要采用方式0:计数完毕产生中断(由低电平变为高电平)。
其波形图如下图:a. 写CW后:OUT=0,直到计数到0b. 写N后:下1个CLK脉冲下降沿开始计数c. 计数过程中,可重写N,重写N后,同b.d. GATE的作用:GATE=1计数、=0暂停计数e. 计数到0:OUT=1,直到再写CW或N2、方案设计考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进展交通管理,所以本方案要点是至少对六个交通灯进展控制。
微机原理课程设计——交通灯控制系统
设计要求:设计要求:(1) 利用8253定时,8259中断及8255输出实现交通灯模拟控制。
(2) 实现能自动控制和手动控制。
实现能自动控制和手动控制。
(3) 实现能随时可以调整自动模式的绿灯和红灯时间和红灯时间1 1 设计目的设计目的电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
交通灯能保证行人过马路的安全交通灯能保证行人过马路的安全,,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。
红灯停,绿灯行的交通规则。
广泛用于十字路口广泛用于十字路口,,车站车站, , , 码头等公共场所码头等公共场所码头等公共场所,,成为人们出行生活中不可少的必需品成为人们出行生活中不可少的必需品,,由于计算机技术的成熟与广泛应用计算机技术的成熟与广泛应用,,使得交通灯的功能多样化的功能多样化,,远远超过老式交通灯远远超过老式交通灯, , , 交通交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。
诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。
还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。
或者给红绿色盲声音警示的人性化设计。
现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。
当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。
因此,研究交通灯及扩大其应用,有着非常现实的意义。
义。
2 2 设计内容设计内容交通灯控制系统交通灯控制系统利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。
交通信号灯的控制(微机原理课程设计)
一.设计任务及要求:交通信号灯的控制:1.通过 8255A 并口来控制 LED 发光二极管的亮灭。
2.A 口控制红灯, B 口控制黄灯, C 口控制绿灯。
3.输出为 0 则亮,输出为 1 则灭。
4.用 8253 定时来控制变换时间。
要求:设有一个十字路口, 1、3 为南,北方向, 2、4 为东西方向,初始态为 4 个路口的红灯全亮。
之后, 1、3 路口的绿灯亮, 2、4 路口的红灯亮, 1、3 路口方向通车。
延迟 30 秒后,1、3 路口的绿灯熄灭,而 1,3 路口的黄灯开始闪烁(1HZ)。
闪烁 5 次后, 1、3 路口的红灯亮,同时 2、4 路口的绿灯亮, 2、4 路口方向开始通车。
延迟30 秒时间后, 2、4 路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5 次后,再切换到 1、3 路口方向。
之后,重复上述过程。
二.方案比较及评估论证:分析题意,红,黄,绿灯可分别接在8255 的 A 口,B 口和 C 口上,灯的亮灭可直接由 8086 输出 0,1 控制。
30 秒延时及闪烁由 8253 控制,由闪烁的实现方法可分为两种方案:方案一:设 8253 各口地址分别为:设 8253 基地址即通道 0 地址为04A0H;通道 1 为 04A2H;通道 2 为 04A4H;命令控制口为 04A6H。
黄灯闪烁的频率为 1HZ,所以想到由 8253 产生一个 1HZ 的方波, 8255 控制或者门打开的时间,在或者门打开的时间内, 8253 将方波信号输入或者门使黄灯闪烁。
由于计数值最大为65535,1MHZ/65536 的值远大于2HZ,所以采用两个计数器级联的方式,8253 通道 0 的 clock0 输入由分频器产生的 1MHZ 时钟脉冲,工作在方式 3 即方波发生器方式,理论设计输出周期为 0.01s 的方波。
1MHZ 的时钟脉冲其重复周期为 T=1/1MHZ=1 s,因此通道 0 的计数初值为 10000=2710H。
微机课程设计报告-交通灯系统设计
《微机原理与接口技术》课程设计题目:交通灯系统设计学院(系):年级专业:学号:学生姓名:指导教师:课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:交通灯系统设计一、设计条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。
二、主要任务:该课程设计要求采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
具体要求如下:1.东西方向车辆放行60秒钟。
即东西方向的绿灯和南北方向的红灯同时点亮1分钟;2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。
即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。
如此循环重复。
6. 严格按照课程设计说明书要求撰写课程设计说明书。
三、时间安排:前言................................................. - 4 - 一设计要求与设计方案............................... - 5 -1.1实验目的 ..................................... - 5 -1.2 实验内容.................................... - 5 -1.3 交通灯设计方案的确定........................ - 5 -1.4 设计思想.................................... - 5 -1.4.1延时设计................................. - 5 -1.4.2计数器的设计............................. - 6 - 二具体设计......................................... - 6 -2.1 8255A的工作原理及应用设计................... - 6 -2.2 引脚信号.................................... - 7 -2.3 8255A的工作方式: ........................... - 9 - 三流程图........................................... - 9 -3.1 交通灯流程图................................ - 9 - 四源程序.......................................... - 10 - 五设计体会与小结.................................. - 12 - 六参考文献........................................ - 12 -随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,成为人们利用计算机设计和开发各种应用系统的基础。
微机原理课设-带数码管显示的交通灯模拟控制系统设计
成绩南京工程学院课程设计说明书(论文)题目带数码管显示的交通灯模拟控制系统设计课程名称微机原理及应用院系专业班级学生姓名学号设计地点指导教师设计起止时间:2013年12月23日至2017年12月27日目录一、方案说明 (2)1、硬件设计 (2)1.1、硬件接线图 (2)1.2、主机接线说明 (3)2、软件设计 (3)2.1、程序流程图 (4)二.源程序清单 (5)三、调试现象 (10)四、心得体会 (12)1.课程设计应达到的目的通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。
通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际。
2.课程设计题目及要求题目:交通信号灯模拟控制系统的设计利用STAR ES598PCI实验仪的硬件资源设计一个“带时间显示的交通信号灯模拟控制系统”。
所有输入该装置信号采用STAR ES598PCI实验仪上的状态输入开关,东西、南北方向的红绿黄灯采用实验仪上的LED发光二极管模拟,东西、南北方向的信号灯变化,通行倒计时时间用数码管显示。
1、功能要求:1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。
当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行10秒钟,B道再放行10秒钟,依次轮流。
绿灯转换红灯前黄灯亮4秒钟。
2)夜间工作时A道(东西方向)和B道(南北方向)的黄灯闪烁,绿灯和红灯不亮(实验时用开关K8控制)。
3)开关K8=0,则工作在以上功能(1);开关K8=1,则工作在以上功能(2)。
2、难度要求:1)基本要求:采用8255 PA口输出控制信号灯,8255 PC0输入K8控制开关信号,用循环程序软件定时实现功能要求;(60分)2)中级要求:采用8255 PA口输出控制信号灯,8255 PC0输入K8控制开关信号,用8253硬件定时,软件查询方式实现功能要求;(80分)3)高级要求:在中级要求的基础上,增加用8255 PB口动LED数码显示器显示绿灯倒计时秒数,从9倒计数到0,倒计数到4时黄灯亮。
微机原理课程设计交通灯控制系统设计
交通灯控制系统设计一、设计目的⒈ 了解交通灯管理的基本工作原理⒉ 熟悉8259中断控制器的工作原理和应用编程⒊ 熟悉8255并行接口的各种工作方式和应用⒋ 熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法⒌ 掌握多位LED显示问题的解决二、设计要求1.东西方向车辆放行60秒钟。
即东西方向的绿灯和南北方向的红灯同时点亮1分钟;2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
在南北方向亮红灯期间,在2位数码管上显示计数值(每秒减1),从65减为0。
3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。
即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。
如此循环重复。
三、电路及连线设计在本次课程设计当中,本次设计采用的是软件定时(即通过汇编指令)实现的。
而灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU 和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示。
图1 8255的内部结构及引脚图2 8255工作方式控制字和C口按位置位/复位控制字格式2.3电路接线图图3 红绿灯模拟设计总电路图上电路图为红绿灯模拟设计总电路图,通过8086CPU系统总线来控制8255的A端口、B端口,而A、B端口分别接LED发光二极管来控制十字路口红绿灯。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京工程学院Array通信工程学院课程设计说明书(论文)题目交通信号灯模拟控制系统的设计课程名称微机原理与接口技术专业班级学生姓名学号设计地点指导教师设计起止时间:2013年12月23日至2013年12月27日目录1、设计目的 (2)2、设计内容及要求 (2)3、设计原理 (2)、电路接线方案 (2)、定时问题 (3)、工作状态 (3)4、实验元件解释 (3)、可编程并行通信接口8255A................................................................. (3)、可编程计数器/定时器8253 (4)5、程序流程图及说明 (5)、基本和中级要求的流程图 (5)、高级要求的流程图 (6)、流程图说明 (7)6、实验源代码及解释 (7)7、实际接线图 (13)8、运行结果 (13)9、设计心得与体会 (16)10、主要参考文献 (16)1、设计目的通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。
通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际。
2、设计内容及要求1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。
当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行7秒钟,B道再放行5秒钟,依次轮流。
绿灯转换红灯时黄灯亮1秒钟。
2)一道有车,另一道无车时(实验时用开关K5和K6控制),交通控制系统能立即让有车道放行。
3)有紧急车辆要求通过时,系统要能禁止普通车辆通过,A、B道均为红灯,紧急车由K7开关模拟,有紧急车时另有一红灯闪烁。
4)基本要求:采用8255输出控制信号灯,8255输入K5、K6、K7控制开关信号,用循环程序软件定时实现功能要求;(60分)5)中级要求:采用8255输出控制信号灯,8255输入K5、K6、K7控制开关信号,用8253硬件定时,软件查询方式实现功能要求;(80分)6)高级要求:在中级要求的基础上,增加用8255输出驱动LED数码显示器显示绿灯倒计时秒数,黄灯时不显示时间。
(100分)3、设计原理设计任务中的A道代表东西方向,B道代表南北方向。
、电路接线方案:交通信号灯由实验仪的LED发光二极管模拟,由8255-PA输出控制:见下表。
带时间显示的交通信号灯模拟控制系统8255A输入/输出信号一览表(供参考)注:1)、8255-PA输出方式可根据实验设备红绿黄灯具体位置改变2)、采用软件延时,则8255的PC4不用接8253-OUT2。
数码管的位码选择、定时问题用8253#2工作方式0进行500ms定时,CLK2接125kHz时钟信号,GATE2接高电平,OUT2接8255-PC4。
主程序通过查询8255-PC4的状态,获知准确的定时信息。
也可以采用软件延时,500ms延时子程序参见实验一。
、工作状态根据设计任务功能要求,依K5、K6、K7的状态分为四种工作状态:状态0:K5、K6、K7均断开(1电平)或K5、K6均闭合K7断开,A、B道交替通行;状态1:仅K5闭合,A道有车、B道无车;状态2:仅K6闭合,A道无车,B道有车;K5和K6均闭合,A、B道都有车,A、B道交替通行;状态3:K7闭合,有紧急车辆通行。
4、实验元件及解释、可编程并行通信接口8255A8255A的端口地址设为A口—0F000H,B口—0F001H,C口—0F002H,寄存器端口—0F003H将LED 灯的D0~D7分别与8255A的PC0~PC7相连,具体连接如下:D0—1路口绿灯,D4—1路口红灯。
D1—2路口绿灯,D5—2路口红灯。
D2—3路口绿灯,D6—3路口红灯。
D3—4路口绿灯,D7—4路口红灯。
其中:1、3路口魏东西方向,2,4路口为南北方向。
系统中的8255A电路如图(B4区:8255A电路)、可编程计数器/定时器8253用LED(发光二极管)模拟信号灯,8255A实现对信号灯的控制(PC0~PC6分别接D0~ D6),8253的计数器2实现基本单位定时(如10ms)信号的输出;再用8255A的PA口查询定时信号的变化,并统计脉冲数,以实现3min、5s和1s的定时实验系统中8253计数器2的CLK2可接OPCLK,频率为,GATE2接+VCC,OUT2接8255A的PA0。
定时可采用软硬件香结合的方式实现。
系统中8253电路如图(C5区:8253电路)8253端口地址:0#计数器—0B000H,1#计数器—0B001H,2#计数器—0B002H,控制寄存器—0B003H。
5、程序流程图及说明、基本和中级要求的流程图:、高级要求的流程图、流程图说明流程图1设计思想:1、主程序每秒循环一次,每次查询三个开关状态,及时响应开关状态的变化。
其中CNT0和CNT3分别用于记录状态0和状态3工作进程的进程计数器,可以用寄存器或内存变量实现。
2、常用的工作状态0是A、B道交替通行,一个周期用时14秒。
用CNT0以秒为单位进行加1计数,从0到27循环计数,CNT0/2就可知本周期进行到第几秒了。
根据设计任务功能要求,第0秒,A道红灯、B道黄灯;第1~7秒,A道绿灯、B道红灯;第8秒,A道黄灯、B道红灯;第9~13秒,A道红灯、B道绿灯。
3、工作状态3中,CNT3只有2种状态(0和0FFH),用于控制紧急车辆的灯光闪烁。
4、时间显示采用实验仪的数码管显示。
只用一个数码显示器显示绿灯通行倒计时,A道显示数=8-CNT0/2,B道显示数=14-CNT0/2。
参考流程图2。
如果用2个数码显示器分别显示A道、B道的倒计时,则需要用到动态显示扫描技术,难度较大,定为加分项目。
在500ms延时子程序中循环调用动态显示扫描子程序,定时器的定时周期应缩短到5ms。
参考流程图3。
此功能难度较大,定为加分项目。
2个数码管的位码选择(低电平有效)有8255的PC3、PC0来确定,接线到数码管选择脚接口JP41(注意JP41的接插方法:JP41只接插一半,用PCL接JP41的1-4引脚。
如果PCL与JP41完全连接,PC4对应位会显示倒计时数码)。
显示内容由8255的B口接线到数码管段码接口JP42。
6、实验源代码及解释源程序如下:.MODEL TINYCOM_ADDR EQU 0B003H ;8253控制寄存器端口地址T0_ADDR EQU 0B000H ;计数器0T1_ADDR EQU 0B001H ;计数器1T2_ADDR EQU 0B002H ;计数器2COM_ADD EQU 0F003H ;8255控制寄存器端口地址PA_ADD EQU 0F000H ;PA口PB_ADD EQU 0F001H ;PB口PC_ADD EQU 0F002H ;PC口.STACK 300.DATALED_DATADB 00111011B ;东西红灯,南北黄灯,紧急车辆闪光亮SHUMA DB 01111111B ;0DB 00000110B ;1DB 01011011B ;2DB 01001111B ;3DB 01100110B ;4DB 01101101B ;5DB 01111101B ;6DB 00000111B ;7DB 01111111B ;8CNT0 DB ? ;定义一个字节变量,初始值不定CNT3 DB ?.CODESTART: MOV AX,@DATA ;AX=0040HMOV DS,AXMOV DX,COM_ADD ;8255初始化MOV AL,88H ;AL=1000 1000,A口方式0输出,B口方式0输出,C口高四位输入,低四位输出OUT DX,AL ;把AL中的内容送入DX端口MOV DX,COM_ADDR ;8253初始化MOV AL,0B0H ;AL=1011 0000,通道2,先读/写寄存器低字节,后读/写高字节OUT DX,AL ;把AL中的内容送入DX端口MOV DX,PC_ADD ;位码选择IN AL,DX ;把DX端口的数据送入ALAND AL,0FEH ;逻辑与指令,使最低位清零OR AL,01H ;逻辑或指令,使最低位置1OUT DX,AL ;把AL中的内容送入DX端口MOV CNT0,0 ;CNT0=0MOV CNT3,0 ;CNT3=0LP: CALL DL500ms ;调用DL500ms的指令MOV DX,PC_ADD ;将PC端口地址送给DXIN AL,DX ;把DX端口的数据送入ALTEST AL,80H ;1000 0000 PC7 检查AL的D7=1?JZ K7 ;ZF=1,转移JMP JMP1 ;无条件转JMP1K7: MOV CH,CNT3 ;紧急情况CMP CH,0 ;比较CH-0JZ RRS ;ZF=1则转移RRM: MOV AL,5 ;AL=0005HXLAT ;AX=BBH ;Red Red DarkMOV DX,PA_ADD ;DX=0F000HOUT DX,AL ;将AL的值写入DX端口JMP LAST0 ;跳转到JMP1RRS: MOV AL,4 ;AL=0004HXLAT ;AX=3BH ;Red Red LightMOV DX,PA_ADD ;DX=0F000HOUT DX,AL ;将AL的值送入DX端口CALL DL500ms ;调用DL500ms指令MOV AL,5 ;AL=0005HXLAT ;AX=BBH ;Red Red DarkMOV DX,PA_ADD ;DX=0F000HOUT DX,AL ;将AL的值送入DX端口LAST0: MOV DX,PB_ADD ;DX=0F001HMOV AL,00H ;AL=00HOUT DX,AL ;将AL的值写入DX端口XOR CH,0FFH ;异或指令,使操作数的某些位保留(与“0异或”)使某些位取反(与“1异或”)MOV CNT3,CH ;CH=0FFHMOV CNT0,0 ;CNT0=0JMP LP ;跳转到LP指令JMP1: MOV DX,PC_ADD ;DX=0F002HIN AL,DX ;将DX端口的内容赋值给ALTEST AL,20H ;检测(0010 0000) PC5JNZ JMP2 ;ZF=0,转移MOV DX,PC_ADD ;DX=0F002HIN AL,DX ;将DX端口的内容赋值给ALTEST AL,40H ;检测(0100 0000) PC6JNZ K5 ;ZF=0,转移JMP JMP3 ;无条件跳转JMP3指令K5: MOV AL,1 ;AL=0001XLAT ;00EBHMOV DX,PA_ADD ;DX=0F000HOUT DX,AL ;将AL的值送入DX端口MOV DX,PB_ADD ;DX=0F001HMOV AL,00H ;AL=00HOUT DX,AL ;将AL的值送入DX端口MOV CNT0,0 ;CNT0=0MOV CNT3,0 ;CNT3=0JMP LP ;无条件跳转LPJMP2: MOV DX,PC_ADD ;DX=0F002HIN AL,DX ;将DX端口中的内容赋值给ALTEST AL,40H ;检测(0100 0000) PC6JZ K6 ;ZF=1,则转移JMP JMP3 ;无条件转移JMP3K6: MOV AL,3 ;AL=0003XLAT ;DBHMOV DX,PA_ADD ;DX=0F000HOUT DX,AL ;将AL的值送入DX端口MOV DX,PB_ADD ;DX=0F001HMOV AL,00H ;AL=00HOUT DX,AL ;将AL的值送入DX端口MOV CNT0,0 ;CNT0=0MOV CNT3,0 ;CNT3=0JMP LP ;无条件跳转LP指令LP1: JMP LP ;无条件跳转LP指令JMP3: MOV CNT3,0 ;CNT3=0MOV CH,CNT0 ;CH=CNT0SHR CH,1 ;CH=CNT0/2 ,CH右移一位LEA BX,LED_Data ;取源操作地址的偏移量,并把它送到目的操作数所在单元CMP CH,0 ;比较CH-0JZ RY ;ZF=1,相等则转移CMP CH,8 ;定时8sJB GR ;CF=1,低于则转移CMP CH,8 ;定时8sJZ YR ;ZF=1,相等则转移JMP RG ;无条件转移RGRG: MOV AL,3 ;AL=0003 Red GreenXLAT ;BEHMOV DX,PA_ADD ;DX=0F000HOUT DX,AL ;将AL的值送入DX端口PUSH BX ;5~1S倒计时LEA BX,SHUMA ;转换字形码MOV AL,14SUB AL,CH ;AL=AL-CH/2XLAT ;表转换MOV DX,PB_ADDOUT DX,ALPOP BX ;显示倒计时LAST: INC CNT0 ;指向下一个元素CMP CNT0,28 ;一个计时周期28sJNZ LP1 ;ZF=0,则转移MOV CNT0,0 ;CNT0=0JMP LP1 ;无条件转移LP1RY: MOV AL,0 ;AL=0000 Red YellowXLAT ;表转换MOV DX,PA_ADD ;DX=0F000HOUT DX,AL ;将AL的值送入DX端口MOV DX,PB_ADD ;DX=0F001HMOV AL,00H ;AL=00HOUT DX,AL ;将AL的值送入DX端口JMP LAST ;无条件转LAST指令GR: MOV AL,1 ;AL=0001 Green Red XLAT ;表转换MOV DX,PA_ADD ;AX=0F000HOUT DX,AL ;将AL的值送入DX端口PUSH BX ;7~1s倒计时LEA BX,SHUMA ;转换字形码MOV DX,PB_ADD ;DX=OF001HMOV AL,8 ;AL=0008SUB AL,CH ;AL=AL-CH/2XLAT ;表转换BDHMOV DX,PB_ADD ;DX=0F001HOUT DX,AL ;将AL的值送入DX端口POP BX ;显示计时JMP LAST ;无条件转移LAST指令YR: MOV AL,2 ;AL=0002XLAT ;表转换EBH Yello RedMOV DX,PA_ADD ;DX=0F000HOUT DX,AL ;将AL的值送入DX端口MOV DX,PB_ADD ;DX=0F001HMOV AL,00H ;AL=0000OUT DX,AL ;将AL的值送入DX端口JMP LAST ;无条件转移LAST指令DL500ms: PROC NEARMOV DX,T2_ADDRMOV AL,24H ;62500=F424HOUT DX,AL ;将AL的值送入DX端口MOV AL,0F4H ;AL=0F4HOUT DX,AL ;将AL的值送入DX端口DELAY: MOV DX,PC_ADD ;DX=0F002HIN AL,DX ;0001 0000 PC4~OUT2TEST AL,10H ;查AL=10H?JZ DELAY ;ZF=1 ,则转移RETDL500ms ENDPEND START ;汇编结束7、实际接线图8、运行结果当系统工作于状态1时,A、B道交替通行当系统工作于状态2时,仅K5闭合,A道有车,B道无车:当系统工作于状态3时,仅K6闭合,A道无车,B道有车:当系统工作于状态4时,K7闭合,有紧急车辆通行:9、设计心得及体会为期一周的课程设计在不知不觉中已经结束了,短短的几天,让我重拾课本中关于并行通信接口8255A和8253计数器/定时器的原理及其应用,抛开我们应该掌握的知识和技能,我还明白了一些做人的道理,让我受益匪浅。