基于51单片机的交通灯设计毕业设计.docx

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

基于51单片机的交通灯设计毕业设计.docx

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

基于51单片机的交通灯设计毕业设计.docx

基于51单片机的交通灯设计毕业设计

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:

引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:

理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:

任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:

按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

指导教师评阅书

指导教师评价:

一、撰写(设计)过程

1、学生在论文(设计)过程中的治学态度、工作精神

□优□良□中□及格□不及格

2、学生掌握专业知识、技能的扎实程度

□优□良□中□及格□不及格

3、学生综合运用所学知识和专业技能分析和解决问题的能力

□优□良□中□及格□不及格

4、研究方法的科学性;技术线路的可行性;设计方案的合理性

□优□良□中□及格□不及格

5、完成毕业论文(设计)期间的出勤情况

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

指导教师:

(签名)单位:

(盖章)

年月日

 

评阅教师评阅书

评阅教师评价:

一、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

二、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

建议成绩:

□优□良□中□及格□不及格

(在所选等级前的□内画“√”)

评阅教师:

(签名)单位:

(盖章)

年月日

 

教研室(或答辩小组)及教学系意见

教研室(或答辩小组)评价:

一、答辩过程

1、毕业论文(设计)的基本要点和见解的叙述情况

□优□良□中□及格□不及格

2、对答辩问题的反应、理解、表达情况

□优□良□中□及格□不及格

3、学生答辩过程中的精神状态

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或对解决实际问题的指导意义

□优□良□中□及格□不及格

2、论文的观念是否有新意?

设计是否有创意?

□优□良□中□及格□不及格

3、论文(设计说明书)所体现的整体水平

□优□良□中□及格□不及格

评定成绩:

□优□良□中□及格□不及格

教研室主任(或答辩小组组长):

(签名)

年月日

教学系意见:

系主任:

(签名)

年月日

 

1.课设题目1

2.设计环境1

3.设计要求1

4.设计相关知识1

4.1硬件设计1

4.2软件应用2

5.主程序设计3

6.系统实现14

7.仿真运行14

8.设计心得16

9.参考文献16

 

1.设计题目:

基于51单片机的交通灯设计

2.设计环境

1.装有Windows系统、keilC51v6.12中文完全版和proteus7.5仿真环境的PC机一台。

2.AT89C51单片机最小实现电路及配套发光二极管电路。

3.设计要求

1.编程要求:

主程序利用C语言编写。

2.实现功能:

使用AT89C51单片机控制4个方向的交通灯(红﹑黄﹑绿)并用数码管显示其时间。

3.实验现象:

状态一:

主干道、支干道均亮红灯5秒;

状态二:

主干道亮绿灯30秒、支干道亮红灯;

状态三:

主干道绿灯闪3次转亮黄灯、支干道亮红灯3秒;

状态四:

主干道亮红灯、支干道亮绿灯25秒;

状态五:

主干道亮红灯、支干道绿灯闪3次转亮黄灯3秒;

返回到第二个状态。

4.设计相关知识

4.1硬件设计

1.AT89C51简介:

AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器。

它是一种带2K字节闪存可编程可擦除只读存储器的单片机。

AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

2.2位8段数码管工作原理:

2位8段数码管电路采用“共阴”连接,阴极公共端(COM)由晶体管推动。

如图4-3所示:

段码和位码,段码即段选信号SEG,它负责数码管显示的内容,图中a~g、dp组成的数据(a为最低位,dp为最高位)就是段码。

位码即位选信号DIG,它决定哪个数码管工作,哪个数码管不工作。

当需要某一位数码管显示数字时,只需要先选中这位数码管的位信号,再给显示数字的段码。

4.2软件应用

1.Proteus7.5简介:

Proteus软件不仅具有EDA工具软件的仿真功能,还能仿真单片机及外围器件Proteus从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等。

在编译方面,它支持IAR、Keil和MPLAB等多种编译器。

2.KeilC51开发系统简介:

KeilC51是51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,生成的目标代码效率非常之高,多数语句生成的汇编代码紧凑,容易理解。

在开发大型软件时更能体现其高级语言的优势。

 

5.主程序设计

/*********11.0952M晶振***********************************/

#include//头文件

#include//头文件

#defineucharunsignedchar//宏定义

