微机原理课程设计交通灯模拟控制器

合集下载

微机原理课程设计报告交通灯

微机原理课程设计报告交通灯
IN AL,DX
ANDAL,0FH
MOV AH,AL
MOV DX,PTCON8255
MOV AL,88H
OUTDX,AL
MOV DX,PORTC
IN AL,DX
ANDAL,0FH
XORAL,AH
ADD CL,AL
CMP CL,9
JNZ TEST2;闪烁5次
CODE ENDS
END STA
连接实验箱电路,上机调试并对实验现象进行分析,完成实验报告。
MOV DX,PORTA
MOVAL,0
OUTDX,AL
MOV DX,PORTB
MOVAL,0FH
OUTDX,AL
MOV DX,PORTC
MOVAL,0FH
OUT DX,AL;灯初始化完成
STA:MOV DX,PORTA
MOVAL,0A0H
OUTDX,AL
MOV DX,PORTB
MOVAL,0F0H
OUTDX,AL
电路图如下所示:
程序流程图
初始化8255,8253
红灯全亮
绿灯黄灯全灭
南北绿灯亮
东西红灯亮
等待8253延时30s时间是否到?
Y
N
南北绿灯灭
东西红灯不变
南北黄灯闪烁
等待黄灯闪烁5次?
Y
N
南北红灯亮
东西绿灯亮
8253延时30s
东西绿灯灭
黄灯闪烁5次
程序清单
DATA SEGMENT;设置数据段,以及端口地址分配
MOV CX,0
TEST1:MOV DX,PTCON8255 ;检测PB7
MOV AL,82HOUTX,ALMOV DX,PORTB
IN AL,DX

《微机原理与接口技术》课程设计-交通灯

《微机原理与接口技术》课程设计-交通灯

信息工程系计算机科学与技术12计本1班1214110214黄 福朱 茜 2015年06月29日院 系: 专 业: 年级班级: 学 号: 姓 名: 指导教师: 设计日期:目录一.课程设计目的 (3)二.课程设计任务 (3)三.总体设计方案 (3)五.程序设计流程图 (4)六. 程序连接图 (5)七.程序清单 (5)八.实验结果 (8)九.课程设计总结和体会 (8)一.课程设计目的用汇编语言和微机原理实验箱完成实现双方向交通信号灯控制系统,以达到熟练运用汇编语言编程以及实验箱上各个芯片的灵活运用。

⒈了解交通灯管理的基本工作原理⒉熟悉8253定时计数器的工作方式和编程应用⒊熟悉8255A并行接口的工作方式和编程应用二.课程设计任务本次课程设计的内容为双方向交通信号灯的控制和管理。

具体要求如下:1.东西方向车辆放行20秒钟。

即东西方向的绿灯和南北方向的红灯同时点亮25秒钟和黄灯点亮3秒钟。

2.南北方向车辆放行20秒钟后,转为南北方向的黄灯点亮3秒钟,以警示将切换红绿灯。

此时东西方向仍维持红灯点亮。

3.循环重复执行1和2两步骤。

三.总体设计方案1、用实验系统8255A实现对信号灯的控制(B端口),A端口的PA6、PA7口用来和8253共同控制信号灯点亮的时间。

2、实验中,8255选用(10010000)方式选择字,A组工作0方式,A端口输入,PC4-PC7输出,B组0方式,B端口输出,PC3-PC0输出3、实验中,8253采用两个计数器级联的方式达到定时的效果,8253计数器0的CLK0输入1MHZ的时钟脉冲,工作在模式3即方波发生器,理论设计OUT0 输出周期为0.01S的方波,则计数器0的初值为10000;OUT0输出的方波分别作为计数器1、计数器2的CLK1和CLK2的输入时钟脉冲,计数器1和计数器2工作方式为模式1,计数器1的初值为2500,即OUT1输出25秒,控制红绿灯的时间;计数器2初值为300,即OUT2输出3秒,控制黄灯的时间。

微机原理课程设计说明(交通灯)

微机原理课程设计说明(交通灯)

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、通过课程设计提高学生单片机的开发能力,
包括硬件设计和软件编程的能力。
二、课程设计的内容:
用单片机控制十字路口的交通灯,要求能

微机原理实验交通灯控制实验(DOC)

微机原理实验交通灯控制实验(DOC)

