1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 单片机c语言实验交通信号灯 单片机设计交通信号灯实验报告.docx

单片机c语言实验交通信号灯 单片机设计交通信号灯实验报告.docx

时间:2018-09-08 14:44:03

相关推荐

单片机c语言实验交通信号灯 单片机设计交通信号灯实验报告.docx

精品文档

精品文档

PAGE

PAGE #欢迎下载

精品文档

精品文档

PAGE

PAGE #欢迎下载

单片机C语言程序设计专题实习专周报告

班 级:

学 号:

姓 名:

指导老师:

专周成绩:一、硬件设计

1.设计要求:OA、B两通道都有车,两道正向放行 35s,然 后左向行驶放行15s。[当A道放行时(绿),B道禁止(红),反 之亦然,放行时间中包含有闪烁时间 ]②绿灯—红灯转换必须经 5s的警视状态O设置紧急情况处理器,当紧急情况发生时,两道 都亮红灯,让紧急车辆通过,完备再回到当前的状态O4具有数码 管显示倒计时功能。

2.图样:

3.硬件选择:选用8052单片机一片,红、黄、绿 LED交通 显示灯各4个,导线若干,7SEG数码显示管。

单片机模块:主控芯片采用 AT89C52单片机,AT89C52是AT89C5X

系列单片机的典型产品,我们以这一代表性的机型进行系统的讲

解。AT89C52单片机包含中央处理器、 程序存储器(ROM、数据存 储器(RAM)定时/计数器、并行接口、串行接口和中断系统等几

大单元及数据总线、地址总线和控制总线等三大总线。AT89C52

大单元及数据总线、地址总线和控制总线等三大总线。

AT89C52

共有4组8位I/O 口 (P0、P1、P2或P3),用于对外部数据的传

输,其内置最高频率达12MHZ勺时钟电路,用于产生整个单片机

运行的脉冲时序。管脚图如下图所示

P1.0-

P1.1-

'2

-PQO

3

+ 1.

Pi 5-

A

-PO2

?].J-

5

-PO.5

6

P] 6-

7

TO兰

PJ.7-

E

-P06

I?ST/k*ID^

9

-PO7

IUCD.P3.1b-

10

L

H"5I

-EA/r>(>

TXD.P3.I-

JI

WL

-A IE. PROG

[?MTP.F3.2-

P

-|*SFN

国Ti、P3,3-

13

-P27

mpg』一

14

TI.P3.5-

-1^5

训取吋一

16

-P2.4

17

-P2 3

?CTAL2*"

IS

XTALl-

19

-P2.1

2U

一叭

倒计时显示模块:由于黄灯5秒闪烁时间不单另计时,四个路口 的倒计时是同步的。故倒计时采用两个七段数码显示管。

紧急模式模块:交通路口出现紧急状况在所难免, 如特大事件发 生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻, 毕竟在这种情况下是分秒必争的, 时时刻刻关系着公共财产安全, 个人生死攸关等。由此在交通控制中增设禁停按键,就可达到此

目的。

二、软件设计

1.设计思路:本系统以单片机为核心,由状态灯,LED显示, 按键等组成。其中P0用于送显两片LED数码管,P1、P2、P3用 于控制红绿黄发光二极管,采用自带晶振时钟电路,REST引脚接 上复位电路,P3.1接紧急模式设置键,P3.2、P3.3、P3.4用于 调解预置交通灯时间。

系统上电或手动复位之后,系统等待模式选择设置键按下, 模式分两种:红绿灯时间自动和紧急模式。系统默认运行时间自

动,若此时3.1键按下,则设置为紧急模式,再次按3.1,回到

自动时间红绿灯模式。接下来,系统必须先显示状态灯及 LED数 码管,将状态码值送显 P1、P2、P3 口,将要显示的时间值的个 位和十位分别送显P0 口,在此同时以50ms为周期,用软件方法 计时1秒,到达1s就要将时间值减1,刷新LED数码管。 时间 到达一个状态所要全部时间, 则要进行下一状态判断及衔接,并

装入次状态的相应状态码值以及时间值。

三、程序流程图

精品文档

精品文档

PAGE

PAGE #欢迎。下载

精品文档

精品文档

PAGE

PAGE #欢迎。下载

四、程序及说明#include #include #define uint unsigned int #define uchar unsigned char uchar night_flag=0;uchar time_cl=0;

四、程序及说明

#include #include #define uint unsigned int #define uchar unsigned char uchar night_flag=0;

uchar time_cl=0;

uchar flag=0;

uchar B_N_D_flag=1;

uchar X_D_D_flag=1; uchar i,j;

uchar t=3;

uchar num=0;

//uchar num_night=0;

uchar time=35;

int bei,nan,xi,dong; // uc

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。