交通信号灯课程教学设计.doc
. 交通信号灯控制系统的设计交通信号灯控制系统的设计 . 摘摘 要要 摘要:交通信号灯是城市交通有序、安全、快速运行的重要保障,而保障交通 信号灯正常工作就成了保障交通有序、安全、快速运行的关键。为此,设计交 通灯控制电路,配以七段共阴极数码管显示时间的显示模块,交通灯显示模块, 调时模块,实现根据实际车流量通过设置红、绿灯燃亮时间以及双位数码管显 示倒计时,三种颜色灯交替点亮以及紧急情况下的中断处理功能。本系统性价 比高,实用性强,操作简单,功能全面。 关键词:计数器;交通灯;控制电路 Abstract Traffic lights in urban traffic in an orderly, safe and an important guarantee for fast running, and the protection of traffic lights to protect the normal work . of the traffic has become orderly, safe, fast running key. To this end, the use of single-chip device designed as the central traffic light control circuit, with a total of cathode seventh time the digital display module, the traffic light display module, transfer module, crystal oscillator circuit, reset circuit and chip set red, green and double-time to kindle a digital countdown display, The turn of the three colors of lights and emergency lighting in case of interruption of processing. The system cost-effective, practical, simple, full-featured. Key words: counter;traffic light;control circuit 目录目录 摘摘 要要-1-1 ABSTRACT-2ABSTRACT-2 第第 1 1 章章 交通信号灯的设计目的以及要求交通信号灯的设计目的以及要求-4 4 第第 2 2 章章 设计原理分析-6 6 第第 3 3 章章 主控制器主控制器-9 9 . 第第 4 4 章章 计数器计数器-2 24 4 4.1 计数器的作用-24 4.2 计数器的工作情况-27 4.3 控制信号灯的译码电路的真值表 - 4.4 置数电路 - 4.5 状态译码电路 - 第第 5 5 章译码显示电路章译码显示电路-3-31 1 5.1 共阴极共阴极共阴极 LED 七段数码管-31 5.2 CD4511 译码器-31 第 6 章 555 振荡器构成的秒脉冲电路-33 6.1 555 定时器的引脚 - 6.2 555 定时器构成的多谐振荡器 - 6.3 555 定时器工作原理 - 第七章 程序设计-34 第八章 组装和调试过程-36 第九章 总结- 参考文献参考文献-3636 附录附录 1 1 程序程序-3737 附录 2 交通灯信号灯控制总体框图- 第一章、交通信号灯的设计目的以及要求第一章、交通信号灯的设计目的以及要求 十字路口的红绿灯指挥着行人和各种车辆的安全运行。实现红绿灯的自动 指挥是城市交通自动化的重要课题。本课题利用数字路的基本知识和设计方法, 设计一个简单的交通灯控制系统要求。 1.掌握系统设计的一般步骤和方法,掌握一个大的系统中各子系统之间的 相互作 用和相互制约关系; 2.运用数字电路理论知识自行设计并实现一个较为完整的小型数字系统。 . 通过系统设计、电路安排与调试、写设计论文等环节,初步掌握工程设计的具 体步骤和方法,提高分析问题和解决问题的能力,提高实际应用水平; 3.学会用中规模器件设计一个符合要求的系统,并熟悉常用中规模器件的 用法。 4.学会按照电路图在面包板上合理布局使各器件在系统中的连线更简单, 清晰; 5.掌握连接实物图的一般步骤和方法,学会系统安装与调试的一般步骤和 方法。 6.在实践中运用理论知识,培养实际动手能力; 7.主干道的通行时间长于支干道的通行时间; 8.每次由绿灯变为红灯或由红灯变为绿灯的前 5 秒四个路口要亮黄灯以提 示过往车辆及行人注意路灯变化,安全通行; 9.设计正计时 30s、20s 计时数码实现电路,要求每秒钟改变一次数字; 第二章、设计原理分析第二章、设计原理分析 . 人行道 人行道 人行道 人行道 1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以, 为东南西北走向。初始状态 0 为东西南北都红灯亮。然后转状态 1 东西绿灯通 车,南北红灯亮。过一段时间后,转状态 2,东西绿灯灭,黄灯闪几下,南北 还是红灯。再转状态 3,南北绿灯通车,东西红灯亮。过一段时间后转状态 4,南北绿灯灭,闪几个黄灯,东西还是为红灯亮,一段时间后,又循环至状 态 1。 列出交通信号灯的状态表如下:(其中,1 代表灯亮,0 代表灯灭) 北西南东状态 绿 黄 红绿 黄 红绿 黄 红绿 黄 红 0001001001001 1001100001100 2001010001010 3100001100001 4010001010001 2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的 . 两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片 机内部的 I/O 口上的 P1 口中的 6 个引脚即可来控制 6 个信号灯。 3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。 每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。 4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒 计时间的显示功能,实现其功能的扩展。 . 第三章、主控制器第三章、主控制器 3.1 74LS90 引脚排列图与逻辑图引脚排列图与逻辑图 十字路口车辆运行情况只有 4 种可能,实现这 4 个状态的电路,可用两个 触发器构成,也可用一个二-十进制计数器或二进制计数器构成。我采用二-十 进制计数器 74LS90 实现。 采用反馈归零法构成 4 进制计数器,即可从输出端 QBQA得到所要求的 4 个 状态。图 4-1 74LS90 管脚排列图,逻辑图如图所示。为以后叙述方便,设 X1=QB,X0=QA。 74LS90 计数器是一种中规模二一五进制计数器,管脚引线如图 3.6-1,功能表 如表 3.6-1 所示。 表 3.6-1 7490 功能表 复位输入输出 R1 R2 S1 S2 QD QC QB QA H H L H H L H H L L L L L L L L H L L H 计 数 计 数 . X L L L L L L L L 计 数 计 数 A 将输出 QA与输入 B 相接,构成 8421BCD 码计数器; B 将输出 QD与输入 A 相接,构成 5421BCD 码计数器; C 表中 H 为高电平、L 为低电平、为不定状态。 74LS90 逻辑电路图如图 3.6-1 所示,它由四个主从 JK 触发器和一些附加 门电路组成,整个电路可分两部分,其中 FA触发器构成一位二进制计数器;FD 、FC、FB构成异步五进制计数器,在 74LS90 计数器电路中,设有专用置“0” 端 R1、R2和置位(置“9”)端 S1、S2。 74LS90 具有如下的五种基本工作方式: (1)五分频:即由 FD、FC、和 FB组成的异步五进制计数器工作方式。 (2)十分频(8421 码):将 QA与 CK2联接,可构成 8421 码十分频电路。 . (3)六分频:在十分频(8421 码)的基础上,将 QB端接 R1,QC端接 R2。 其计数顺序为 000101,当第六个脉冲作用后,出现状态 QCQBQA=110,利用 QB QC=11 反馈到 R1和 R2的方式使电路置“0”。 (4) 九分频:QAR1、QDR2,构成原理同六分频。 (5)十分频(5421 码):将五进制计数器的输出端 QD接二进制计数器的 脉冲输入端 CK1,即可构成 5421 码十分频工作方式。 此外,据功能表可知,构成上述五种工作方式时,S1、S2端最少应有一端 接地;构成五分频和十分频时,R1、R2端亦必须有一端接地。 . 第四章、计数器第四章、计数器 4.1 计数器的作用计数器的作用 计数器的作用有二:一是根据主干道和支干道车辆运行时间以及黄灯切换 时间的要求,进行 30s、20s、5s 3 种方式的计数;二是向主控制器发出状态 转换信号,主控制器根据状态转换信号进行状态转换。 4.2 计数器的工作情况计数器的工作情况 计数器除需要秒脉冲作时钟信号外,还应受主控制器的状态控制。计数器 的工作情况为:计数器在主控制器进入状态 S0 时开始 60s 计数;30s 后产生归 零脉冲,并向主控制器发出状态转换信号,使计数器归零,主控制器进入状态 S1,计数器开始 5s 计数;5s 后又产生归零脉冲,并向主控制器发出状态转换 信号,使计数器归零,主控制器进入状态 S2,计数器开始 20s 计数;20s 后也 产生归零脉冲,并向主控制器发出状态转换信号,使计数器归零,主控制器进 入状态 S3,计数器又开始 5s 计数;5s 后同样产生归零脉冲,并向主控制器发 出状态转换信号,使计数器归零,主控制器回到状态 S0,开始新一轮循环。 根据以上分析,设 30s、20s、5s 计数的归零信号分别为 A、B、C,则计数 器的归零信号 L 为: L=A+B+C 其中: A=S0 QC2= QC2 B=S2 QB2 QA2= QB2 QA2 C=S1 QB1 QA1+S3 QB1QA1= X0 QB1 QA1 . 考虑到主控制器的状态转换为下降沿触发,将 L 取反后送到主控制器的 CP 端作为主控制器的状态转换信号。可选用集成异步十进制加法记数器(74LS90)。 图为计数器。 图计数器(利用 74LS90 正计数功能) 4.3 控制信号灯的译码电路的真值表控制信号灯的译码电路的真值表 主控制器的 4 种状态分别要控制主、支干道红、黄、绿灯的亮与灭。设灯 亮为 1,灯灭为 0,则控制信号灯的译码电路的真值表。 表控制信号灯的译码电路的真值表 主控制器状态主干道支干道 X1 X0 红灯 R 黄灯 Y 绿 灯 G 红灯 r 黄灯 y 绿 灯 g . S0 0 0 S1 0 1 S2 1 0 S3 1 1 001 010 100 100 100 100 001 010 4.4 置数电路置数电路 由真值表可分别写出各灯的逻辑表达式: R=S2+S3=X1X0+X1X0=X1 Y=S1=X1X0 G=S0=X1X0 r=S0+S1=X1X0+X1X0=X1 y=S3=X1X0 g=S2=X1X0 根据功能要求采用以下逻辑门电路构成: 门电路是数字逻辑电路的基本组成单元,门电路按逻辑功能可分为:与门、 或门、非门以及与非门、或非门、异或门、同或门、与或非门。若按电路结构 组成的不同,可分为立元件门电路、CMOS 集成门电路、TTL 集成门电路等。各 种集成门电路通常都封装在集成芯片内。此次设计采用的集成电路有 74LS04、74LS00、74LS20、74LS10 引脚排列图如下图所示 这些集成电路的封 . 装形式均为双列直插式。为双列直插式集成电路的右下方通常是地线 GND,左 上方引脚一般是电源线 VCC,其它引脚的用途如图中符号所示,每个集成电路 都有自己的代号,与代号对应的名称形象地说明了集成电路的用途。如 74LS00 是二输入端四与非门,它说明这个集成电路中包含四个二输入端的与非门。 74LS04、74LS00、74LS20 引脚图如下图所示: 1 2 3 4 5 6 7 891011121314 74ls04 vcc GND 图 74LS04 六非门内部结构引脚图 1 2 3 4 5 6 7 891011121314 74ls00 vcc GND 图 74LS00 四入与非门内部结构引脚图 . 1234567 891011121314 74ls20 vcc GND 2D 2C NC2B 2A 2Y 1A 1B NC1C 1D 1Y 图 7420 四输出与非门内部结构引脚图 图 74LS10 三输出与非门内部结构引脚图 4.5 状态译码电路状态译码电路 根据灯控函数逻辑表达式,可画出由与门和非门组成的状态译码器电路,如 图所示。将状态控制器,状态译码器以及模拟三色信号灯相连接,构成三色信 号灯逻辑控制电路,如图所示。 . 图 态译码电路 . 第五章第五章.译码显示电路译码显示电路 译码显示电路主要是由共阴极共阴极共阴极 LED 七段数码管,CD4511 译码器组成。 5.15.15.1 共阴极共阴极共阴极共阴极 LED 七段数码管七段数码管 数码管分为共阳极结构和共阴极结构。若显示器共阳极连接,则对应阳极 接高电平的字段发光;而显示器共阴极连接,则接低电平的字段发光。 此次设计采用的是共阴极连接如图 图 共阴极数码管引脚图 5.2 CD4511 译码器译码器 图 CD4511 管脚功能排列图 . 1.以下介绍各引脚的功能: 其功能介绍如下: BI:4 脚是消隐输入控制端,当 BI=0 时,不管其它输入端状态如 何,七段数码管均处于熄灭(消隐)状态,不显示数字。 LT:3 脚是测试输入端,当 BI=1,LT=0 时,译码输出全为 1,不 管输入 DCBA 状态如何,七段均发亮,显示“8”。它主要用来检测数码管是否 损坏。 LE:锁定控制端,当 LE=0 时,允许译码输出。 LE=1 时译码器 是锁定保持状态,译码器输出被保持在 LE=0 时的数值。 A1、A2、A3、A4、为 8421BCD 码输入端。 a、b、c、d、e、f、g:为译码输出端,输出为高电平 1 有效。 2.数码连接译码电路。 CD4511 是一种 BCD 码输入端,其中 D 是高电位;a、b、c、d、e、f、g 是输 出端,输出高电平有效,和共阴极半导体发光数码管各发光段的阳极引出线相 互连接,下面是七段数码显示器管脚接法,CD4511 和数码管的管脚排列图: 图 段数码显示器管脚接法 . 图 数码管连接电路图 3. 真值表 共阳极数码管的数字显示真值表如下表所示 表 七段显示译码电路真值表 . 第六章第六章.555 振荡器构成的秒脉冲电路振荡器构成的秒脉冲电路 555 定时器是种中规模集成电路,只要外部配上适当阻容元件,就构成 脉冲产生和整形电路。 6.1 555 定时器的引脚定时器的引脚 NE555引脚图及引脚图及 ne555的作用介绍的作用介绍 ne555是一种应用特别广泛作用很大的的集成电路,属于小规模集成 电路,在很多电子产品中都有应用。ne555的作用是用内部的定时器 来构成时基电路,给其他的电路提供时序脉冲。ne555时基电路有两 种封装形式有,一是 dip 双列直插8脚封装,另一种是 sop-8小型 (smd)封装形式。其他 ha17555、lm555、ca555分属不同的公 司生产的产品。内部结构和工作原理都相同。 ne555的内部结构可等效成23个晶体三极管.17个电阻.两个二极管. 组成了比较器.RS 触发器.等多组单元电路.特别是由三只精度较高5k 电阻构成了一个电阻分压器.为上.下比较器提供基准电压.所以称之为 555. ne555属于 cmos 工艺制造. NE555引脚图介绍如下 1地 GND 2触发 3输出 4复位 . 5控制电压 6门限(阈值) 7放电 8电源电压 Vcc 应用十分广泛. 下面是一个简单的 ne555电路应用 NE555 (Timer IC)大约在1971由 Signetics Corporation 发布,在当时是 唯一非常快速且商业化的 Timer IC,在往后的30非常普遍被使用,且延伸 出许多的应用电,尽管近CMOS 技术版本的 Timer IC 如 MOTOROLA 的 MC1455已被大的使用,但原规格的 NE555依然正常的在市场上供应,尽 . 管新版 IC 在功能上有部份的改善,但其脚位劲能并没变化,所以到目前可 直接的代用。 NE555是属于555系列的计时 IC 的其中的一种型号,555系列 IC 的接脚功 能及运用都是相容的,只是型号不同的因其价格不同其稳定度、省电、可产生 的振荡频率也不大相同;而555是一个用途很广且相当普遍的计时 IC,只需少 数的电阻和电容,便可产生数位电路所需的各种不同频率之脉冲信号。 a. NE555的特点有: 1.只需简单的电阻器、电容器,即可完成特定的振荡延时作用。其延时范围极 广,可由几微秒至几小时之久。 2.它的操作电源电压范围极大,可与 TTL,CMOS 等逻辑电路配合,也就是它 的输出准位及输入触发准位,均能与这些逻辑系列的高、低态组合。 3.其输出端的供给电流大,可直接推动多种自动控制的负载。 4.它的计时精确度高、温度稳定度佳,且价格便宜。 5.静态电流 最大值 VCC = 5 V, RL = =6mA VCC =15 V, RL = =15mA b. NE555引脚图功能配置说明下: 图1-2 NE555各脚功能-管脚图 Pin 1 (接地) -地线(或共同接地) ,通常被连接到电路共同接地。 . Pin 2 (触发点) -这个脚位是触发 NE555使其启动它的时间周期。触发信号上缘 电压须大于2/3 VCC,下缘须低于1/3 VCC 。 Pin 3 (输出) -当时间周期开始555的输出输出脚位,移至比电源电压少1.7伏的高 电位。周期的结束输出回到 O 伏左右的低电位。于高电位时的最大输出电流大 约200 mA 。 Pin 4 (重置) -一个低逻辑电位送至这个脚位时会重置定时器和使输出回到一个 低电位。它通常被接到正电源或忽略不用。 Pin 5 (控制) -这个接脚准许由外部电压改变触发和闸限电压。当计时器经营在 稳定或振荡的运作方式下,这输入能用来改变或调整输出频率。 Pin 6 (重置锁定) - Pin 6重置锁定并使输出呈低态。当这个接脚的电压从1/3 VCC 电压以下移至2/3 VCC 以上时启动这个动作。 Pin 7 (放电) -这个接脚和主要的输出接脚有相同的电流输出能力,当输出为 ON 时为 LOW,对地为低阻抗,当输出为 OFF 时为 HIGH,对地为高阻抗。 Pin 8 (V +) -这是555个计时器 IC 的正电源电压端。供应电压的范围是+4.5伏特 (最小值)至+16伏特(最大值)。 NE555 时基电路封形式有两种,一是 DIP 双列直插 8 脚封装,另一种是 SOP-8 小型(SMD)封装形式。其他 HA17555、LM555、CA555 分属不同的公司生 产的产品。内部结构和工作原理都相同。NE555 属于 CMOS 工艺制造,下面我们 将对其进行介绍。 图 1 是 NE555 的外形封装图,图 2 是它的内部功能原理框图,图 3 是它 的内部等效电路。NE555 的内部中心电路是三极管 Q15 和 Q17 加正反馈组成的 RS 触发器。输入控制端有直接复位 Reset 端,通过比较器 A1,复位控制端的 . TH、比较器 A2 置位控制的 T。输出端为 F,另外还有集电极开路的放电管 DIS。它们控制的优先权是 R、T、TH。 . 由 NE555 制逻辑笔 电路工作原理分析 由 555 电路组成的声光逻辑笔由测试结果指示电路和 测试探头与逻辑控制电路组成。电路中, NE555 与 R4 、R5 及 C 组成一个 多谐振荡器,振荡频率约 1kHz 。由多谐振荡器输出的脉冲信号通过压电蜂鸣 器 HTD 发出声响,由 LED 发出闪光信号,用来指示检测结果。晶体管 VT 与 VD1 、VD2 及电阻分压器 R2 、R3 等组成逻辑控制电路,它与探头相配 合,将测试信号加至多谐振荡器的控制端。如果探头置于悬空状态,即不与任 何测试点接触,这时因 VT 的基极无偏压而截止。NE555 的脚因 R2 与 R3 的分压而使其处于接近电源电压的高电平状态。与此同时, NE555 的脚也 处于悬空状态,多谐振荡器停止振荡。 当探头与低电平测试点接触时,测试电路所处的状态与探头悬空时的状态 完全相同,多谐振荡器不振荡,指示电路无声无光。 当探头与高电平的测试点接触时,被测试点的高电平经 R1 及 VD1 , VD2 加至 VT 的基极, VT 导通。当 VT 导通后,由 R2 , R3 组成的分压电路 将电源电压分压后加至脚,使 NE555 内的分压电路得到合适的比较电压。 与此同时,探头测得的高电平被加至 NE555 的脚,使 NE555 的复位状态 . 被解除,多谐振荡器振荡,输出的脉冲信号通过 HTD 发出声响,通过 LED 发出闪光。 6.2 555 定时器构成的多谐振荡器 多谐振荡器产生矩形波的自激振荡电路,由于矩形波包含和高次谐波 成分,因此称为多谐振荡器。如图 7-3 555 定时器图 7-4 波形图采用 555 设计 . 的多谐振荡器及其工作波形,其振荡频率与实际的数字钟频率略有出入,但可 以通过校时装置校时。多谐振荡器也称无稳态触发器,它没有稳定状态,同时 毋须外加发脉冲,就能输出一定频率的矩形脉冲(自激振荡) 。用 555 实现多 谐振需要外接电阻 R1,R2 和电容 C,并外接+3V 的直流电源。只需在+VCC端接 上+3V 的电源,就能在 3 脚产生周期性的方波。 图 本次设计的秒脉冲电路图 6.3 555 定时器工作原理定时器工作原理 555 定时器是一种功能强大的模拟数字混合集成电路,其组成电路框图如 图 22.32 所示。它的功能表见表 22.1。555 定时器有二个比较器 A1 和 A2,有 一个 RS 触发器,R 和 S 高电平有效。三极管 VT1 对清零起跟随作用,起缓冲 作用。三极管 VT2 是放电管,将对外电路的元件提供放电通路。比较器的输入 端有一个由三个 5kW 电阻组成的分压器,由此可以获得 和 两个分压值, 一般称为阈值。555 定时器的 1 脚是接地端 GND,2 脚是低触发端 TL,3 脚 是输出端 OUT,4 脚是清除端 Rd,5 脚是电压控制端 CV,6 脚是高触发端 . TH,7 脚是放电端 DIS,8 脚是电源端 VCC。555 定时器的输出端电流可以达 到 200mA,因此可以直接驱动与这个电流数值相当的负载,如继电器、扬声器、 发光二极管等。 当 TH 高触发端 6 脚加入的电平大于 ,TL 低触发端 2 脚的电平大于 时,比较器 A1 输出高电平,比较器 A2 输出低电平,触发器置“0”,放电管饱 和,7 脚为低电平。 当 TH 高触发端加入的电平小于 ,TL 低触发端的电平大于 时, 比较器 A1 输出低电平,比较器 A2 输出低电平,触发器状态不变,仍维持前 一行的电路状态,输出低电平,放电管饱和,7 脚为低电平。 当 TH 高触发端 6 脚加入的电平小于 ,TL 低触发端的电平小于 时, 比较器 A1 输出低电平,比较器 A2 输出高电平,触发器置“1”,输出高电平, 放电管截止,7 脚为高电平。因 7 脚为集电极开路输出,所以工作时应有外接 上拉电阻,故 7 脚为高电平。 当从功能表的最后一行向倒数第二行变化时,电路的输出将保持最后 一行的状态,即输出为高电平,7 脚高电平。只有高触发端和低触发端的电平 变化到倒数第三行的情况时,电路输出的状态才发生变化,即输出为低电平, 7 脚为低电平。 第七章、程序设计第七章、程序设计 . 程序流程图:程序流程图: 主程序主程序: . . 第八章第八章.组装和调试过程组装和调试过程 在电路板上按整机框图把主控制器、计数器、信号灯译码器、数子显示译 码器和秒脉冲信号发生器焊接好然后按以下步骤进行调试: 1秒脉冲信号发生器的调试,按照数字电子钟的方法逐级调试振荡电路 和分频电路,使输出设计符合设计要求。 2将秒脉冲信号送入主控制器的 CP 端,观察主控制器的状态是否是按 00、01、10、11、00的规律变化。 3将秒脉冲信号送入计数器的 CP 端,接入主控制器的状态信号 X0、X1, 并把主控制器的状态信号送入主控制器的 CP 端,观察计说器是否按 30 秒、5 秒、20 秒、5 秒、30 秒循环计数。 4把主控制器的状态转换信号 X1、X0 接至信号灯的译码电路,观察 6 个 发光二极管是否按设计要求发光。 5整机联调,使交通信号灯控制电路正常工作。 以上是本次设计的全过程,由以上分析知此设计所需材料有:3 片 74LS90、2 片 CD4511 和 2 个共阴数码管、1 个 555 定时器、3 片 74LS04、1 片 74LS20、1 片 74LS00、1 片 74LS10、14 个 470 ohm 电阻、2 个 4.7k 电阻、6 个 390 ohm 电阻、1 个 100UF 电容、1 个 0.01UF 电容和导线若干。 . 第九章.总 结 通过单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地 应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地 战胜自己,超越自己。创新,是要我们学会将理论很好地联系实际,并不断地 去开动自己的大脑,从为人类造福的意愿出发,做自己力所能及的,别人却没 想到的事。使之不断地战胜别人,超越前人。同时,更重要的是,我在这一设 计过程中,学会了坚持不懈,不轻易言弃。设计过程,也好比是我们人类成长 的历程,常有一些不如意,也许这就是在对我们提出了挑战,勇敢过,也战胜 了,胜利的钟声也就一定会为我们而敲响。这个设计过程中,我遇到过许多次 失败的考验,就比如,自己对实际生活中的交通秩序的不了解给整个设计带来 的困扰,真想要就此罢休,然而,就在想要放弃的那一刻,我明白了,原来结 果并不那么重要,我们更应该注重的是这一整个过程。于是,我坚持了下来。 当然最终,这个设计很成功,主要体现在,这一整个系统,几乎没有参考任何 书,程序由自己独立完成,与用 8255 来制作的交通灯控制系统相比,程序简 单易读,结构清楚,最重要的是成本低。在设计一个系统,除了达到所要求的 性能指标以外,成本也是很重要的一个指标, 成本的高低也决定了产品的适用 性。 参 考 文 献 1. 童诗白、华成英 模拟电子技术基础(第四版) 2. 阎石 数字电子技术基础(第五版) 单片机原理与应用主编:张鑫等 电子工业出版社 微机原理、汇编与接口技术 (朱定华,清华大学出版社,2005) 微型计算机系统原理及应用 (杨素行,清华大学出版社,1995.10) 微型计算机原理及运用 (谭浩强 清华大学出版社 2006) (1).李珍香,刘红梅,赵润林。汇编语言课程设计案例精编。北京:中国水利水电出版社,2004.3 (2).卜艳萍,周伟。汇编语言程序设计教程。北京:清华大学出版社,2007 (3).沈美明,温冬婵。IBM PC 汇编语言程序设计。北京:清华大学出版社,2001 (4).秦莲。汇编语言程序设计实训教程。北京:清华大学出版社,2005 (5). 王爽。汇编语言。北京:清华大学出版社。2008 . 附录附录 1 1 程序清单:程序清单: ;主程序: ORG 0000H AJMP MAIN ORG 0030H MAIN: MOV SP,#60H MOV SCON,#00H ;设置串行口工作方式为方式 0 CLR TI CLR RI MOV A,#09H ;置初态,东南西北都为红灯亮 MOV P1,A MOV R2,#4 LCALL DELAY ; 调用 4 次 1 秒的延时子程序 H1:MOV A,#0CH ;东西绿灯亮,南北红灯亮 MOV P1,A MOV R2,#10 LCALL DELAY ;调用 10 次 1 秒的延时子程序 MOV R7,#03H ;黄灯闪烁次数为 3 次 H2:MOV A,#0AH ;东西黄灯闪,南北红灯亮 MOV P1,A . MOV R2,#1 LCALL DELAY ;每 1 秒闪烁一次 MOV A,#18H ;南北红灯亮,南北黄灯也闪 MOV P1,A MOV R2,#1 LCALL DELAY ;调用 1 秒的延时子程序 DJNZ R7,H2 ;判断闪烁次数是否达到 MOV A,#21H ;东西红灯亮,南北绿灯亮 MOV P1,A MOV R2,#10 ; LCALL DELAY ;延时 10 秒 MOV R7,#03H H3:MOV A,#11H ;东西红灯亮,南北黄灯闪 MOV P1,A MOV R2,#1 LCALL DELAY MOV A,#03H ;东西红灯亮,东西黄灯闪 MOV P1,A MOV R2,#1 LCALL DELAY DJNZ R7,H3 ;判断黄灯闪的次数是否达到 LJMP H1 ;循环 ;1 秒的延时子程序: . DELAY: MOV R3,#20 ;定时 1 秒 MOV TMOD,#10H ;T1 定时器,方式 1 MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 LOOP: JBC TF1,NEXT SJMP LOOP NEXT: MOV TL1,#080H MOV TH1,#3CH DJNZ R3,LOOP ;数据传送: DEC R2 ;R2 自动减 1 MOV DPTR,#CDATA ;置表初地址 MOV A,R2 ;屏蔽 R2 的高位 SWAP A ANL A,#0FH ; MOVC A,A+DPTR ;读表格数据 CPL A ;取反 MOV SBUF ,A ;串行发