交通灯设计报告(共15页).doc

上传人:飞****2 文档编号:13636463 上传时间:2022-04-30 格式:DOC 页数:15 大小:319.50KB
返回 下载 相关 举报
交通灯设计报告(共15页).doc_第1页
第1页 / 共15页
交通灯设计报告(共15页).doc_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《交通灯设计报告(共15页).doc》由会员分享,可在线阅读,更多相关《交通灯设计报告(共15页).doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上 数理与信息工程学院课 程 设 计 题 目: 交通灯设计报告 专 业: 计算机科学与技术(专升本) 班 级: 056 姓 名: 王 恩 学号: 实验地点: 数理与信息工程学院 指导老师: 余水宝 张 胜 丁宇 成 绩: ( 2006.6 )目 录第1节 引 言1 1.1设计的基本要求 1 1.2本设计的主要任务及主要功能 1 第2节 交通灯硬件设计2.1硬件设计-电气结构框图 22.2元件介绍3第3节 系统软件设计3.1整个系统程序的代码73.2.键盘服务子程序流程图12参考文献 17专心-专注-专业交通灯设计报告数理与信息工程学院 05计算机专升本 王恩指导教师:余

2、水宝 张 胜第1节 引 言设计的目的、意义1 目的本设计是单片机原理与应用课程综合训练,同学们可以通过理论学习,课题选择,资料查阅,软,硬件设计,系统调试等环节,巩固和提高所学的知识和应用水平。学会提出问题,观察和分析问题,得到最终的科学方法。培养严谨的工作作风,务实的工作态度。为今后的毕业设计,及从事单片机控制系统的设计与维护奠定坚实的基础。2 意义 本设计的意义在于通过具体的控制系统的设计,掌握单片机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。使我们能在实践教学环节中,积累设计经验,开拓思维空间,全面提高个人的综合能力。1.1 设计的基本要求1 巩固,加强对单片机原理

3、与应用,课程基本理论的理解,并能应用所学知识解决实际问题。2 掌握常用接口芯片的电路设计与软件设计方法。3 掌握简单系统的总体设计一般方法。1.2 本设计任务及系统主要功能1. 设计中以单片机为主控器,作适当的存储器,键盘显示器,、十二盏指示灯的扩展,形成一个路口灯火控制系统。2. 本设计是在车辆通行繁忙的十字交叉路口设置的灯火控制系统,其特点是:道路较窄而车辆通行较多,支线、干线的车辆通行时间不等,并设有左右弯道通行时间,允许人工监控或修改各线通行时间,同时设有道路应急控制。具体的情况是:在正常的情况下,干道通行时间为40秒,其中左右弯道占时5秒,直道通行时间为25秒,其中左右弯道占时5秒,

4、直道占时20秒。并且能够在人工监控状态下,干道、支道通行时间通过键盘修改或通过开关人为控制。第2节 交通灯硬件设计21 硬件设计-电气结构框图如下:LED显示器交通指示灯I/O接口8051存储器键盘1.硬件系统的设计还应满足以下原则:() 满足系统的设计要求,易于操作维护。() 系统功能灵活,便于扩展。() 具有自动诊断功能。2.硬件系统的设计主要包括下面的工作:a:扩展存储器:本系统设计中用到的是62256EEPROM即可做程序存储器又可做数据存储器。他跟2个74LS373地址锁存器相连,用到A0A14共15根地址线,所以他的寻址范围07FFFH。b. 配置位显示器:该显示器是双色显示器,它

5、由一个红色的LED和一个绿色的LED封装在一起红色管接正极,绿色管接负极显示红色,红色管接负极,绿色管接正极,则显示器显示绿色,都接正极则显示黄色,都接负极则不显示。在该系统中它是由8255的A口经过74LS240连接的。c. 配置键键盘,其中“A”为启动键,B为停止键.扩展并行接口8255A.c键为修改键,e,f键人工控制键。在该系统中列线用到的是8279的SL经过74LS138的8根列线中的3跟Y0,Y1,Y5,行线是8279的RL8根输出线。(2)软件设计在该系统的软件设计中用到的是模块程序设计,主要的模块程序是键盘的模块程序,它包括、,显示的模块程序,它包括、。通过软件的设计使系统有简

