基于某8086的交通灯设计

合集下载

微机原理8086交通信号灯的控制

微机原理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路口方向。

之后,重复上述过程。

二.方案比较及评估论证:分析题意,红,黄,绿灯可分别接在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。

由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数口,8255将A口数据输入到8086,8086检测到则输出一个高电平到8255的PA7到高电平既完成30s定时。

基于8086的交通信号控制器的设计

基于8086的交通信号控制器的设计

基于8086的交通信号控制器的设计报告这次课程设计,我们的任务是:基于8086的交通信号控制器的设计。

8086系统是我们这个学期学习的主线方向,我们将在8086系统的基础上完成交通信号控制器的设计,其具体功能是:1.显示十字路口东西、南北2个方向的红、黄、绿的指示状态。

2.实现正常的倒计时功能。

用2组数码管作为东西和南北方向的倒计时显示,显示时间为红灯30s,绿灯50s,黄灯5s。

3.按S1键能实现特殊的功能,显示倒计时的2组数码管闪烁,计数器停止计数并保持在原来的状态;东西、南北路口均显示红灯状态;特殊状态解除后能继续计数。

4.按S2键实现总体清零功能。

计数器由初始状态计数,对应的指示灯亮。

1.2 设计思想在此次设计过程中,我们选择了数码管、发光二极管、8255A和8086来控制实现交通灯按设计要求工作。

1)硬件部分1、LED设计说明:用LED作为倒计时时间的显示器, LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。

LED与LCD的功耗比大约为10:1,利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,LED 是发光二极管属于二极管的一种,LCD是液晶显示器,两者相差太多.但是用LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低,LED与LCD具体比较如下图2、8255设计说明:用8255A可编程并行接口芯片的A、B、C三口作为红、绿、黄交通灯的控制输入口。

8255有三个并行输入输出口,可以方便的对三种颜色的交通灯进行很好的控制。

解决方案是:PB0~PB7接模拟灯二极管,PA0~PA7接7段二极管的段选,PC0~PC3接7段二极管的位选,PC4~PC7与开关相连,处理器芯片集成芯片卡PCI卡连接,用于完成硬件方面的实验正常通信。

其芯片比较说明:如下表:2根据硬件需求采用8255A芯片,为实现对通信的控制,采用汇编语言,分别编程控制8255的工作方式,在编程时应考虑到状态的转换采用查询方式控制,根据需求分析可采用8255的方式0下工作具体如下设置:硬件连接说明:8255A芯片的PA、PB、PC三口的工作方式为方式0,将8255的PB0~PB7接红绿灯用以模拟交通灯的变化,PA0~PA7接7段LED灯的段选码,,完成LED显示器的段选,PC0~PC3接LED显示器的位选码用以完成位选,PC4-PC7接开关,以完成初值接收。

课程设计交通灯8086

课程设计交通灯8086

课程设计交通灯8086一、教学目标本课程旨在让学生了解和掌握交通灯8086的基本原理和编程方法。

通过本课程的学习,学生应达到以下目标:1.了解交通灯控制系统的工作原理。

2.掌握8086微处理器的基本结构和指令系统。

3.掌握交通灯控制程序的编写和调试方法。

4.能够运用8086汇编语言编写简单的交通灯控制程序。

5.能够使用调试工具对程序进行调试和优化。

情感态度价值观目标:1.培养学生的创新意识和团队合作精神。

2.培养学生对交通安全的重视和责任感。

二、教学内容本课程的教学内容主要包括以下几个部分:1.交通灯控制系统的基本原理和工作原理。

2.8086微处理器的基本结构和指令系统。

3.交通灯控制程序的编写和调试方法。

4.交通灯控制程序的优化和升级。

三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:通过讲解交通灯控制系统的基本原理和8086微处理器的指令系统,使学生掌握相关知识。

2.案例分析法:通过分析实际案例,使学生了解交通灯控制程序的编写和调试方法。

3.实验法:让学生亲自动手进行实验,培养学生的实际操作能力和解决问题的能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《交通灯8086编程指南》。

2.参考书:关于8086微处理器和交通灯控制系统的相关书籍。