课程设计课程设计名称:交通灯控制实验专业班级:学生姓名:学号:指导教师:课程设计时间:2014.12.22---2015.1.2微机原理专业课程设计任务书学生姓名专业班级学号题目交通灯控制实验课题性质工程设计课题来源自拟课题指导教师同组姓名主要内容L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连.L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

任务要求1:掌握并理解芯片8255和8253计时器工作原理2:掌握并理解源程序和程序中的函数3:熟悉8255内部结构和与单片机的接口逻辑,掌握8255芯片的3种工作方式。

4:了解单片机外围芯片8255的工作原理、初始化编程以及输入、输出程序设计方法参考文献《微型计算机原理及运用》谭浩强清华大学出版社《16/32位微机原理、汇编语言及接口技术》陈涛机械工业出版社《微机接口技术应用》审查意见指导教师签字:教研室主任签字:年月日一:设计的目的和内容1 目的:通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。

2 内容:如图1.L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连.L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

图1二:设计思想:在选择循环的时间上.老师上课时说过.长延时可以采用双层嵌套.外层嵌套为0FFFFH.内层嵌套为4000H.我在编程时外层送进了0.相当于初值为65536.内层送进了4000H。

为了达到闪烁和延时的区别.我在编闪烁的程序时.给外层嵌套送入初值3000H.内层0100H(这是我通过实验的结果)。

人眼感觉闪烁的效果只是短延时的结果此方案是通过并行接口芯片8255A和8086计算机的硬件连接.以及通过8253延时的方法.来实现十字路口交通灯的模拟控制。

如上图所示.红灯(RLED).黄灯(YLEDD)和绿灯(GLED)分别接在8255的A.B.C口的低四位端口.PA0.PA1.PA2.PA3分别接南.东.北.西路口的红灯.B.C口类推。

微机原理课程设计—交通灯控制

微机原理课程设计—交通灯控制

交通信号灯的控制一、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。

通过本课程设计,使学生初步了解微机系统的硬件设备,学会 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。

微机系统课程设计实验报告交通信号灯自动控制模拟指示系统

微机系统课程设计实验报告交通信号灯自动控制模拟指示系统

微机系统课程设计实验敷陈课题:交通信号灯自动控制模拟指示系统一、课程设计目的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. 让学生理解微机控制交通灯的基本原理,掌握交通灯系统的硬件组成和软件设计方法。

2. 使学生掌握交通灯系统的程序编写,了解定时器、中断等微机技术,并能运用到实际项目中。

3. 帮助学生了解城市交通信号灯的运行规则和优化方法,提高对智能交通系统的认识。

技能目标:1. 培养学生动手搭建微机交通灯硬件系统的能力,提高实践操作技能。

2. 培养学生运用编程软件进行交通灯程序设计的能力,提高编程技巧。

3. 培养学生分析交通灯系统运行过程中存在的问题,并提出优化方案的能力。

情感态度价值观目标:1. 培养学生对微机技术在交通领域的应用产生兴趣,激发学习积极性。

2. 培养学生的团队合作精神,学会在团队中相互协作、共同解决问题。

3. 培养学生的创新意识,鼓励学生勇于尝试,提高解决问题的能力。

课程性质:本课程为实践性较强的课程,旨在让学生在实际操作中掌握微机交通灯的设计与实现。

学生特点:学生具备一定的电子技术基础和编程能力,对微机控制感兴趣,但实践操作经验不足。

教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的主观能动性,提高学生的动手能力和创新能力。

通过本课程的学习,使学生能够独立完成微机交通灯的设计与实现,为将来从事相关领域工作打下坚实基础。

二、教学内容1. 交通灯系统基础知识:- 交通灯系统的基本原理与功能- 交通灯系统的硬件组成:微控制器、信号灯、传感器等2. 微机交通灯硬件设计:- 硬件系统搭建:选择合适的微控制器、信号灯、传感器等组件,搭建硬件系统- 硬件电路原理:分析并理解各组件之间电路连接关系3. 交通灯程序设计:- 编程环境与工具:熟悉编程软件和开发工具的使用- 程序设计:学习定时器、中断等微机技术,编写交通灯控制程序4. 交通灯系统调试与优化:- 系统调试:测试并调试硬件与软件,确保系统正常运行- 系统优化:分析系统运行过程中存在的问题,提出并实施优化方案5. 教学内容的安排与进度:- 第一周:交通灯系统基础知识学习,明确课程目标与要求- 第二周:微机交通灯硬件设计与搭建,熟悉硬件系统组成- 第三周:交通灯程序设计,学习编程技巧,编写控制程序- 第四周:系统调试与优化,提高系统性能,巩固所学知识教材章节关联:本教学内容与教材中“微控制器应用与实践”章节相关,涉及微控制器的基础知识、硬件设计、编程技巧等方面,帮助学生将理论知识与实际应用相结合,提高实践能力。

