微机原理综合实验-交通灯
- 格式:pdf
- 大小:398.42 KB
- 文档页数:12
微机原理综合实验报告目录一.8255并行口实验二.8259中断实验(一)三.8253定时/计数器实验四.A/D转换实验五.步进电机实验六.综合实验:十字路口交通灯实验七.实验体会四.8255并行口实验1.实验目的:(1)学习利用并行接口芯片8255构成并行接口电路的基本方法(2)熟悉掌握并行接口芯片8255的基本性能及在时间应用中的硬件连接、初始化编程方法2.实验内容:编写程序,使8255的PB口为输出口,PA口为输入口,从PA口将K0~K7作为一个字节读入,在从PB口输出这一反码字节。
3.实验程序:CODE SEGMENTASSUME CS:CODESTART:MOV DX,21BH ;8255初始化命令字MOV AL,90HOUT DX,ALBG: MOV DX,218H ;从PA口读入数据IN AL,DXXOR AL,FFH ;求反MOV DX,219HOUT DX,AL ;从PB口输出JMP BGCODE ENDSEND START4.实验框图5. 实验电路图6.实验方法说明通过8255控制字设定PA口为输入口,PB口为数据输出口,读取PA口的数值并通过求反指令将数据取反后,经由PB口输出。
8259中断实验(一)1.实验目的:(1)了解PC机的中断结构及8259中断控制器的初始化(2)熟悉8259中断控制器的工作原理和硬件连线方法(3)了解8259的应用和硬件编程方法了解8259中断屏蔽2.实验内容:编写中断实验程序,主程序使8255的PB口为输出口,输出0FFH,L0~L7指示灯全亮,中断服务程序从PB口输出0FFH,L0~L3亮,L4~L7灭,并延时一段时间后返回主程序。
3.实验程序INT0 EQU 220hINT1 EQU 221hP8255B EQU 219HP8255K EQU 21BHSTACK SEGMENTSTA DB 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:CLIMOV AX,TOPMOV SP,AXPUSH DSMOV AX,0000H ;定义IRQ0中断MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,0000HMOV SI,20HMOV [SI],AXMOV AX,CSMOV SI,22HMOV [SI],AXPOP DSMOV AL,13H ;对8259进行初始化ICW1MOV DX,INT0OUT DX,ALMOV AL,8 ;对8259进行初始化ICW2 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV AL,9 ;对8259进行初始化ICW4 MOV DX,INT1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT1MOV AL,0FEH ;对8259进行初始化OCW1OUT DX,ALMOV CX,0FFFFHLOOP $MOV DX,INT0 ;对8259进行初始化OCW2,普通EOI返回MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $STIMOV DX,P8255K ;对8255进行初始化MOV AL,90HOUT DX,ALDSP: MOV AL,0FFHMOV DX,P8255BOUT DX,ALJMP DSPIRQ0: STIMOV CX,0FFFFHLOOP $MOV AL,0FHMOV DX,P8255BOUT DX,ALMOV DX,INT0MOV AL,20HOUT DX,ALMOV CX,0FFFFHLOOP $MOV CX,0FFFFHLOOP $IRETCODE ENDSEND START4.实验框图5. 实验电路图6. 实验方法说明主程序使8255输出高电平,实现L0~L7指示灯全亮。
微机原理交通灯控制微机原理交通灯控制是通过使用微型计算机或微控制器对交通信号灯进行控制的一种方式。
这种控制方式可以提高交通信号灯的准确性、稳定性和灵活性。
微机原理交通灯控制的基本原理是通过微控制器对交通信号灯的亮灭状态进行控制。
微控制器是一种集成了计算机的核心部件(CPU)、存储器(ROM和RAM)、输入输出接口(IO口)等的芯片。
通过编程,可以控制IO口的高低电平来控制交通信号灯的亮灭状态。
首先,设计人员需要根据实际交通需要制定一套交通灯控制方案。
这个方案一般包括每个信号灯的亮灭时间、整个交通流程的时序等等。
通过编程,将这个方案写入到微控制器的存储器中。
然后,通过输入设备(如红外线传感器、按钮等)检测实际交通情况,并将这些信息送入微控制器。
微控制器根据预设的交通灯控制方案,对交通信号灯进行控制。
控制过程一般分为以下几个步骤:1. 系统初始化:微控制器上电后,首先进行初始化设置,包括设置IO口的工作模式、输入输出状态等。
2. 采样输入:通过输入设备采样实际交通情况,如检测车辆和行人的存在与否,或者通过视频流进行图像识别。
3. 运行控制算法:根据控制方案,通过编程实现的算法来决策当前交通信号灯的亮灭状态。
4. 输出控制信号:根据控制算法的决策结果,设置IO口的电平状态,从而控制交通信号灯的亮灭。
5. 延时处理:在切换交通信号灯亮灭状态之间,通常会有一段时间的延时,以保证交通参与者有足够的时间作出反应。
6. 循环运行:以上步骤不断循环执行,从而实现对交通信号灯的持续控制。
微机原理交通灯控制的优点有以下几个:1. 精确控制:通过微控制器的高精度时钟和程序控制,可以精确控制交通信号灯的亮灭时间和切换时机,从而提高交通信号的准确性。
2. 灵活性:通过编程,可以根据实际需要调整交通灯控制方案,适应不同的交通流量变化。
3. 自适应性:微控制器可以根据输入设备的检测结果实时调整交通信号灯的控制策略,从而适应实际交通状况的变化。
微机原理实验报告隋伟08212013自动化0801目录一、I/O地址译码与交通灯控制实验 (3)二、可编程定时器/计数器(8253) (6)三、中断实验(纯DOS) (11)四、模/数转换器…………………………………………………………18五、串行通讯……………………………………………………………16六、课程综合实验(抢答器) ……………………………………………28七、自主设计实验——LED显示 (32)八、参考文献 (35)一、I/O地址译码与交通灯控制实验一.实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
二.实验内容如图5-3,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通灯变化规律燃灭。
十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮3秒左右。
(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。
(3)南北路口的红灯、东西路口的绿灯同时亮3秒左右。
(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。
(5)转(1)重复。
8255动态分配地址: 控制寄存器: 0C40BHA口地址: 0C408HC口地址: 0C40AH三.程序流程图和程序清单DATA SEGMENTX DB ?DATA ENDSSTACK1 SEGMENT STACKDW 100H DUP(0)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATAMOV DS,AX;---------------INIT---------------- MOV DX,0EC0BH ;写控制字MOV AL,80HOUT DX,ALL3: MOV DX,0EC0AHMOV AL,24H ;南北绿灯,东西红灯亮OUT DX,ALCALL DELAYCALL DELAY ;长延时,3s左右CALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYMOV BL,8MOV AL,04HL0: XOR AL,40H ;南北黄灯闪,东西红灯亮OUT DX,ALCALL DELAY ;延时CALL DELAYDEC BL ;闪烁几次JNZ L0CALL DELAYMOV AL,81H ;南北红灯亮,东西绿灯亮OUT DX,ALCALL DELAYCALL DELAYCALL DELAY ;长延时,3s左右CALL DELAYCALL DELAYCALL DELAYCALL DELAYMOV BL,9MOV AL,80HL1: XOR AL,02H ;南北红灯亮,东西黄灯闪OUT DX,ALCALL DELAY ;延时CALL DELAYDEC BLJNZ L1 ;闪烁几次CALL DELAYMOV DL,0FFHMOV AH,06HINT 21HJZ L3 ;六号功能判断若无字符输入ZF=1继续循环;------------------------------MOV AH,4CHINT 21H;-----------延时函数------------DELAY : PUSH CXPUSH DXMOV CX,1FFFHLOP1: MOV DX,0FFFFHLOP2: DEC DXJNZ LOP2LOOP LOP1POP DXPOP CXRETCODE ENDSEND START四.实验遇到的问题和解决方法问题:绿灯灭后黄灯没有出现闪烁的效果,一直保持常亮解决方法:修改程序,通过利用异或和循环指令使绿灯灭、红灯亮后,黄灯口的状态从0到1循环变换,并通过调用延迟子程序,从而实现人眼可辨的黄灯闪的效果。
辽宁工程技术大学实验报告课程名称:微机原理及接口技术试验项目:有急救车通过的交通灯控制实验实验室:微机原理与应用实验室姓名:李晓岩学号:0605010709 专业班级:自动06-7实验时间:2008/12/7同组学号:0605810103有急救车的交通灯控制实验一.实验目的1.学习掌握多个接口芯片综合应用方法。
2.学习中断技术的基本使用方法。
3.学习模拟交通灯控制的实现方法。
4.学习控制程序的编程方法。
二.实验条件和要求1.用业余时间进行调研,了解交通灯燃灭的规律,并写出调研报告,并在此基础上设计出硬件电路原理图。
2.在设计硬件电路时,要充分利用实验仪上的接口芯片,8086CPU,8255并行接口芯片、发光二极管(红、黄、绿各两个)。
设计或利用接口仪上已有的单脉冲发生器,但脉冲发生器产生的负脉冲来产生中断,进行模拟有急救车通过。
3.编制相应的软件应用程序,并运行调试。
4.写出规范的实验报告。
实验报告用A4纸写出。
调研报告调研时间:2008年11月09日调研地点:葫芦岛老区中心医院交通岗调查对象:王海川、刘国庆—葫芦岛市交警大队警员调研人员:白宁陈九坤调研内容:该十字路口东西方向和南北方向各有交通灯三盏,分别为红色绿色黄色。
经过我们的观察和询问,其亮灭变化规律为:1.东西南北两向起始状态为全红。
-----延续10秒2.东西向绿灯亮,南北向红灯亮。
-----延续30秒3.东西向绿灯灭,黄灯闪,南北向红灯亮。
-----闪烁5秒4.东西向红灯亮,南北向绿灯亮。
-----延续30秒5.东西向红灯亮,南北向绿灯灭,黄灯闪。
-----闪烁5秒6.循环以上步骤。
7.若有急救车通过等特殊情况,东西南北向均为红灯亮,延续十秒。
然后恢复之前状态。
调研分析交通灯历史:19世纪初,在英国中部的约克城,红、绿装分别代表女性的不同身份。
其中,着红装的女人表示我已结婚,而着绿装的女人则是未婚者。
后来,英国伦敦议会大厦前经常发生马车轧人的事故,于是人们受到红绿装启发,1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。
一、设计要求(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才能继续执行指令。
微机原理课程设计: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管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
(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。
修改jiaotong2.asm,实现交通灯原有功能。
(4)将jiaotong2.asm另存为jiaotong3.asm。
2.4实验详细步骤首先接线,8255C口的0、1、2、5、6、7号管脚接LED显示电路L0、L1、L2、L5、L6、L7,D0~D7接JD1,RD*、WR*、A0、A1、RESET、CS*接IOR、IOW、A0、A1、RST、Y1,各模块接电。
然后运行DVCC软件,替换I/O基址,汇编、链接、运行,查看结果。
2.5实验结果LED显示电路的L0、L1、L2、L5、L6、L7按照十字路口交通灯的变化规律显示。
2.6实验过程遇到的问题与解决方案当出现红绿灯交换闪烁时,老师说体现不了交叉路口的灯的感觉(灯的排布的问题),后来我们把两个控制线叠加连接,使相同的灯闪烁。
江西理工大学《微机原理与接口技术》课实验报告实验二交通灯控制实验专业班级实验人学号实验日期同组人2.1 实验目的通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
2.2实验内容1.如图16-1,L8、L7、L6作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通灯变化规律亮灭。
2.L0对应东西路口绿灯,L1对应东西路口黄灯,L2对应东西路口红灯;L6对应南北路口绿灯,L7对应南北路口黄灯,L8 对应南北路口红灯。
D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710R D5W R36A09A18R ESET35C S6U18255D0D1D2D3D4D5D6D7/R D/W RA0A1R STPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7R14.7KVCCD0D1D2D3D4D5D6D7JD1IORIOWA0A1RST(288H)Y1L6L7L8L0L1L28255C S图2-12.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等接口,设计一电路,模拟十字路口交通灯控制。
实验一I/O地址译码与交通灯控制实验一、实验目的1、掌握并行接口8253的基本原理2、掌握8253的编程方法二、实验内容如图所示,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通变化规律燃灭。
三、编程分析1、8255地址分析:控制寄存器地址: 0C40BHA口地址: 04C408HC口地址: 04C40AH2、十字路口交通灯的变化规律要求(1)南北路口的绿灯、东西路口的红灯同时亮三秒;(2)南北路口的黄灯闪烁三次,同时东西路口的红灯继续亮;(3)南北路口的红灯、东西路口的绿灯同时亮三秒;(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁三次;(5)转(1)重复。
3、C口置数分析由于发光二极管是共阴极相连,所以若要其发亮应给高电平;黄灯闪烁是让其不断交替亮灭来实现;同时分析可知只要有绿灯亮,灯就会持续亮三秒,黄灯亮就会闪烁三次。
4、程序设计流程图四、汇编语言程序STACK1 SEGMENT STACKDB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME CS:CODE, SS:STACK1 DY PROC NEARPUSH CXMOV AX, 0FFFFH ;延时程序MOV CX, 02FFFHL0:DEC AXJNZ L0LOOP L0POP CXPOP AXRETDY ENDPSTART: MOV DX, 0C40BHMOV AL, BOUT DX, ALMOV DX, 0C40AHMOV BL, 6H ;设置延迟3秒L1:MOV AL, 00100100B ;南北绿灯亮,东西红灯亮OUT DX, ALCALL DY ;调用延迟子程序DEC BLJNZ L1MOV BL, 4H ;设置第二次闪烁3次L2:MOV DX, 0C40AHMOV AL, 01000100B ; 南北黄灯亮,东西红灯亮OUT DX, ALCALL DYMOV AL, 00000100B ;南北黄灯灭,东西红灯亮,实现要求闪的功能 OUT DX,ALCALL DYJNZ L2MOV BL,6H ;第三次设置亮灭时间为3秒L3:MOV AL,B ; 南北黄灯亮,东西红灯亮OUT DX,ALCALL DYDEC BLJNZ L3MOV BL,4HL4:MOV AL,B ;南北红灯亮,东西黄灯亮OUT DX,ALCALL DYMOV AL,B ;南北红灯亮,东西黄灯灭,实现闪的功能OUT DX,ALCALL DYDEC BLJNZ L4MOV DL,0FFH ;判断是否有键按下,结束程序 MOV AH,06HINT 21HJZ START ;没有键按下,进入下一次循环 MOV AH,4CHINT 21HCODE ENDSEND START五、实验现象:红黄绿灯变化规律如下:南北路口的绿灯、东西路口的红灯同时亮3秒左右;南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮;南北路口的红灯、东西路口的绿灯同时亮3秒左右;南北路口的红灯继续亮,同时东西路口的黄灯闪烁若干次;依次重复。
华北科技学院计算机系综合性实验实验报告
课程名称微机原理与接口技术实验学期2011至2012学年第二学期学生所在系部电子信息工程学院年级09级专业班级自动化B091班学生姓名戴子昱学号15任课教师王德志实验成绩
计算机系制华北科技学院计算机系综合性实验报告
第1页实验报告须知1、学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。2、学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、内容、结果及分析等。3、教师应该填写的内容包括:实验成绩、教师评价等。4、教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。5、未尽事宜,请参考该课程的实验大纲和教学大纲。华北科技学院计算机系综合性实验报告
第2页《微机原理与接口技术》课程综合性实验报告
开课实验室:接口实验室2012年06月12日实验题目交通信号灯的控制
一、实验目的(1)通过8255并行接口来控制LED发光二极管的亮灭,并精确延时。
(2)实现黄灯闪烁。(3)通过8255并口控制,人工进行交通灯的转换。
二、设备与环境PC机(windowsXP)实验箱(TPC-386EM)8255A、8253三、实验内容1需要完成的基本控制要求概览:
(1)南北路口的绿灯、东西路口的红灯同时亮5秒。
(2)南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的红灯。(3)南北路口的红灯、东西路口的绿灯同时亮5秒。(4)南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持3秒。(5)转(1)重复。(6)紧急情况可以手动控制红绿灯的变换。一个开关控制南北绿,东西红,另一个按钮南北红,东西绿。(7)黄灯闪烁时扬声器发声,提醒。2交通红绿的设计基本端口规划
8255A口作为灯控制输出,PA0-PA5分别对应东西红黄绿,南北红黄绿,P6与P7口不用;8253B口作为输入,PB0-PB3分别对应启动,停止,东西方向交通管制,南北方向交通管制(高电平有效)。8253C口最低位作为输入,接入8253通道1的产生的。1s方波上下降沿来定时;8253通道0输入时钟为1Mhz,通道0用来分频,通道1用来产生1s方波,通道2不用。接线图1所示华北科技学院计算机系综合性实验报告第3页图1硬件连线示意图3红绿灯变化赋值表
南北方向东西方向说明绿黄红绿黄红传送值
11初值南北绿东西红21H
11南北黄东西红11H
11南北红东西绿0CH
11南北红东西黄0AH
11东西方向交通管制21H11南北方向交通管制0CH华北科技学院计算机系综合性实验报告
第4页4设计思路说明
8255A口作为灯控制输出,B口、C口作为输入,故其控制字为8BH。8253通道0输入时钟为1Mhz,通道0用来分频,并把输出送入通道1的时钟输入端,让通道1用来产生周期1s方波,通道2不用。通道1的方波信号输入给8255的C口最低位,不断读取C口上升沿和下降沿来延时。一个上升沿下降沿正好为一个方波周期1s,在判断计数个数的值,就达到延时几秒的效果。1s方波不但用来延时,也用于黄灯闪烁与声音提示。黄灯闪烁由硬件电路实现:黄灯输出与1s方波通过与门后再接对应黄灯与蜂鸣器,就会产生1s频率的黄灯闪烁与效果,当黄灯无输出时,不会有黄灯闪烁与蜂鸣效果。8255并行端口不用悬空时为高电平,软件上需要屏蔽处理。5程序设计流程图:
图2主程序流程图华北科技学院计算机系综合性实验报告
第5页图3正常运行流程图四、实验结果及分析1实验结果按设计的硬件电路图连接好电路,下载程序在试验箱芯片上。整个红绿灯都不亮,原因是系统还没有启动。按下S0,系统正常运行,交通灯按实验任务要求进行如下变化:1、南北路口的绿灯、东西路口的红灯同时亮5秒。
2、南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的红灯。3、南北路口的红灯、东西路口的绿灯同时亮5秒。4、南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持3秒。5、如上周期变化重复。且黄灯时黄灯闪烁,蜂鸣器有提示。在上面正常运行情况下,按下停止按钮S1,一个亮灭周期完成后,所有灯灭掉,且S1有效时,所有按键均无效,因为停止按钮的优先级别最高。恢复停止键,按下华北科技学院计算机系综合性实验报告第6页S2或者S3按键,便可实现东西管制或者南北管制时的红绿灯状态。同时按下,则四
个路口全为红灯,此时为禁止通行状态。S1、S2的按键不分先后均有效,因为它两的优先级一致,属于同一级别。在停止或者管制或者禁止通行状态下,S0启动按钮无效,其优先级别最低。符合程序设定的优先级:停止最高,禁止通行次之、南北东西管制的优先级又低一级,但它两同级别、正常运行的优先级最低。改变定时初值,可以得到想要的延时时间;综上所述,基本完成设计任务与要求。2具体分析缺点:1、系统停止与交通管制在正常运行状态下需等待一个周期执行完成后才能执行,本例中滞后约0-16s不等。(由按键按下时红绿灯执行到哪一步和整个一个正常运行定时时间而定);2、黄灯闪烁时间不能改变,周期只能1s。(后来设想可以把8253的通道2利用上,把通道0输出接入通道2,利用通道2可以产生不同频率的方波,然后与黄灯输出并联后输出到黄灯与蜂鸣器便可实现不同的闪烁频率和蜂鸣频率);3、定时有小范围误差,存在于指令执行的时间(实际上很小,基本无误差)延时定时程序冗长,编制延时程序,调用延时子程序将效率提高。且可以实现实时停止,管制等功能。
优点:1、黄灯闪烁由硬件实现(与门并后再输出黄灯),不用编写闪烁程序且黄灯
有声音提示;2、红绿灯,红黄灯定时时间可变;3、系统有停止,启动,交通管制控制,禁止通行功能;4、编写程序考虑了软件与硬件仿真的兼容性,只需修改代换地址值即可;5、考虑优先权问题:停止位最高、禁止通行次之、东西和南北管制同级别,正常启动位最低;
3仿真试验台实际连线与效果见图4华北科技学院计算机系综合性实验报告第7页图4硬件实验效果图4汇编源程序:;----------------交通红绿灯控制程序;MODELSMALL;----------------8255地址代换IO8255AEQU288HIO8255BEQU289HIO8255CEQU28aHIO8255CTEQU28bH;控制字地址;------------------8253地址代换IO82530EQU280HIO82531EQU281HIO82532EQU282HIO8253CTEQU283H;控制字地址;----------------定时初值代换HLDTEQU05H;红绿定时5秒HHDTEQU03H;红黄定时3秒CODESEGMENTASSUMECS:CODE;------------------状态扫描开始START:MOVAL,8BHMOVDX,IO8255CTOUTDX,AL;8255工作方式初始化MOVAL,34HMOVDX,IO8253CTOUTDX,AL华北科技学院计算机系综合性实验报告第8页MOVAX,10000MOVDX,IO82530OUTDX,ALMOVAL,AHOUTDX,ALMOVAL,56HMOVDX,IO8253CTOUTDX,ALMOVAL,100MOVDX,IO82531OUTDX,AL;---设定8253通道0与通道1的工作方式与初值,;输出为1hz方波,输入时钟为1MhzXHSM:MOVDX,IO8255BINAL,DXMOVBL,AL;备份一个输入的状态值CMPAL,0;判断有无输入JZXHSMANDAL,02H;屏蔽其他位CMPAL,02HJZTZ;如果停止位按键有效,跳转至停止程序MOVAL,BLANDAL,0CHCMPAL,0CH;判断是否东西南北都禁止通行;JZJZTX;转至停止通行程序MOVAL,BLANDAL,04HCMPAL,04HJZDXGZ;若东西管制有效,则跳转至东西禁止程序MOVAL,BLANDAL,08HCMPAL,08HJZNBGZ;若南北管制有效,则跳转至南北禁止程序JMPZCYX;否则转至正常运行;--------禁止通行代码JZTX:MOVAL,09HMOVDX,IO8255AOUTDX,AL;东西南北都红灯JMPXHSM;循环扫描;---------东西管制DXGZ:MOVAL,21HMOVDX,IO8255AOUTDX,AL;东西红灯,南北绿灯JMPXHSM;---------南北管制NBGZ:MOVAL,0CHMOVDX,IO8255AOUTDX,AL;东西绿灯,南北红灯JMPXHSM;---------停止运行TZ:MOVAL,00H;停止运行