3.多媒体资料:交通灯工作原理和8086微处理器的相关视频资料。

4.实验设备:8086微处理器实验板、调试器等。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解能力。

2.作业:布置与课程内容相关的编程作业,评估学生的编程能力和对知识的掌握程度。

3.考试:定期进行考试,测试学生对交通灯8086知识的掌握程度和编程能力。

4.实验报告:评估学生在实验过程中的操作能力和解决问题的能力。

评估结果将以分数或等级形式记录,并及时反馈给学生,以便学生了解自己的学习状况并进行改进。

8086交通灯

8086交通灯
3.3 存储器选型
存储器我选用两片6116型号的静态RAM,容量为4KB片选信号与A0相连的是偶片,主要用于低8位数据总线上进行字节传送。与BHE选中的是奇片,主要用于高8位数据总线上字节传送。当A0和BHE都选中的时候,可进行16位数据总线字传送。
图3 6116 RAM存储器管脚图
RAM的主要功能是存储程序、变量等。如果计算机关机,这些信息不再存在。本电路中,A12-A19作为片选信号,均为低电平。故存储范围为0H-0FFFH。
2.4 方案确定
综上所述,我选用的方案最终为利用可编程计数器8254实现硬件定时,用查询方式控制8086工作,用并行I/O接口8255A实现8086与外设(本设计采用发光二极管模拟交通信号灯)数据交换,用中断控制器8259A实现闯红灯报警的扩展功能。
3 硬件部分设计
ቤተ መጻሕፍቲ ባይዱ3.1 总体设计
正如A3图纸系统硬件连接图所示,CPU我选用INTEL公司的8086,它足以满足交通信号灯自动控制系统的功能要求;存储器选用两片型号为6116的静态RAM,一片作为奇片,一片作为偶片,总存储容量可达到4KB,既可以读也可以写,足以满足要求;由于8086CPU有16根地址与数据共用线,故有必要将地址码与数据码分开,8086采用了分时传送的方法,即先传送地址码,再传送数据码,故必须用锁存器将地址码锁存起来。我选用74系列的74LS373作为地址锁存器;由于外设、内存存取数据速度不匹配,故有必要使用缓冲器来暂时记忆存储数据,我选用74系列的74LS245作为数据缓冲器;存储器译码我采用全译码方式,用74LS688比较译码器可减少逻辑组合电路;可编程芯片8255A,8254,8259A的片选信号译码,我采用线译码方式,这样可以保证其端口地址只有8位,易于程序编写。因而74LS138译码器是最好的选择。至于8255A,8254,8259A的选用目的已在前面解释过,这里不再重复。在具体设计该系统时,我选用发光二极管LED来模拟红,黄,绿灯的亮和灭。由于实际生活中只需要10盏灯就可实现车行道,人行道的通行,如图所示,故这里我也选用10支二极管,其对应关系如表所示。LED1-LED5与8255A PA口相连,LED6-LED10与PB口相连。PC1口作为状态查询口,PC6口输出可实现车闯红灯的报警功能。

1_4606612_课程设计(论文)-基于8086微处理器的交通信号灯控制设计

1_4606612_课程设计(论文)-基于8086微处理器的交通信号灯控制设计

摘要随着现代科学技术的发展,人民生活水平的提高,汽车已走进千家万户。

而由之带来的交通问题也越发的普遍和严重,这些交通问题在城市中表现得尤为突出。

十字路口的交通状态控制已显得尤为重要,人们既不愿意在十字路口等待过久又不能陷入无休无止的堵塞状态。

于是一种新型的交通灯设计迫在眉睫,它既能满足普通的控制指挥要求,又能根据不同的车流量路段或是不同的时间段设定不同的通行时间。

本交通灯设计就是在新的设计要求下,利用8086系统开发出来的。

它基本上可以满足不同路段和时间段的通行时间设定,即保证在源程序不变的情况下,通过硬件接口(键盘)设定通行时间。

关键字:8086微处理器、可编程并行I/O接口芯片8255A、8253可编程定时器/计数器、8259A可编程中断控制器、8284A时钟发生器、中断与查询方式相结合键盘。

