基于51单片机的交通灯设计论文文档格式.docx

上传人:b****2 文档编号:13430333 上传时间:2022-10-10 格式:DOCX 页数:21 大小:91.63KB
下载 相关 举报
基于51单片机的交通灯设计论文文档格式.docx_第1页
第1页 / 共21页
基于51单片机的交通灯设计论文文档格式.docx_第2页
第2页 / 共21页
基于51单片机的交通灯设计论文文档格式.docx_第3页
第3页 / 共21页
基于51单片机的交通灯设计论文文档格式.docx_第4页
第4页 / 共21页
基于51单片机的交通灯设计论文文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

基于51单片机的交通灯设计论文文档格式.docx

《基于51单片机的交通灯设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机的交通灯设计论文文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

基于51单片机的交通灯设计论文文档格式.docx

由5V直流稳压电源:

普通5V直流稳压电源即可;

单片机:

常用8051或8052

SR锁存器:

普通14脚SR锁存器即可

晶振:

12M

发光二级管:

普通发光二级管红,黄,绿

数码管:

LG3641

电阻:

10K电阻及300欧电阻若干

电容:

22pF电容及CT81电解电容

1.4系统核心处理策略(控制策略、信号处理方法等)

主要是电路设计正确及程序编写无误。

起初对PCB板进行调试,确保焊接无误及电路连接正确。

再通过编写程序控制灯的闪亮时间及方式直至符合要求。

1.5系统软硬件功能划分

硬件部分:

计时部分

信号灯显示部分

软件部分:

计时部分控制

信号灯显示次序控制

1.6其他(人机交互、结构设计等)

有复位按键,选通按键

详细设计

1.7硬件设计

1.7.1输入与输出(确定输入、输出性质、数量和指标要求)

输入为复位及选通开关

输出有计时输出及交通灯模拟信号输出

交通灯信号由两组红黄绿LED灯代替

计时部分由数码管显示,由于硬件限制,计时部分只能用于东西干道计时

1.7.2功能划分(以框图形式表示)

1.7.3子系统1(元器件选型、硬件原理及功能描述)

25s3s2s25s3s2s

东西通道红灯亮红灯亮红灯亮绿灯亮绿灯闪黄灯亮

南北通道绿灯亮绿灯闪黄灯亮红灯亮红灯亮红灯亮

1.7.4子系统2

………(根据系统划分确定小节数)

1.7.5系统原理图及元器件清单

1.7.6PCB设计

1.7.7系统硬件资源清单及价格

名称

规格

数量

单价格

备注

89S51

1

12

数码管

四位

4

电容

22pf

0.15

晶振

2

锁存器

74HC573

微动开关

8

0.25

自锁开关

发光二极管

红,黄,绿

6个

0.1

电阻

10k

7个

1.8结构设计

3调试与测试

1.9调试(主要控制参数或策略确定方法、实验结果、出现问题与解决方法)

针对单片机P1口调试交通灯信号,使其预定目标显示

针对单片机P0口和P1口调试数码管显示部分,使其按预定实现倒计时

1.10测试(测试内容及结果)

1信号显示是否与计时同步

2LED显示顺序是否正确

3计时是否正确

2结论(是否达到系统设计目标、存在问题及原因)

通过测试交通灯系统能够符合要求,完成亮灯转换及时间计数要求

3感想

工程综合实训具有很强的实践性质,虽然有时比较辛苦,但让我们获得的是收获的快乐。

在这综合实训期间,我们有太多的担心与害怕,遇到了太多的挫折,中途有好多次都有放弃的念头,印象最深的是我们调电路的那几天,下午饭基本上没有吃过,为了查清楚某一部分的原理,我们晚上2点多钟才睡觉,为了写项目设计说明书我们熬夜到很晚。

但值得庆幸的是,我们坚持下来了,并且获得了成功,心里有种小小的成就感。

从中我们学到了很多了知识,没有了担心与害怕并且学会了坚持。

当然,这与老师和同学的帮助分不开。

