微机原理及应用课程设计_数码管交通灯教材
- 格式:doc
- 大小:2.99 MB
- 文档页数:14
信息工程系计算机科学与技术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秒,控制黄灯的时间。
成绩南京工程学院课程设计说明书(论文) 题目带数码管显示的交通灯模拟控制系统设计课程名称微机原理及应用院系专业班级学生姓名学号设计地点指导教师设计起止时间:2013年12月23日至2017年12月27日目 录一、方案说明 …………………………………………………………………2 1、硬件设计 ..................................................................................................................................................................2 2 1.1 1.1、硬件接线图、硬件接线图、硬件接线图 ........................................................................................................................................................................................................................2 2 1.2 1.2、主机接线说明........................................................................、主机接线说明........................................................................、主机接线说明........................................................................33 2、软件设计 .................................................................................3 2.1 2.1、程序流程图、程序流程图、程序流程图 ................................................................................................................................................4 4 二.源程序清单 (55)三、调试现象 …………………………………………………………………10 四、心得体会…………………………………………………………………12 1.课程设计应达到的目的.课程设计应达到的目的通过课程设计加深理解课堂教学内容,通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。
交通信号灯的控制一、设计目的巩固“微机原理”课程学过的知识,加强理论与实践的联系。
通过本课程设计,使学生初步了解微机系统的硬件设备,学会 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设计任务描述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. 课程设计说明书(论文)装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。
三、设计完成后应提交成果的种类、数量、质量等方面的要求提交课程设计说明书一份。
在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。
微机原理课程设计-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管芯封装在一起,公用负端。
当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
(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。
微机原理及应用课程设计计时红绿灯的设计和制作一、课程设计目的课程设计要求学生自行设计和搭建有关微机应用的电路,编制和调试有关软件。
通过课程设计的教学,使学生巩固和深化已学的理论知识,加强综合应用能力,训练学生掌握分析问题、解决问题的方法,培养较强的动手能力和一定的微机应用系统的设计和调试能力。
二、课程设计内容用实验系统的发光二极管模拟交通红绿灯,并能用数码管显示灯亮的时间剩余值。
计数原则:红灯绿灯灯亮的时间为20秒种,在替换间隔绿灯的路口的黄灯闪烁4秒。
具体:1、通过8255A并行口传输数据的方法,来控制LED发光二极管的亮灭。
用8255A的B端口和C端口控制12个LED 发光二级管的亮和灭(输出为0则亮,输出为1则灭)。
2、过8253A应用为计数提供硬件计时,为整个红绿灯系统提供时间计数。
3、通过中断控制器8259A为红绿灯系统提供中断服务,以实现中断。
编程思路:要完成本实验,首先必须了解交通路灯的亮灭规律。
设有一个十字路口,1、3为南,北方向,2、4为东,西方向。
初始化之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延迟一段时间(20秒)后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁。
闪烁若干次(延时4秒)后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。
延迟一段时间(20秒)后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁若干次(延时4秒)后,再切换到1、3路口方向。
之后,重复上述过程。
各集成块接线:8253连线:(1)8253的GATE0接+5V。
(2)8253的CLK0插孔接分频器74LS393(左上方)的T5插孔。
(3)8253OUT0插孔和8259的3号中断IR3插孔相连。
8259连线:(1)8259模块上的INT连8088的INTR(在主板键盘矩阵下面)。
(2)8253模块上的INTA连8088的INTA(在主板键盘矩阵下面)。
(3)8253OUT0插孔和8259的3号中断IR3插孔相连。
课程设计报告题目交通灯的设计课程名称微机原理及应用院部名称机电工程学院专业电气工程及其自动化班级XXXXXXXXXXX学生姓名 XXXXX学号XXXXXXXXXX课程设计地点工科楼 C304课程设计学时20指导教师 XXXXXXXXX金陵科技学院教务处制成绩运用了8086 CPU芯片以及8255A芯片、8253芯片和数码管等辅助硬件电路,进行了数码管倒计时的设计。
进行了软件设计并编写了源程序。
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
本系统采用8086为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展强。
本设计就是采用8086最小方式下在Protues7.8SP2软件下模拟十字路口交通灯的各种状态显示以及倒计时显示时间。
本设计系统由8255AI/O口扩展系统、交通灯状态显示系统、LED数码显示系统等几大部分组成。
系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。
本系统采用8086汇编语言编写,主要编写了主程序,LED数码管显示程序等。
总体上完成了软件的编写。
关键词:带倒计时功能的交通灯;8255A;8086微机系统一、概述1.1 课程设计的目的 (3)1.2课程设计的要求 (3)二、总体设计方案及说明2.1 系统总体设计方案 (4)2.2系统工作框图 (4)三、系统硬件电路设计3.1 Intel 8086 微处理器的简介 (5)3.2 8255A芯片的工作原理 (7)3.3多位数码管的工作原理 (8)3.4 74LS273芯片简介 (10)3.5系统电路图设计 (11)3.5.1.系统总电路图设计 (11)3.5.2.8086最小系统原理图设计 (12)四、系统软件部分设计4.1 系统流程图 (14)4.2 系统软件源程序 (15)4.2.3 汇编源程序及说明 (16)五、总结5.1系统调试 (18)5.2 心得与体会 (20)六、参考文献 (22)一、概述1.课程设计应达到的目的通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。
交通信号灯的控制课程设计报告书姓名:学号:班级:课程名称:微机原理与应用课程设计指导教师:一.设计题目:交通信号灯的控制二.课程设计目的:综合运用本课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。
三.设计要求: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路口方向。
之后,重复上述过程。
四.主要设计思路及工作原理:1.设计思路流程图:开始程序初使化调用显示主程序东西绿灯亮,南北红灯亮,进入倒计时,打开数码管显示东西和南北黄灯亮,进入倒计时,打开数码管显示东西红灯亮,南北绿灯亮,进入倒计时,打开数码管显示结束2.工作原理说明:此方案是通过并行接口芯片8255A和8088计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。
硬件连接参考方案:红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。
8088工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,A8~A15通过地址锁存器,接到3—8译码器,译码后分别连到8255和8253的CS片选端。
微机原理课设带数码管显示的交通灯模拟控制系统设计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. 理解微机原理在交通灯控制系统中的应用,掌握交通灯控制系统的基本组成和工作原理。
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、方案设计考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进展交通管理,所以本方案要点是至少对六个交通灯进展控制。
交通灯控制系统设计一、设计目的⒈ 了解交通灯管理的基本工作原理⒉ 熟悉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)利用8253定时,8259中断及8255输出实现交通灯模拟控制。
(2)实现能自动控制和手动控制。
(3)实现能随时可以调整自动模式的绿灯和红灯时间AND AL,0FHXOR AL,AHADD CL,ALCMP CL,9JNZ TEST2;闪烁5次CODE ENDSEND ST设计总结6.1 设计体会通过这次关于交通灯的课程设计,我认真查阅了相关资料。
使我更加清楚地,更加深刻地了解了这方面的知识。
让我明白了8086芯片中的各个引脚的功能如引脚通常用来产生片选信号,CLK为CPU和总线控制器提供基本的定时脉冲,QS0ALE(Address Latch Enable)地址锁存允许信号,输出高电平有效;RESET复位信号,输入,高电平有效。
如何使用8253定时及输出一定频率的脉冲;何如使用8282这个地址锁存器来存储高位地址,怎么样去使用8255这个可编程并行接口芯片与及时钟发生器8284芯片的相关知识以及更加清楚的了解了交通有哪些规则。
在学习了理论的基础上,又经过了一次实践。
使我明白了设计一个系统是需要许多的时间和精力的。
同时也使我明白了,成功的设计好一个系统不是只要有坚实的专业基础就可以了的,而是需要更加系统的知识。
如果没有一个准确的概念就不可能也搞好一个设计。
换句话说,只要有了准确的概念,也就知道哪些资料能为自己的设计服务。
这样也就有了方向。
不过,我还是觉得自己在芯片和编程这两个方面都存在着许多不足之处。
我每找到一块芯片就得去翻阅其相关的功能介绍的资料。
同时编程也是我的一个头痛的问题。
我只能借助相关的资料,去查看相对应指令的作用和功能。
不过,这样不但使我掌握了更多的芯片的功能,同时让我对汇编语言的了解更加深刻了。
经过这次课程设计,我体会到了学了理论知识当然是很重要的,但是如果学完了却不能在实践中运用已学的知识那么学过的知识就等于没学一样。
因为是时间长了也就会忘得一干二净。
中南大学微机课程设计报告题目交通灯设计专业班级姓名学号指导老师林立新老师目录1.课程设计题目、功能、目的 (2)2.系统分析与设计 (3)2.1系统所用芯片分析 (3)2.2所选用芯片的简要介绍 (4)2.3系统框图 (6)3.程序设计 (7)3.1十字路口交通灯状态转换表 (7)3.2主程序流程图 (7)3.3 中断子程序流程图 (8)3.4 数码管码表 (8)3.5 各芯片初始化说明 (9)4.运行情况 (10)5.具体源代码及注释 (11)6.心得体会 (16)一、课程设计题目、功能、目的1.课程设计题目--------------交通灯设计2.本设计所实现功能1)实现十字路口交通灯各种状态的转换;2)各种状态转换的时间可进行灵活设置;3)采用中断的方法对状态转换进行控制,提高处理器效率;4)在各个状态转换的同时实现倒计时提醒。
3.本次课程设计目的1)通过《微机原理与接口》课程设计,使学生能够进一步了解微型计算机工作原理, 微型计算机的硬件结构及微型计算机软件编程。
2)要求学生根据接口电路的硬件要求进行计算机的汇编语言程序设计,使学生的软件编程能力得到加强,对接口电路的综合应用能力有较大提高。
二、系统分析与设计1.系统所用芯片分析1)首先本个系统需要一个中央处理器来负责对整个系统进行控制管理,因为《微机原理与接口技术》这门课上介绍了8086芯片,所以可以采用8086作为本系统的中央处理器。
2)由于本次的课程设计的题目是交通灯,而根据十字路口处的交通灯南北和东西方向各有红、绿、黄三种颜色的灯,因此可用8255来控制6个LED灯的实现模拟的南北和东西方向上的交通灯。
3)而交通灯的状态转换时间要由中断方式来控制,所以很容易想到了可以用8259作为中断芯片,与8086芯片相连。
4)交通灯的状态转换时间可灵活设置,于是想到了可以采用一块8253或8254芯片和一个脉冲源相连,8253对脉冲源送来的脉冲进行分频,然后将输出送到8259作为中断源,而8253采用不用的计数初值其输出脉冲的频率就不一样,因此实现了交通类状态转换时间的灵活设置。
南京工程学院课程设计任务书课程名称微机原理及应用A 院(系、部、中心)专业班级姓名学号起止日期 2013.12.23~2013.12.26指导教师目录1.设计要求 (3)1.1设计目的 (3)1.2设计内容 (3)1.3功能要求 (3)1.4难度要求 (3)2.方案说明 (4)2.1硬件系统工作原理说明 (4)2.1.1电路接线方案 (4)2.1.2定时问题 (4)2.1.3工作状态 (4)2.2参考流程图说明 (5)2.2.1流程图设计思想 (5)2.2.2实验流程图 (6)3源程序清单 (7)4.调试过程和结果 (11)4.1总接线图 (11)4.2 LED模拟的交通灯显示情况 (12)4.3数码管模拟的交通灯倒计时 (13)5.心得体会 (13)6.参考文献 (14)1.设计要求1.1设计目的通过课程设计加深理解课堂教学内容,掌握微机原理的基本应用方法。
通过实验熟悉微机基本接口芯片的外型、引脚、编程结构,掌握汇编语言程序设计和微机基本接口电路的设计、应用方法,做到理论联系实际1.2设计内容利用STAR ES598PCI实验仪的硬件资源设计一个“带时间显示的交通信号灯迷你控制系统”。
所有输入该装置的信号均采用STAR ES598PCI实验仪上的状态输入开关输入,东西,南北方向的红绿黄灯均采用实验仪上的LED发光二极管模拟,东西,南北方向的信号灯变化,通行倒计时时间用数码管显示。
1.3功能要求(1)假设在一个A道(东西方向)和B道(南北方向)交叉的十字路口安装有自动信号灯。
当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行7秒,B道再放行5秒,依次轮流。
绿灯转换红灯时黄灯亮1秒。
(2)一道有车,另一道无车时(实验时用开关K5和K6控制),交通控制系统能立即让有车道放行。
(3)有紧急车辆要求通过时,系统要能禁止普通车辆通过,A、B道均为红灯,紧急车辆用K7开关来模拟控制,有紧急车辆时另有一红灯闪烁。
(4) 当A道和B道均有车辆要求通过时,A道和B道轮流放行。
A道放行30秒,B道再放行20秒,依次轮流。
每个绿灯的最后5秒黄灯闪烁。
1.4难度要求(1)基本要求:采用8255A输出控制信号灯,8255A输入K5、K6、K7控制开关信号,用循环程序软件定时实现功能要求。
(60分)(2)中级要求:采用8255A输出控制信号灯,8255A输入K5、K6、K7控制开关信号,用8253硬件定时、软件查询方式实现功能要求。
(80分)(3)高级要求:在中级要求的基础上,增加用8255A输出驱动LED数码显示器显示绿灯倒计时的秒数,黄灯时不显示时间。
(100分)2.方案说明2.1硬件系统工作原理说明2.1.1电路接线方案设计任务中的A道代表东西方向,B道代表南北方向交通信号灯由实验仪的LED发光二极管模拟,由8255A-PA输出控制,见下表:带时间显示的交通信号灯模拟控制系统8255A输入/输出信号一览表(供参考)带时间显示的交通信号灯模拟控制系统及8255A输入/输出信号一览表8255A-PB输出方式PCH输入方式8255A-PA输出方式PCL输出方式引脚输出信号引脚输入信号引脚输出信号引脚输出信号PB7驱动数码管字形PC7 K7 PA7 东西绿灯PB6 PC6 K6 PA6 东西黄灯PB5 PC5 K5 PA5 东西红灯PB4 PC4 8253-OUT2 PA4PB3 PA3 南北绿灯PC3 PB2 PA2 南北黄灯PC2 PB1 PA1 南北红灯PC1PB0 PA0 紧急车辆闪光PC0 数码管的位码选择2.1.2定时问题用8253#2工作方式0进行500ms定时,CLK2接125kHz时钟信号,GA TE2接高电平,OUT2接8255-PC4。
主程序通过查询8255-PC4的状态,获知准确的定时信息。
也可以采用软件延时,500ms延时子程序参见实验一。
2.1.3工作状态根据设计任务功能要求,依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闭合,有紧急车辆通行。
2.2参考流程图说明2.2.1流程图设计思想1、主程序每0.5秒循环一次,每次查询三个开关状态,及时响应开关状态的变化。
其中CNT0和CNT3分别用于记录状态0和状态3工作进程的进程计数器,可以用寄存器或内存变量实现。
2、常用的工作状态0是A、B道交替通行,一个周期用时14秒。
用CNT0以0.5秒为单位进行加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。
5、如果用2个数码显示器分别显示A道、B道的倒计时,则需要用到动态显示扫描技术,难度较大,定为加分项目。
在500ms延时子程序中循环调用动态显示扫描子程序,定时器的定时周期应缩短到5ms。
参考流程图3。
此功能难度较大,定为加分项目。
2个数码管的位码选择(低电平有效)有8255的PC3、PC0来确定,接线到数码管选择脚接口JP41(注意JP41的接插方法:JP41只接插一半,用PCL接JP41的1-4引脚。
如果PCL与JP41完全连接,PC4对应位会显示倒计时数码)。
显示内容由8255的B口接线到数码管段码接口JP42。
2.2.2实验流程图主程序CALL 500ms K7有效?K5有效?K6有效?CNT0+1CNT0=14*2?CNT0=0CNT0/2=0?输出A 红,B 黄,关数码CNT0/2<8?输出A 绿,B 红,8-CNT0/2,转换字型码→PB 输出CNT0/2=8?输出A 黄,B 红,关数码输出A 红B 绿,14-CNT0/2,转换字型码→PB 输出K7K5K6YYYNNNYNYNYNYNCNT3=0LP输出A 绿,B 红输出B 绿,A 红关数码显示器K7输出A 红,B 红,闪光灯亮CNT3=0?输出A 红,B 红,闪光灯灭LP CNT3取反YN关数码显示器500ms 子程序8253#2方式0重装500ms 定时常数OUT2=0?500ms 时间到,返回YN8255初始化:PA 、PB 、PCL 输出方式0,PCH 输入8253初始化:;#2方式0,CLK2=125kHz,GATE2=1,OUT2接PC4变量初始化:CNT0=0,CNT3=0CNT0=0,CNT3=0CNT0=0流程图2L1L2L3L0LPK71K72DELAYK56K6有效?YN3源程序清单.MODEL TINYCOM_ADD EQU 0F003H ;8255A片选地址PA_ADD EQU 0F000HPB_ADD EQU 0F001HPC_ADD EQU 0F002HCOM_ADDR EQU 0B003HT0_ADDR EQU 0B000HT1_ADDR EQU 0B001HT2_ADDR EQU 0B002H.STACK 200.DATASHU_DATA DB 00111111BDB 00000110BDB 01011011BDB 01001111BDB 01100110BDB 01101101BDB 01111101BDB 00000111BCNT0 DB ?CNT3 DB ?.CODESTART: MOV DX,COM_ADD ;8255初始化MOV AL,88H ;PA、PB、PCL输出方式0, PCH输入 OUT DX,ALMOV DX,PA_ADDMOV AL,0FFHOUT DX,ALMOV DX,PC_ADDIN AL,DXAND AL,0F0H ;保留高位,低位为0OR AL,01H ;保留高位,低位全部为1OUT DX,ALMOV DX,COM_ADDR ;8253初始化MOV AL,0B0H ;1011 0000BOUT DX,ALMOV CNT0,0 ;状态0: A,B交替MOV CNT3,0 ;状态3: 紧急时LEA BX,SHU_DATALP: CALL DL500MSMOV DX,PC_ADDIN AL,DXTEST AL,80H ;AL AND 1000 0000B,检测K7JNZ K7 ;如果PC7=0,结果为0,ZF=1,不执行K7。
如果PC7=1,ZF=1,执行K7,为特殊情况TEST AL,20H ;0010 0000B,检测PC5JNZ K51 ;如果PC5=0,结果为0,ZF=1,不执行K51。
如果相反,则执行K51TEST AL,40H ;0100 0000B ,检测PC6JNZ K61MOV CNT3,0MOV CH,CNT0SHR CH,1 ;CNT3=0,CH右移1位相当于CH/2CMP CH,5 ;比较CH/2和8JS GR ;CH/2〈8,标志SF=1,转GRCMP CH,10JS YRCMP CH,15JS RGJMP RYLAST: INC CNT0 ;CNT0=CNT0+1CMP CNT0,40 ;CNT0-28JNZ LPMOV CNT0,0JMP LPRG: MOV DX,PA_ADDMOV AL,0D7H ;1101 0111BOUT DX,AL ;A红B绿MOV DX,PB_ADDMOV AL,14 ;启动数码管SUB AL,CH ;AL-CH/2XLAT ;AL=AL+BXOUT DX,AL ;显示倒计时。
JMP LASTRY: MOV DX,PA_ADDMOV AL,0DBH ;1101 1011BOUT DX,AL ;A红B黄CALL DL200MSMOV DX,PA_ADDMOV AL,0DFHOUT DX,ALJMP LASTK51: JMP K5K61: JMP K6GR: MOV DX,PA_ADDMOV AL,7DH ;0111 1101OUT DX,AL ;A绿B红MOV DX,PB_ADD ;输出倒计时数字MOV AL,8SUB AL,CH ;AL=AL-CH/2=8-CH/2 XLAT ;AL=AL+BXOUT DX,ALJMP LASTK7: MOV CH,CNT3 ;CNT3=0,CH=0CMP CH,0JZ K71MOV DX,PA_ADDMOV AL,0DDHK72: MOV DX,PB_ADDMOV AL,00HOUT DX,ALNEG CH ;CH=1MOV CNT3,CH ;CNT3=1,K7灭MOV CNT0,0JMP LPYR: MOV DX,PA_ADDMOV AL,0BDHOUT DX,ALCALL DL200MSMOV DX,PA_ADDMOV AL,0FDHOUT DX,ALJMP LASTK71: MOV DX,PA_ADDMOV AL,0DCH ;1101 1100B, K8亮0.5s OUT DX,ALCALL DL200MSMOV DX,PA_ADDMOV AL,0DDH ;1101 1101B, K8灭0.5s OUT DX,ALJMP K72K5: MOV DX,PA_ADDMOV AL,7DH ;AL=0111 1101BOUT DX,AL ;亮A绿B红JMP K56K6: MOV DX,PA_ADDMOV AL,0D7H ;1101 0111BOUT DX,AL ;亮A红B绿K56: MOV DX,PB_ADDMOV AL,00HOUT DX,ALMOV CNT0,0MOV CNT3,0JMP LPDL500MS PROC NEARMOV DX,T2_ADDRMOV AX,62500 ;频率125KHz,62500*(1/125)=0.5sOUT DX,ALMOV AL,AHOUT DX,ALDELAY1: MOV DX,PC_ADDIN AL,DXTEST AL,10H ;设置"准备就绪"(ready)信息在D4位到PC4, TEST为AL AND 10HJE DELAY1 ;AND后PC4为0时,JE=1,执行DELAY。