一、方案论证与比较1.1总体方案比较在进行交通灯设计前定下一设计原则:在可以满足设计要求的前提下,运用已学到的知识,以最简单明了的设计思路进行交通灯控制设计。

对于本次交通灯设计现提出三种方案,分别比较如下:方案1:利用纯数字电路实现交通信号灯设计。

该种方案的系统框图如图1.1.1所示:由系统框图可以知道,整个系统包括秒脉冲发生器、分频器、控制器、计数译码器等电路组成。

秒信号发生器产生整个定时系统的时基脉冲,通过减法计数器实现秒脉冲个数进行减计数,完成每一种工作状态的持续时间。

整个电路基本上由数字电子器件组成,电路以及控制逻辑较复杂。

设计的功能实现全部是由电路或是某些器件来保证的,若要适当的改变计数时间或是其他功能,则必须改动硬件电路或是某些器件,因而纯电子电路实现起来比较机械,不如软硬件结合的电路灵活。

方案2:利用51单片机进行交通信号灯设计。

单片机将控制器、运算器、存储器以及输入输出端口集于一体的高性能处理器。

利用51单片机开发系统,外围元件少,电路简单,实时性高。

对于本系统完全可以利用51单片机实现,且51单片机实现起来硬件电路和程序设计思路都比较简单,还可以应用一些仿真软件对设计的系统进行仿真,从而在理论与实际中保证设计的可行性。

8086汇编语言-模拟交通灯_实验报告

8086汇编语言-模拟交通灯_实验报告

计算机接口技术实验模拟交通灯控制一、实验目的:综合运用接口芯片,提高实践能力。

二、实验设备:TDN86/51教学实验系统一台。

三、实验要求:自行设计实验电路,独立编写程序,实现模拟交通灯控制系统。

模拟交通灯有三个状态往复循环:1、初始时,东西方向的绿灯亮,同时,南北方向及人行道上的红灯全亮。

持续5S。

2、然后,南北方向的绿灯亮,同时,东西方向及人行道上的红灯全亮。

持续8S。

3、最后,人行道方向的绿灯亮,同时,东西方向及南北的红灯全亮。

持续6S。

四、实验步骤:1. 系统分析:根据TDN86/51教学实验系统中的LED单元进行的约定如下:状态1时LED单元的状态如下:即1000 0111B=87H状态2时LED单元的状态如下:2即0100 1011B=4BH状态1时LED单元的状态如下:即0011 1100B=D3H电路连接如下图:2. 芯片工作状态分析:8253:芯片端口地址:40H~43H。

工作在方式0,0号计数器,工作方式命令字:30H。

CLK0为1.19MHZ,故最大计数时间为:65536/(1.19x106) =55ms。

可令其产生50ms定时,计数初值约为:0.05x1.19x106=59500。

从而,5s定时外循环次数为100次,8s定时外循环次数为160次,6s定时外循环次数为120次。

8259:芯片端口地址:20H、21H实验IRQ0中断,初始化时需要开IRQ0中断。

8255:芯片端口地址:60H~63HA口工作在方式0状态,输出,工作方式控制字:80H。