6、易的监控功能,通过键盘可以修改通行时间和启动或停止人工控制的路口灯火控制系统.正常显示状态:动态显示车辆通行时间,其格式为支道通行时间显示位干道通行时间显示位监控状态显示修改时间;应急状态显示“PP”。3总体设计与论证 A: 首先根据该设计的特点,把出现的情况进行分析整理,得到以下几种情况:(1)干道:左右弯道:占时5秒。显示如上图所示的第四位;直道:占时35秒,显示如上图所示的高两为。(2)支道:左右弯道;占时5秒,显示如上图所示的二三位;直道:占时25秒,显示如上图所示的第0位。(3)同时的几位灯在直道时那位亮,在弯道时那位亮。(4)在绿灯转红灯时,闪烁3次,变黄延时五秒变红灯。 B:根据

7、以上的情况分析,经过思路的整理大家统一得到了整体的设计框架图,及程序流程图和硬件图。C:我门的的系统设计过程中,实验系统主要采用的是模块化设计。这次系统设计中用到的模块是:MODEL1-62256存储器,ELMOD2-8279键盘显示,ELMOD3138译码电路,ELMOD4可编程并行接口8225。这次系统设计过程中要将这几个模块按照逻辑与设计要求把它们与8031做连接,实现以上特点。D:这次设计当中初步决定所需要的辅助芯片有:373地址锁存器2个或3个。反向器若干,62256存储器。E:硬件设计:电路图为附件。F:软件设计:包括键盘程序,显示程序,显示程序为主程序。子程序有延时程序延时为0.

8、1秒。22 元件介绍1、可编程键盘,显示器接口Intel82798279是INTEL开发的专用键盘显示器接口芯片,该芯片能对显示器实现自动扫描,能自动识别键盘型号,它大大减轻了CPU的负担,因此在单片机应用系统中,该芯片得到了广泛的应用。8279的结构及引脚功能:下图为8279内部结构图。8279由数据缓冲器,I/O控制逻辑,控制和定时寄存器及定时与控制电路,扫描计数器,回复缓冲器,键盘去抖动及控制电路,FIFO/传感器RAM及其他状态寄存器,显示RAM及显示地址寄存器等部分组成。(1) 数据缓冲器及I/O控制逻辑 数据缓冲器是一个双向缓冲器,它连接内部总线和外部总线,用于传送CPU和8279

9、之间的命令,数据和状态。(2) 控制与定时寄存器以及定时与控制电路 8279为一个可编程芯片,其工作方式等通过写入一些命令来设置。控制与定时寄存器用来寄存操作命令字,通过对命令字译码产生相应的控制信号,控制8279的各个部件的协调工作,完成相应的功能。(3) 扫描计数器 扫描计数器有两种工作方式。一种为外部译码方式。计数器以二进制方式计数,4位计数状态从扫扫描结SL0SL3输出,经外部译码后形成的16位扫描信号;另一种为内部译码方式。(4) 回复缓冲器,键盘去抖动与控制电路 回复缓冲器缓冲并锁存来自RL0RL7 8根回复线的回复信号。时钟复位D07IRQ RD WR CS 数据缓冲器FIFO/

10、传感器RAM状态寄存器I/O控制16x8显示RAM8x8FIFO/传感器RAM键盘去抖动与控制电路显示地址寄存器控制与定时寄存器定时控制 回复缓冲器扫描计数器BD显示寄存器OUTA0-3 OUTB0-3 SL0-3 RL0-7 SHIET CNTL/STB(5) 数据缓冲器及I/O控制逻辑 数据缓冲器是一个双向缓冲器,它连接内部总线和外部总线,用于传送CPU和8279之间的命令,数据和状态。(6) 控制与定时寄存器以及定时与控制电路 8279为一个可编程芯片,其工作方式等通过写入一些命令来设置。控制与定时寄存器用来寄存操作命令字,通过对命令字译码产生相应的控制信号,控制8279的各个部件的协调