#defineuintunsignedint//宏定义

sbitRED_ZHU=P1^0;

sbitYELLOW_ZHU=P1^1;

sbitGREEN_ZHU=P1^2;

sbitRED_ZHI=P1^3;

sbitYELLOW_ZHI=P1^4;

sbitGREEN_ZHI=P1^5;

uintaa,bai,shi,ge,bb;//定义变量

/*数码管显示0-9*/

uintcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

/*子函数声明*/

voiddelay(uintz);

voiddelay0(uintz);

//voidinit(uinta);

voiddisplay(uintge,uintshi);

voidxtimer0();

voidinit1();

voidinit2();

voidinit3();

voidinit4();

voidinit5();

voidxint1();

voidxint0();

voidLED_ON();

voidLED_OFF();

/**********************主函数************************/

voidmain()

{

P0=0XFF;

P1=0xFF;

P2=0xFF;

EA=1;//打开外部中断

EX1=1;//允许外部中断1中断

IT1=0;//INT0为沿触发方式

init1();

while

(1)

{

init2();//第2个状态

init3();//第3个状态

init4();//第4个状态

init5();//第5个状态

}

}

 

voidinit1()//第一个状态:

主干道、支干道均亮红灯5S

{

uinttemp;

temp=6;//变量赋初值

TMOD=0x01;//定时器0工作于方式1

TH0=0x4c;

TL0=0x00;//定时器赋初值

EA=1;//开外部中断

ET0=1;//开定时中断

TR0=1;//开定时器0

while

(1)

{

RED_ZHU=0;//第一个状态主干道、支干道均亮红灯5S

RED_ZHI=0;

GREEN_ZHU=1;

GREEN_ZHI=1;

YELLOW_ZHU=1;

YELLOW_ZHI=1;

if(aa==20)//定时20*50MS=1S

{

aa=0;//定时完成一次后清0

temp--;//变量自增

//delay(10);

if(temp>250)//定时100S

{

temp=6;//变量清0

break;

}

shi=temp%100/10;//显示十位

ge=temp%10;//显示个位

}

display(ge,shi);

}

}

voidinit2()//第二个状态:

主干道亮绿灯30S、支干道亮红灯

{

uinttemp;

temp=31;//变量赋初值

TMOD=0x01;//定时器0工作于方式1

TH0=0x4c;

TL0=0x00;//定时器赋初值

EA=1;//开外部中断

ET0=1;//开定时中断

TR0=1;//开定时器0

while

(1)

{

RED_ZHU=1;

RED_ZHI=0;

GREEN_ZHU=0;

GREEN_ZHI=1;

YELLOW_ZHU=1;//第二个状态:

主干道亮绿灯30S、支干道亮红灯

YELLOW_ZHI=1;

if(aa==20)//定时20*50MS=1S

{

aa=0;//定时完成一次后清0

temp--;//变量自增

if(temp==3)//定时100S

{

temp=30;//变量清0

break;

}

shi=temp%100/10;//显示十位

ge=temp%10;//显示个位

}

display(ge,shi);

}

}

voidinit3()//第三个状态:

主干道绿灯闪3次转亮黄灯、支干道亮红灯3S

{

uinttemp;

temp=4;//变量赋初值

TMOD=0x01;//定时器0工作于方式1

TH0=0x4c;

TL0=0x00;//定时器赋初值

EA=1;//开外部中断

ET0=1;//开定时中断

TR0=1;//开定时器0

while

(1)

{

RED_ZHI=0;

GREEN_ZHU=1;

//YELLOW_ZHU=~YELLOW_ZHU;

if(aa==20)//定时20*50MS=1S

{

aa=0;//定时完成一次后清0

temp--;//变量自增

YELLOW_ZHU=~YELLOW_ZHU;

if(temp>200)//定时100S

{

temp=4;//变量清0

break;

}

shi=temp%100/10;//显示十位

ge=temp%10;//显示个位

}

display(ge,shi);;

}

}

voidinit4()//第四个状态:

主干道亮红灯、支干道亮绿灯25S

