单片机课程设计自动交通管理系统_第1页
单片机课程设计自动交通管理系统_第2页
单片机课程设计自动交通管理系统_第3页
单片机课程设计自动交通管理系统_第4页
单片机课程设计自动交通管理系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计-自动交通管理系统 华 东 交 通 大 学课程设计任务书自动交通管理系统姓名:。 专业:信息工程班级:10信息工程 学号: 组员: 目录一、 - 3 -1.1 课题名称- 3 -1.2 设计目的- 3 -1.4设计要求- 3 -二、 - 4 -2.1 MCS-51单片机及ADC0832简介- 4 -2.2 系统硬件设计- 9 - 自动交通管理系统方案论证- 9 - 系统总框图- 10 - 硬件接线图- 11 -三、 - 17 -3.1 程序流程图- 17 -3.2初值计算- 18 -序代码- 18 -四、 - 20 -五、心得体会- 21 -六、参考文献- 21 -七、附录- 2

2、2 -7.3硬件连线图- 26 -概述摘要:本文研究的是以AT89C51单片机为控制器的自动交通控制系统,该系统用红、绿、黄三支共两组发光二极管表示交通信号灯,利用单片机模拟有时间显示的定时交通信号灯控制管理,并附带有撞红灯警告功能以及紧急按钮。本设计是以软件和硬件相结合的方式来实现,文中给出了具体的硬件电路图和软件流程图及程序源码。关 键 词:智能交通灯,AT89C51,LED设计用单片机控制的十字路口交通灯及撞红灯报警控制系统,并实现这些功能。MCS-51单片机内部结构 8051是MCS-51系列单片机的典型产品,以这一代表性的机型进行系统的讲解。8051单片机包含中央处理器、程序存储器

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

4、定义的字型表。?程序存储器 ROM :8051共有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系列单片机则采用普林斯顿结构。下图是MCS-51系列单片机的内部结构示意图。图2-单片机的内部结构MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采

6、用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:图3-单片机外部引脚图Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESE

7、T引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态8051的复位方式可以是自动复位,也可以是手动复位,见下图。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图4?Pin30:ALE/当访问外部程序器时,ALE 地址锁存 的输出用于锁存地址的低位字节。而访问内部程序存储

8、器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。?Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。?Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据

9、。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。在编程时,EA/Vpp脚还需加上21V的编程电压。水平垂直方向均为红灯说明:A 当水平方向为红灯时,时间持续30秒,此时水平方向的道路为禁行线,垂直方向的道路为放行线,绿灯25秒正常通行,黄灯5秒提醒路人交通灯的状态即将变化;B 当垂直方向为红灯时,时间持续30秒,此时垂直方向的道路为禁行线,垂水平向的道路为放行线,绿灯25秒正常通行,黄灯5秒提醒路人交通灯的状态即将变化;C 水平方向的交通灯按红-绿-黄三种颜色循环变化,垂直方向的交通灯按绿-黄-红三种颜色循环变化,这样行人和车辆

10、就可以安全畅通的通行。D当手动按下紧急按钮后,水平方向和垂直方向都会有十秒的红灯,十秒倒计时结束后,红灯继续完成被打断前的计时,直到数码显示管显示0,继续按设定的自动交通灯变化规律变化 系统总框图 硬件接线图1. 红绿灯接线图本设计利用单片机的p3口来驱动和控制各种信号灯的燃亮和燃亮时间,在实际中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,所以我们就只用单片机的信号引脚直接来控制发光二极管,其接线图如下: 作为单通道模拟信号输入时ADC0832的输入电压是05V 3. 时间显示接线图采用了P2口驱动数码显示管显示时间,选用7SEG-MPX2-CA共阳极数码管显示。P3

11、.0口选择LEDA,P3.1口选择LEDB。通过P1.0口外接一个紧急按钮,按下后红灯持续亮10秒。单片机最小系统如上,以80S51为核心,外加时钟和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求。89C51单片机系列是MCS-51系列的基础上发展起来的,是当前8位单片机的典型代表,采用CHMOS工艺,即互补金属氧化物的HMOS工艺, CHMOS是CMOS和HMOS的结合,具有HMOS高速度和高密度的特点,还具有CMOS低功耗的特点。时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为12MHz的

12、晶振,一个机器周期为1us,C2,C3为30pF。运行效果图(正常运行)(按下紧急按钮后进行十秒倒计时)(调节滑动变阻器使得电压大于3V时模拟撞红灯,LED亮)见附录软件设计3.1 程序流程图 本程序中,初值定为25ms,12M,故T0的初值为: TH0 0x9e TL0 0x58计数器计算公式: T (MTC)T计数 或T计数T计数是单片机时钟周期的倍;为定时初值如单片机的主脉冲频率为,经过分频方式213微秒毫秒方式216微秒毫秒显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题序代码()主程序/*主函数*/void main void char

13、i;init ;/初始化while 1 dx_R 1;dx_Y 0;dx_G 0;nb_R 0;nb_Y 0;nb_G 1;for i N;i 0;i- deal i ; dx_R 1;dx_Y 0;dx_G 0;nb_R 0;nb_Y 1;nb_G 0;N 5;for i N;i 0;i- deal i ; dx_R 0;dx_Y 0;dx_G 1;nb_R 1;nb_Y 0;nb_G 0;N 25;for i N;i 0;i- deal i ; dx_R 0;dx_Y 1;dx_G 0;nb_R 1;nb_Y 0;nb_G 0;N 5;for i N;i 0;i- deal i ; /if