11、工作,完成相应的功能。(7) 扫描计数器 扫描计数器有两种工作方式。一种为外部译码方式。计数器以二进制方式计数,4位计数状态从扫扫描结SL0SL3输出,经外部译码后形成的16位扫描信号;另一种为内部译码方式。(8) 回复缓冲器,键盘去抖动与控制电路 回复缓冲器缓冲并锁存来自RL0RL7 8根回复线的回复信号。(9) FIFO/传感器RAM及其状态寄存器 FIFO/传感器RAM是一个双重功能的8X8RAM(10) 显示RAM各显示地址寄存器 显示RAM用来存储显示数据,容量为16X8位。38279的工作方式:(1) 键盘工作方式双键互锁方式N键轮回方式(2) 显示器工作方式左端输入方式右端输入方

12、式(3) 传感器矩阵方式(4) 选通输入方式48279的引脚功能:8279采用40脚引脚封装,其管脚,引线功能如下所示:RL2 VCCRL3 RL1CLK RL0IRQ CNTL/STB RL4 SHIFT RL5 SL3 RL6 SL2RL7 SL1RESET SL0RD OUTB0 WR OUTB1D0 OUTB2D1 OUTB3D2 OUTA0D3 OUTA1D4 OUTA2D5 OUTA3D6 BDGND A08279IRQ RL7RL0 SHIFTRD CNTL/STB WR SL3SL0 CS OUTA3- OUTA0A0 OUTB3- OUTB0 RESET BDCLKCPU扫描

13、 接口信号显示数据注释:其中右图中大括号未标注的是:键盘数据。D0-D7(数据总线):双向,三态总线,和系统数据总线 相连,用于CPU和8279间的数据/命令和状态的传送。CLK(系统时钟):输入线,为8279提供内部时钟的输入端。RESET(复位):输入线,当RESET=1时,8279复位,其复位状态为:16个字符显示,编码扫描键盘双重功能键琐定,程序时钟编程为31。CS(片选):输入线,当CS=0时,8279被选种时,允许CPU对其读,写,否则,被禁止。A0(数据选择):输入线,当A0=1时,CPU写入数据为命令字,读出数据为状态字。A0=0时,CPU读写的字节均为数据。RD,WR(读,写

14、信号):输入线,低电瓶有效,来自CPU的控制信号,控制8279的读写操作。IRQ(中断请求)输出线,高电平有效。SL0-SL3(扫描线):输出线,用来扫描键盘和显示器,他们可以编程设定为内部译码输出和外部译码输出。RL0-RL7(回复线):输入线,他们时键盘距阵和传感器距阵行或列信号输入线。SHIFT(移位信号):输入线,高电平有效,该输入信号时8279键盘数据的次高位(D0)。通常用来扩充键开关的功能。可用作键盘上下挡的功能键。在传感器方式和选通方式中,SHIFT无效。CNTL/STB(控制/选通):输入线,高电平有效。OUTA0OUTA3(A组显示信号),OUTB0OUTB3(B组显示信号

15、):输出线,这两组引线都是显示数据输出线,与多位数字显示的扫描线SL0-SL3同步。两组可独立使用也可合并使用。BD(显示消隐):输出线,低电平有效,在信号在数字切换显示或使用消隐命令时,将显示消隐。第3节 系统的软件设计软件设计系统有简易的临控功能,通过键盘可以控制机械手的启动,停止,回零等运行动作,对路径和作业时间进行编程。显示器能显示每个工位作业时间,出错时能显示报警信号“EE”以及在监控状态下显示键入的数据。31 整个系统的程序代码Z8279EQU0FF82H;8279状态/命令口地址D8279EQU0FF80H ;8279数据口地址LEDMODEQU00H ;左边输入八位字符显示 ;

16、外部译码键扫描方式,双键互锁LEDFEQEQU2FH ;扫描速率LEDCLSEQU0C1H ;清除显示RAMLEDWR0EQU80H ;设定的将要写入的显示RAM地址 READKB EQU 40H ;读FIFO RAM地址0的命令字ORG 0000HMOV DPTR,#8406H ;8255控制口地址 MOV A,#80H ;命令字传入控制口MOVX DPTR,ALJMP START ;开始程序 ORG 0040HSTART: MOV 16H,#35 ;设定显示秒数MOV SP,#30H LCALL STATUS0 ;调用初始状态全红灯CIRCLE: LCALL STATUS1 ;南北绿灯东西