3. 程序流程图:主程序流程图:IRQ0中断服务程序流程图:五、实验程序源代码:STACK SEGMENT STACKDW 64 DUP (?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART:CLI ;关中断,开始填0中断矢量PUSH DSMOV AX,00H ;填偏移量MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,2000HMOV SI,20HMOV [SI],AXMOV AX,00H ;填CS段基址MOV SI,22HMOV [SI],AXPOP DSIN AL,21H ;读8259中断屏蔽字AND AL,0FEH ;开中断0OUT 21H,ALMOV AL,80H ;初始化8255OUT 63H,ALMOV AL,30H ;初始化8253OUT 43H,ALMOV AL,0FFH ;循环前把所有的灯关闭OUT 60H,ALA0:MOV CX,100 ;开始进入1状态,CX初值为100A1:MOV AX,59500 ;8253载入初值OUT 40H,ALMOV AL,AHOUT 40H,ALMOV AL,87H ;状态1的数据存入AL,等待输出STI ;开中断HLT ;停机等待中断LOOP A1 ;根据CX的值循环本状态MOV CX,160 ;开始进入2状态,CX初值为160A2:MOV AX,59500 ;8253载入初值OUT 40H,ALMOV AL,AHOUT 40H,ALMOV AL,4BH ;状态2的数据存入AL,等待输出STIHLTLOOP A2MOV CX,120 ;开始进入3状态,CX初值为120 A3:MOV AX,59500OUT 40H,ALMOV AL,AHOUT 40H,ALSTIHLTLOOP A3JMP A0IRQ0: ;中断服务程序OUT 60H,AL ;输出AL数据到8255,改变灯状态MOV AL,20H ;发EOIOUT 20H,ALIRET ;中断返回CODE ENDSEND START。

基于8086的交通灯控制系统课程实验设计报告

基于8086的交通灯控制系统课程实验设计报告

目录一、设计要求。

2二、设计目的。

2三、设计的具体实现。

2(一)系统概述。

2 (二)单元电路设计。

5 (三)软件程序设计。

9四、结论与愿望。

15五、心得体会及建议。

16六、附录。

17七、参考文献。

18交通灯设计报告一、设计要求1、完成系统总体方案设计;2、设计控制算法;3、设计系统接线图;4、完成控制软件的编写;5、编写课程设计说明书。

二、设计目的1、了解交通灯管理的基本工作原理2、熟悉8259A中断控制器的工作原理和应用编程3、熟悉8255A并行接口的各种工作方式和应用4、熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法。

5、掌握多位LED显示问题的解决。

三、设计的具体实现(一)系统概述系统要求实现正常时序控制,启动开关接通时,交通信号按设定的时序工作,并且各个方向的红、黄、绿灯接通时间倒计时显示,东西方向和南北方向的绿灯接通时间可以由外部设定。

所以设计中使用了8259A中断控制器、8254计数器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。

城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计:1.东西南北两个方向起始状态全为红,延续3秒。

2.东西方向红灯亮,南北方向绿灯亮,延续45秒。

3.东西方向红灯亮,南北方向绿灯以频率1HZ闪烁3秒。

4.东西方向红灯亮,南北方向黄灯亮,延续3秒。

5.东西方向绿灯亮,南北方向红灯亮,延续40秒。

6.东西方向绿灯亮以频率1HZ闪烁3秒,南北方向红灯。

7.东西方向黄灯亮,南北方向红灯亮,延续3秒。

8.东西方向红灯亮,南北方向红灯亮循环以上步骤。

通过分析灯亮的规律,总结出如下的功能表:交通灯亮灭功能表转换成控制码为:系统流程图如下:(二)单元电路设计1、 8259的工作原理1)、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。

微机原理交通信号灯课程设计

微机原理交通信号灯课程设计

课程设计任务书课题名称:基于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秒后恢复;第三、环境湿度、温度的采集。

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

《微型计算机原理与应用》课程设计报告班级学生联系学号完成日期 2013.12.30指导老师目录一、概述1. 题目2.需求分析3. 设计要求二、设计过程1. 设计过程简单分析2. 硬件原理3.8255芯片资料三、程序设计1.流程图2.程序代码四、总结附录一、概述1、题目:基于8086的交通灯设计2、需求分析:随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。

多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。

本课程设计是基于微机原理与接口技术的简单应用。

运用所学的微机原理和接口技术知识完成交通灯系统。

通过硬件与软件的结合,用我们刚刚学过的汇编语言编写程序模拟分析了现代城市交通控制与管理问题的现状,结合交通的实际情况阐述了交通灯控制系统的工作原理,给出了一种简单实用的交通灯控制系统的硬件、软件电路设计方案。

该系统适用于单主干道的十字路口。

现假定其主干道为东西方向,次干道为南北方向。

3、设计要求这次课程设计的题目是交通灯控制器的设计与实现,主要是模拟十字路口的红绿灯,如图1-1所示。

交通灯控制器的设计与实现主要是通过编写汇编语言程序利用8255A的A 口灯的亮与灭进行控制。