微机原理课程设计交通灯

微机原理课程设计交通灯

课程设计任务书图1 8086CPU的内部功能结构图(1)8086的主要特性Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性:(a)8086CPU数据总线为16位,8088CUP数据总线为8位。

(b)地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。

(c)有16位的端口地址,可以寻址64KB的I/O端口。

(d)有99条基本指令,指令功能强大。

(e)有9种基本寻址方式。

(f)可以处理内部和外部中断,外部中断源多达256个。

(g)兼容性好,8086、8085在源程序一级兼容。

(h)8086/8088标准主频为5MHz,8086/8088-2主频为8MH【3】。

(i)支持单处理器或多处理器系统工作。

课程设计说明书N O.5图4 8255内部结构及引脚图 8255内部结构及引脚图具体的各引脚功能如下【3】:D0~D7为双向数据信号线,用来传送数据和控制字。

RD为读信号线,与其它信号线一起实现对8255接口的读操作通常接系统总线的IOR 信号。

WR为写信号线,与其它信号一起实现对8255的写操作,通常接系统总线的IOW。

课程设计说明书课程设计说明书N O.7图图2 置位/复位控制字格式8255的寻址:8255占外设编址的4个地址,即A口,B口,C口和控制寄存器各占一个外设接口地址。

对同一个地址分别可以进行读写操作。

例如,读A口可将A口的数据读出;写A口可将CPU的数据写入A口并输出【8】。

如表2为方式0下系统的输入输出组合,其中分为A,B组,A组分为A口和C口,B组分为B口和C口。

8255的工作方式主要有工作方式0、工作方式1和工作方式2。

其中端口A可以工作在三种方式中的任一种;端口B只能工作在方式0和方式1;端口C通常作为控制信号使用,配合端口A和端口B的工作。

在交通灯控制的设计中只用到了工作方式0。

课程设计说明书课程设计说明书3.2 8253简介intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异。

微机原理课程设计交通灯

微机原理课程设计交通灯

二○一一~二○一二学年第二学期信息科学与工程学院课程设计报告书课程名称:微机原理课程设计班级:电子信息工程2009级 6 班学号:200904135150姓名:张强指导教师:徐守明二○一二年二月二十日十字路口交通灯控制系统设计一、摘要随着现代科学技术的进步,自动化控制技术越来越多地被运用到生产生活当中。

现代交通的发展,对自动化控制技术也提出了较高的要求,如何科学有效对交通流量进行管理,已成为一项社会课题。

在课程设计的背景下,本系统运用了8255和8253芯片,基于8086CPU实现了通过B口控制南北东西方向的红绿灯的循环点亮,实现了对交通流量的模拟协调调度。

另外,本系统还有手动测试功能。

关键词:交通灯;8255;8253;LED;模拟控制Keywords:traffic light;8253;8255;LED;analog control二、设计任务及要求利用“微机实验系统”的8255可编程接口的A口(PA7-PA0)、B口(PB7-PB0)、C口(PC7-PC0)控制发光二级管(红、绿灯)的L1-L8和开关KK1- KK2,使发光二级管按照十字路口交通灯的规律交替发光,模拟交通信号灯的工作。

●发光二级管(LED) 显示电路①8个LED L1-L8,4个红灯、4个绿灯②L=0 LED亮; L= LED灭●开关对交通灯的控制①开关KK2=0 红灯皆亮;开关KK2=1 绿灯皆亮②开关KK1=0 启动交通灯的亮灭;开关KK1=1停止交通灯的亮灭(所有发光二级管皆灭)●交通灯亮灭规律参考②北方向绿灯亮、东西方向红灯亮20秒②南北方向红灯亮、东西方向绿灯亮20秒●适当地加一些额外功能重复上述过程注:20秒定时由8253控制三、总体设计思路北(红绿灯)东(红绿灯)西(红绿灯)南(红绿灯)说明:其中KK3用于管理开关KK1、KK2;分析题意,红绿灯可直接接在8255的A 、B 、C 任意一个口上,灯的亮灭可直接由8086输出0,1控制;开关用于控制红绿灯的工作状态,可以从A 、B 、C 任意一个口进行读进判断;八段数码管的倒计时显示部分的位码有74LS273进行输入,段码则是经过8255端口输出。