14、 ADC_0832 153 beep 0;else beep 1;/如果采集到的模拟量数值大于3V也就是153/255x5 3 中断服务子程序void timer0 interrupt 1 using 0 /T0定时 定时25ms TH0 0x9e;TL0 0x58;time+;if time 20 time 0; if !button _red ;/每25ms扫描一次是不是有按键按下 紧急按钮程序void _red void /当手按下后 红灯亮10s; char i,t;N 10;dx_R 1;dx_Y 0;dx_G 0;nb_R 1;nb_Y 0;nb_G 0;for i N;i 0;i

15、- /消振; t 60;while t- display i ; 显示模块void display char dat led_A led_B 0;P2 0XFF;/初始点亮两块LEDP2 tab_dispdat/10;/求LEDA上显示计时的十位数if dat/10 led_A 1;delay 1000 ;P2 0XFF;led_A led_B 0;P2 tab_dispdat%10;/LEDB上显示计时的个位数led_B 1;delay 1000 ;运行调试仿真成功。功能实现。五、心得体会 通过这次实现我熟悉了51单片机汇编语言程序的编写和单片机设计仿真工具PROTEUS的使用。首先要尽可能

16、地采用结构化的程序设计方法,将功能模块化,由不同的模块完成不同的功能;PROTEUS不仅是模拟电路,数字电路,模/数混合电路的设计与仿真平台,更是目前世界上最先进,最完整的多种型号单片机系统的设计与仿真平台。它真正实现了在计算机上完成从原理图设计,电路分析与仿真,单片机代码级调试与仿真,系统测试与功能验证到形成PCB的完整的电子设计,研发过程。 通过这次交通灯的课程设计,使我得到了一次用专业知识、专业技能分析和解决现实问题的能力。使我在单片机的基本原理、单片机应用学习过程中,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为一名合格的应用型人才打下良好的基础。综合课程设计让我把

17、以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更深层次的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流得到解决。还有交通灯是我们生活中非常常见的一种东西,对于我们学以致用的这种能力得到了很好锻炼,能够为我们以后的工作于学习打下基础。4、余发山 王福忠 单片机原理及应用技术 M.徐州:中国矿业大学出版社 2008.5、蔡伟智 LED道路交通灯的研制 液晶与显示 第20卷第五期6、刘乐善 微型计算机接口技术及应用M.北京: 华中科技大学出版社 2004.7、李伯成.基于MCS-51单片机的嵌入式系统的设计M.北京:电子工业出

18、版社,2004.8、吴黎明, 王桂棠, 洪添胜, 等. 单片机原理及应用技术 M . 北京: 科学出版社,2005.9、韩克, 柳秀山, 等. 电子技能与E D A 技术M.广州:暨南大学出版社,2004.七、附录7.1 器材清单7.2 程序清单#include sbit ADC_CS P14sbit ADC_CLK P15;sbit ADC_DI P16;sbit beep P17;sbit button P10;sbit led_A P30;/数码管sbit led_B P31;sbit dx_R P32;/东南西北红绿黄三种led灯的定义sbit dx_Y P33;sbit dx_G P

19、34;sbit nb_R P37;sbit nb_Y P36;sbit nb_G P35;char N 25;/定义初始的倒计时25sunsigned char data1,timechar tab_disp 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x80 ;/共阴极/*延时子函数*/void delay int t while t- ; /ADC0832的模拟量读取int ADC_0832 void char i; ADC_CS 0;/当ADC0832未工作时其CS输入端

20、应为高电平,此时芯片禁用. ADC_CLK 0; ADC_DI 1; ADC_CLK 1; ADC_CLK 0;/1 down ADC_DI 1; ADC_CLK 1; ADC_CLK 0;/ 2 down ADC_DI 0; ADC_CLK 1; ADC_CLK 0;/ 3 down ADC_DI 1; ADC_CLK 1; ADC_CLK 0;/ 4 down for i 8;i 0;i- data1 1; ADC_CLK 0;ADC_CLK 1;if ADC_DI 1 data1| 0x01;ADC_DI 1; ADC_CS 1; return data1; /初始化中断定时器,保证1s

21、中刷新一次void init void /声明中断初始化 EA 1;/中断总开关 EX0 0;/关中断0开关 IT0 1;/下降沿有效TMOD 0x01;/T0方式1 ET0 1; TH0 0x9e; /初始值25ms 12MTL0 0x58;EX0 1;TR0 1; /显示模块,两个数码管显示数据void display char dat led_A led_B 0;P2 0XFF;P2 tab_dispdat/10;if dat/10 led_A 1;delay 1000 ;P2 0XFF;led_A led_B 0;P2 tab_dispdat%10;led_B 1;delay 1000 ; /延时消振void deal char m int t 60;while t- display m ; /*当手按下后 红灯亮10s操作*/void _red void char i,t;N 10;dx_R 1;dx_Y 0;dx_G 0;nb_R 1;nb_Y 0;nb_G 0;for i N;i 0;i- t 60;while t- display i ; /*主函数*/void main

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论