首先,要了解的是8255A是如何工作的,包括它的A 口、B口、C口和控制端口是如何写数据的,还包括芯片的初始化等。

由于只有16个发光二极管,所以还得弄清楚是每个发光二极管所代表的灯的颜色及方向。

最后要在实验室通过一个软件进行调试,调试通过后即可看到设计的结果。

要求:图1-1 十字路口交通灯二、设计过程1、设计过程简单分析红,黄,绿灯可分别接在8255的A口上,灯的亮灭可直接由8255输出0,1控制。

延时及闪烁由软件编程实现。

2、硬件原理设计电路如下:由上述电路容易知道红,黄,绿灯分别接在8255的A口上,端口A地址为8000H,可以通过控制8255端口A输出的高低电平来控制灯的亮灭,灯的闪烁和延时可直接通过软件的延时程序解决,这样可以大大简化电路的设计。

3、主要芯片资料8255介绍8255的部结构8255A是一个40引脚的双列直插式集成电路芯片按功能可把8255A分为三个逻辑电路部分,即:口电路、总线接口电路和控制逻辑电路。

(1)口电路8255A共有三个8位口,其中A口和B口是单纯的数据口,供数据I/O使用。

而C口则既可以作数据口,又可以作控制口使用,用于实现A口和B口的控制功能。

数据传送中A口所需的控制信号由C口高位部分(PC7~PC4)提供,因此把A口和C口高位部分合在一起称之为A组;同样理由把B口和C口低位部分(PC3~PC0)合在一起称之为B组。

(2)总线接口电路总线接口电路用于实现8255A和单片微机的信号连接。

其中包括:(a)数据总线缓冲器数据总线缓冲器为8位双向三态缓冲器,可直接和80C51的数据线相连,与I/O 操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。

(b)读/写控制逻辑与读写有关的控制信号有CS—片选信号(低电平有效)RD—读信号(低电平有效)WR—写信号(低电平有效)A0、A1—端口选择信号。

8255A共有四个可寻址的端口(即A口、B口、C 口和控制寄存器),用二位地址编码即可实现选择。

参见下表。

RESET—复位信号(高电平有效)。

复位之后,控制寄存器清除,各端口被置为输入方式。

读写控制逻辑用于实现8255A的硬件管理:芯片的选择,口的寻址以及规定各端口和单片微机之间的数据传送方向。

(c)控制逻辑电路控制逻辑电路包括A组控制和B组控制,合在一起构成8位控制寄存器。

用于存放各口的工作方式控制字8255A工作方式及数据I/O操作(1)8255A的工作方式8255A共有三种工作方式,即方式0、方式1、方式2.(a)方式0 基本输入/输出方式方式0下,可供使用的是两个8位口(A口和B口)及两个4位口(C口高4位部分和低4位部分)。

四个口可以是输入和输出的任何组合。

方式0适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。

(b)方式1 选通输入/输出方式A口和B口分别用于数据的输入/输出。

而C口则作为数据传送的联络信号。

具体定义见表7–2。

可见A口和B口的联络信号都是三个,如果A或B只有一个口按方式1使用,则剩下的另外13位口线仍然可按方式0使用。

如果两个口都按方式1使用,则还剩下2位口线,这两位口线仍然可以进行位状态的输入输出。

方式1适用于查询或中断方式的数据输入/输出。

(c)方式2 双向数据传送方式只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。

在这种方式下需使用C口的五位线作控制线,信号定义如表7–2所示。

方式2适用于查询或中断方式的双向数据传送。

如果把A口置于方式2下,则B口只能工作于方式0.(2)数据输入操作用于输入操作的联络信号有:STB(StroBe)—选通脉冲,输入,低电平有效。

当外设送来STB信号时,输入数据装入8255A的锁存器。

IBF(Input Buffer Full) —输入缓冲器满信号,输出,高电平有效。

IBF信号有效,表明数据已装入锁存器,因此它是一个状态信号。

INTR(INTerrupt Request)—中断请求信号,高电平有效,当IBF数据输入过程:当外设准备好数据输入后,发出信号,输入的数据送入缓冲器。