微机原理课设交通信号灯模拟控制系统

微机原理课设交通信号灯模拟控制系统

南京工程学院通信工程学院课程设计说明书(论文) 题目交通信号灯模拟控制系统课程名称微型计算机原理与接口技术专业班级学生姓名学号设计地点指导教师设计起止时间: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状态模拟),控制系统能立即让有车道放行。

微机原理课程设计-交通信号灯模拟控制系统的设计

微机原理课程设计-交通信号灯模拟控制系统的设计

南京工程学院课程设计任务书课程名称微机原理及应用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控制交通灯微机原理课程设计: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. 交通灯控制算法:介绍时间计算方法,教授如何根据实际需求调整信号灯变换周期,实现交通优化。

参考教材章节:第三章 微控制器应用实例,第五节 交通灯控制算法。

微机原理课程设计实现交通灯的仿真

微机原理课程设计实现交通灯的仿真

微机原理课程设计实现交通灯的仿真随着现代社会经济的不断发展,城市交通量不断增加,导致交通拥堵、事故频发等问题。

在这种情况下,交通灯作为重要的交通工具,发挥着非常重要的作用,协调道路交通流,提高道路使用效率,保障交通安全。

因此,在现代交通领域中,交通灯控制技术的研究具有重要的意义。

微机原理是计算机科学中非常重要的一门课程,涉及计算机组成原理、汇编语言等方面的内容。

交通灯的仿真设计实现正是微机原理课程的一个重要应用。

本文将从以下几个方面介绍微机原理课程设计实现交通灯仿真的相关内容:一、课程设计概述微机原理课程设计是本专业的必修课程之一,通过本课程的设计,学生可以了解计算机系统的基本构成与原理,分析并解决问题的能力,以及编写软件程序的能力。

交通灯仿真是微机原理课程设计的一个重要部分。

交通灯仿真设计包含了控制系统、仿真系统两个部分。

控制系统涉及传感器、控制器等硬件设备的选择与构建,仿真系统涉及编写软件程序进行实现。

二、仿真设计实现流程①需求分析在设计交通灯灯组控制需要时,需要进行需求分析。

复杂性、容错性、传输性、实时、可维护性等都是需要考虑的,需求分析包括需求捕获、需求规划、需求分析、需求表述、需求验证等方面。

②系统设计根据需求分析的结果,开始进行系统设计。

包括系统结构设计、功能设计、界面设计等方面。

③控制器设计交通灯系统需要对灯组进行控制,因此需要设计并选择控制器。

控制器的选择十分重要,不能出现任何的失误。

选择合适的控制器可以保证控制系统的可靠性和稳定性。

④程序设计程序设计是实现仿真系统的核心部分,比较重要的是使用的控制算法。

控制算法的设计需要考虑多种情况,比如交通高峰期、连续红绿灯时间、转弯车道优先等情况。

⑤程序测试在程序开发完毕之后,进行程序测试,测试程序的各项指标。

⑥无错测验当交通灯仿真程序在各环节开发完毕并调试通过,可进行无错测验(Stress Test)。

此测试形式的作用为进行大批应用时间测试,检验各功能组件间的完整性。

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

交通灯模拟控制器本程序由西南科技大学信息工程学院通信08级电子测试实验室李同学提供,包含全部操作过程源代码解释说明一、设计要求利用PC机键盘和屏幕实现交通灯模拟器。

二、设计内容与要求基本要求:1、完成一个十字路口的红绿灯正常状态的控制:实现日常生活中正常的交通路口的控制功能,实现南北、东西方向的切换。

2、显示时间,精确到秒;灯亮时间长短可变。

3、具有自动和手动控制功能。

提高要求:1、完成夜间状态的控制:由于夜间车辆和行人很少,实现南北、东西方向的黄灯闪烁,进入夜间控制状态。

2、完成紧急状态的控制:南北双方向都设置为红灯,利于执行紧急公务。

3、完成交通堵塞状态的控制:由于交通事故等原因出现南北或东西某一方向堵塞,可人为地调整每个方向的红灯时间,进入手动控制状态。

