交通等控制系统(C语言)

上传人:woxinch****an2018 文档编号:38970402 上传时间:2018-05-10 格式:DOC 页数:13 大小:1.01MB
返回 下载 相关 举报
交通等控制系统(C语言)_第1页
第1页 / 共13页
交通等控制系统(C语言)_第2页
第2页 / 共13页
交通等控制系统(C语言)_第3页
第3页 / 共13页
交通等控制系统(C语言)_第4页
第4页 / 共13页
交通等控制系统(C语言)_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《交通等控制系统(C语言)》由会员分享,可在线阅读,更多相关《交通等控制系统(C语言)(13页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计设计内容:基于单片机的交通控制系统系 别:机械工程学院班 级:学生姓名:学 号:指导老师:成 绩: 2012 年 5 月 引言 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁, 这点更是体现的淋漓尽致。人、车、路三者关系的协调,已成为交通管理部门 需要解决的重要问题之一。交通信号灯的出现,使交通得以有效管制,对于疏 导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技 的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更1新。在实时检测和自动控制的单片机应用系统中,单片机往往作为核心器件来 使用,以实现各项功能。 本设计就是采用

2、AT89S52 单片机为中心器件来设计交通灯控制器,实现了 智能控制功能。2 2 设计任务及总体方案设计任务及总体方案 2.12.1 设计任务及要求设计任务及要求 利用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄 灭,并且用 4 只 LED 数码管显示十字路口两个方向的剩余时间。具体设计要求 如下。十字交叉路口的交通灯控制系统的结构如图 1.1 所示。 往南和往北的信号一致,即红灯 (绿灯或黄灯)同时亮或同时熄灭。用 两个数码管来显示被点亮的指示灯还将 点亮多久。往东和往西方向的信号一致, 其工作方式与南北方向一样,也采用两 个数码管来倒计时。当南北方向为绿灯 和黄灯时,东西向

3、的红灯点亮禁止通行; 而东西方向为绿灯和黄灯时,南北向的 红灯点亮禁止通行。 假设南北方向为主干道,通行时间 为 40 秒,东西方向是次干道,通行时 间为 40 秒,黄灯点亮的时间均为 5 秒, 则其工作方式如下表所示循环点亮信号 灯。交通信号灯工作模式2南北向绿灯亮 40 秒黄灯亮 5 秒红灯亮 45 秒东西向红灯亮 45 秒绿灯亮 40 秒黄灯亮 5 秒2.22.2 总体方案介绍:总体方案介绍: 本系统电路由单片机 AT89S52、复位电路、时钟电路、数码管显示电路以及 发光二级管显示电路构成,逻辑框图如下图所示。复位电路时钟电路单 片 机 AT89S52发光二极管 现实电路数码管显示 电

4、路各相应组成部分提供定时信号,使得相应的发光二极管和数码管显示。3 3 硬件系统的设计硬件系统的设计 3.13.1 AT89S52AT89S52 简介简介 AT89S52 单片机是一种低功耗、高性能 CMOS 8 位微控制器。它具有以下主要标准功能: 8KB 可重 复编成的 Flash 存储器, 32 位 I/O 口线,看门狗 定时器,2 个数据指针,三个 16 位定时器/计数器, 8 个中断向量源,全双工串行口。它采用单一+5V 电 源。 其 I/O 口分别为 P0、P1、P2 和 P3,其中 P0 口 作通用 I/O 接口时必须接上上拉电阻;P1 口是准双 向口,只能作通用 I/O 接口使

5、用;P2 口可作通用 I/O 接口和高 8 位地址线;P3 口不仅可作准双向 I/O 接口使用,而且每一根线都具有第二功能。本 设计中,只用了 P0、P1 和 P2 口,它们都作通用 I/O 口使用。3.23.2 时钟电路时钟电路 如图所示,本设计采用内部时钟产生方式, 在 XTAL1 和 XTAL2 两端跨接 12Mhz 的石英晶振和 两个 30pF 的振荡电容,构成始终电路。3.33.3 复位电路复位电路3本设计用 RC 元件构成外部复位电路,因为 RC 时间常数应大于两个机器周 期,所以电容选取 10uf,电阻选取 1k 和 200 欧姆。复位方式有两种:上电复 位和按钮复位。本设计采用

6、按钮复位方式,电路图如右图所示。3.43.4 LEDLED 数码管显示模块数码管显示模块 本设计中 LED 数码管显示模块电路如下图所示,其中 D0、D1 数码管显示南 北向时间,D2、D3 数码管显示东西向时间。本设计所用 LED 数码管显示器是共阴极 8 段式数码管,其内部 8 段发光二 极管的阴极端连接在一起,阳极端分开控制,使用时公共端接地,因此,点亮 发光二极管,只需给对应的阳极端送高电平。给数码管的各个引脚输入不同的 8 位二进制编码,可显示不同的数字或字符,这种二进制编码称为字段码。本 设计所用共阴极数码管的字段码如下图所示。 显示字符的共阴极字段码 显示字符共阴极字段码03FH

7、 106H25BH34FH466H56DH67DH707H87FH496FHLED 数码管在显示时,通常有静态显示方式和动态显示方式两种。 静态显示结构简单,操作方便,要显示某个数字,直接在 I/O 线上发送相 对应的字段码,但是一个数码管就需要 8 根 I/O 线,而本系统中数码管数量较 多,需要占用的 I/O 线很多;动态显示所用的 I/O 接口信号线少,线路简单, 因此本系统选用动态显示方式。四个数码管的段选线并接在一起通过 P0 口控制, 它们的公共端不直接接地,每个数码管的公共端分别与一根 I/O 口项链,通过 P2 口控制。动态显示的工作原理是 4 个数码管轮流显示相应的数字,一次

8、循环 完毕后,下一次循环又这样轮流显示,由于人的视觉暂留效应,循环的周期太 快,只有几十微秒,所以看起来所有的数码管是一起显示的。并在 P0 口接 7407 芯片,起到缓冲的作用,使得系统更加稳定。3.53.5 红绿灯显示模块红绿灯显示模块 本系统红绿灯显示电路如图所示。其中 R1、Y1、G1 分别表示南北红、黄、 绿灯,R2、Y2、G2 分别表示东西红、黄、绿灯。 本系统采用共阴极结构发光二极管,6 段发光二极管的阴极端连接在一起,阳 极端分开控制,使用时公共端接地,要使哪根发光二极管点亮,则对应得阳极 端接高电平。由 P1 口控制,输入对应字段码,显示对应的发光二极管。 3.63.6 系统

9、电路图系统电路图 系统电路图见附录二。 4 4 软件系统的设计软件系统的设计 4.14.1 软件设计分析软件设计分析 为了增加程序的可读性,理清程序的编写思路,程序采用模块化结构,本 系统按以下几个模块编写程序: 主程序模块: 初始化程序,RAM 清零,子程序的调用。 延时子程序模块:产生 1ms 延时信号,循环调用 1000 次完成 1 秒钟延 时,循环调用 500 次完成 0.5 秒定时。 显示子程序模块:为 12 位 LED 动态显示提供驱动信号。P0 口和 P2 口为 数码管提供驱动信号,P0 口送出段选码,P2 口为位选码。 P1 口输出字段码控制红绿灯亮灭:南北绿灯亮,东西红灯亮时

10、 P1=001100B=0CH,同时数码管从 40 倒计时到 00;南北黄灯闪烁,东西红灯亮, 亮 0.5S,P1=001010B=0AH,灭 0.5S,P1=001000B=08H,同时数码管从 05 倒计 时到 00;南北红灯亮,东西绿灯亮时 P1=100001B=21H,同时数码管从 40 倒计5时到 00;南北红灯亮,东西黄灯闪烁,亮 0.5S,P1=010001B=11H,灭 0.5S, P1=000001B=01H。4.4.2 2 程序流程图程序流程图开始南北绿灯亮,东西红灯亮,数码管显示时间,40s 倒计 时南北黄灯闪烁,东西红灯亮,数码管显示时间,5s 倒计时南北红灯亮,东西绿

11、灯亮,数码管显示时间,40s 倒计 时南北红灯亮,东西黄灯闪烁,数码管显示时间,5s 倒计时程序初始化4.4.3 3 系统程序系统程序 系统程序见附录65 5 设计总结设计总结 为期十周的单片机课程设计已经接近尾声,这次的课程设计与以往的课程 设计安排有些不同,将时间分散到每周,而不像以往的集中在两周做,这样提 高了课程设计的难度,也考验了我们的能力。在设计过程中,遇到了许多问题, 在老师的指导下,以及靠查询图书馆资料克服了种种困难,最终顺利完成了设 计。总体来说,这次的课程设计使我受益匪浅。 在设计过程中,遇到了许多问题。在开始的时候,设计硬件电路图,需要 用 Protel 软件,这个软件虽

12、然以前接触过,但是用的很是不熟,尤其是在新建 库文件的时候,但是在老师的指导下,我基本掌握了 Protel 的基本制图技巧。 在做完硬件电路的基础上,我开始编制程序,我采用的是模块化编程方式,然 后调用各子程序。由于以前学习理论知识的时候是学的用汇编语言编程,而这 次课程设计要求使用 C 语言编程,所以在编程的时候遇到了一些问题。在编制 定时程序的时候,由于我对定时器这一块掌握的不是很透彻,因此选用延时程 序代替定时程序,又因为延时程序不如定时器来得准,会有些误差,所以我用 Keil 软件内部调试方法,改变所赋初值,使得定时误差降到很小很小。诸如此 类,小问题很多,但是最终都被克服。 通过这次

13、的课程设计,我掌握了基本的 C 语言编程方法,也掌握了 Protel 基本制图技巧和 Keil 软件的调试操作,这次课程设计,收获很大!最后,感谢 老师十周以来的指导!76 6 参考文献参考文献 1.谢维成,杨加国.单片机原理与应用及 C51 程序设计.北京:清华大学出版社, 2003 2.李建忠.单片机原理及应用.西安:西安电子科技大学出版社,2002 3.谭浩强.C 语言设计(第 2 版).北京:清华大学出版社。1999 4.严天峰.单片机应用系统设计与仿真调试.北京:北京航空航天大学出版社, 2005 5.张齐等.单片机应用系统设计基于 C 语言编程.北京:电子工业出版社, 2004 6

14、.赵亮,侯国锐.单片机 C 语言编程与实例.北京:人民邮电出版社,20037 7 附录附录 7.17.1 附录一:系统程序附录一:系统程序 #include #include #define uchar unsigned char void delay_1ms(uchar t) void scan(void) void scan_led(uchar k) void scan_led40(void) void scan_led5(uchar x) charcode LED_711=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;/ 共

15、阴极 LED 数码管的字段码 char code scan_con4=0x01,0x02,0x04,0x08;/4 个 LED 数码管的位选码8void delay_1ms(uchar t) /1ms 延时程序 uchar i,j; for(i=0;i0;m-) for(n=0;n0;i-) /南北黄灯闪烁,东西红灯亮 P1=0x0a; scan_led5(i); P1=0x08; scan_led5(i); P1=0x21; /南北红灯亮,东西绿灯亮 scan_led40(); for(j=5;j0;j-) /南北红灯亮,东西黄灯闪烁 P1=0x11; scan_led5(j); P1=0x01; scan_led5(j); void main() P0=0x00; /初始化 P1=0x00; P2=0x00; while(1) scan(); /显示程序 7.27.2 附录二:系统原理图附录二:系统原理图107.37.3 附录三:元器件清单附录三:元器件清单11序号元件名数量 1AT89S52 单片机1 212Mhz 晶振1 330pf 电容2 410uf 电解电容1 5按键1 610k 电阻2 71k 电阻6 8470 电阻8 9发光二极管6 107407 芯片1 118 段共阴极 LED 数码管4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号