欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:63281298       资源大小:1,016KB        全文页数:13页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    单片机课程设计设计容:基于单片机的交通控制系统系 别:机械工程学院班 级:学生:学 号:指导老师:成 绩:2012年5月引言交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为核心器件来使用,以实现各项功能。本设计就是采用AT89S52单片机为中心器件来设计交通灯控制器,实现了智能控制功能。2 设计任务与总体方案2.1 设计任务与要求 利用单片机的定时器产生秒信号,控制十字路口的红绿黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。具体设计要求如下。十字交叉路口的交通灯控制系统的结构如图1.1所示。 往南和往北的信号一致,即红灯(绿灯或黄灯)同时亮或同时熄灭。用两个数码管来显示被点亮的指示灯还将点亮多久。往东和往西方向的信号一致,其工作方式与南北方向一样,也采用两个数码管来倒计时。当南北方向为绿灯和黄灯时,东西向的红灯点亮禁止通行;而东西方向为绿灯和黄灯时,南北向的红灯点亮禁止通行。假设南北方向为主干道,通行时间为40秒,东西方向是次干道,通行时间为40秒,黄灯点亮的时间均为5秒,则其工作方式如下表所示循环点亮信号灯。交通信号灯工作模式南北向绿灯亮40秒黄灯亮5秒红灯亮45秒东西向红灯亮45秒绿灯亮40秒黄灯亮5秒2.2 总体方案介绍:本系统电路由单片机AT89S52、复位电路、时钟电路、数码管显示电路以与发光二级管显示电路构成,逻辑框图如下图所示。复位电路时钟电路单片机AT89S52发光二极管现实电路数码管显示电路各相应组成部分提供定时信号,使得相应的发光二极管和数码管显示。3 硬件系统的设计3.1 AT89S52简介AT89S52单片机是一种低功耗、高性能CMOS 8位微控制器。它具有以下主要标准功能: 8KB可重复编成的Flash存储器, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,8个中断向量源,全双工串行口。它采用单一+5V电源。其I/O口分别为P0、P1、P2和P3,其中P0口作通用I/O接口时必须接上上拉电阻;P1口是准双向口,只能作通用I/O接口使用;P2口可作通用I/O接口和高8位地址线;P3口不仅可作准双向I/O接口使用,而且每一根线都具有第二功能。本设计中,只用了P0、P1和P2口,它们都作通用I/O口使用。3.2 时钟电路如图所示,本设计采用部时钟产生方式,在XTAL1和XTAL2两端跨接12Mhz的石英晶振和两个30pF的振荡电容,构成始终电路。3.3 复位电路本设计用RC元件构成外部复位电路,因为RC时间常数应大于两个机器周期,所以电容选取10uf,电阻选取1k和200欧姆。复位方式有两种:上电复位和按钮复位。本设计采用按钮复位方式,电路图如右图所示。3.4 LED数码管显示模块本设计中LED数码管显示模块电路如下图所示,其中D0、D1数码管显示南北向时间,D2、D3数码管显示东西向时间。本设计所用LED数码管显示器是共阴极8段式数码管,其部8段发光二极管的阴极端连接在一起,阳极端分开控制,使用时公共端接地,因此,点亮发光二极管,只需给对应的阳极端送高电平。给数码管的各个引脚输入不同的8位二进制编码,可显示不同的数字或字符,这种二进制编码称为字段码。本设计所用共阴极数码管的字段码如下图所示。显示字符的共阴极字段码显示字符共阴极字段码03FH106H25BH34FH466H56DH67DH707H87FH96FHLED数码管在显示时,通常有静态显示方式和动态显示方式两种。静态显示结构简单,操作方便,要显示某个数字,直接在I/O线上发送相对应的字段码,但是一个数码管就需要8根I/O线,而本系统中数码管数量较多,需要占用的I/O线很多;动态显示所用的I/O接口信号线少,线路简单,因此本系统选用动态显示方式。四个数码管的段选线并接在一起通过P0口控制,它们的公共端不直接接地,每个数码管的公共端分别与一根I/O口项链,通过P2口控制。动态显示的工作原理是4个数码管轮流显示相应的数字,一次循环完毕后,下一次循环又这样轮流显示,由于人的视觉暂留效应,循环的周期太快,只有几十微秒,所以看起来所有的数码管是一起显示的。并在P0口接7407芯片,起到缓冲的作用,使得系统更加稳定。3.5 红绿灯显示模块本系统红绿灯显示电路如图所示。其中R1、Y1、G1分别表示南北红、黄、绿灯,R2、Y2、G2 分别表示东西红、黄、绿灯。本系统采用共阴极结构发光二极管,6段发光二极管的阴极端连接在一起,阳极端分开控制,使用时公共端接地,要使哪根发光二极管点亮,则对应得阳极端接高电平。由P1口控制,输入对应字段码,显示对应的发光二极管。3.6 系统电路图系统电路图见附录二。4 软件系统的设计4.1 软件设计分析为了增加程序的可读性,理清程序的编写思路,程序采用模块化结构,本系统按以下几个模块编写程序: 主程序模块:初始化程序,RAM清零,子程序的调用。 延时子程序模块:产生1ms延时信号,循环调用1000次完成1秒钟延时,循环调用500次完成0.5秒定时。 显示子程序模块:为12位LED动态显示提供驱动信号。P0口和P2口为数码管提供驱动信号,P0口送出段选码,P2口为位选码。P1口输出字段码控制红绿灯亮灭:南北绿灯亮,东西红灯亮时P1=001100B=0CH,同时数码管从40倒计时到00;南北黄灯闪烁,东西红灯亮,亮0.5S,P1=001010B=0AH,灭0.5S,P1=001000B=08H,同时数码管从05倒计时到00;南北红灯亮,东西绿灯亮时P1=100001B=21H,同时数码管从40倒计时到00;南北红灯亮,东西黄灯闪烁,亮0.5S,P1=010001B=11H,灭0.5S, P1=000001B=01H。4.2 程序流程图开始南北绿灯亮,东西红灯亮,数码管显示时间,40s倒计时南北黄灯闪烁,东西红灯亮,数码管显示时间,5s倒计时南北红灯亮,东西绿灯亮,数码管显示时间,40s倒计时南北红灯亮,东西黄灯闪烁,数码管显示时间,5s倒计时程序初始化4.3 系统程序系统程序见附录5 设计总结为期十周的单片机课程设计已经接近尾声,这次的课程设计与以往的课程设计安排有些不同,将时间分散到每周,而不像以往的集中在两周做,这样提高了课程设计的难度,也考验了我们的能力。在设计过程中,遇到了许多问题,在老师的指导下,以与靠查询图书馆资料克服了种种困难,最终顺利完成了设计。总体来说,这次的课程设计使我受益匪浅。在设计过程中,遇到了许多问题。在开始的时候,设计硬件电路图,需要用Protel软件,这个软件虽然以前接触过,但是用的很是不熟,尤其是在新建库文件的时候,但是在老师的指导下,我基本掌握了Protel的基本制图技巧。在做完硬件电路的基础上,我开始编制程序,我采用的是模块化编程方式,然后调用各子程序。由于以前学习理论知识的时候是学的用汇编语言编程,而这次课程设计要求使用C语言编程,所以在编程的时候遇到了一些问题。在编制定时程序的时候,由于我对定时器这一块掌握的不是很透彻,因此选用延时程序代替定时程序,又因为延时程序不如定时器来得准,会有些误差,所以我用Keil软件部调试方法,改变所赋初值,使得定时误差降到很小很小。诸如此类,小问题很多,但是最终都被克服。通过这次的课程设计,我掌握了基本的C语言编程方法,也掌握了Protel基本制图技巧和Keil软件的调试操作,这次课程设计,收获很大!最后,感老师十周以来的指导!6 参考文献1.维成,加国.单片机原理与应用与C51程序设计.:清华大学,20032.建忠.单片机原理与应用.:电子科技大学,20023.谭浩强.C语言设计(第2版).:清华大学。19994.严天峰.单片机应用系统设计与仿真调试.:航空航天大学,20055.齐等.单片机应用系统设计基于C语言编程.:电子工业,20046.亮,侯国锐.单片机C语言编程与实例.:人民邮电,20037 附录 7.1 附录一:系统程序#include<reg52.h>#include<stdio.h>#define uchar unsigned charvoid delay_1ms(uchar t)void scan(void)void scan_led(uchar k)void scan_led40(void)void scan_led5(uchar x)charcodeLED_711=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;/共阴极LED数码管的字段码char code scan_con4=0x01,0x02,0x04,0x08;/4个LED数码管的位选码void delay_1ms(uchar t) /1ms延时程序uchar i,j;for(i=0;i<t;i+)for(j=0;j=120;j+);void scan_led(uchar k) /数码管显示倒计时P2=scan_con0;P0=LED_7k/10;delay_1ms(1);P2=scan_con1;P0=LED_7k%10;delay_1ms(1);P2=scan_con2;P0=LED_7k/10;delay_1ms(1);P2=scan_con3;P0=LED_7k%10;delay_1ms(1);void scan_led40()uchar m,n;for(m=40;m>0;m-)for(n=0;n<1000;n+)scan_led(m);void scan_led5(uchar x)uchar y;for(y=0;y<500;y+)scan_led(x);void scan() /显示程序uchar i,j;P1=0x0c; /南北绿灯亮,东西红灯亮scan_led40(); for(i=5;i>0;i-) /南北黄灯闪烁,东西红灯亮P1=0x0a; scan_led5(i); P1=0x08;scan_led5(i);P1=0x21; /南北红灯亮,东西绿灯亮scan_led40(); for(j=5;j>0;j-) /南北红灯亮,东西黄灯闪烁P1=0x11;scan_led5(j);P1=0x01;scan_led5(j);void main()P0=0x00; /初始化P1=0x00;P2=0x00;while(1)scan(); /显示程序7.2附录二:系统原理图7.3 附录三:元器件清单序号元件名数量1AT89S52单片机1212Mhz晶振1330pf电容2410uf电解电容15按键1610k电阻271k电阻68470电阻89发光二极管6107407芯片1118段共阴极LED数码管412 / 13

    注意事项

    本文(交通等控制系统(C语言).doc)为本站会员(可****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开