17、红灯LCALL STATUS2 ;南北绿灯闪转黄灯东西红灯 LCALL STATUS3 ;南北红灯东西绿灯 LCALL STATUS4 ;南北红灯东西绿灯闪转黄灯LJMP CIRCLESTATUS0:MOV DPTR , #8400H MOV A,#0FHMOVX DPTR, AMOV R2,#10 ;延时一秒LCALL DELAY RETSTATUS1: ;南北绿灯东西红灯MOV DPTR , #8400HMOV A,#96HMOVX DPTR, AMOV 11H,16HLCALL INIT8279 ;初始化清屏 STA1: LCALL LC ;处理并调用显示的数据MOV 15H,#07H

18、;设定显示位数MOV 14H,#06HMOV R5,12HLCALL DISPLAY ;调用显示MOV R5, 13HMOV R2,#10LCALL DELAY ;延时LCALL FUWU ;调用键盘服务程序DJNZ 11H,STA1 RETSTATUS2: ;南北绿灯闪转黄灯东西红灯MOV DPTR , #8400HMOV R3,#03H ;闪烁三次FLASH:MOV A,#9FHMOVX DPTR,AMOV R2,#03HLCALL DELAYMOV A,#96HMOVX DPTR,AMOV R2,#03HLCALL DELAYDJNZ R3,FLASHMOV A,#06HMOVX DPT

19、R,ALCALL INIT8279MOV 11H,#5 ;弯道时间STA2:LCALL LCMOV 14H,#4LCALL DISPLAYDJNZ 11H,STA2RETSTATUS3: ;南北红灯东西绿灯MOV DPTR , #8400HMOV A,#69HMOVX DPTR, AMOV 11H,#25 ;设定支道时间LCALL INIT8279STA3: LCALL LCMOV 15H,#03HMOV 14H, #02HLCALL DISPLAYDJNZ 11H,STA3RETSTATUS4: ;南北红灯东西绿灯闪转黄灯MOV DPTR , #8400HMOV R3,#03HFLASH1:

20、MOV A,#6FHMOVX DPTR,AMOV R2,#03HLCALL DELAYMOV A,#69HMOVX DPTR,AMOV R2,#03HLCALL DELAYDJNZ R3,FLASH1MOV A,#09HMOVX DPTR,AMOV 11H,#05HLCALL INIT8279STA4:LCALL LCMOV 14H,#00H ;让该位显示0LCALL DISPLAYDJNZ 11H,STA4 RETINIT8279: ;初始化MOVDPTR,#Z8279 MOVA,#LEDMODMOVXDPTR,AMOVA,#LEDFEQMOVXDPTR,AMOVA,#LEDCLSMOVXD

21、PTR,ALCALLDELAYRETDISLED: ;显示字符子程序PUSHDPH PUSHDPLPUSHACCMOVA,#LEDWR0ADDA,R4MOVDPTR,#Z8279MOVXDPTR,AMOVDPTR,#LEDSEGMOVA,R5MOVCA,A+DPTRMOVDPTR,#D8279MOVXDPTR,APOPACCPOPDPLPOPDPHRETDELAY: ;延时程序PUSH0 ;延时100msPUSH1 PUSH 2DELAY1:MOV1,#0HDELAY2:MOV 0,#0B2HDJNZ0,$DJNZ1,DELAY2 DJNZ 2,DELAY1 POP 2POP1POP0RETD

22、ISPLAY: ;显示字符程序MOV R5,12H;存高位MOV R4,15H;显高位LCALL DISLEDMOV R5,13HMOV R4,14HLCALL DISLED;MOV R2,#10;LCALL DELAYMOV R5,#00HMOV R4,14HLCALL DISLEDRETLC:MOV A, 11H ;处理将要显示的数据MOV B,#0AHDIV ABMOV 12H,AMOV 13H,BRETERROR:LCALL STATUS0 ;显示急停子程序MOV R5,#10HMOV R4,#05HLCALL DISLEDMOV R5,#11HMOV R4,#04HLCALL DIS

