微机原理课程设计交通灯
微机原理课程设计交通信号灯
设计任务及要求交通信号灯的亮灭规律。
设有一个十字路口,1、3位南北方向,2、4位东西方向。
初态为4个红灯全亮,禁止通行;随后交通灯亮灭规律按下列步骤进行:(1)1、3路口绿灯亮,2、4路口红灯亮;(2)延时10秒后,1、3路口绿灯灭;(3)1、3路口黄灯闪烁(闪烁3次);(4)2、4路口绿灯亮,同时1、3路口红灯亮;(5)延时10秒后,2、4路口绿灯灭;(6)2、4路口黄灯闪烁(闪烁3次);(7)转向(1)循环执行。
要求:1.通过8255A并口来控制LED发光二极管的亮灭,A口控制红灯,B口控制黄灯,C口控制绿灯。
红灯(RLED),黄灯(YLED)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。
2.发光二极管通过电阻接+5V,输出为0则亮,输出为1则灭。
3.通过软件延时,设CPU晶振频率为8M。
4.闪烁功能采用灯亮1秒后马上熄灭来实现。
硬件连接图(可打印)、设计说明8255共有40个引脚,其功能分别如下:D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
RD:读信号线,当这个输入引脚为低电平时,即RD=0且CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。
CS:芯片选择信号线,当这个输入引脚为低电平时,即CS=0时,表示芯片被选中,允许8255与CPU进行通讯;CS=1时,8255无法与CPU做数据传输。
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
微机原理课程设计_十字路口交通灯控制器
一、设计题目:十字路口交通灯控制器二、设计要求:通过对红绿黄LED发光二极管的控制,熟练掌握8255A可编程并行接口的编程方法。
编写程序控制8255A可编程并行接口芯片,使实验台上的红、绿、黄发光二极管按照十字路口交通信号灯的燃灭规律发光。
三、硬件方案:(一)设计原理:通过8255A并口来控制LED发光二极管的亮灭。
A口控制红灯,B口控制黄灯,C口控制绿灯。
输出为0则亮,输出为1则灭。
用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,8088CPU,双色灯,PC机等实现。
(二).部分所使用的芯片极其原理:(1)8255的基本功能:Intel公司生产的可编程并行接口芯片8255A已广泛应用于实际工程中,例如8255A与A/D、D/A配合构成数据采集系统,通过8255A连接的两个或多个系统构成相互之间的通信,系统与外设之间通过8255A交换信息,等等,所有这些系统都将8255A用作为并行接口。
8255A为一可编程的通用接口芯片。
它有三个数据端口A、B、C,每个端口为8位,并均可设成输入和输出方式,但各个端口仍有差异:端口A(PA0~PA7):8位数据输出锁存/缓冲器,8位数据输入锁存器;端口B(PB0~PB7):8位数据I/O锁存/缓冲器,8位数据输入缓冲器;端口C(PC0~PC7):8位输出锁存/缓冲器,8位输入缓冲器(输入时没有锁存);在模式控制下这个端口又可以分成两个4位的端口,它们可单独用作为输出控制和状态输入。
微机原理课程设计说明(交通灯)
2、有急救车通过时:(用中断实现)
两个方向的交通灯全为红(10S),急救车通过后恢 复正常信号。
3、 制作交通灯控制硬件电路板,编写软件
在XL1000-2000仿真仪实现交通信号灯控制。
(二)提高部分:实现智能交通灯控制
1、考虑左转灯控制
2、红绿灯点亮时间用键盘设定,用数码管
减“1”操作显示时间变化。。
附录:1、kerl-uvision集成调试软件的操作
操作步骤:
(1)双击桌面上的UV2快捷图标,启动软件。 (2)点击P工程 N新建工程 输入文件名并选择 存入的盘(如E:)点击保存。出现CPU屏幕,选Atmel AT89C51 点确定。屏幕左上方出现图标目标1, 原则上一个程序可建一个工程。 (3)点击文件 新建文件 出现汇编语言输入区。 输入汇编语言程序,点击文件中的保存,输入:程序 名.ASM 并选择存入的盘(如E:)点击保存。(输入的程 序名一般不超过6个字母数字,以字母打头)
③为了简化操作步骤,第一次使用时, 应当确认一 下软件的设置。首先点击下图的“设置”对话框在 自动编程的选项中选择: “擦除” “写入”“运 行目标板” (下图打钩的地方)然后点确定。由于 一般情况下,检测芯片,查空,校对,写加密等等 选项没有必要选择,会浪费编程时间。 ④在芯片类型的对话框中选择 MCU\ATMEL_51\AT89S52 然后点确定。 ⑤点击主界面的“打开”,找到要烧录的程序的 .HEX文件,然后点确定。
《微机原理机接口技术》课程设计
一、课程设计的目的: 1、加深对单片机的基本概念、基本原理、基 本结构的理解; 2、通过课程设计提高学生单片机的开发能力,
包括硬件设计和软件编程的能力。
二、课程设计的内容:
用单片机控制十字路口的交通灯,要求能
微机原理课程设计—交通灯控制
交通信号灯的控制一、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。
通过本课程设计,使学生初步了解微机系统的硬件设备,学会 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。
微机原理课程设计交通信号灯正文3
1设计任务描述1.1设计题目:交通信号灯1.2设计内容利用微机原理试验箱,采两组红,黄,绿发光二极管来模拟A,B两路交差路口的信号灯控制。
1.2.1设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。
为以后学生结合专业从事微机应用设计奠定基础。
1.2.2设计要求一、基本要求:1.(1)按实际交通灯控制规程控制;(2)当路口发生交通事故时,能强制A、B两路禁行;(3)K0-K7为开关,K7来模拟紧急情况,K1-K6来模拟车辆多少;D11-D8为黄灯;D7-D0分别为4红4绿。
2.也可以选择具有一定难度的其他题目,但要经过指导老师的同意。
3.认真查阅资料,理解题目要求。
4.按时上机,认真调试程序。
5.运行程序,检查结果是否和设计要求一致。
6.记录出现的问题及现象,并对问题进行分析,思考解决方法。
7.遵守课程设计时间安排。
8.独立思考,认真设计。
9.认真书写课程设计说明书,避免相互抄袭。
二、对设计说明书撰写内容、格式、字数的要求1.课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
2.学生应撰写的内容为:目录、正文、参考文献等。
课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3.说明书(论文)手写或打印均可。
手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。
4. 课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。
三、设计完成后应提交成果的种类、数量、质量等方面的要求提交课程设计说明书一份。
在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。
微机原理红绿灯设计
微机原理课程设计报告书课题名称 红绿灯设计姓 名学 号 院、系、部 电气系 专 业 电子信息工程 指导教师孙秀婷、马丽2011年 1 月12日红绿灯设计一、设计目的※※※※※※※※※ ※※※※ ※※ ※※※※※※※※※2008级微机原理 课程设计查阅可编程并行芯片8255或其他相关资料,用简单的输入输出端口等硬件,配合延时和控制程序控制灯的亮灭。
通过对红、绿、黄LED(发光二极管)的控制熟练掌握8255A可编程并行接口的编程方法。
二、设计要求编写程序控制8255A可编程并行接口芯片,使红、绿、黄发光二极管按照十字路口交通信号灯的规律交替发光。
当按下任意键则停止运行,返回DOS。
1、红绿灯亮灭规律:a:初态为东西南北4个红灯全亮,禁止通行;b:经过一定时间南北路口绿灯亮东西路口红灯亮;c:经过一定时间,南北路口绿灯灭;d:南北路口黄灯闪烁;e:经过一定时间,4个路口红灯全亮。
f:经过一定时间,东西路口绿灯亮,南北路口红灯亮;g:东西路口绿灯灭;h:东西路口黄灯闪烁.i:转向步骤a循环执行。
三、电路及连线设计四、使用说明本次微机原理设计的题目为交通灯,它是通过对8255芯片和LED发光二极管的连接设计来模拟交通信号灯的控制,使红黄绿三色灯按照正常交通规则亮灭;十字路口交通信号灯的工作原理是在正常情况下以8086/8088的CPU与8255芯片相连接来实现的。
8255芯片包括四个口,即A口、B口、C口和控制口。
通过对其控制端口写入控制字,来设定8255的工作方式,在本设计中,使8255工作于方式0,将B口和C口都设计为输出,A口设计成输入。
其中B口控制东西方向的交通灯,C口控制南北方向的交通灯。
当程序正常运行时,依次为东西南北方向都是红灯,延时后,南北方向的绿灯和东西方向红灯亮,延时后南北方向的黄灯闪3次,随后南北方向的红灯和东西方向的绿灯亮,延时后,东西方向的黄灯闪3次,之后同理进行循环。
五、流程图设计六、程序设计如下:SSTACK SEGMENT STACK ;定义堆栈段DW 32 DUP(?)SSTACK ENDSCODE SEGMENT ;定义代码段ASSUME CS:CODE,SS:SSTACKSTART:MOV AL,90HMOV DX,9003HOUT DX,AL ;将8255控制字设置为10010000; B、C口输出 A口输入 工作方式0 RED: MOV AL,22HMOV DX,9001HOUT DX,AL ;东西方向红灯亮MOV DX,9002HOUT DX,AL ;南北方向红灯亮CALL DELAY ;调用延时程序DELAY NORMAL:STIMOV AL,88HMOV DX,9002HOUT DX,AL ;南北方向绿灯亮MOV AL,22HMOV DX,9001HOUT DX,AL ;东西方向红灯亮CALL DELAY ;调用演示程序DELAYMOV AL,00HMOV DX,9002HOUT DX,AL ;南北方向绿灯灭CALL DELAY1 ;调用演示程序DELAY1MOV CX,0005H ;将黄灯闪烁次数设为5 RECALL1:MOV AL,44HMOV DX,9002HOUT DX,AL ;南北方向黄灯亮CALL DELAY2XOR AL,ALOUT DX,AL ;南北方向黄灯灭CALL DELAY2 ;调用演示程序DELAY2LOOP RECALL1MOV AL,88HMOV DX,9001HOUT DX,AL ;东西方向绿灯亮MOV AL,22HMOV DX,9002HOUT DX,AL ;南北方向红灯亮CALL DELAYCALL DELAY ;两次调用演示程序DELAY,东西方向设为主干道 MOV AL,00HMOV DX,9001HOUT DX,AL ;东西方向绿灯灭CALL DELAY1 ;调用延时程序 DELAY1MOV CX,0005H ;将黄灯闪烁次数设为5RECALL2:MOV AL,44HMOV DX,9001HOUT DX,AL ;东西方向黄灯亮CALL DELAY2 ;调用延时程序DELAY2 XOR AL,ALOUT DX,AL ;东西方向黄灯灭CALL DELAY2 ;调用延时程序DELAY2LOOP RECALL2JMP NORMAL ;无条件跳转到NORMAL,实现循环 DELAY: PUSH CX ;延时程序 DELAYMOV BX,008FHT1:MOV CX,1000HT2:NOPNOPLOOP T2DEC BXCMP BX,0000HJNZ T1POP CXRETDELAY1: PUSH CX ;延时程序 DELAY1MOV CX,0FFFFHT3:NOPNOPLOOP T3POP CXRETDELAY2: PUSH CX ;延时程序 DELAY2MOV CX,0F900HT4:PUSH AXPOP AXLOOP T4POP CXRETCODE ENDSEND START七、设计总结:短短一周的微机原理课程设计已经过去了。
微机原理课程设计报告---红绿灯
一、设计要求(1)南北路口的绿灯、东西路口的红灯同时亮5秒。
(2)南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的红灯。
(3)南北路口的红灯、东西路口的绿灯同时亮5秒。
(4)南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持3秒。
(5)转(1)重复。
(6)紧急情况可以手动控制红绿灯的变换。
一个开关控制南北绿,东西红,另一个按钮南北红,东西绿。
(7)黄灯闪烁时扬声器发声,提醒。
二、设计目的(1)了解红绿灯电路的基本工作原理;(2)了解8086微型计算机的工作过程;(3)学习8086CPU与外围设备的接口技术。
(4)运用微机原理与接口技术、数字电路、汇编语言程序设计等课程学到的知识,掌握微型计算机接口的方法和原理,具备一定的微机应用开发的实践能力,加深对理论课程的理解。
三、设计的具体实现原理框图3.1系统概述本次设计是模拟交通灯实时控制系统,以8086CPU为核心加以并行接口芯片8255、可编程计数器/定时器8253、LED灯、开关等组成的系统。
以LED灯模拟十字路口的红绿灯。
对交通灯控制的实现主要是通过编写汇编语言程序对8255的I/O及8253进行控制,从而实现对灯的亮与灭进行控制。
PC口做输入,读取定时,及应急开关状态。
用8253对扬声器的发声进行控制,利用软件编程给定8253芯片某一频率的方波信号,并且设定8255芯片的门控信号PB0 =1,则可控制扬声器发声。
利用8253的计数器1方式3、计数器0方式0实现对扬声器的控制,以及对于交通灯亮灭时间的精确延时。
3.2 8086CPU介绍8086由执行部件和总线接口部件组成(内部结构图如下图)外部设备8086内部结构图1. 执行部件EU由算术逻辑单元(ALU)、标志寄存器、通用寄存器组和EU控制器等部件组成。
主要功能是执行指令:一般顺序执行,EU不断地从指令队列中取指令连续执行,而省去访问存储器取指令的时间。
需要访问存储器取操作数时,EU将访问地址送给BIU后,将要等待操作数到来后才能继续操作;遇到转移类指令时,要将指令队列中的后续指令作废,等待BIU重新从存储器取出目标地址中的指令代码进入指令队列后,EU才能继续执行指令。
微机原理及机电接口技术课程设计红绿灯
微机原理及机电接口技术课程设计第五组题目十字路口交通灯控制系统一.明确任务1.任务要求1)、模拟十字路口交通灯变化规律能实现通行时间的倒计时显示;当特种车(消防、警车等)通过时,中断保护现场并使四个口红灯全亮,中断消除后恢复现场。
2)、用开关控制中断信号2.任务分析1)南北东西道路有信号灯显示2)2位7段数码管显示通行和禁行倒计时3)针对特种车经过要设计相应的中断程序,并且中断返回后能信号灯按原来的状态继续进行道路控制。
二.总体设计1. 设计方案十字路口有南北方向和东西方向,每个方向都设有红、黄、绿三色交通信号灯12盏,并配有相应的亮灯倒计时显示4组。
当南北为绿灯或黄灯时,东西向一定是红灯,即南北绿灯时间加南北黄灯时间应等于东西红灯时间。
系统开始工作,南北路口绿灯亮,南北方向数码管进行绿灯50S倒计时显示,东西路口的红灯亮,东西方向数码管进行红灯55S倒计时显示。
当东西禁行方向剩5S时,南北通行方向的绿灯灭黄灯亮,同时数码管进行5S黄灯倒计时显示,5S后黄灯熄灭红灯亮,并进行南北红灯倒计时,同时东西方向红灯55S计时时间到红灯灭绿灯亮,东西向开始通行南北向禁行。
同样东西向绿灯50S计时时间到后转为黄灯,黄灯5S计时时间到再转为红灯,之后重复上述过程。
另设有点动按钮用来发出特种车经过时的中断信号2.单片机选型选择89C51系列单片机3.划分系统软、硬件功能数码管采用共阴极七段码动态显示4.确定系统结构组成时钟电路,复位电路,红绿黄灯指示电路(采用各色发光二极管代替),动态显示电路和简单按键电路三.硬件电路设计P0示位选控制。
P3.3作为外部中断输入口P1.0:南北向红灯,高电平点亮P1.1:南北向黄灯,高电平点亮P1.2:南北向绿灯,高电平点亮P1.3:东西向红灯,高电平点亮P1.4:东西向黄灯,高电平点亮P1.5:东西向绿灯,高电平点亮P2.7:南北向十位数码管位选信号P2.6:南北向个位数码管位选信号P2.5:东西向十位数码管位选信号P2.4:东西向个位数码管位选信号P0.0:数码管aP0.1:数码管bP0.2:数码管cP0.3:数码管dP0.4:数码管eP0.5:数码管fP0.6:数码管gP3.3:中断按钮,点动南北东西全部禁行,特种车通过四.软件设计1.片内RAM的定义A_BIT EQU 20H :用于存放南北十位数B_BIT EQU 21H :用于存放南北个位数C_BIT EQU 22H :用于存放东西十位数D_BIT EQU 23H :用于存放东西个位数TEMP1 EQU 24H :南北方向要显示的时间TEMP2 EQU 25H :东西方向要显示的时间SEC EQU 30H:1S计时标志2.程序设计由设计方案描述交通灯的显示可以分为以下4种状态:状态一:南北绿灯亮并从50S开始倒计时显示,东西红灯亮并从55S开始倒计时显示状态二:南北黄灯亮并从5S开始倒计时显示,东西红灯亮并继续55S倒计时显示状态三:南北红灯亮并从55S开始倒计时显示,东西绿灯亮并从50S开始倒计时显示状态四:南北红灯亮并继续55S 倒计时显示, 东西黄灯亮并从5S 开始倒计时显示3.设计流程图主程序流程图INT1中断程序流程图4.源程序:A_BIT EQU 20H ;用于存放南北十位数B_BIT EQU 21H ;用于存放南北个位数C_BIT EQU 22H ;用于存放东西十位数D_BIT EQU 23H ;用于存放东西个位数TEMP1 EQU 24HTEMP2 EQU 25HSEC EQU 30H ;1S计时标志ORG 0000HAJMP MAINORG 0013HAJMP INTORG 0100HMAIN:MOV SP,#45HMOV IE,#84H ;开INT0中断SETB IT1 ;下降沿触发MOV TMOD,#01H ;定时器初始化MOV TH0,#3CH ;50ms定时初值MOV TL0,#0B0HSETB TR0 ;启动定时器T0MOV SEC,#20 ;1S循环常数MOV R7,#50 ;绿灯时间MOV R6,#5 ;黄灯时间MOV R5,#55 ;红灯时间MOV R4,#10 ;全部红灯的时间STA1:MOV P1,#00001100B ;南北绿灯东西红灯ST1:MOV TEMP1,R7MOV TEMP2,R5ACALL CONVERT ;调用BCD码转换子程序STLOP1: ACALL DISPLAY ;调用显示子程序JNB TF0,STLOP1 ;50MS定时未到,转到STLOP1 CLR TF0DEC SECMOV A,SECCJNE A,#0,STLOP1 ;1S定时未到转到STLOP1 MOV SEC,#20DEC R5 ;东西倒计时数减一DJNZ R7,ST1 ;南北倒计时数减一MOV R7,#50STA2:MOV P1,#00001010B ;南北黄灯东西红灯ST2:MOV TEMP1,R6MOV TEMP2,R5ACALL CONVERT ;调用BCD码转换子程序STLOP2: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP2CLR TF0DEC SECMOV A,SECCJNE A,#0,STLOP2MOV SEC,#20DEC R5DJNZ R6,ST2MOV R6,#5MOV R5,#55STA3:MOV P1,#00100001B ;南北红灯东西绿灯ST3:MOV TEMP1,R5MOV TEMP2,R7ACALL CONVERT ;调用BCD码转换子程序STLOP3: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP3CLR TF0DEC SECMOV A,SECCJNE A,#0,STLOP3MOV SEC,#20DEC R5DJNZ R7,ST3MOV R7,#50STA4:MOV P1,#00010001B ;南北红灯东西黄灯ST4:MOV TEMP2,R6MOV TEMP1,R5ACALL CONVERT ;调用BCD码转换子程序STLOP4: ACALL DISPLAY ;调用显示子程JNB TF0,STLOP4CLR TF0DEC SECMOV A,SECCJNE A,#0,STLOP4MOV SEC,#20DEC R5DJNZ R6,ST4MOV R6,#5MOV R5,#55AJMP STA1INT: ;中断子程序PUSH 90H ;存入46H中PUSH PSWPUSH 00HPUSH 01HPUSH 02HPUSH 05HPUSH 06HPUSH 07HPUSH 20HPUSH 21HPUSH 22HPUSH 23HPUSH 24HPUSH 25HPUSH 30HPUSH TH0PUSH TL0MOV P1,#09H ;全部红灯CLR TF0MOV TH0,#3CHMOV TL0,#0B0HMOV SEC,#20L3:MOV TEMP1,R4MOV TEMP2,R4ACALL CONVERT ;调用BCD码转换子程序L4:ACALL DISPLAY ;调用显示子程JNB TF0,L4CLR TF0DEC SECMOV A,SECCJNE A,#0,L4MOV SEC,#20DJNZ R4,L3MOV R4,#10POP TL0POP TH0POP 30HPOP 25HPOP 24HPOP 23HPOP 22HPOP 21HPOP 20HPOP 07HPOP 06HPOP 05HPOP 02HPOP 01HPOP 00HPOP PSWPOP 90HRETI转换子程序CONVERT:MOV A,TEMP1 ;将南北要显示的数存放到A MOV B,#10DIV AB ;A除以B商存A,余数存B MOV A_BIT,A ;将A放到20HMOV B_BIT,B ;将B放到21HMOV A,TEMP2 ;将东西要显示的数存放到A MOV B,#10DIV AB ;A除以B商存A,余数存B MOV C_BIT,A ;将A放到22HMOV D_BIT,B ;将B放到23HRETDISPLAY: MOV DPTR ,#TAB ;显示子程序DPLOP1: MOV A,A_BIT ;将南北要显示的10位数送A MOVC A,@A+DPTR ;查表MOV P0,ACLR P2.7 ;显示南北10位数ACALL D1MS ;延时1MSSETB P2.7 ;灭南北10位数MOV A,B_BIT ;将南北要显示的个位数送A MOVC A,@A+DPTR ;查表MOV P0,ACLR P2.6 ;显示南北个位数ACALL D1MS ;延时1MSSETB P2.6 ;灭南北个位数MOV A,C_BIT ;将东西要显示的10位数送A MOVC A,@A+DPTR ;查表MOV P0,ACLR P2.5 ;显示东西10位数ACALL D1MS ;延时1MSSETB P2.5 ;灭东西10位数MOV A,D_BIT ;将东西要显示的个位数送A MOVC A,@A+DPTR ;查表MOV P0,ACLR P2.4 ;显示东西个位数ACALL D1MS ;延时1MSSETB P2.4 ;灭东西个位数RETD1MS:MOV R3,#250 ;1MS延时子程序D2:NOPNOPDJNZ R3,D2RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH END。
微机原理课程设计-交通信号灯模拟控制系统的设计
南京工程学院课程设计任务书课程名称微机原理及应用A 院(系、部、中心)电力学院专业电气工程及其自动化班级电力093 起止日期 2012.6.4 ~ 2010.6.12 指导教师鞠阳徐懂礼5.课程设计进度安排起止日期工作内容2012年6月4日(第16周)之前第16周,星期一第16周,星期二、三第16周,星期四第16周,星期五第16周,星期六预习消化理解设计任务,设计程序流程图,编写源程序。
预习星研微机实验系统的仿真调试操作界面学习STAR86/88实验系统的使用和操作,进行实验8255测试和8253测试基本实验完成基本要求的内容完成中级和高级要求的内容验收撰写课程设计报告6.成绩考核办法总评成绩由三部分组成,分别是:成果演示占40%,测试成绩占30%,设计报告占30%。
1、成果演示(根据程序运行演示确定基础分);2、口试或笔试测验(与本设计有关的问题,目的是考查设计成果是否经过自己思考独立完成);3、课程设计报告(格式、内容、质量)。
教研室审查意见:教研室主任签字:年月日院(系、部、中心)意见:主管领导签字:年月日设计说明书课程设计要求:设计一个十字路口的交通信号灯。
采用8255 PA口输出控制信号灯,8255 PC0输入K8控制开关信号,用8253硬件定时,软件查询方式实现如下功能。
白天模式:①东西方向和南北方向各放行10秒。
绿灯转红灯前黄灯闪烁4秒。
②LED数码显示器显示倒数计时,从9倒数到0;倒数到4时黄灯亮。
夜间模式:两个方向黄灯闪烁,绿灯和红灯不亮。
1、设计思路与功能描述(1)设计思路①8255交通信号灯的灯光变化和数码显示通过8255实现控制。
8255是一种具有多种功能的可编程并行通信接口电路芯片。
芯片包括A、B、C三个数据端口、A组控制部件、B组控制部件、读写逻辑控制电路、数据总线缓冲器。
8255有三种工作方式,其中方式0是基本输入/输出方式,适用于无条件传送和查询方式的接口电路。
本设计中,PA口用于输出信号控制灯光的变化(D6D5=00,D4=0),PB口用于输出信号控制数码管的显示(D2=0,D1=0),PC0用于输入K8的控制开关信号,PC1用于输入用于硬件延时的方波信号(D0=1)。
微机原理课程设计 8255控制交通灯
微机原理课程设计 8255控制交通灯微机原理课程设计-8255控制交通灯微机原理课程设计:8255模拟交通灯1、目的:自学8255采用方法,自学演示交通灯掌控的方法,自学双色灯的采用。
2、建议:掌控4个双色led灯(可以红肿,蓝,黄光),演示十字路口交通灯管理。
3、电路及连线pc0-pc3连dg1-dg4,pc4-pc7连dr1-dr4。
8255片选cs8255连138译码处210h。
4、说明(1)因为本实验就是演示交通灯掌控实验,所以必须先介绍实际交通灯的变化规律。
假设一个十字路口为东西南北走向。
初始状态0为东西红灯,南北红灯。
然后转状态1南北绿灯通车,东西红灯。
过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
再转状态3,东西绿灯通车,南北红灯。
过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
(2)双色led就是由一个红色led管芯和一个绿色led管芯PCB在一起,公用负端。
当红色正端提高电平,绿色正端提低电平时,红灯暗;红色正端提低电平,绿色正端提高电平时,绿灯暗;两端都提高电平时,黄灯暗。
(3)74ls240为8输入输出的逆向驱动器。
5、顺利完成的任务(1)利用计算机和微机原理试验箱,将实验6的程序tlamp_88.asm在试验箱运行和调试。
全速运行,观察整体效果。
单步运行,观察程序每条语句额执行效果,理解语句含义。
(2)修正实验连线为,pc7-pc4连dg1-dg4,pc3-pc0连dr1-dr4。
8255片挑选cs8255连138译码处为210h孔。
将tlamp_88.asm另存为jiaotong.asm。
修正jiaotong.asm,同时实现交通灯旧有功能。
(3)修改实验连线为,pb7-pb4连dg1-dg4,pb3-pb0连dr1-dr4。
8255片选cs8255连138译码处210h孔。
将jiaotong.asm另存为jiaotong2.asm。
微机原理交通灯课程设计
微机原理交通灯课程设计一、课程目标知识目标:1. 理解微机原理在交通灯控制系统中的应用,掌握交通灯控制系统的基本组成和工作原理。
2. 学会使用微控制器进行交通灯程序的编写,理解程序中各个模块的功能和实现方法。
3. 掌握交通灯控制中的时间计算方法,学会根据实际需求调整信号灯的变换周期。
技能目标:1. 能够运用所学知识设计并实现一个简单的交通灯控制系统,具备实际操作和调试的能力。
2. 培养学生运用编程语言解决实际问题的能力,提高编程技巧和逻辑思维能力。
3. 培养学生团队协作和沟通能力,能够共同分析问题、讨论解决方案并完成任务。
情感态度价值观目标:1. 激发学生对微机原理和交通工程学科的兴趣,培养探究精神和创新意识。
2. 培养学生关注社会热点问题,认识到科技在解决现实问题中的作用,提高社会责任感。
3. 培养学生严谨、认真的学习态度,树立良好的学术道德观念。
课程性质:本课程为实践性较强的学科课程,结合微机原理和交通工程知识,培养学生实际操作和创新能力。
学生特点:学生具备一定的微机原理和编程基础,对实际操作和动手实践有较高的兴趣。
教学要求:注重理论与实践相结合,引导学生通过实际操作掌握知识,提高解决实际问题的能力。
教学过程中,关注学生的个体差异,鼓励学生积极参与,充分调动学生的主观能动性。
通过课程学习,使学生能够达到上述设定的知识、技能和情感态度价值观目标。
二、教学内容1. 交通灯控制系统原理:介绍交通灯控制系统基本组成,包括信号灯、控制器、传感器等,解析各部分功能及相互关系。
参考教材章节:第三章 微控制器应用实例,第四节 交通灯控制系统。
2. 微控制器编程:讲解微控制器编程基础知识,以C语言为例,教授交通灯程序编写方法,包括程序结构、模块化编程等。
参考教材章节:第二章 微控制器编程基础,第三节 C语言编程。
3. 交通灯控制算法:介绍时间计算方法,教授如何根据实际需求调整信号灯变换周期,实现交通优化。
参考教材章节:第三章 微控制器应用实例,第五节 交通灯控制算法。
微机原理课程设计交通灯
一、课程设计题目交通灯控制二、课程设计目的●综合运用《微机原理与应用》课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计能力与实现系统、绘制系统电路图的能力,为实际应用奠定一定的根底。
●掌握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、方案设计考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进展交通管理,所以本方案要点是至少对六个交通灯进展控制。
微机原理课程设计实现交通灯的仿真
微机原理课程设计实现交通灯的仿真随着现代社会经济的不断发展,城市交通量不断增加,导致交通拥堵、事故频发等问题。
在这种情况下,交通灯作为重要的交通工具,发挥着非常重要的作用,协调道路交通流,提高道路使用效率,保障交通安全。
因此,在现代交通领域中,交通灯控制技术的研究具有重要的意义。
微机原理是计算机科学中非常重要的一门课程,涉及计算机组成原理、汇编语言等方面的内容。
交通灯的仿真设计实现正是微机原理课程的一个重要应用。
本文将从以下几个方面介绍微机原理课程设计实现交通灯仿真的相关内容:一、课程设计概述微机原理课程设计是本专业的必修课程之一,通过本课程的设计,学生可以了解计算机系统的基本构成与原理,分析并解决问题的能力,以及编写软件程序的能力。
交通灯仿真是微机原理课程设计的一个重要部分。
交通灯仿真设计包含了控制系统、仿真系统两个部分。
控制系统涉及传感器、控制器等硬件设备的选择与构建,仿真系统涉及编写软件程序进行实现。
二、仿真设计实现流程①需求分析在设计交通灯灯组控制需要时,需要进行需求分析。
复杂性、容错性、传输性、实时、可维护性等都是需要考虑的,需求分析包括需求捕获、需求规划、需求分析、需求表述、需求验证等方面。
②系统设计根据需求分析的结果,开始进行系统设计。
包括系统结构设计、功能设计、界面设计等方面。
③控制器设计交通灯系统需要对灯组进行控制,因此需要设计并选择控制器。
控制器的选择十分重要,不能出现任何的失误。
选择合适的控制器可以保证控制系统的可靠性和稳定性。
④程序设计程序设计是实现仿真系统的核心部分,比较重要的是使用的控制算法。
控制算法的设计需要考虑多种情况,比如交通高峰期、连续红绿灯时间、转弯车道优先等情况。
⑤程序测试在程序开发完毕之后,进行程序测试,测试程序的各项指标。
⑥无错测验当交通灯仿真程序在各环节开发完毕并调试通过,可进行无错测验(Stress Test)。
此测试形式的作用为进行大批应用时间测试,检验各功能组件间的完整性。
微机原理课程设计——交通灯控制系统
设计要求:设计要求:(1) 利用8253定时,8259中断及8255输出实现交通灯模拟控制。
(2) 实现能自动控制和手动控制。
实现能自动控制和手动控制。
(3) 实现能随时可以调整自动模式的绿灯和红灯时间和红灯时间1 1 设计目的设计目的电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
交通灯能保证行人过马路的安全交通灯能保证行人过马路的安全,,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。
红灯停,绿灯行的交通规则。
广泛用于十字路口广泛用于十字路口,,车站车站, , , 码头等公共场所码头等公共场所码头等公共场所,,成为人们出行生活中不可少的必需品成为人们出行生活中不可少的必需品,,由于计算机技术的成熟与广泛应用计算机技术的成熟与广泛应用,,使得交通灯的功能多样化的功能多样化,,远远超过老式交通灯远远超过老式交通灯, , , 交通交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。
诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。
还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。
或者给红绿色盲声音警示的人性化设计。
现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。
当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。
因此,研究交通灯及扩大其应用,有着非常现实的意义。
义。
2 2 设计内容设计内容交通灯控制系统交通灯控制系统利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。
微机原理课程设计(交通灯控制)PPT[PPT课件]
一、课程设计的目的: 1、加深对单片机的基本概念、基本原理、基本结
构的理解;
2、通过课程设计提高学生单片机的开发能力,包 括硬件设计和软件编程的能力。 二、课程设计的内容: 用单片机控制十字路口的交通灯,要求能实现以 下功能:
1、正常时信号灯控制:
(1)初始状态东西南北全为红灯(5S); (2)东西红灯、南北绿灯(5-10S); (3)东西红灯、南北绿灯转黄灯闪烁3-5次; (4)南北红灯、东西绿灯(5-10S); (5)南北红灯、东西绿灯转黄灯闪烁3-5次; (6)转(2)。
六、评分标准 1、平时成绩:20% 2、硬件控制板制作、软件设计、系统调试结 果和实现预定的功能:50% 4、课程设计报告和答辩:30%
七、要求 1、严格遵守课堂纪律,不迟到早退,有紧急 事情需请假并得到批准。 2、听从老师的安排和试验室老师的要求。 3、遵守试验室的各项规定,爱惜试验室的设 备。 4、注意安全。
五、课程设计用的仪器和器件
1、PC机和XLISP系列单片机仿真仪各一台; 2、(1)单片机:AT89S52,双立直插片IC插座40P; (2)时钟电路:晶振12MHz、瓷片电容30pF 2片、轻触开关; (3)复位电路:电阻220Ω、电阻10KΩ、电解电容10uF、电阻 2 KΩ; (4)电源电路:USB接口B型母口(方型),电阻50Ω、电解 电容470 uF; (5)交通灯电路:发光二级红4个、发光二级绿8个、发光二级 黄4个、排针插座单排母座1*40P(插LED灯用)、导线若干红、 黄、绿各0.5米、电阻300Ω 6只、万能版10*1意图
四、课程设计要求
1、完成交通灯控制系统的总体设计与系统仿真。 2、硬件设计 (1)单片机最小系统制作与测试
(2)交通灯显示电路设计 (3)完成电路板的焊接和调试。 3、软件设计 用汇编语言或C语言完成系统的软件设计并调试。
交通信号灯的控制(微机原理课程设计)
一.设计任务及要求:交通信号灯的控制: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。
微机原理课程设计交通灯控制系统设计
交通灯控制系统设计一、设计目的⒈ 了解交通灯管理的基本工作原理⒉ 熟悉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)。
一、课程设计题目
交通灯控制
二、课程设计目的
●综合运用《微机原理与应用》课程知识,利用集成电路设计实
现一些中小规模电子电路或者完成一定功能的程序,以复习巩
固课堂所学的理论知识,提高程序设计能力及实现系统、绘制
系统电路图的能力,为实际应用奠定一定的基础。
●掌握8255A方式0的使用与编程方法
●PC机及配套的接口电路实验装置
●IC芯片:8255A应用和8253
三、课程设计容
●采用8255A设计交通灯控制的接口方案
●采用8253设计延时电路
●插接电路
●编写控制程序
四、课程设计过程
1、设计原理
●8255
8255是Intel公司生产的可编程并行I/O接口芯片,有3
个8位并行I/O口。
具有3个通道3种工作方式的可编程
并行接口芯片(40引脚)。
其部与引脚图如图所示:
8255有三个端口A、B、C端口,3种不同的工作方式,在其控制字的作用下使某一个端口工作于某一种工作状态下。
8253
intel8253是NMOS工艺制成的可编程计数器/定时器,其部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同,如图所示:
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立,采用减1计数方式。
控制字如图所示:
在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。
当计数脉冲是已知周期的时钟信号时,计数就成为定时。
各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。
在这里我们主要采用方式0:计数结
束产生中断 (由低电平变为高电平)。
其波形图如图所示:
a. 写CW后:OUT=0,直到计数到0
b. 写N后:下1个CLK脉冲下降沿开始计数
c. 计数过程中,可重写N,重写N后,同b.
d. GATE的作用:GATE=1计数、=0暂停计数
e. 计数到0:OUT=1,直到再写CW或N
2、方案设计
考虑普通十字路口,交通灯的控制可分东西向和南北向两
组,每组可用红、黄、绿三个灯进行交通管理,所以本方
案要点是至少对六个交通灯进行控制。
由于灯光控制只需
要开、关两个状态,所以可以采用开关量实施控制。
开关
量的输出可以采用8255A 的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。
由于题目要求时间的控制精确,所以我们在这里运用8253芯片定时控制。
首先我们确定使用8255端口A 与交通灯的连接方式,如下表所示(假定发光状态为高电平有效):
由上表可知状态变换流程为:
其中状态1和4持续30秒,其它状态持续0.5秒;又状态2
各状态
3,状态5和状态6之间各循环5次。
整个控制过程,要按照上面的流程,依次把相应的控制码输出到8255的端口A,时间由8253定时控制,6个交通灯就能够按照要现交通管理了。
3、电路插接
4、编程与运行
data segment
out_code db 14h,5dup(12h,10h),41h,5dup(21h,01h),0
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov dx,307h ;8255控制端口地址
mov al,80h ;1000 0000 8255端口A工作于0方式下
out dx,al
mov dx,304h ;8255端口A地址
loop0: lea si,out_code
loop1: mov al,[si] and al,al ;al=al
jz loop0 ;al=0,zf=1,跳转到loop0
out dx,al
inc si
test al,44h ;al和44h相与的结果去影响标志位ZF
jz l1
delay 10,00 ;编译的时候,这里有点问题。
delay macro a,b
push dx
push ax
mov dx,383h ;8253控制端口地址
mov al,31h ;0011 0001 8253工作于计数器0的工作
方
式0下的BCD计数,先写低字后写高字。
out dx,al
mov dx,380h ;选中8253计数器0,然后向其依次写入
数据。
mov al,b
out dx,al
mov ah,a
out dx,al
pop ax
pop dx
endm
l1: nop
nop
nop
nop
mov ah,0bh ;检测键盘有无输入
int 21h
and al,al ;al=al
jz loop1
xor al,al ;关灯
out dx,al
mov ah,4ch
int 21h
code ends
end start
五、课程设计小结
交通灯是一个很熟悉的课题,因为在数电的课程设计的时候研究过类似的问题,不过那是一些相关芯片来完成的。
当然,本次课程有它自己的独特之处,我个人认为那就是他的灵便性,因为只需要改一些相关程序就可以使其工作在不同的状态下,也许这里体现了寻么一点点的循环利用,当然了这有点牵强。
怎么说呢?
通过本次课程设计,加深了对书本相关知识点的了解的同时,也还有很多疑惑的地方。
比如说在8253定时结束,是如何返回程序的,这一点还不是完全了解,也就是说中断这块还有待理解提高。
前面提到的了数电的课设,所以在做这个课设的时候也曾尝试过用555定时器来做定时功能,不过后来想了想它的精准度和稳定性不是很高。
还有就是在程序中,用到了汇编的宏,有些地方查了蛮多资料还是不很完全理解。
在课设中我用到的石英振荡器构成的时钟发生电路,主要是想为后来用单片机来设计交通灯的时钟模块提前预习下。
当然了,我们现在所知道的也仅仅只是皮毛而已,还有很多的地方值得我们去深研。