51单片机交通灯课程设计参考word.doc

上传人:scccc 文档编号:12034448 上传时间:2021-12-01 格式:DOC 页数:13 大小:106.50KB
返回 下载 相关 举报
51单片机交通灯课程设计参考word.doc_第1页
第1页 / 共13页
51单片机交通灯课程设计参考word.doc_第2页
第2页 / 共13页
51单片机交通灯课程设计参考word.doc_第3页
第3页 / 共13页
51单片机交通灯课程设计参考word.doc_第4页
第4页 / 共13页
51单片机交通灯课程设计参考word.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《51单片机交通灯课程设计参考word.doc》由会员分享,可在线阅读,更多相关《51单片机交通灯课程设计参考word.doc(13页珍藏版)》请在三一文库上搜索。

1、第一章 单片机概述单片机是20世纪70年代中期发展起来的一种大规模集成电路器件。它在一块芯片内芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。20世纪80年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。单片机的应用技术是一项新型的工程技术,其内涵随着单片机的发展而发展。由于MCS-51系列的单片机的模块化结构比较典型、应用灵活,为许多大公司所采纳,使8051系列的单片产品日新月异。在Intel公司20世纪80年代初推出MCS-51系列单片机以后,世界上许多著名的半导体厂商相继生产和这个系列兼容的单片机,使产品型号不断地增加、品种不断丰

2、富、功能不断加强,在国内外单片机应用中占有重要地位。由于单片机具有功能强、体积小、价格低等一系列优点,在各个领域都有广泛的应用,有力地推动了各行各业的技术改造和产品更新换代。20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。推荐精选第二章 MSC-51芯片简介8051是MCS-51系列单片机的典型产品。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地

3、址总线和控制总线等三大总线,现在我们分别加以说明:·中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。·数据存储器(RAM)  8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。·程序存储器(ROM):805

4、1共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。·定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。·并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。·全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。·中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选

5、择。推荐精选·时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。推荐精选第三章 设计方案1课程设计要求:1)、以MCS-51系列单片机为核心器件组成交通灯控制系统,采用定时中断实现精确定时;2)、利用

6、提供单元模块构成硬件系统。系统完成内容如下:正常情况下,A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行,A道放行60秒(两个数码管从60秒开始倒数,其中5秒用于警告),B道放行30秒(两个数码管从30秒开始倒数,其中5秒用于警告)。3)、一道有车而另一道无车(用按键开关S1、S2模拟)时,使有车车道放行。4)、有紧急车辆通过(用按键开关S0模拟)时,A、B道均为红灯(两次按下S0后,回复正常状态)。要求:3)、编写系统的程序,完成系统的分、秒的计时功能2具体编程过程:根据要求我首先想到显示界面:采用数码管和LED灯相结合的方法,因为实际既要求倒计时施主输出,又要求又状态灯输出

7、等,为方便观看并考虑到现实状况,用2个数码管与12个LED分别显示时间和提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。考虑到数码显示我采用了动态显示的方法,这是原理图里只有一个数码显示管亮的原因。按键方面我用了三个,一个用于A道无车,一个用于B道无车,一个用于特殊情况,都红的情况。 主控制方案采用AT89C51单片机作为控制器,控制整个反感实行通行倒计时及A道、B道、一道有车和特殊情况都为无车情况、通过变成方案设计占用单片机的端口尽量最少,硬件也做到能少最好的地步。 推荐精选第四章 具体实现的程序#include <at89x52.h>bit flag;void

8、Adao(void);void Bdao(void);void theshu(void);#define uint unsigned char#define uchar unsigned charvoid delay_ms(uint delay);void jjj(void) ;uchar sum=0;uchar count=0;uchar flag3=0;void xianshi(void);bit flag;sbit p36=P36 ;sbit p37=P37 ;sbit p32=P32;uchar code LED_Val=0xc0,0xf9,0xa4,0x0b0,0x99,0x92,0