然后IBF信号有效。

如使用查询方式,则IBF即作为状态信号供查询使用;如使用中断方式,当信号由低变高时,产生INTR信号,向单片微机发出中断。

单片微机在响应中断后执行中断服务程序时读入数据,并使INTR信号变低,同时也使IBF信号同时变低。

以通知外设准备下一次数据输入。

(3)数据输出操作用于数据输出操作的联络信号有:ACK(ACKnowledge)—外设响应信号输入,低电平有效。

当外设取走输出数据,并处理完毕后向单片微机发回的响应信号为高,信号由低变高(后沿)时,中断请求信号有效。

向单片微机发出中断请求。

OBF(Output Buffer Full)——输出缓冲器满信号,输出,低电平有效。

当单片微机把输出数据写入8255A锁存器后,该信号有效,并送去启动外设以接收数据。

INTR—中断请求信号,输出,高电平有效。

数据输出过程:外设接收并处理完一组数据后,发回ACK信号。

该信号使OBF变高,表明输出缓冲器已空。

如使用查询方式,则OBF可作为状态信号供查询使用;如使用中断方式,则当ACK信号结束时,INTR有效,向单片微机发出中断请求。

在中断服务过程中,把下一个输出数据写入8255A的输出缓冲器。

写入后OBF有效,表明输出数据已到,并以此信号启动外设工作,取走并处理8255A中的输出数据。

表7–2 8255A C口联络信号定义三、程序设计1、流程图2、程序代码.MODEL SMALL.8086.stack.code.startupmov dx,8006hmov ax,80hout dx,axmov dx,8000hmov ax,0ffhout dx,ax ;8255初始化s1: mov ax,0behout dx,axcall delay5mov cx,6lp: mov ax,0bfhout dx,axcall delay05mov ax,0behout dx,axcall delay05loop lpmov ax,0bdhout dx,axcall delay3mov ax,0ebhout dx,axcall delay5mov cx,6lp1:mov ax,0fbhout dx,axcall delay05mov ax,0ebhout dx,axcall delay05loop lp1mov ax,0dbh out dx,axcall delay3 jmp s1delay5 proc near push cxmov bx,250dy1:mov cx,5882 dy2:loop dy2dec bxjnz dy1pop cxretdelay5 endpdelay05 proc near push cxmov bx,25dy3:mov cx,5882 dy4:loop dy4dec bxjnz dy3pop cxretdelay05 endpdelay3 proc near push cxmov bx,150dy5:mov cx,5882 dy6:loop dy6dec bxjnz dy5pop cxretdelay3 endp .dataEND四、总结本次课程设计是要设计一个交通灯系统,主要功能如上已有细述。

在本次对交通灯的设计过程中以此来加深对微机接口技术的理解,提高了自己的动手能力。

首先着手对硬件电路的设计,本次课程设计主要采用了8255A接口电路。

由于对各个芯片不熟悉,通过课本了解到了它们的引脚及功能、工作方式、部结构和控制字。

然后就是对程序的设计,想要设计出一个实用的控制系统需要了解程序流程,先画出了流程图,然后对代码进行编写,在编写过程中遇到了很多问题。

对芯片的不了解也导致编程的很多的问题,要么灯都不显示,要么灯显示不全,再要么红灯绿灯时间分配不合理。

最后经过一段时间的研究,查阅了很多资料并和同学讨论后终于一一解决。

最后,再说两句,由于自己太晚才开始做这个课程设计,导致很多功能没有实现好,例如想通过8253来对交通灯进行定时计数,用七段显示数码管显示倒计时,但是最后都由于时间紧而选择软件实现延时闪烁。

不管怎样,经过这次课程设计,我获益颇多。

将微机原理这门课程中的理论与实践相结合起来,对芯片的功能也有了进一步认识理解。

附录电路原理图:元件清单:8086芯片1个8255芯片1个74ls373锁存器2个74ls138译码器1个Led灯12个参考文献:《8086实验指导书》王荣辉,晓华编著《微型计算机原理及应用》学坚,朱定华编著。

相关文档
最新文档