第一篇:微机原理交通灯课程设计
湖南科技大学
潇湘学院信息与电气工程系
《课程设计报告》
题 目: 硬件描述语言课程设计 专 业: 通信工程 班 级: 二班 姓 名: 学 号:
指导教师: 欧青立
2015 年 12 月 28 日
信息与电气工程学院 课程设计任务书
2015 —2016
学年第 一 学期
专业:
通信工程
班级: 二班
学号: 姓名:
课程设计名称:
微机原理与接口技术
设计题目:
基于PC机与8255的交通灯电路系统设计
完成期限:自 2015年月 14 日至
2015 年月 日共 2 周 设计依据、要求及主要内容(可另加附页): 设计依据:
交通灯在我们的日常生活中很常见,现代化城市交通中交通灯已成为城市不可或缺的一部分。基于微处理器的交通灯控制系统成为主要设计方法。采用微处理器结合外围芯片,通过软件编程方式即可实现对交通灯的控制。设计内容及要求:
采用80868088控制器和8位并行接口芯片8255设计实现交通灯控制系统,编写相关软件程序。基本要求:
(1)采用Protel软件或其它软件绘制电路原理图;
(2)初始状态为全红灯,等待5秒,LED显示倒计时,然后东、西方向亮红灯,南、北方向亮绿灯,时间为10秒,LED显示倒计时;转为南、北方向绿灯闪3秒,然后转为黄灯3秒,LED显示倒计时;再转为东、西方向亮绿灯,南、北方向亮红灯,时间为10秒,LED显示倒计时;然后再转为东、西方向绿灯闪3秒再转为黄灯3秒,再次转为东、西方向红灯,南、北方向绿灯,以后按此循环。
提高要求:如果发生突发情况,能通过按键使东西或南北方向长时间红灯。
指导教师(签字):
批准日期:
****年**月**日
目录
前言....................................................4 第一章 绪论..............................................5
1.1 设计的目的及要求.....................................................5 1.2 设计期望实现的目标...................................................5 1.3 目标的可行性分析.....................................................6 1.4 使用的技术和方法.....................................................6 第二章 内容..............................................7 2.1 设计步骤.....................................................7 2.2 详细设计....................................................7
第三章 硬件设计..................................................7
3.1 8255A工作原理..............................................7 3.2 8088工作原理...............................................9 2.3 设计原理图与PCB...........................................10 第四章 软件设计.................................................11 3.1 程序分析...................................................11 3.1 程序代码...................................................15 第四章 心得体会.................................................16 参考文献.........................................................17
前言
在21世纪这个科技当道的年代,只要你敢想一切皆有可能。微机原理与接口技术作为大学本科通信电子专业的一门必修科目,对我们理解科学,认识科学的意义是深远的。本次课程设计皆在提高我们对微机原理以及相关软硬件的认识,提升理论与实践的结合能力,在本次课程设计中将基于AEDK8688ET微机教学实验系统来实现8259A、8255A芯片的工程应用设计。
本课程设计报告共分四章,在第一章中主要阐述课程设计的 意义与目的,并说明期望的目标。在第二章和第三章中分别就设计的硬件和软件做详细阐述,其中包括关键芯片的功能介绍,软硬件的设计思路与实现。第四章为课程设计的心得体会。
当然目前自己的知识与水平是非常有限的,设计报告中还存在很多的不足与错误,恳请老师与读者批评指正。在车辆日渐增多的今天,人们也越来越关注交通问题,而交通灯在安全行车过程中无疑起着十分重要的作用。现在交通灯一般都设在十字路口,用红、绿、黄三种颜色的指示灯和一个倒计时的显示计时器来控制行车, 对一般情况下的安全行车、车辆分流发挥着作用, 但根据实际行车过程中出现的情况, 主要有如下几个缺点:
1、车道轮流放行时间相对固定, 不能根据实际情况中两个车道的车辆多少来设置改变通行时间;
2、没有考虑紧急车辆通过时, 两车道应采取的措施。譬如, 有消防车通过执行紧急任务时, 两个车道的车都应停止, 让紧急车辆通过。因此如何合理高效地利用交通灯指示交通情况,是一个亟需解决的问题。
交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。绪论
本次专业课程设计作为前阶段学习知识的一个检验,培养了我们的动手能力以及独立思考设计的能力,也是大学培养的一个重要实践步骤。设计初期,我们通过网络,图书馆等资源查找到利用微机原理与接口技术设计制作交通灯的相关信息,对不同的方案进行细致的分析比较。并且按照题意与实际情况进行改进,使之符合要求。然后按照电路图进行接线,最终做出一个简单的交通灯。制作过程中发现的一些问题通过共同的分析研究得到的解决,此次课程设计巩固了前期的理论知识,增强了动手实践能力。
程序主要是由定时子程序、发光二极管显示子程序和中断服务程序组成。包括对8255、8088等可编程器件的编程。
一、课程设计目的以及要求
1、课程设计题目:交通灯
使用8255A和8088模拟十字路口交通灯的闪烁情况
2、基本要求:
1、设计实验电路
2、分析实验原理
3、列出实验接线表
4、采用汇编语言编写实验程序
5、通过实验验证功能的实现
6、编写课程设计说明书。
3、初始条件:
运用所学的微机原理和接口技术知识;
微机原理和接口技术实验室的实验箱设备。
4、设计目的
掌握8255A方式0的使用与编程方法 PC机及配套的接口电路实验装置 IC芯片:8255A应用
利用并行I/O识别开关(4个),使相应的发光二极管发光。 熟练掌握Altium designer10.0(或protel99)软件对电路原理图 4.1)设计期望实现的目标
因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的规律。假设一个十字路口为东西南北走向,初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1 5 4.2)目标的可行性分析
通过微机原理与接口课程的学习,在理论上设计目标是可以实现的,结合学校实验教学系统在设计合适的软硬件模块能够实现此课程设计的目标。
双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。4.43)使用的技术和方法
通过实验教学系统上搭建硬件环境,通过外设计算机提供软件编译环境两者结合起来,由汇编实现编程控制。
二、内容
● 采用8255A设计交通灯控制的接口方案
● 插接电路 ● 编写控制程序
1.设计步骤
(1)方案设计
考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。
由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。(2)电路插接
本实验利用装置提供的8255A芯片和逻辑电平显示器进行。(3)编程与运行
2.详细设计:
(1)电路原理:本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系统的硬件连接如图所示。硬件电路由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。
定时中断子程序是本设计的重点,负责完成数码管输出数据刷新和各个状态的处理切换。中断子程序包括数码管输出数据刷新程序和各状态处理程序。数码管输出数据刷新子程序是实现倒计时25s,用LEDOUT表示输出的数据,cnt用来软件计时1s,就是计数10个100ms。LED输出是要将输出的数据转化为段选码。根据当前的状态跳转到相应的处理程序,在处理程序中完成定时和状态的切换。状态1和3的流程是一样的,先点亮对应的交通灯,再判断定时到了就可以切换了。状态2和4要实现黄灯的闪烁,间隔点亮和熄灭就可以了。状态1和3处理程序的流程图NUM是状态1对应的PC口输出。
外部中断服务子程序主要用来处理紧急情况,将2个方向的车都停止运行,点亮所有红灯。下次中断来时恢复以前的状态。用一个标志位FLAG判断是第一次进入还是恢复状态。
(2)编写汇编程序通过8255A控制四个方向交通灯的状态,具体假设设计状态如下:
1、首先初始状态0为东西南北都关灯。
2、然后经过一段时间后转为状态1东西绿灯通车,南北红灯。
3、过一段时间转为状态2,东西绿灯闪几次转亮黄灯,延时几秒,南北路口的仍然亮红灯。
4、再转状态3,南北绿灯通车,东西红灯。
5、过一段时间转状态4,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
6、最后返回至状态1继续循环。
说明:(1)实际上黄灯的闪烁由两个状态组成,例如南北红灯同时东西黄灯亮与南北红灯同时东西黄灯灭这两个状态的组成。所以端口一共有七组状态。东西方向:PA0红灯;PA1黄灯;PA3绿灯; 南北方向:PA4红灯;PA5黄灯;PA6绿灯;
三、硬件设计
3.1 8255A的工作原理1、8255A的内部结构:
1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。3)A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。
4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。、8255A的 工作方式: 方式0---基本输入输出方式; 方式1---选通输入输出方式;
方式2---双向选通输入输出方式。
3、脚信号
8255A的引脚如有:分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chip select):片选信号线,低电平有效时,芯片被选中。A1, A0(port address):地址线,用来选择内部端口。(read):读出信号线,低电平有效时,允许数据读出。(write):写入信号线,低电平有效时,允许数据写入。
RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0(port A):A口输入/输出信号线。PB7~PB0(port B):B口输入/输出信号线。PC7~PC0(port C):C口输入/输出信号线。VCC:+5V电源。GND:电源地线。3.2 8088工作原理
1)、任何微处理器(包括8086/8088)的地址总线、数据总线及部分控制总线均采用三态缓冲器式总线电路。所谓三态,是指它们的输出可以有逻辑“1”、逻辑“0”和“浮空”三种状态。当处于浮空状态时,总线电路呈现极高的输出阻抗,如同与外界“隔绝”一样。总线电路的这种三态性,既保证了在任何时候,只允许此刻进行信息交换的设备占用总线,其他设备与总线“完全” 脱离,不会影响正常的信息传递,又为其他快速信息传递方式(如DMA)提供了必要条件。只要申请DMA方式传递,外总线可以完全“脱离”CPU的控制,而与存储器或I/O设备直接进行信息交换。总线的三态性是现在问世的所有微处理器的共性。学习和使用微处理器必须认识到这一特性。对8086来说,还应该认识其CPU引脚的特殊性:此元件是存储器电路中的一部分,它有28个端口,其中A1-A12为输入端是A【0..14】网络中一部分,而D0-D7就是D【0..7】网络中的一部分,另外9 28脚和14脚为电源和接地,在制作QEWE和CS1端口时,在每个字母后面都要加一个斜杠
这个图中8255元件是输入输出电路中的主要元件之一,D0-D7就是D【0..7】网络中的一部分,A0-A1是A[0..14]网络的一部分,其中PA0-PA7,PB0-PB7,PC0-PC7全部是IO输出
四、实验原理图
五、pcb图
六、程序:
PA55 EQU 0210H;8255PA口地址 PC55 EQU 0212H;8255PC口地址 P55CTL EQU 0213H;8255控制口地址;-----------LED灯----------------------PB55 EQU 211H D1 EQU 10H D2 EQU 50H DATA SEGMENT PB DB ? DATA ENDS STACK SEGMENT STACK STA DW 50 DUP(?)TOP EQU LENGTH STA STACK ENDS;-----------开始-----------------
CODE SEGMENT ASSUME CS:CODE,DS:CODE START: PUSH CS POP DS MOV DX,P55CTL;设置8255口为输出口 MOV AL,80H OUT DX,AL;---------LED----------------------MOV DX,204H MOV AL,00H
OUT DX,AL;清LED
MOV DX,PB55;全红 MOV AL,0FH OUT DX,AL MOV BX,7fH CALL DLY 11 CALL DLY CALL DLY CALL DLY CALL DLY;CALL BEGIN;CALL WRITE2;调用数码管过程
BG: MOV AL,96H;南北绿,东西红 OUT DX,AL MOV BX,D2 CALL DJS;计数
MOV DX,P55CTL;设置8255口为输出口 MOV AL,80H OUT DX,AL;---------LED----------------------MOV DX,204H MOV AL,00H
OUT DX,AL;清LED
MOV DX,PB55;全红;JMP XH1 MOV CX,03H JNZ XH1 XH1: MOV AL,9FH;绿灭 OUT DX,AL MOV BX,D1 CALL DLY MOV AL,96H;绿亮 OUT DX,AL MOV BX,D1 CALL DLY LOOP XH1 MOV AL,06H;南北黄 OUT DX,AL MOV BX,D1 12 CALL DLY MOV BX,D1 CALL DLY MOV AL,69H;南北红,东西绿 OUT DX,AL MOV BX,D2 CALL DJS MOV DX,P55CTL;设置8255口为输出口 MOV AL,80H OUT DX,AL;---------LED----------------------MOV DX,204H MOV AL,00H
OUT DX,AL;清LED MOV DX,PB55;全红 MOV CX,03 XH2: MOV AL,6FH OUT DX,AL MOV BX,D1 CALL DLY MOV AL,69H OUT DX,AL MOV BX,D1 CALL DLY LOOP XH2 MOV AL,09H OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY JMP BG;倒计时----DJS PROC NEAR PUSH DX 13 PUSH CX PUSH AX PUSH BX BEGIN: MOV AL,0 MOV CH,0 WRITE2: MOV AH,AL LEA BX,LED XLAT MOV CL,8H;分八位写一个LED;-----------164驱动--WRITE1: MOV DX,PA55 OUT DX,AL PUSH AX MOV DX,P55CTL;利用8255PC5口控制DCLK,使DCLK产生一低电平到高电平的跳变
MOV AL,0AH;PC5置“0” OUT DX,AL MOV AL,0BH;PC5置“1”
OUT DX,AL POP AX RCR AL,1 DEC CL CMP CL,0 JNZ WRITE1 CALL DLY MOV AL,AH INC AL INC CH CMP CH,0AH;循环10次 JBE WRITE2;调用数码管过程 POP DX POP CX 14 POP BX POP AX RET DJS ENDP;JMP BEGIN;---------延时1S--------------------DLY PROC NEAR PUSH CX MOV BL, 24 M2: MOV CX,2810H LOOP $ DEC BL JNZ M2 POP CX RET DLY ENDP
;-----------数码管编码----------------------LED: DB 09H,01H,1FH,41H,49H,99H,0DH,25H,9FH,03H;9 8 7 6 5 4 3 2 1 0 CODE ENDS;------------
END START
七、心得体会
此次实习可以说是获益匪浅。通过查阅了很多资料,了解了许多汇编程序的思想,扩展了自己的视野,不再仅仅局限于书本中几条简短的程序,而且更重要的是明白写程序的态度:仔细谨慎,精益求精。在程序中添加了黄灯闪烁,更加醒目。另外加入能够实现各路口绿灯显示时间不同,适应在主干道和支线路口中使用。在系统加电调试中,针对一些问题,熟练掌握了根据原理分步测试,将错误之处缩小的最小范围内。
实验的完成需要扎实的基础知识,这次实验不仅是对课程内容掌握程度的一次考验,而且是一次很好的训练机会,训练了我们查找资料的能力。通过此次课程设计的锻炼,自己的动手能力有了很大的提高,查找问题、解决问题的能力也有了相应的进步。在本次的实验过程中,遇到很多困难,毫无头绪的时候,毅力和坚持的勇气很重要,支撑我们走过实验的每一步。在这次课程设计的过程中,我无论是在关于 X86 系列的相关知识或在接口芯片的初始化及应用方面还是在利用所学到知识全面设计系统方面收获都很大。为以后从事软件的设计开发打下了良好的基础树立独立从事研发的信心,同时也培养了我认真的做事态度。通过设计交通灯数字控制系统将软硬充分相结合,学会了很多有用的知识锻炼了软硬相互协调的能力。同时也增强了全面系统考虑问题的能力,以及硬件设计能力。可以说这次课程设计很成功,在自己学习独立思考的情况下找到了分析问题解决问题的方法。这对以后的学习和工作具有重要的指导意义!虽然花了很长时间编写软件程序设计,但这一切还是理论上的。希望学校能提供机会和条件,让我们能够去真正地将理论和实践相结合。通过这次程序,感觉自己所掌握的知识是那么的有限,还有许多需要改进和不足的地方,同时也帮助了我怎样学好这门课程,增加了我对这门学科的兴趣。通过这次实习报告的设计,使我更加清楚以后的发展及学习的方向。最后感谢老师这个学期的指导和帮助!参考文献
[1]李国洪.可编程器件EDA技术与实践[M].北京:机械工业出版社,2004:100-123.[2]翟殿堂,方敏,历光伟.基于EDA的多功能计时器设计[J].信息技术,2008,17(11):39-45.[3]奚素霞.基于EDA技术的数字电路设计[J].重庆科技学院学报(自然科学),2009,11(4):124-151.[4]候伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].西安:西安电子科技大学出版社,1999:5-7.[5]赵辉.基于EDA技术的数字系统设计[J].电子设计工程,2012,20(2):34-37.[6]周永亮,王军民,薛良玉,胡文宝.基于CPLD的时间信号精确同步研究[J].石油天然气学报,2011,33(4):105-108.[7]乔桥,张弛,邹安阳.基于CPLD的扭簧分选仪交流伺服系统的设计[J].武汉纺织大学学报,2011,24(3):62-65.[8]王永祥.基于CPLD的两相步进电机细分驱动器设计[J].宜春学院学报,2011,33(4):52-53.[9]刘凯,王红航.电子抢答器的EDA设计与实现[J].电子元器件应用,2010,12(8):54-57.[10]侯宝生.基于VHDL的数字倍频器设计[J].科学技术与工程,2009,9(3):705-708..17
第二篇:微机原理课程设计-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。修改jiaotong2.asm,实现交通灯原有功能。
(4)将jiaotong2.asm另存为jiaotong3.asm。修改jiaotong3.asm,实现交通灯各个灯亮和灭的时间是原有时间的3倍。
6、实验程序框图
7、源程序: Tlamp_88.asm
;FOR
EAT 598 PC55
EQU 212H
211 P55CTL EQU 213H D1
EQU 10H
D2
EQU 50H
DATA
SEGMENT PB
DB ? DATA
ENDS STACK
SEGMENT STACK STA
DW 50 DUP(?)TOP
EQU LENGTH STA STACK
ENDS CODE
SEGMENT ASSUME CS:CODE,DS:DATA START:
PUSH
CS
POP
DS
MOV
DX,P55CTL
;设置为全输出
MOV
AL,80H
OUT
DX,AL
MOV
DX,204H
MOV
AL,00H
OUT
DX,AL
;清LED
MOV
DX,PC55
;全红
MOV
AL,0FH
OUT
DX,AL
MOV
BX,7fH
CALL
DLY BG:
MOV
AL,96H
;南北绿,东西红
OUT
DX,AL
MOV
BX,D2
CALL
DLY
MOV
CX,03H XH1:
MOV
AL,9FH
;南北绿灭
OUT
DX,AL
MOV
BX,D1
CALL
DLY
MOV
AL,96H
;南北绿亮
OUT
DX,AL
MOV
BX,D1
CALL
DLY
LOOP
XH1
MOV
AL,06H
;南北黄
OUT
DX,AL
MOV
BX,D1
CALL
DLY
MOV
BX,D1
CALL
DLY
MOV
AL,69H;南北红,东西绿
OUT
DX,AL
MOV
BX,D2
CALL
DLY
MOV
CX,03
XH2:
MOV
AL,6FH;东西绿灭
OUT
DX,AL
MOV
BX,D1
CALL
DLY
MOV
AL,69H
;东西绿亮
OUT
DX,AL
MOV
BX,D1
CALL
DLY
LOOP
XH2
MOV
AL,09H
;东西黄
OUT
DX,AL
MOV
BX,D1
CALL
DLY
MOV
BX,D1
CALL
DLY
JMP
BG
DLY
PROC
NEAR
PUSH
CX
DDD:
MOV
CX,0FFFH CCC:
LOOP
CCC
DEC
BX
CMP
BX,0
JNE
DDD
POP
CX
RET
DLY
ENDP
CODE
ENDS END
START
第三篇:微机原理课程设计——交通灯控制系统
设计要求:
(1)利用8253定时,8259中断及8255输出实现交通灯模拟控制。
(2)实现能自动控制和手动控制。(3)实现能随时可以调整自动模式的绿灯和红灯时间
设计目的
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于
计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。设计内容
交通灯控制系统
利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。
具体要求如下:
1)在一个十字路口的一条主干道和一条支干道分别装上一套红、绿、黄三种信号灯。
2)在一般情况下,主干道上的绿灯常亮,而支干道总是红灯。
3)当检测到支干道上来车时,主干道的绿灯转为黄灯,持续4S后,又变为 红灯,同时支干道由红灯变为绿灯。
4)支干道绿灯亮后,或者检测到主干道上来了三辆车,或者虽未来三辆车,但绿灯已经持续了25秒,则支干道立即变为黄灯,同时主干道由红灯变为绿灯。设计要求
在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路
软件设计
1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
2、画出程序流程图。
3、根据流程图,编写源程序。
4、在Proteus环境下,仿真调试程序 设计原理与硬件电路
要完成本实验,首先必须了解交通路灯的亮灭规律。本实验需要用到实验箱上八个发光二极管中的六个,即红、黄、绿各两个。不妨将L1(绿)、L2(黄)、L3(红)做为南北方向的指示灯,将L4(绿)、L5(黄)、L6(红)做为东西方向的指示灯。而交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。各发光二极管的阳极通过保护电阻接到+5V的电
源上,阴极接到输入端上,因此使其点亮应使相应输入端为低电平。在以上的叙述基础上,本实验添加了东西方向S2、南北方向S3紧急切换按钮各一个,当紧急按钮按下时,相应方向紧急切换为绿灯,以便特种车辆通行。另外,本实验以低电平触发中断申请,表示有特种车通过。
本实验中断处理程序的应用,最主要的地方是如何保护进入中断前的状态,使得中断程序执行完毕后能回到交通灯中断前的状态。要保护的地方,除了累加器ACC、标志寄存器PSW外,还要注意:一是主程序中的延时程序和中断处理程序中的延时程序不能混用,本实验给出的程序中,主程序延时用的是
R5、R6、R7,中断延时用的是R3、R4和新的R5。第二,主程序中每执行一步经74LS273的端口输出数据的操作时,应先将所输出的数据保存到一个单元中。因为进入中断程序后也要执行往74LS273端口输出数据的操作,中断返回时如果没有恢复中断前74LS273端口锁存器的数据,则显示往往出错,回不到中断前的状态。还要注意一点,主程序中往端口输出数据操作要先保存再输出,例如有如下操作:
MOV A,#0F0H(0)MOVX @R1,A(1)MOV SAVE,A(2)
程序如果正好执行到(1)时发生中断,则转入中断程序,假设中断程序返回主程序前需要执行一句MOV A,SAVE指令,由于主程序中没有执行(2),故SAVE中的内容实际上是前一次放入的而不是(0)语句中给出的0F0H,显示出错,将(1)、(2)两句顺序颠倒一下则没有问题。发生中断时确定方向的绿灯亮10秒,然后返回中断前的状态。
程序及硬件系统调试情况
程序运行结果: 东西路右拐和南北路左拐绿灯点亮5秒,直通到均为红灯 5秒后,黄灯亮3秒钟。此时南北方向仍维持红灯点亮。东西方向直通,为绿灯,南北 方向红灯 黄灯再亮三秒之后,东西路左拐和南北路右拐绿灯点亮 南北方向的黄灯亮3秒钟后,南北方向直通,延时5秒 闭合A口开关,四个路口全红灯,表明紧急状态。
设计总结与体会
经过这两周的课程设计, 做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只
能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解.而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。
第四篇:微机原理与接口技术课程设计-交通灯控制系统
版权所有
微机原理课程设计
报 告 书
课 题 名
班 级
学 号
姓 名
指导教师 日 期
目录 设计目的................................................................................................2 2 设计内容................................................................................................2 3 设计要求................................................................................................2 4 设计原理与硬件电路............................................................................3 5 程序流程图............................................................................................5 6 程序代码................................................................................................5 7 程序及硬件系统调试情况....................................................................9 8 设计总结与体会..................................................................................10 9 参考文献..............................................................................................10 设计目的
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。
交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。
要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。
设计内容
交通灯控制系统
利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。设计要求
在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路 软件设计
1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
2、画出程序流程图。
3、根据流程图,编写源程序。
4、在Proteus环境下,仿真调试程序 设计原理与硬件电路 程序流程图 程序代码
A_PORT EQU 200H B_PORT EQU 202H C_PORT EQU 204H CTRL_PORT EQU 206H
CLK0 EQU 100H CLK1 EQU 102H CTRL EQU 106H DATA SEGMENT BUF1 DB 09H,11H,21H,12H,0CH,4AH,89H,49H BUF2 DB 0C5H,0A3H,95H,93H,95H,13H,15H,23H,0H DATA ENDS STACK SEGMENT PARA STACK 'STACK' DB 100 DUP(?)STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AL,10010000B MOV DX,CTRL_PORT OUT DX,AL MOV AL,0 MOV DX,B_PORT OUT DX,AL MOV DX,C_PORT OUT DX,AL CALL PLAY LEA SI,BUF1 LEA BX,BUF2 AAA1: MOV CH,[BX] MOV CL,CH AND CL,00001111B
CALL SHOW1 CALL DELAY CALL SHOW2 CALL DELAY JMP AAA6 AAA4: MOV DX,A_PORT IN AL,DX AND AL,00000001B CMP AL,00000000B JNZ AAA7 MOV AL,00001001B MOV DX,B_PORT OUT DX,AL MOV AL,10010000B MOV DX,C_PORT OUT DX,AL JMP AAA4 AAA7: MOV DX,A_PORT IN AL,DX AND AL,00000010B CMP AL,00000000B JNZ AAA4 CMP CL,0 JNZ AAA5 INC SI INC BX MOV AL,[BX] CMP AL,0 JNZ AAA1 JMP START
AAA5: DEC CL DEC CH CALL SHOW2 CALL DELAY AAA6: MOV DX,A_PORT IN AL,DX AND AL,00000010B CMP AL,00000010B JNZ AAA6 JMP AAA4
SHOW1 PROC MOV AL,[SI] MOV DX,B_PORT OUT DX,AL RET SHOW1 ENDP
SHOW2 PROC MOV AL,CH MOV DX,C_PORT OUT DX,AL RET SHOW2 ENDP
PLAY PROC MOV AL,00110111B MOV DX,CTRL OUT DX,AL MOV AX,1000
MOV DX,CLK0 OUT DX,AL MOV AL,AH OUT DX,AL RET PLAY ENDP
DELAY PROC PUSH CX MOV CX,0F5FH LOOP1: LOOP LOOP1 POP CX RET DELAY ENDP
CODE ENDS END START 程序及硬件系统调试情况 程序运行结果:
1. 东西路右拐和南北路左拐绿灯点亮5秒,直通到均为红灯 2. 5秒后,黄灯亮3秒钟。此时南北方向仍维持红灯点亮。3. 东西方向直通,为绿灯,南北 方向红灯
4. 黄灯再亮三秒之后,东西路左拐和南北路右拐绿灯点亮 5. 南北方向的黄灯亮3秒钟后,南北方向直通,延时5秒 6. 闭合A口开关,四个路口全红灯,表明紧急状态。设计总结与体会
经过这两周的课程设计, 做关于交通灯系统设计,我认真查阅资料,学习关于这方面的知识,比如说要了解8086芯片中各个引脚的功能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉冲以及交通有哪些规则.在理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,特别是在初始化方面是我最大的困难,或许是我的汇编语言学得不够好,我只能借助参考资料,查每一条指令的作用与功能,这样一来又巩固了我的对汇编语言的了解.而且在设计中,把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。以前对与计算机操作系统的认识是模糊的,概念上的,现在通过自己动手做实验,从实践上认识了操作系统是如何处理命令的,如何协调计算机内部各个部件运行,对计算机编译原理的认识更加深刻。参考文献
[1] 彭虎、周佩玲、傅忠谦.《微机原理里与接口技术》(第2版)[M] 北京:电子工业出版社 2008,149-187 [2] 周明德.《微型计算机系统原理及应用》[M] 北京:清华大学出版社,1998;
第五篇:微机原理课程设计
电子信息科学与技术《微机原理》课程设计
一、本次课程设计的目的和意义
学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
二、设计时间、基本要求
(一)、设计时间:二周(二)、基本要求:
a.每题2人;b.设计出完整的接口电路;c.编写出全部程序;d.在实验系统上调试通过。
三、设计选题与要求
选题一:多路模拟数据采集系统设计
要求:设计一个2路以上的模拟数据采集系统。
1、用按键选择那一路;
2、用LED显示转换结果(十进制数);
3、将每一路采集的100个数据存放到各自的存储区中。
选题二:温度测控系统的设计
要求:利用ADC0809设计一个温度测控系统,在LED数码显示器上显示温度值,并对温度进行测试和控制,当检测温度到达温度上限60℃时开风扇(即开启电动机,或以一个灯的亮灭表示),低于下限30℃时关闭风扇,LED上的显示内容为:XX ℃(采用十进制显示)。
选题三:函数发生器的设计(一)要求:利用DAC0832设计一个函数发生器,并利用按键选择输出波形,能分别产生三角波、阶梯波(每阶梯1V)、正向锯齿波、负向锯齿波和方波。并利用按键(自行定义)进行输出波形选择,同时将当前输出波形代号显示在LED上(左边位):0为方波、1为正向锯齿波、2为负向锯齿波、3 为三角波、4为阶梯波。
选题四:函数发生器的设计(二)要求:设计一个三角波发生器,可利用键盘改变其输出波形的幅值。例如,可利用1-5这5个数字键改变其输出波形的幅值,当按下1-5数字键时使D/A输出幅值从1V增加到5V。
选题五:电子音乐播放器
要求:设计要求:利用8253作为音阶频率发生器,应先对“2008年奥运会主题歌”进行编码后存入音符表,并建立好音阶表(只建立一个8度即可),音符长度不能少于60个,连续播放3遍后停止。
选题六:键盘电子乐器
要求:利用并行接口8155作为键盘接口,设计一个具有2个八度音阶的键盘乐器,音阶键不少于16个,采用扫描方式管理键盘,音域范围自行定义。
选题七:电子时钟设计
要求:利用8253定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该
键时时钟从当前设定值(可在显示缓冲区中予置)开始走时。
选题八:压力测控系统的设计(一)要求:对压力传感器的信号进行检测并在LED数码显示器上显示压力值,当压力低于30pa时,黄灯闪烁,闪烁周期为1秒。当压力高于150pa时,红灯闪烁。LED的显示内容为P=XXX。X为测试值。
选题九:可变输出频率方波发生器设计
要求:设计一个输出方波频率可利用按键改变的方波信号发生器(可以使用D/A也可以直接使用8253产生方波),利用键盘选择方波发生器的输出频率并驱动喇叭。输出频率=键号*100HZ
选题十:直流电机速度控制器设计
要求:利用D/A转换器和按键设计一个直流电动机转速控制器。按键定义如下:0 停止,1-1/10转速,2-2/10转速„„ 9 最高速(D/A输出满量程),键号每加1,D/A输出增加0.5V
选题十一:可任意启动/停止的电子秒表设计
要求:6位LED数码显示,计时单位为1/100秒。利用功能键进行启/停控制。其功能为:上电后计时器清0,当第一次(或奇数次)按下启/停键时开始计数。第2次(或偶数次)按下该键时停止计时,再一次按启/停键时清零后重新开始计时„„
选题十二:温度测试系统设计
要求:利用温度传感器和ADC0809设计一个温度测试系统,将测试结果(十进制)在LED上显示出来,并定义一个保持按键,当按下该键时,将当前测试值保持不变(按键不动作时为正常测量显示)。温度显示格式为:XXX ℃。(可以每隔0.3秒测量一次)
选题十三:压力测试系统设计(二)要求:利用压力传感器和ADC0809设计一个压力测试系统,并将测试结果(十进制)在LED上显示出来,并定义一个测试最大值按键,当按下该键时,可进行最大值测量(按键不动作时为正常测量显示),即:只有当当前测量值大于上次测量值时才刷新显示,显示格式为:P=XXX。可以每隔0.3秒测量一次。
选题十四:简易计算器系统设计
要求:设计一个可以进行2位数四则运算的计算器。
1、用按键输入数和运算符号;
2、用LED显示运算过程和结果(十进制数);
3、可以表示出当前的运算类型;
4、具有清零和复位功能;
5、具有连续运算功能。
选题十五:交通灯控制系统
要求:按照时间控制原则,利用并行接口和定时器,设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。可利用8255、8253等接口电路。
选题十六:计件系统设计
要求:利用8253计数,对外界脉冲技术,并将计数值在数码管上显示,可通过键盘控制重新计数。
四、设计任务及要求
1、接口设计:根据所选题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过。
2、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。
3、课程设计报告:(1)设计题目;
(2)系统的主要功能、作用以及主要技术性能指标;
(3)总体设计方案、工作和组成原理(框图)或设计说明、采用的技术路线等;
(4)系统设计:接口电路设计,程序设计(程序框图和程序清单及注释)其他有关的理论分析和计算;
(5)设计总结:对整个设计工作过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识、收获和提高。