附加要求:必要的辅助功能(设置、修改等)。

三、编程提示要求用汇编语言进行编程,下面是编写过程中主要涉及的知识点(其中举例只是实现方法之一,同学可根据自己对知识的掌握情况进行设计并调试):1、视频显示程序设计:一般由DOS或BIOS调用来完成。

有关显示输出的DOS功能调用不多,而BIOS调用的功能很强,主要包括设置显示方式、光标大小和位置、设置调色板号、显示字符、显示图形等。

用INT 10H即可建立某种显示方式。

用DOS功能调用显示技术,把系统功能调用号送至AH,把程序段规定的入口参数,送至指定的寄存器,然后由中断指令INT 21H来实现调用,例:要输出多于一个字符时,利用DOS功能调用9。

2、键盘扫描程序设计:检测键盘状态,有无输入,并检测输入各值。

例:利用DOS系统功能调用的01号功能,接受从键盘输入的字符到AL寄存器。

3、定时器中断处理程序:在此中断处理程序中,计数器中断的次数记录在计数单元count中,由于定时中断的引发速率是每秒18.2次,即计数一次为55ms ,当count计数值为18时,sec计数单元加一(为1秒)。

例:在系统定时中断处理程序中,有一条中断指令INT 1CH指令,在ROM BIOS中,1CH的处理仅一条IRET指令,实际上它并没有做任何工作而只是为用户提供了一个软中断类型号,所以INT1CH指令每秒也将执行18.2次,设计中可用这个定时周期性工作的处理程序来代替原有的1CH程序,实现定时。

4、显示时间子程序:将计时单元的二进制转换为十进制数加以显示。

参考资料:1.《微型计算机接口技术及应用》2.《汇编语言程序设计》3.《微型计算机汇编语言程序设计》一、教科书中关于IBM-PC/XT机系统硬件的内容,包括8250(串行口控制器),8253,8255,8259等。

二、DOS系统功能调用。

INT 21H1、显示显示单个字符入参:AH=02HDL=字符ASCII值出参:无显示字符串入参:AH=09HDS:DX此寄存器对指向内存中字符串的首地址,字符串以$结束出参:无2、键盘检查键盘状态入参:AH=0BH出参:AL=00H无输入 0FFH有一字符读键盘字符入参:AH=08H出参:AL=字符ASCII值3、其它退出程序,返回系统入参:AH=4CH出参:无取中断矢量入参:AH=35HAL=中断类型号出参:ES:BX 中断矢量,ES为段地址,BX为偏移地址置中断矢量入参:AH=25HAL=中断类型号DS:DX 中断矢量,DS为段地址,DX为偏移地址出参:AL=字符ASCII值三、BIOS屏幕功能调用。