23、LEDMOV R5,#12HMOV R4,#03HLCALL DISLEDMOV R5,#13HMOV R4,#02HLCALL DISLEDRETFUWU: ;键盘程序WAIT:LCALL GETKEY ;得到键值CJNE A,#0FFH,RET0 ;是否有键按下MOV A,BCJNE A,#0AH, BB ;判断键值LCALL KEYASJMP RET0BB:MOV A,BCJNE A,#0BH,CCLCALL KEYBSJMP RET0CC:MOV A,BCJNE A,#0CH,DDLCALL KEYCSJMP RET0DD:MOV A,BCJNE A,#0DH ,WAITLCALL K

24、EYDRET0:RETGETKEY: PUSH DPH ;读取键盘子程序,PUSH DPL ; 保护现场PUSH PSWMOV DPTR,#Z8279 ;读8279状态MOVX A,DPTRANL A,#07HJNZ GETVAL ;判断是否有键输入MOV A,#00H ;置标志(无键输入)SJMP NKBHIT ;GETVAL: ;读FIFO RAM命令MOV A,#READKB ;读键值MOVX DPTR,AMOV DPTR,#D8279MOVX A,DPTRANL A,#3FH ;屏蔽SHIF、CTRLMOV B ,A ;置返回键值MOV A,#0FFH ;置标志(有键输入)NKBHIT

25、: POP PSW ;恢复现场 POP DPLPOP DPHRETKEYA:LCALL INIT8279 ;A键(开始)MOV R5,#0AMOV R4,#06HLCALL DISLED AJMP STARTRETKEYB:MOV R5,#0BH ;B键急停MOV R4, #06HLCALL DISLEDLCALL ERRORRETKEYC:LCALL INIT8279 ;C键改数MOV R5,#0CHMOV R4,#06HLCALL DISLEDWAIT1:LCALL GETKEYCJNE A,#0FFH,WAIT1MOV R5,BMOV 21H,BMOV R4, #01HLCALL DIS

26、LEDWAIT2:LCALL GETKEYCJNE A, #0FFH, WAIT2MOV R5, BMOV 20H, BMOV R4, #0 LCALL DISLEDCLR AMOV A, 81HMOV B, #10MUL ABMOV B, 80HADD A, BMOV 16H, ARETKEYD:MOV A,21H ;D键确认MOV B, #10MUL ABMOV B, 20HADD A, B MOV 16H, AMOV 11H, 16HLCALL CIRCLEAJMP CIRCLERETLEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H;0,1,2,3,4

27、,5,6,7, DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H;8,9,A,B,C,D,E,F,DB 73H,40H,40H,73H,P,-,-,P,END32.键盘服务子程序流程图如下所示:开始 保护现场停止倒计时,清外部中断INT1中断请求标志位禁止显示器写入扫描查询键盘 Y有键按下?N NCA? Y N N 允许显示器写入允许显示器写入启动T0允许倒计时允许中断允许中断恢复现场返回 结束语 这只是一篇对单片机的进行设计的报告,没有什么实践。因此很难有更多的实践所带来的感受。但话又说回来,在整个设计过程中,使我学会了许多在书本上学不到的知识。比如说,通过本次设计,使我

28、了解并掌握到了8279的理论知识。为以后从事单片机软硬件产品的设计开发、PC软件开发打下了良好的基础,树立独立从事产品研发的信心。同时也培养了我认真的做事态度。从得到题目到查找资料,从对题目的研究设定到电路图的设计,电路图的设计到程序设计在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我感触颇深,它是对我的钻研精神,创新精神,面对困难的心态,做事的毅力和耐心的考验。我在这个过程中深刻的感受到了做设计的意义所在,和我一样真正投入了身心去做的人也一定会有同样的感触。 将近一个月的准备,这篇报告终于要完成了,心里真有许多说不出的滋味。突然发现自己所掌握的知识是那么的有限,有那么多需要改进的不足的地方。我想通过这次实验报告的设计,我想我更加清楚自己以后发展及学习的方向。参考文献1 刘国荣,单片微型计算机技术,机械工业出版2 谢自美,电子线路设计实验测试,华中理工大学出版社3 曾昆,王迎旭,单片机原理及应用实验指导书,湖南工程学院出版4 周立功,增强型80C5单片机速成与实战,北京航空航天大学出版社

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