交通灯系统设计实验报告:eda交通灯实验报告

  陕西工业职业技术学院

 2010/2011学年第1学期

 电子线路设计与仿真

 实训报告

 课程名称:电子线路设计与仿真课程设计

 —交通灯的控制与设计

 班 级: 电信 0901

 姓 名: 何雷 刚

 教学周数: 2周(第17、18周)

 地 点:系统控制实验室行知楼(502)

 指导教师: 董少明、田宝珍

 目录

  TOC \o "1-5" \h \z \o "Current Document" 一、课程设计目的、要求与思路 3

  \o "Current Document" 设计目的 3

  \o "Current Document" 设计要求 3

  \o "Current Document" 设计思路 3

  \o "Current Document" 二、系统总体方案及硬件设计 3

  \o "Current Document" 系统总体方案 3

  \o "Current Document" 硬件设计 3

  \o "Current Document" 三、软件系统的设计 7

  \o "Current Document" 3.1 时间的设定 7

 主程序 8

 四、 PROTEUS 软件仿真 10

 4.1 系统原理图 10

 初始状态 1 仿真图 10

  \o "Current Document" 状态 2 仿真图 11

  \o "Current Document" 五、 课程设计体会 12

 附 1: 源程序代码 14

 交通灯的控制与设计

 」、课程设计目的、要求与思路

 1.1设计目的加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、 设计过程、选择芯片器件、模块化编程等多项知识。

 用单片机模拟实现具体应用,使个人设计能够真正使用。

 把理论知识与实践相结合,并且提高自己的实践动手能力。

 提高利用已学知识分析和解决问题的能力。

 1.2设计要求

 设计个单片机控制的交通灯控制系统,可以实现以下功能:

 A 道和B道上均有车辆要求通过时,A, B道轮流放行。A道放行29秒 钟,B道放行29秒钟。

 一道有车而另一道无车,交通灯控制系统能立即让有车道放行。

 绿灯转换为红灯时黄灯亮3秒钟。

 1.3设计思路

 硬件设计部分,为实现所要求的功能,首先参考多种参考资料,选用AT89C51 单片机为硬件设计的核心器件。它具有128*8位内部RAM有32根可编程I/O线、 两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模 式、片内振荡器和时钟电路。用数码管显示黄、红、绿灯,通过中断扩展实现交 通灯系统特殊情况的转换;软件设计部分,分为一个主程序和两个中断子程序。

 二、系统总体方案及硬件设计

 2.1系统总体方案

 交通灯的控制

 交通灯的控制

 2.2硬件设计

 AT89C5简介

 ? 功能

 AT89C5是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能 CMOS位微处理器,俗称单片机。具有128*8位内部RAM有32根可编程I/O线、两 个16位定时器/计数器? 5个中断源、可编程串行通道、低功耗的闲置和掉电模式、 片内振荡器和时钟电路。

 ? 管脚说明

 VCC供电电压。

 GND接地。

 P0 口: P0 口为一个8位漏级开路双向I/O 口,每脚可吸收8TTL门电流。当 P1 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储 器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入 口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接 收输出4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时, P1 口作为第八位地址接收。

 P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收, 输出4个TTL门电流,当P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作 为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于 内部上拉的缘故。P2 口用于外部程序存储器或16位地址外部数据存储器进行存 取时,P2 口输出地址的高八位。在给出地址“ T时,它利用内部上拉优势,当 对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。

 P2 口在FLASHS程和校验时接收高八位地址信号和控制信号。

 P3 口 : P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电流。当P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输 入,由于外部下拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故;P3 口同时为闪烁编程和编程校验接收一些控制信号。

 RST复位输入。

 ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位 字节。

 PSEN外部程序存储器的选通信号。

 EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(OOOOH-FFFFH ,

 不管是否有内部程序存储器。当/EA端保持咼电平时,此间内部程序存储器。

 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

 XTAL2来自反向振荡器的输出。

 ?振荡器特性

 XTAL1和 XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为

 片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2

 应不接。有余输入至内部时钟信号要通过一个二分频触发器, 因此对外部时钟信

 号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

 ?芯片擦除

 整个PERO阵列和三个锁定位的电擦除可通过正确的控制信号组合, 并保持ALE

 管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“ 1”且在任 何非空存储字节被重复编程以前,该操作必须被执行。此外, AT89C51设有稳态

 逻辑,可以在低到零频率的条件下静态逻辑, 支持两种软件可选的掉电模式。

 在

 闲置模式下,CPU亭止工作。但RAM定时器,计数器,串口和中断系统仍在工 作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能, 直到下一个硬件复位为止。

 iU1 ?伯WTAL1PDjO/A&OP0.1^[>1

 i

 U1 ?

 伯

 WTAL1

 PDjO/A&O

 P0.1^[>1 P 0 22/AW

 X7AL2

 PD.3/AM

 -

 FQ.4;AC*4

 -

 P0 J/A&5

 9

 F 0.6/ADC

 F0.7/AC>7

 -

 P2-1/A0

 也

 F2.2W10

 FSEN

 P2 3M11

 ALE

 P2.4/A12

 貢

 F2.5W13

 ■

 P2.7W15

 1 迈- —

 4

 二

 P1.0

 P3.0/RXD

 P1.1

 P1 3

 P3.3/INT1

 P1.4

 P3.4/TU

 □

 P1.5

 P3j5/T1

 P^ 6

 ip^.ba/vr"

 P17

 P3.7/RD

 ATS9C5 1

 21

 22.

 '

 rfr

 10

 ~L

 复位部分:

 采用上电+按钮电平复位,复位电容采用1nF,电阻为100欧和10K欧,连接如图:

 R14晶振电路:采用两个都为30pF的电容,一个晶振,连接如图:(4)显示部分:?数码管显示部分采用四位一体共阴数码管,分别显示东和北的剩余时间, 见图。P2.0?P2.7控制北边和西边剩余时间的个位数的显示; 管见下图。

 R14

 晶振电路:

 采用两个都为30pF的电容,一个晶振,连接如图:

 (4)

 显示部分:

 ?数码管显示部分

 采用四位一体共阴数码管,分别显示东和北的剩余时间, 见图。P2.0?P2.7控制北边和西边剩余时间的个位数的显示; 管见下图。

 具体的共阴数码管

 具体的共阴数码

 ?晶体管显示部分

 由于对称性,设计时只设计了东北两个方向。由红黄绿按要求显示。用 P0

 端口作为输出端口,用P0.0到P0.5端口分别控制西和北两组灯的状态, 低电平 点亮,具体端口功能如下:

 P0.0控制北边绿灯的亮灭;

 P0.1控制北边黄灯的亮灭;

 P0.2控制北边红灯的亮灭;

 P0.3控制东边绿灯的亮灭;

 P0.4控制东边黄灯的亮灭;

 FJR1\ \

 F

 J

 R1

 \ \

 R3.

 ^lOQR-

 -10OR-

 400R---

 J -CTEA1

 4

 兰TE易T二?

 P0.5控制东边红灯的亮灭;

 ■ pa.a -O- pm zi

 ■ U. LL U. ■ - u, .

 I

 -严

 100R

 ■■屁 T EXT ■> ■■

 -R5

 —

 -勺两Ft

 ---酣盗LLO呃

 -< T EXT> -

 j=i

 ' HO r r * r r r

 —J—1 1 _J

 -1MR" - - - - ■

 ...LED-RED ..

 -斗 ----

 三、软件系统的设计

 3.1时间的设定

 采用软延时的方法。MCS-51单片机的工作频率为12MHZ机器周期是时钟周 期的12倍,所以一个机器周期12*( 1/12M)=1us。我们可以知道具体没条指令

 的周期数,这样我们就可以通过指令的执行条数来确定时间 延时10MS程序如下:

 DLY10MS: MOV R6,#20H

 D1: MOV R7,248

 DJNZ R7,$

 DJNZ R6,D1

 RET

 延时100MSS序如下:

 DLY100MS: MOV R6,#200

 D10: MOV R7,248

 DJNZ R7,$

 DJNZ R6,D10

 RET

 主程序

 在程序中,P0 口作为红绿灯的输出口,其中 P0.0?P0.2作为北边红黄绿灯的 接口,P0.3?P0.5作为东边红黄绿灯的接口。

 P2.0?P2.7作为数码管的输出部 分,其程序如下:

 ORG 0000H

 LJMP MAIN

 ORG 0050H

 MAIN:MOV P0,

 MOV P3,

 MOV R3,#002H

 KS: MOV R0,#000H

 MOV R1,#007H

 MOV R2,#000H

 DJS: MOV P1,#001H

 MOV

 A,R0

 MOV

 DPTR,#TAB

 MOVC A,@A+DPTR

 MOV

 P2,A

 CLR

 A

 LCALL YS

 MOV

 P1,#002H

 MOV

 A,R1

 MOVC A,@A+DPTR

 MOV

 P2,A

 CLR

 A

 LCALL YS

 INC

 R2

 CJNE

 R2,#007H,DJS

 MOV

 R2,#000H

 INC

 R0

 CJNE

 R0,#00AH,DJS

 MOV R0,#000H

 INC R1

 CJNE R1,#00AH,DJS

 MOV R4,#004H

 MOV R1,#006H

 HD: MOV P1,#002H

 MOV A,#0FCH

 MOV P2,A

 LCALL YS

 CLR A

 MOV P1,#001H

 MOV A,R1

 MOVC A,@A+DPTR

 MOV P2,A

 MOV P0,

 MOV P3,

 LCALL YS

 INC R2

 CJNE R2,#007H,HD

 MOV R2,#000H

 MOV P2,#000H

 MOV P0,#0FFH

 MOV P3,#0FFH

 LCALL YS1

 INC R1

 DJNZ R4,HD

 MOV R4,#000H

 MOV P0,

 MOV P3,

 DJNZ R3,KS

 LJMP MAIN

 YS:

 MOV

 R7,#055H

 MOV

 R6,#055H

 XX:

 DJNZ

 R6,$

 DJNZ

 R7,XX

 RET

 Y S1: MOV

 R7,#0FFH

 MOV

 R6,#0FFH

 XX1:

 DJNZ

 R6,$

 DJNZ

 R7,XX1

 RET

 TAB: DB 0F6H,0FEH,0E0H,0BEH,0B6H,66H,0F2H,0DAH,60H,0FCH

 END

 四、Proteus 软件仿真

 4.1系统原理图

 ■ 1 * V C3 ! u-^1-77 ■rfM3 : ' :,>:L'4 . . i. ,■ ■=丘仆……….4.2初始状态1仿真图东边绿灯亮,北边红灯亮

 ■ 1 * V C3 ! u

 -^1-77 ■rf

 M3 : ' :,>:L'

 4 . . i. ,■

 ■=丘仆……….

 4.2初始状态1仿真图

 东边绿灯亮,北边红灯亮

 ….-,:T=jfTk

 ■O - o

 ,QE* ,

 沪1HC■刑

 ;piOUFA卑吱Qmphi(缪

 盧

 FZ3AI1

 FZSAC P上曰LAM

 FZ7WK

 rxofiCFD

 KJ.WL'11

 F3.H-C *1的 nasTirp

 二雹養严聲耳圧二褂■:■

 -■osd-■6'andXT AUFOU'aCCxr/s口pptMM FCiaCCZ FDHAIX3WST

 -■osd

 -■6'and

 XT AU

 FOU'aCC

 xr/s口

 pptMM FCiaCCZ FDHAIX3

 WST

 PH WAD? PD^D? FT10ADE MS.T^aW

 FfH

 PH曙炬 FX.V^S' 吃3百

 ALE

 忆川1Z

 昏

 临环口

 和口

 P2 7iH¥

 曲£IW

 FiA

 F3.LT>?

 2

 皿TTF

 IF I 3

 n^'HT-l

 PH.m

 和亍

 PSJfTi

 Pljfi

 F3.^7ilF.

 rr.T

 PIT'PE-

 □.llin - MEMra. ?或 99¥

 -口 J N J * 5 c -7

 口.lNn.+5.s$

 txx.su

 工工工:I:::::::::::::::::::二■ ?肋d?UM■叟点口需.life!::::::工::工::::工::::::::工:;;;';;■;;

 4.3状态2仿真图

 北边和东边黄灯闪烁

 i JK

 MD

 "1.1■ 1>

 "13

 「i*MSP1 7FTP 吁 1ROElfADaK1.-WAQ1 ra2*AIXZ 相 MND3 FO.<KD?- ITI VilKKU9ADS ra.WAMPTiVAB ft如□ 12^0 rz^\ti F2.*^-E FZSWtl5M.-I-I MT"Fiawxi

 MD

 "1.1

 ■ 1>

 "13

 「i*

 MS

 P1 7

 FTP 吁 1

 ROElfADa

 K1.-WAQ1 ra2*AIXZ 相 MND3 FO.<KD?- ITI VilK

 KU9ADS ra.WAM

 PTiVAB ft如□ 12^0 rz^\ti F2.*^-E FZSWtl

 5M.-I-I MT"

 Fiawxi

 F3.1TXB 的汕Ei raanm

 F3fm 『」d诃

 P17TTF

 I]-:: J J- 4 4 E- J cwww-j

 112J.1-utJKr4 u益益盂Ef ■o塔 Eg-O

 ■■■QOQ

 4.4状态3仿真图>XTaL1*T*I7北边的红灯和东边的绿灯亮嘉 *7?寻5占raaAiD rxx?i i in— rZ5L**13「NT亠倍

 4.4状态3仿真图

 >XTaL1

 *T*I7

 北边的红灯和东边的绿灯亮

 嘉 *7?寻5占

 raaAiD rxx?i i in— rZ5L**13

 「NT亠倍

 D i工『 M鼻w ; EilrorellmB 中BIHJ

 J J J 1 J J J J ■

 FT5T

 Ali

 -|Q>

 UIM刚.'lii Lp 內M .

 F3MTTO & R3J ■

 科$WTT . V ,.:■ raj ■

 pjjmi -121.

 m?ti

 -US-

 ■jiffVIL ,

 ht^hTC^

 五、焊接电路板

 5.1焊接的基本步骤

 烙铁头上先熔化少量的焊锡和松香,将烙铁头和焊锡丝同时对准焊点。

 在烙铁头上的助焊剂尚未挥发完时,将烙铁头和焊锡丝同时接触焊点, 开始熔化焊锡。

 当焊锡浸润整个焊点后,同时移开烙铁头和焊锡丝。

 焊接过程一般以2?3s为宜。焊接集成电路时,要严格控制焊料和助焊剂的 用量。为了避免因电烙铁绝缘不良或内部发热器对外壳感应电压而损坏集成电 路,实际应用中常采用拔下电烙铁的电源插头趁热焊接的方法。

 5.2焊接中出现的问题及解决方法

 出现的问题:焊脚太大或太小,电路出现连接的时连接的现象 焊出来的板子出现虚焊,电路有时无法导通。

 解决的方法:焊接前,应对元器件引脚或电路板的焊接部位进行处理, 一般

 有“刮”、“镀”、“测”三个步骤:

 “刮”:就是在焊接前做好焊接部位的清洁工作。

 一般采用的工具是小刀和 细砂纸,对集成电路的引脚、印制电路板进行清理,去除其上的污垢,清理完后 一般还需要往待拆元器件上涂上助焊剂。

 “镀”:就是在刮净的元器件部位上镀锡。具体做法是蘸松香酒精溶液涂在 刮净的元器件焊接部位上,再将带锡的热烙铁头压在其上,并转动元器件,使其 均匀地镀上一层很薄的锡层。

 “测”:就是利用万用表检测所有镀锡的元器件是否质量可靠,若有质量不 可靠或已损坏的元器件,应用同规格元器件替换。

 六、焊接结果

 七、课程设计体会

 通过这次做交通灯的课程设计,自己再次学习了微机原理,并认真复习单片 机,查阅和浏览了很多的相关资料,并且对proteus软件的使用有了一定的了 解。软件模拟时,我们用proteus仿真软件运行,发现有时两个绿灯同时亮,当 有紧急车辆通过时,两个红灯不受按键控制,出现抖动现象等等一系列的问题。

 但是最后在同学的帮助下终于完成任务。

 通过这次学习,发现自己对书本的掌握只是很表层的一部分, 离实际应用还

 有很大一段距离。真是不用不知道,一用吓一跳。做课程设计期间,自己进一步 学习了单片机书上的例子,而且学习了许多书本之外的东西。

 尤其是,和几个同 学一起进行编程调试进而运行时期间, 发现自己还算比较喜欢编程。这次做单片 机课程设计也对自己以后的学习方向有很大的影响。

 附 1: 源程序代码

 ORG 0000H

 LJMP MAIN

 ORG 0050H

 MAIN:MOV P0,

 MOV P3,

 MOV R3,#002H

 KS: MOV R0,#000H

 MOV R1,#007H

 MOV R2,#000H

 DJS: MOV P1,#001H

 MOV

 A,R0

 MOV

 DPTR,#TAB

 MOVC A,@A+DPTR

 MOV

 P2,A

 CLR

 A

 LCALL YS

 MOV

 P1,#002H

 MOV

 A,R1

 MOVC A,@A+DPTR

 MOV

 P2,A

 CLR

 A

 LCALL YS

 INC

 R2

 CJNE

 R2,#007H,DJS

 MOV

 R2,#000H

 INC

 R0

 CJNE

 R0,#00AH,DJS

 MOV

 R0,#000H

 INC

 R1

 CJNE

 R1,#00AH,DJS

 MOV R4,#004H

 MOV R1,#006H

 HD: MOV P1,#002H

 MOV A,#0FCH

 MOV P2,A

 LCALL YS

 CLR A

 MOV P1,#001H

 MOV A,R1

 MOVC A,@A+DPTR

 MOV P2,A

 MOV P0,

 MOV P3,

 LCALL YS

 INC R2

 CJNE R2,#007H,HD

 MOV R2,#000H

 MOV P2,#000H

 MOV P0,#0FFH

 MOV P3,#0FFH

 LCALL YS1

 INC R1

 DJNZ R4,HD

 MOV R4,#000H

 MOV P0,

 MOV P3,

 DJNZ R3,KS

 LJMP MAIN

 YS: MOV R7,#055H

 MOV R6,#055H

 XX: DJNZ R6,$

 DJNZ

 RET

 R7,XX

 YS1: MOV

 MOV

 R7,#0FFH

 R6,#0FFH

 XX1: DJNZ DJNZ RET

 R6,$

 R7,XX1

 TAB: DB 0F6H,0FEH,0E0H,0BEH,0B6H,66H,0F2H,0DAH,60H,0FCH END

 2020年 6 月 25 日星期四

推荐访问:交通灯 实验 报告 设计 系统