INT 10H1、清屏操作MOV AX,0600HMOV CX,0000HMOV DX,184FHMOV BH,07HINT 10H2、移动光标MOV AH,02HMOV DH,** ;**为目的地行数(0-24)MOV DL,** ;**为目的地列数(0-79)MOV BH,00HINT 10H3、禁止光标显示MOV AH,01HMOV CX,2000HINT 10H4、恢复光标显示MOV AH,01HMOV CX,0C0DHINT 10H本程序由西南科技大学信息工程学院通信08级电子测试实验室李同学提供,包含全部操作过程源代码解释说明stack segment stackdw 64 dup(?)stack endsshowline macro S TR,STA,LEN,POS,COL ;显示字符串宏push DXpush BXpush AXmov BP,OFFSET STR ;显示起始位置add BP,STA ;第几个开始mov DX,POS ;位置mov CX,LEN ;长度mov BX,COL ;颜色mov AX,1301H ;字符串显示中断int 10Hpop AXpop BXpop DXendmdelay macro ;延时一秒local dlooppush axpush bxpush dxmov ah,00H ;BIOS调用int 1aHadd dl,18 ;定时1s,需要18个定时单位mov bl,dldloop: m ov ah, 00Hint 1ahcmp dl,bl ;是否累计到1sjnz dloop ;没到,继续读pop dxpop bxpop axendmdata segment ;数据定义time db 20times db 20buf db '00' ;定义交通路口table01 db ' | | N 'table02 db ' | | 'table03 db ' | | 'table04 db ' | | 'table05 db ' | | 'table06 db ' W | | E 'table07 db '_____________ _____________'table08 db '_____________ _____________' table09 db ' | | 'table10 db ' | | 'table11 db ' | | 'table12 db ' | | 'table13 db ' | | 'table14 db ' | |S 'str db 'please input times:'strcl db ' 'flg db 0data endscode segmentassume cs:code, ds:datamain proc far ;主函数mov ax, datamov ds, axmov es, axmov ah,01h ;清除光标mov cx,2000hint 10hcall initialfunct: mov al,timesmov time,alN1: call showtimecall getcharcmp al,'r' ;调整时间jne loop1call changtimejmp functloop1: cmp al,'a' ;手动/自动控制状态 jne loop2call opencloseloop2: cmp al,'b' ;夜间模式jne loop3call nightloop3: cmp al,'t' ;紧急模式jne loop4call tenseloop4: cmp al,'q' ;退出jne N1esc: mov ah,4chint 21htense proc nearmov time,0mov flg,1call timebufshowline buf,0,2,0514h,0004h ;红灯 ;紧急情况showline buf,0,2,0e10h,0004h ;红灯showline buf,0,2,080bh,0004h ;红灯showline buf,0,2,0c19h,0004h ;红灯tn2: call getcharcmp al,'t' ;紧急控制按钮是否按下jne tn1jmp functtn1: cmp al,'q' ;退出控制按钮是否按下jne tn2jmp escrettense endpnight proc nearmov time,0call timebufshowline buf,0,2,0514h,000eh ;黄灯 ;夜间显示控制showline buf,0,2,0e10h,000eh ;黄灯showline buf,0,2,080bh,000eh ;黄灯showline buf,0,2,0c19h,000eh ;黄灯ng2: call getcharcmp al,'b' ;夜间控制按钮是否按下 jne ng1jmp functng1: cmp al,'q'jne ng2jmp escretnight endpopenclose proc near ;开关子函数mov time,0call timebufop: mov flg,0call showdop4: call getchar ;调用输入控制字符 cmp al,'o' ;手动控制下开jne op1jmp opop1: cmp al,'c' ;手动控制下关jne op2mov flg,1call showdop2: cmp al,'q'jne op3 ;退出jmp escop3: cmp al,'a'jne op4 ;手动/自动控制jmp functretopenclose endpchangtime proc near ;改变时间子函数 showline strcl,0,2,0043h,000fhshowline str,0,19,0030h,000fhmov ah,01hint 21hsub al,30h ;将输入时间值转化成 mov bl,10 输出十进制值mul blmov times,alint 21hsub al,30hadd times,almov al,timesmov time,alretchangtime endpshowtime proc near ;时钟程序s1: mov ah,01hint 16hjnz s3delay ;延时一秒dec timecmp time,-1jne s2 ;倒计时mov al,timesmov time,alinc flgcmp flg,2jne s2s2: call timebufcall showdjmp s1s3:retshowtime endpshowd proc nearcmp flg,0jne d1showline buf,0,2,0514h,0002h ;绿灯 showline buf,0,2,0e10h,0002h ;绿灯 showline buf,0,2,080bh,0004h ;红灯 showline buf,0,2,0c19h,0004h ;红灯 jmp d2d1: showline buf,0,2,0514h,0004h ;红灯 showline buf,0,2,0e10h,0004h ;红灯 showline buf,0,2,080bh,0002h ;绿灯 showline buf,0,2,0c19h,0002h ;绿灯d2: retshowd endptimebuf proc near ;显示时间 time==>bufmov di,offset bufmov al,timemov bl,0ahmov ah,00hdiv bladd al,30hadd ah,30hmov di[0],almov di[1],ahrettimebuf endpgetchar proc near ;得到字符mov ah,07hint 21hretgetchar endpinitial proc near ;初始化交通路口的显示 showline table01,0,38,0000h,15showline table02,0,38,0100h,15 showline table03,0,38,0200h,15 showline table04,0,38,0300h,15 showline table05,0,38,0400h,15 showline table06,0,38,0500h,15 showline table07,0,38,0600h,15 showline table08,0,38,0d00h,15 showline table09,0,38,0e00h,15 showline table10,0,38,0f00h,15 showline table11,0,38,1000h,15 showline table12,0,38,1100h,15 showline table13,0,38,1200h,15 showline table14,0,38,1300h,15 retinitial endpcode endsend main。

相关文档
最新文档