9、x82,0x0f8,0x80,0x98;uchar data num4;uchar data led_point2=0xfd,0xfe;void disp(uint disp_value);void bcd(uint bcd_value);uchar att;void system(void);/ 定时 1svoid T0_srv(void) interrupt 1 using 2TH0=0x3c;TL0=0xb0;count+;if(count=20)count=0;flag=1;sum+ ;推荐精选 / 中断全红的情况void int_0srv(void) interrupt 0 usin

10、g 1 flag3+; /int/111/ 特殊void jjj (void) uchar temp1,temp=sum; sum=0; temp1=P1; P1=0x36;/delay_ms(2);/if(!INT0)if(flag3=1)while(sum<15) disp(15-sum); /while(!INT0); /if(flag3=2) P1=temp1; sum=temp; flag3=0; / 延时 void delay_ms(uint delay)uchar i;while(delay-)for(i=0;i<125;i+); / B道正常情况推荐精选void B

11、dao(void)sum=0; while(sum<25) if(flag3!=0) jjj(); if(p36=0) EA=0; P1=0x1e; EA=1; if(p37=0)EA=0; P1=0x33; EA=1; P1=0x33; disp(30-sum);/while(!flag);flag=0;/sum+;/sum=0;while(sum<30)if(flag3=1) jjj(); while(p36=0) EA=0; P1=0x1e; EA=1; while(p37=0)EA=0; P1=0x33; EA=1; P1=0x2D; disp(30-sum);while(

12、!flag);flag=0;/sum+; sum=0;P1=0;推荐精选 / A到正常void Adao(void) while(sum<55)if(flag3=1) jjj(); while(p36=0) EA=0; P1=0x1e; EA=1; while(p37=0)EA=0; P1=0x33; EA=1; disp(60-sum); P1=0x1e;/while(!flag);flag=0;/sum+;/sum=0;/P1=0x11;while(sum<60)if(flag3=1) jjj(); while(p36=0) EA=0; P1=0x1e; EA=1; while

13、(p37=0) EA=0; P1=0x33; EA=1;P1=0x2D;disp(60-sum);while(!flag);flag=0;sum+;/系统初始化void system(void)推荐精选TMOD=0x01;TH0=0x3c;TL0=0xb0;ET0=1;EA=1;TR0=1;EX0=1;IT0=1; /显示函数 void disp(uint disp_value)uchar i;bcd(disp_value);for(i=0;i<2;i+) P2=0;P0=LED_Valnumi;P2=led_pointi;delay_ms(50);/void bcd(uint bcd_

14、value)num0=bcd_value/10;num1=bcd_value%10; /主函数void main(void)P1=0x00;system() ;while(1) Adao();Bdao();推荐精选 第五章 课程设计总结本次课程设计时间虽然非常短暂,但给我的收获是非常大的。在上课的时候,就对单片机产生了非常浓厚的兴趣。对单片机编程有了新的认识,在课程有通过自己动手实际做,对编程和硬件焊接都有了新的认识,这次我做的十字路口红绿灯的问题。在编程时由于对有些基础知识掌握不够准确,编程时出了很多麻烦,和走了很多弯路。最后在同学帮助和指点完成了编程任务。之后老师发下硬件之后我和我组的潘月

15、华同学同了一天吧硬件连接完成,在焊接过程中出现了问题。我们都是首先讨论分析问题,之后解决问题加强了团队写作能力。直至最后完成了本次课程设计。在课程设计中到老师的实验室借用老师的硬件做了验证,并且由于我是中午去的老师实验室,打扰了老师的休息,深感愧疚,并对老师一直认真负责教学态度,和耐心的讲解我们提出的问题,真心感谢老师给了我和同学们很多在单片机课程方面帮助。推荐精选参考文献:1. 李广弟等 单片机基础 北京航空航天出版社, 2006.7 2. 楼然苗等 51 系列单片机设计实例 北京航空航天出版社, 2009.33. 马忠梅等,单片机的C语言应用程序设计,北京航空航天大学出版社,2008推荐精选原理仿真图 (注:可编辑下载,若有不当之处,请指正,谢谢!) 推荐精选

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1