自从做“线性稳压电源”这个项目以来,每天都是匆忙而规律的,苦恼、欢笑,失败、成功伴随着我们工训的点点滴滴。

虽然我们小组只有两个女生,但是我们共同努力,克服了许许多多的困难,一直在努力让自己做到最好。

从最开始的确定组员和选定题目,到后来的设计电路,购买元器件,再到安装PCB板子、安装以及调试,虽然辛苦但收获很多,看到我们两个辛苦做出来的成果,心里真的很高兴。

工程实训不仅让我们学到了很多课堂上学不到的东西,而且开拓了我们的视野,增长了见识,为我们以后更好的把所学知识运用到实际工作中打下坚实的基础。

经过这次实训,让我们从实践中对自己所学专业获得了一个感性的认识,为今后专业的学习打下坚实的基础。

作为一名工科学生,掌握生产实践基本知识和加强动手能力是十分必要的,我们的汗水与心血将会见证我们的成功。

程序清单:

#include<

reg51.h>

unsignedcharcodedis_7[21]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,

0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,

0x86,0x8e,0xbf,0x89,0x8c,0x00,0xff};

//共阳数码管段码

unsignedchardatadisbuf[6]={0x00,0x00,0x00,0x00,0x00,0x00};

//显示缓冲区:

时分秒使用

unsignedchardatacount_timedx[]={2,10,5,10,25};

//东西方向倒计时时间

unsignedchardatacount_timenb[]={2,25,10,5,10};

//南北方向倒计时时间

unsignedchardataHour=14,Minite=06,Second=0,Halfsec=0;

//定义时钟位

unsignedcharxdata*ledaddr=0x2000;

//锁存器选通地址

unsignedchardataMs=0,Lightcode=0,Light_step,Led_step,Light_num;

unsignedintdataFault_dx=0,Fault_nb=0,Fault_total=0,Countdx=0,Countnb=0;

sbitp10=P1^0;

//第0位数码管位控制端

sbitp11=P1^1;

//第1位数码管位控制端

sbitp12=P1^2;

//第2位数码管位控制端

sbitp13=P1^3;

//第3位数码管位控制端

sbitp14=P1^4;

//第4位数码管位控制端

sbitp15=P1^5;

//第5位数码管位控制端

sbitp16=P1^6;

//发光二极管选通

sbitp17=P1^7;

//按键选通

sbitp33=P3^3;

//k1键用于切换四种功能

/*****************************************************************************/

/****************************1毫秒延时函数*******************************/

voiddelay1ms(intt)

{

unsignedinti,j;

for(i=0;

i<

t;

i++)

for(j=0;

j<

120;

j++)

;

}

/***************************************************************************/

/*************************键盘扫描函数****************************************/

unsignedchargetkey(void)

unsignedcharYiwei;

unsignedchartest=0x00,tim;

*ledaddr=test;

if(p17==0&

&

tim==0)//判断是否有按键按下

{

p17=1;

tim=1;

test=0xfe;

delay1ms(5);

for(Yiwei=0;

Yiwei<

8;

Yiwei++)//处理按键

if(p17==0)break;

elsetest=(test<

<

1)+1;

}

returnYiwei;

elseif(p17==0){}

else{tim=0;

/************************六位LED数码管显示***********************************/

voiddispled(unsignedinthour_shi,unsignedinthour_ge,unsignedintmin_shi,unsignedint

min_ge,unsignedintsec_shi,unsignedintsec_ge)

*ledaddr=dis_7[hour_shi];

//时的十位显示

p10=0;

delay1ms

(1);

p10=1;

*ledaddr=dis_7[hour_ge];

//时的个位显示

p11=0;

p11=1;

*ledaddr=dis_7[min_shi];

//分的十位显示

p12=0;

p12=1;

*ledaddr=dis_7[min_ge];

//分的个位显示

p13=0;

p13=1;

*ledaddr=dis_7[sec_shi];

//秒的十位显示

p14=0;

p14=1;

*ledaddr=dis_7[sec_ge];

//秒的个位显示

p15=0;

p15=1;

/******************************发光二极管显示函数*****************************/

voiddisplight(unsign

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1