《交通信号灯控制系统的设计毕业设计说明书.doc》由会员分享,可在线阅读,更多相关《交通信号灯控制系统的设计毕业设计说明书.doc(54页珍藏版)》请在三一办公上搜索。
1、毕业设计说明书题 目:交通信号灯控制系统的设计英文并列题目:Traffic signal control system design毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名: 日期: 毕业论文(设计)授权使用说明本论文(设计)作者完全了解*学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版
2、。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名: 指导教师签名: 日期: 日期: 注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2
3、万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它毕 业 设 计 任 务 书院(系):
4、 机电工程学院 专业 机械设计与制造 班 级: 机制07-1班 学生: 曹增兴 学号: 07023240104 一、毕业设计课题 交通信号灯控制系统的设计 二、毕业设计工作自 2010 年 4 月 19 日起至 2010 年 6 月 10 日止三、毕业设计进行地点 茂名学院 四、毕业设计的内容要求(一)设计内容: 1.在十字路口的两个方向上各设一组红绿黄灯,显示顺序为: 其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、绿灯、黄灯。2.设置一组数码管,以倒计时的方式显示允许通过或禁止通行的时间,其中左转灯、绿灯、黄灯、红灯的持续时间分别是15S、30S、3S、48S。3.当各条路上任意一条出现
5、特殊情况,例如消防车、救护车或其他需要优先放行的车辆时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁,当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。(二)设计要求: 1、查阅有关参考文献,按要求写出开题报告; 2、绘制控制系统的电路原理图和控制流程图; 3、编写控制系统的控制程序; 4、翻译专业文献(不少于2000英文单词)。 5、编写设计说明书(不少于1.5万字,有英文摘要); (三)主要参考资料 1、单片机应用技术与实例,隹丙东等,电子工业出版社 20051 2、单片机应用系统设计,韩志军等,机械工业出版社 3、数字化测量技术与应用,沙占友,机械工业出版社 4、单片微型机原理
6、及应用,徐淑华等,哈尔滨工业大学出版社 5、单片微型计算机原理及应用,胡乾斌等,华中科技出版社 6、MCS-51及兼容单片机原理与选型,王晓君等,电子工业出版社 教研室负责人 黄崇林 指导教师 黄崇林 接受设计论文任务开始执行日期 2010 年 04 月 19 日 学生签名 摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
7、那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。本设计以单片机为核心部件的模拟交通灯,利用74LS244作为断码驱动器,74LS07作为位码驱动,LED七断数码管作为计时显示用,用发光二极管指示交通的通行,用按键进行紧急事件的发生,使两个方向都亮红灯,绿灯亮通行,红灯亮停止通行。本设计利用定时器进行定时,使定时器工作于方式一定时50ms,配合软件计数器,调用中断程序使定时器定时20此,达到定时1S的目的,同时调用显示程序,显示到计时的时间,用单片机Intel89S51作为核心部件,8路74ls244总线驱动器作为字形驱动芯片和6路驱动74ls07位选码作为中心器件来设计交通灯控制
8、器,实现了交通灯的控制,显示时间直接通过89S51的P0、P1口输出;交通灯信号通过P3口输出;按件通过p3口输入,本交通灯系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。关键词:单片机,交通灯,位码,段码,显示AbstractIn recent years, with the rapid development of science and technology, the application of SCM is continuously to further, traditional control test rapidly updated. In real-t
9、ime detection and automatic control of single-chip microcomputer application system, is often used as a core component, knowledge is not only the MCU, still should according to specific hardware structure, and the view of the specific application software, the object characteristics. Pedestrian cros
10、sing transports, bustling, garage, pedestrian humanitarian, orderly driveway. So what to realize it in order? By traffic lights automatic command system.This design based on singlechip lights, using the simulation component 74LS244 as break code 74LS07 drive, as a driver, seven fault code LED digita
11、l display, as the clock with light emitting diode traffic, with instructions for emergency buttons, make two direction is red light green, red light passes through, stop.This design using the timer to work on time, in certain ways timer, software 50ms counter, call to interrupt the timer, achieve ti
12、ming and 1S regularly, at the same time, show that program calls to the timing of time, Intel89S51 MCU as core components 74ls244 bus driver, 8 drive chip and six figure as a way 74ls07 driving device to choose yards as center, realize the controller design traffic lights, control of time 89S51 dire
13、ctly through the mouth, P1 P0 output, Traffic signal output by P3 mouth, According to the thing through the mouth input, mp3 traffic system is simple, practical, low cost, convenient operation and maintenance, software function, stable and reliable running etc.Keywords: SCM, traffic, a code segment
14、code, display,目录摘要IABSTRACTII第一章 单片机的发展及应用11.1单片机的发展11.2 单片机的应用2第二章 总体方案设计32.1系统框图32.2 计时控制方案32.3 显示控制方案32.4 键盘控制方案4第三章 硬件设计53.1 89S51单片机的简介53.2 89S51单片机的引脚63.3 89S51单片机复位方式73.4 74LS244的功能83.5 74LS07的功能93.6 键盘接口工作原理93.6.1 按键开关的去除抖动功能103.6.2 独立式键盘的接口电路103.7 七段LED显示工作原理113.8 电路原理13第四章 软件设计154.1 定时秒的方法
15、154.2 定时器初值计算154.3 主程序模块164.4 中断服务程序模块174.5 显示程序模块18第五章 系统调试20结 论21致谢22参考文献23专业文献译文24专业文献原文30附录A39第一章 单片机的发展及应用1.1 单片机的发展单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具有生命力的机种。单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代
16、的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。 1971年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是1位的,处理能力有限。自1976年9月Intel公司推出MCS-48单片机以来,有关公司都争相推出各自的单片机。如GI公司推出PIC1650系列单片机,Rockwell公司推出了与6502微处理器兼容的R6500系列单片机。1978年下半年Motorola公司推出M6800系列单片机,Zilog公司相继推出Z8单片机系列。1980年Intel公司在MCS-48系列基础上又推出了高性能的MCS-
17、51系列单片机。这类单片机均带有串行I/O口,定时器/计数器为16位,片内存储容量(RAM,ROM)都相应增大,并有优先级中断处理功能,单片机的功能、寻址范围都比早期的扩大了,它们是当时单片机应用的主流产品。1982年Mostek公司和Intel公司先后又推出了性能更高的16位单片机MK68200和MCS-96系列,NS公司和NEC公司也分别在原有8位单片机的基础上推出了16位单片机HPC16040和PD783系列。1987年Intel公司又宣布了性能比8096高两倍的CMOS型80C196,1988年推出带EPROM的87C196单片机。由于16位单片机推出的时间较迟、价格昂贵、开发设备有限
18、等多种原因,至今还未得到广泛应用。而8位单片机已能满足大部分应用的需要,因此,在推出16位单片机的同时,高性能的新型8位单片机也不断问世。如:Motorola公司推出了带A/D和多功能I/O的68MC11系列,Zilog公司推出了带有DMA功能的Suqer8,Intel公司在1987年也推出了带DMA和FIFO的UPI-452等。 目前国际市场上8位、16位单片机系列已有很多,但是,在国内使用较多的系列是Intel公司的产品,其中又以MCS-51系列单片机应用尤为广泛,二十几年经久不衰,而且还在更进一步发展完善,价格越来越低,性能越来越好。1.2 单片机的应用 单片机的应用很广,分别在以下领域
19、中得到了广泛的应用。工业自动化:在自动化技术中,无论是过程控制技术、数据采集技术还是测控技术,都离不开单片机。在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种机械、微电子和计算机技术为一体的综合技术(例如机器人技术、数控技术)中,单片机将发挥非常重要的作用特别是近些年来,随着计算机技术的发展,工业自动化也发展到了一个新的高度,出现了无人工厂、机器人作业、网络化工厂等,不仅将人从繁重、重复和危险的工业现场解放出来,还大大提高了生产效率,降低了生产成本。仪器仪表:目前对仪器仪表的自动化和智能化要求越来越高。在自动化测量仪器中,单片机应用十分普及。单片机的使用有助于提高仪器仪表的精
20、度和准确度,简化结构,减小体积,易于携带和使用,加速仪器仪表向数字化、智能化和多功能化方向发展。消费类电子产品:该应用主要反映在家电领域。目前家电产品的一个重要发展趋势是不断提高其智能化程度。例如,电子游戏、照相机、洗衣机、电冰箱、空调、电视机、微波炉、手机、IC卡、汽车电子设备等。在这些设备中使用了单片机后,其功能和性能大大提高,并实现了智能化、最优化控制信方面:较高档的单片机都具有通信接口,因而为单片机在通信设备中的应用创造了很好的条件。例如,在微波通信、短波通信、载波通信、光纤通信、程控交换等通信设备和仪器中都能找到单片机的应用。武器装备:在现代化的武器装备中, 如飞机、军舰、坦克、导单
21、、鱼雷制导、智能武器设备、航天飞机导航系统,都有单片机在其中发挥重要作用。终端及外部设备控制:计算机网络终端设备,如银行终端,以及计算机外部设备如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。近年来随着科技的飞速发展,同时带动自动控制系统日新月异更新,单片机的应用正在不断地走向深入。第二章 总体方案设计2.1系统框图 交通灯控制的总体设计框图如图2.1所示。 图2.1 系统框图2.2 计时控制方案利用MCS-51内部的定时器/计数器进行定时,配合软件延时实现到计时。该方案节省硬件成本,切能够使读者在定时器/计数器的使用、中断及程序设计方面得到锻炼与提高,2.3 显示
22、控制方案显示分为静态示和动态显示静态显示由于占用较多的接口,在单片机设计中常采用串行扩展来完成。该方案占用接口资源多,显示亮度由保证,但硬件开销大,电路复杂,信息刷新速度慢,实用于并行接口资源较少以及对显示没有要求的场合。LED动态显示硬件连接简单,但动态扫描的显示方式需占用CPU较多的时间,在该系统中由于单片机除了扫描89S51芯片外没有太多的实时测控任务,故选用动态扫描方式。 2.4 键盘控制方案键盘分为独立式键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构简单,工作可靠但每个按键必须占用一跟I/O接口线,I/O接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信
23、息,可将按键直接在一根I/O接口线上,故只在按键数量不多时采用。而行列式键盘每条行线与列线在交叉处不直接相通,而是通过一个按键加以连接,当按键较多时可采用行列式键盘以节省I/O接口。本设计采用两个按键,所以这里选用独立式键盘。第三章 硬件设计3.1 89S51单片机的简介 89S51是MCS-51系列单片机的典型产品,我们就这一代表性的机型进行系统的讲解。89S51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:图3.1 单片机内部结构示意图1、中央处理器中央处
24、理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2、数据存储器(RAM)89S51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。3、程序存储器(ROM)89S51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。4、定时/计数器:89S51有两个16
25、位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5、并行输入输出(I/O)口:89S51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。6、中断系统89S51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。3.2 89S51单片机的引脚89S51单片机内部总线是单总线结构,即数据总线和地址总线是公用的. 89S51有40条引脚, 与其他51系列单片机引脚是兼容的. 这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分. 89S51单片机为双列直插式封装结构, 如图3.2
26、所示.图3.2 89S51引脚分配图 89S51单机的电源线有以下两种:(1) VCC:+5V电源线。电源线 (2) GND:接地线。89S51单片机的外接晶体引脚有以下两种: (1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2) XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。 控制线 89S51单片机的控制线有以下几种:(1) RST:复位输入端,高电平有效。(2) ALE/PROG:地址锁存允许/编程线。(3) PSEN:外部程序存储器的
27、读选通线。(4) EA/Vpp:片外ROM允许访问端/编程电源端。 3.3 89S51单片机复位方式单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位. 复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作.89S51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个机器周期,单片机即复位. 复位后,PC程序计数器的内容为0000H,片内RAM中内容不变. 复位电路一般有上电复位、手动开关复位和自动复位电路3种,如图3.3所示. a
28、.上电复位电路 b. 手动复位电路 c. 自动复位电路图3.3 单片机复位电路3.4 74LS244的功能74LS244是原码三态输出的8缓冲数码驱动器,其管脚分布图如图3.4所示,G为控制端,又称为使能端其工作原理如下: 当G=0时,A输入为低电平时,Y输出也为低电平。当G=0时,A输入为高电平时, Y输出为高电平。当G=1时,A不论输入高电平还是低电平Y为高阻状态功能表如表3.1所示:表3.1 74LS244的功能表 图3.4 74LS244管脚图3.5 74LS07的功能74LS07是六缓冲的数码驱动器,它是有6个集电极开路的非门所组成,管脚分布如图3.5所示,其工作原理如下,当使能端为
29、低电平时,输入为高电平时输出也为高电平,当输入为低电平时输出也为低电平,其逻辑表达式为:Y=A 图3.5 74LS07管脚图3.6 键盘接口工作原理在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。3.6.1 按键开关的去除抖动功能目前,MCS51单片机应用系统上的按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图3.6所示.可以看出机械触点在闭合及断开瞬间均有抖动过程,时间长短与开关的机械特性有关,一般为510ms。由于抖动,会造成被查询的开关状态无法准确读出。例如,一次按键产生的正确开关状态,由于键的抖动,CPU多次采
30、集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。为了保证CPU对键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的前沿(后沿)抖动影响。 图3.6 按键过程3.6.2 独立式键盘的接口电路独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。如图3.7所示,每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。故只在按
31、键数量不多时采用这种按键电路。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O接口线有确定的高电平。当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。图3.7 独立式键盘电路3.7 七段LED显示工作原理LED显示器是由发光二极管显示字段的MCS-51单片机输出设备。单片机应用系统常采用七段LED数码管作为显示器,这重显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。因此应用比较广泛。LED数码管显示器可以分为共阴极和共阳极两种结构。(1)共阴极结构:如果所有的发光二极管的阴极接在一起,称为共阴极结构,则数码显示段输入高电平有效,当某段
32、输入高电平该段便发光,如图3.8a所示。(2)共阳极结构:如果所有的发光二极管的阳极接在一起,称为共阳极结构,则数码显示段输入低平有效,当某段输入低电平该段便发光,如图3.8b所示。 a .共阴极 b .共阳极图3.8 七段LED显示器 (3)LED动态显示接口:LED动态显示就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。对每位数码管来说,每隔一段时间点亮一次,如此循环。利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人以同时显示的感觉。在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。在段选码和位选
33、码每送出一次后,应保持1ms左右,这个时间应根据实际情况而定。不能太小,因而发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。但也不能太大,因为毕竟要受限于临界闪烁频率,而且此时间越长,占用CPU时间也越多。采用动态显示方式比较节省I/O接口,硬件电路也较静态显示方式简单,但其亮度不如静态显示方式,而且在显示位数较多时,CPU要依次扫描,占用CPU较多的时间。用MCS-51单片机构建七段数码管动态显示系统时,4位数码管均采用共阴极LED,p0接口作为段选码输出口,8路驱动采用74LS244总线驱动器作为字形驱动芯片,经过8路驱动电路后接至数码管的各段,字形驱动输出0时发光
34、。P2接口作为位选码输出口,4路驱动采用74LS07(OC门驱动器),当C接口线输出1时,选通相应位的数码管工作。3.8 电路原理电路的核心是89S51单片机,其内部带有4KB的FlashROM,无须扩展程序存储器;电脑没有大量的运算和暂存数据,现有的128B片内RAM已能满足要求,也不必扩展片外RAM,系统配备4位LED显示和2个单接口键盘,采用P0接口外接8路反相三态缓冲器74LS244作LED动态扫描的段码控制驱动信号,用P1接口的P1.0-P1.3外接一片集电极开路反相门电路74LS07做为4位LED的位选信号驱动口, LED共阴极端与74LS07的输出端相连;按键接口,由P2.0,P
35、2.1来完成。P3口接交通指示灯,整个系统采用查表的方发,将交通灯的显示情况和数码管的计时情况,分别以代码的形式送到指示灯和LED数码管,启动定时器,同时调用显示程序,和查询按键。利用软件计数器的方法计时一秒,利用中断的方法使计时时间循环,当按下应急按键时停止定时器,送一个代码使两个方向都亮红灯,按下一个按键时启动定时器,恢复循环。如图3.9所示图3.9 电路原理图第四章 软件设计4.1 定时秒的方法定时方法我们采用软硬件结合的方法,在主程序中设定一个初值为20的软件计数器使定时器0工作于方式1定时50毫秒,这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服
36、务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到。4.2 定时器初值计算定时器工作时必须给计数器送初值,将这个值送到TH和TL中。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此工作于方式1,定时器为16位计数器其定时时间由下式计算:定时时间=(216X)振荡周期12(或)X=216定时时间振荡周期12式中x为T0的初始值,该值和计数器工作方式有关。如单片机的主脉冲频率为,经过分频方式0定时时间213 1微秒8.192毫秒方式1定时时间216 1微秒65.536毫秒秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题
37、,定时器需定时50毫秒,故0工作于方式1,定时20次,就可定时一秒。 4.3 主程序模块主程序初始化和按键控制,首先将时间、中断、次数、和显示分别进行初始化,然后启动定时器对时间进行判断,将时间送数据缓冲区,调用显示程序,同时扫描按键程序,用无条件跳转指令返回, 再调用显示程序,如此周而复始的循环,如图4.1所示图4.1 主程序流程图主程序:初值:X=216定时时间振荡周期1221650ms/1us=15536=3CB0H,TH0=3CH , TL0=0B0H。 ORG 0000H AJMP START ORG 0030HSTART: MOV TMOD, #01H; 令0为定时器方式 MOV
38、TH0, #3CH ;装入定时器初值 MOV TL0, #0B0H SETB EA ;开0中断SETB TF0 SEBT T0 ;启动0计数器 MOV R0, #20H ;软件计数器赋初值 LJMP $ ;等待中断4.4 中断服务程序模块进入中断程序后,先保护现场,判断一秒钟到了吗?如果没有到将定时器重装初值恢复现场,返回主程序,如果一秒钟到了,将软件计数器重初值;判断指示灯循环显示完了吗?如果没完,将保地址重新送入程序计数器中,然后再查表下一地址,显示下一组指示灯状态和显示时间,保存下一组程序数据地址,将定时器重装初值,恢复现场,返回主程序,如果完了,查表首地址,查时间地址,保存下一地址,将
39、定时器重装初值,恢复现场,返回主程序。同时一秒到了应先判断个位是否为0,如果个位是0,判断十位是不是0,如果十位也是0,判断交通灯是否安黄、绿、红的顺序循环完必,如果没循环完应查下一组数据继续循环,如果循环完必,应查表首地址,周而复始的循环,如果十位不是0,应将十位先减1,个位送9,然后返回,再进行中断定时一秒,然后再判断,如果个位不是0,应将个位减1,将定时器重装初值,恢复现场。重新周而复始的循环,如图4.2所示。图4.2 中断程序流程图4.5 显示程序模块显示程序采用动态显示,由位码控制那一个数码管显示,由段码控制数码管显示什么数值,根据中断程序显示时间来查表显示数值,从第一位到第四位逐个
40、点亮,同时每显示一位判断一次四位显示完了吗?没有显示完进行显示下一位,显示完了从头开始再循环。如图4.3所示 图4.3 显示程序流程图 DESPLAY: MOV R2 , #01H ;将位码送R2MOV R0 , #30 ;将段码送R0NEXT3: MOV A , R0 MOV DPTR , #TAB2MOVC A , A+DPTRMOV P0 , A ;将段码送R0MOV P1 , R2 ;将位码送R2LCALL DELAY1 ;调用延时程序MOV A , R2JB ACC.3 , U2 ;显示完转U2RL A ;未显示完,将未码左移MOV R2 , A ;将位码重送、R2中INC R0 ;
41、指向31HLJMP NEXT3 U2: RET ;显示返回第五章 系统调试完成了硬件的设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。系统调试包括硬件调试和软件调试两个部分。不过,作为一个单片机系统,其运行是软硬件相结合的,因此,软硬件的调试也是绝对不可能分开的。 程序的调式应一个模块一个模块地进行,单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各个子程序连接起来总调。联调需要注意的是,各程序模块间能否正确传递参数,特别要注意各子程序的现场保护与恢复。调试的基本步骤如下: 将所要调试的程序输入道伟福6000中,然后进行编译,根据系统的提示查找原因将出错的地方调整正确,例如:有的时标号未定义,有的时少标点符号等。最后以ASM扩展名保存。将在伟福中调试好的程序方入keil内,将单片机实验相与计算机连接,然后在keil中进行编译程序,运行程序,根据单片机所显示的结果分析程序,修改程序直到程序正常。在调试过程中出现的问题:(1)指示灯显示不正常,经分析原因在与灯的表格列的不对,指示灯输出低电瓶时亮,结果程序中都是以高电瓶输出,经修改后正常(2)数码管从15到计时,当减到11时直接变成了9,而没有经过10,经过对整个程序的分