交通灯的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件部件设计与调试
实践报告
题目:基本内容―电子时钟的设计扩展内容-交通灯
班级:
姓名:
学号:
指导教师:王崇
2012年5月
硬件部件设计与调试实践评分表
100为优,80~89为良,70~79为中,60~69为及格,60分以下为不及格。
实践的目的及意义
一、实践的目的
本次设计的目的就是让同学们在理论学习的基础上,通过完成一个涉及D8255芯片单片机的资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。
二、实践的意义
(1)通过硬件实践达到巩固消化课程的内容;
(2)进一步加强综合应用能力及单片机应用系统开发和设计能力的训练;
(3)使之具有独立单片机产品和科研的基本技能;
(4)使知识转化为能力和能力转化为工程素质的重要过程。
硬件电路原理
8255端口分配:
PA口—LED显示器段选口
PB口—LED显示器位选口
PC口高4位—键盘列线输入
PC口低4位—键盘行线输出
8255端口地址:7CH~7FH
片内数据存储器分配
40H—43H:100MS,秒、分、时单元
45H:数码管闪烁位置暂存器
49H:各位允许最大值暂存单元
4AH,4BH:修改后时间写回时R0,R1暂存单元
4CH:闪烁时间计算器
50H—57H:显示缓冲区
位地址分配:
00H:设置时间标志,0正常计时状态,1修改时间状态
01H:数码管闪烁标志,0亮,1灭
端口地址:
LED段选口地址:8255APA口,7CH
LED位选口地址:8255APB口,7BH
8255A控制口地址:7FH
当然,还有很多的8255芯片的知识需要了解。例如8255的基本功能:①8255具有2个独立的8位I/O口(A口和B口)和2个独立的4位I/O(C口上半部和C口下半部),提供TTL兼容的并行接口。作为输入时提供三态缓冲器的功能,作为输出时提供数据锁存功能。其中,A口具有双向传输功能。②8255有3种工作方式,方式0、方式1和方式2,能使用多种数据传送方式完成CPU与I/O设备之间的数据交换,如无条件方式、查询方式和中断方式。③B口和C口的引脚具有达林顿复合晶体管驱动能力,在1.5V时输出1mA电流,适于做输出端口。④C口除用做数据口外,当8255工作在方式1和方式2时,C口的部分引脚作为固定的联络信号线。8255的三种工作方式:①方式0,为一种简单的输入/输出方式,在这种方式下,3个口中的任何一个都可提供简单的输入和输出操作,即前已介绍的无条件传送方式。它不需要应答式联络信号,外设总是处于准备好的状态。方式0是单向传送,一次初始化只能设置在一个方向上传送数据。方式0一般用于无条件传送的场合,也可以用做查询式传送。②方式1,是一种选通输入/输出方式。A口和B口均可工作在这种方式。在这种方式下,A口和B口仍作为两个独立的8位I/O数据通道,C口要有6位分别作为A口和B口的应答联络线,其余2位仍可作为方式0的输入/输出。方式1也是单向传送。③方式2,为双向选通I/O方式,只有A口才有此方式。这时,C口有5根线用做A口的应答联络信号,其余3根线可用做方式0,也可用做B口方式1 的应答联络线。方式2实际上就是方式1的输入与输出方式的组合,各应答信号的功能也相同。输入/输出的先后顺序是任意的,根据实际传送数据的需要选定。
软件设计思想及流程图
电子时钟系统程序设计(基本内容)
一.设计思想
在人们的生活中是无法离开时间的,无论我们做任何事情都是要有一个时间的限制,不能无限制的继续下去。时间是有限的,所以我们要更加的珍惜时间。
本程序采用模块化编程,能够实现输入时间数据检测,当输入错误格式及时间数据时,自动清空时间为初始0值。能够自由启动,停止和重设时间初值。秒针进位由定时器控制。定时器工作方式设为1。
电子时钟格式及功能如下:
XX XX XX 由左向右以此显示:时,分,秒
1、C键:清除,显示时间00 00 00
2、B键:13 78 43 ――分钟数据错误!:启动电子时钟
3、F键:停止电子时钟,并可设置时间
当输入时间数据错误,立即清零,显示00 00 00。例如,当输入 27 34 23 ――小时数据错误!
(1).主程序设计思想及流程图
主程序中主要是一个死循环,首先是设置堆栈指针和8255初始化,然后就是反复调用键盘扫描程序,输入按键值。
(2).键盘扫描子程序设计思想及流程图
首先,判断是否有键按下,如果没有,子程序返回;如果有,就调用延时去抖动;然后开始进行按键扫描;首先,按行判断是否有键按下,如果没有,键值加4,直接转到下一行在进行判断;如果有,就按列进行扫描,看是那一列,然后调用延时等待按键放开;然后在进行判断看按键是否放开,如果放开,则转到按键识别,调用相关的按键;如果没放开,就继续等待。
交通灯控制系统程序设计(扩展内容)
主程序设计思想
此程序为十字路口交通信号灯控制系统程序,完成对交通灯明灭、闪烁的控
制,完成对LED显示系统的控制;当有紧急车辆通过时,应有中断系统完成对交通灯的控制及LED显示器的控制。
程序中包括定时系统,为节约单片机系统资源,采用定时器完成计时功能而不是通过循环系统来完成计时。另外定时器计时要比利用循环系统以延时程序来完成计时要精确的多,利用延时程序计时误差很大,交通灯应保证其精确性来保证交通安全。
程序中应有中断系统,完成对有紧急车辆通过时,交通灯及显示器的控制。设计中断系统时,应注意保护现场及恢复现场,否则程序将无法正常运行。
交通灯的显示控制采用查询方式。
程序应包括主体程序和子程序及中断程序,主题程序完成对整个过程的控制及对子程序和中断程序的调用。
因为本实验是交通灯控制实验,所以要先了解实际交通灯变化规律.假设一个十字路口为东西南北走向.初始为状态0.
状态0:东西红灯,南北红灯;然后转
状态1:南北绿灯通车,东西红灯;过一段时间转
状态2:南北绿灯闪几次转黄灯亮,延时几秒,东西仍然红灯;再转
状态3:东西绿灯通车,南北红灯;过一段时间转
状态4:东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯;最后循环至状态1.