{

uinttemp;

temp=26;//变量赋初值

TMOD=0x01;//定时器0工作于方式1

TH0=0x4c;

TL0=0x00;//定时器赋初值

EA=1;//开外部中断

ET0=1;//开定时中断

TR0=1;//开定时器0

while

(1)

{

RED_ZHU=0;

RED_ZHI=1;

YELLOW_ZHU=1;//第一个状态主干道、支干道均亮红灯5S

GREEN_ZHI=0;

if(aa==20)//定时20*50MS=1S

{

aa=0;//定时完成一次后清0

temp--;//变量自增

if(temp==3)//定时100S

{

temp=25;//变量清0

break;

}

shi=temp%100/10;//显示十位

ge=temp%10;//显示个位

}

display(ge,shi);

}

}

voidinit5()//第五个状态:

主干道亮红灯、支干道绿灯闪3次转亮黄灯3S

{

uinttemp;

temp=4;//变量赋初值

TMOD=0x01;//定时器0工作于方式1

TH0=0x4c;

TL0=0x00;//定时器赋初值

EA=1;//开外部中断

ET0=1;//开定时中断

TR0=1;//开定时器0

while

(1)

{

RED_ZHI=1;

RED_ZHU=0;

GREEN_ZHU=1;

GREEN_ZHI=1;

//YELLOW_ZHI=~YELLOW_ZHI;

if(aa==20)//定时20*50MS=1S

{

aa=0;//定时完成一次后清0

temp--;//变量自增

YELLOW_ZHI=~YELLOW_ZHI;

if(temp>200)//定时100S

{

temp=4;//变量清0

break;

}

shi=temp%100/10;//显示十位

ge=temp%10;//显示个位

}

display(ge,shi);

}

}

/*显示子函数*/

voiddisplay(uintge,uintshi)

{

P0=0xfd;

P2=table[shi];//显示十位

delay0(5);

P0=0xfe;

P2=table[ge];//显示个位

delay0(5);

}

voidxint0()interrupt2//外部中断1,这里用2是INT1的优先级为0

{

LED_ON();

}

voidLED_ON()//外部中断0显示子程序

{

RED_ZHI=0;

RED_ZHU=0;

GREEN_ZHI=1;

GREEN_ZHU=1;

YELLOW_ZHI=1;

YELLOW_ZHU=1;

delay0(1000);

return;

}

/*定时中断子函数*/

voidxtimer0()interrupt1

{

TH0=0x4c;

TL0=0x00;

aa++;

}

/*延时子函数*/

voiddelay0(uintz)

{

uinti,j;

for(i=0;i

for(j=0;j<110;j++);

}

 

/********500ms延时函数晶振:

11.0592MHz*******/

voiddelay(unsignedcharj)

{

unsignedchark;

unsignedinti;

for(;j>0;j--)

{

for(i=1250;i>0;i--)

{

for(k=180;k>0;k--);

}

}

}

 

6.系统实现

1.使用keilC51编写程序;

2.将编好的程序“.C”文件用KeilC51转换成“.hex”文件;

3.画出设计系统仿真图;

3.打开proteus7.5,将画好的仿真图载入,鼠标右击图中的51单片机选择“编辑属性”,在ProgramFile中载入之前的“.hex”文件,再点击“调试”中的“开始”或点击软件左下角的“

”,即仿真开始运行;

4.观察运行现象是否与设计结果相符;

5.确定设计后,按图焊接硬件电路;

6.测试硬件电路。

7.仿真运行

 

8.设计心得

用单片机实现交通灯控制,可以使我们的生活方便快捷。

这项看起来不需要多少技术的工作却是非常需要耐心和精力,几天的设计对我们来说的意义,不仅仅是让我们把所学的理论知识与实践相结合起来,还提高了我们的实际动手能力和独立思考的能力,更重要的是团队合作,虽然我们这次设计仓促,制作有些简单,但我们得到了很多远大于设计的东西!

9.参考文献

单片机原理及应用

51单片机原理及应用--基于KeilC与Proteus

Proteus7.5Professional51单片机入门教程

XX文库:

AT89C51中文资料

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

指导教师评阅书

指导教师评价:

一、撰写(设计)过程

1、学生在论文(设计)过程中的治学态度、工作精神

□优□良□中□及格□不及格

2、学生掌握专业知识、技能的扎实程度

□优□良□中□及格□

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

当前位置:首页 > 初中教育 > 语文

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

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