网站大量收购独家精品文档,联系QQ:2885784924

(模拟交通信号灯1.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(模拟交通信号灯1

工程技术综合实践 项目设计报告 项目:模拟交通信号灯 A-3 西安理工大学工程训练中心 2012年6月10日AT89S51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。 本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时等功能,较好的模拟实现了十字路口可能出现的状况。 软件上采用汇编语言编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟 二 总体设计 通过控制单片机P1口管脚输出高低电平,实现红绿黄灯交替点亮和熄灭,并且用4只数码管显示十字路口两个方向的剩余时间系统的工作符合一般交通灯控制要求三、电路图及设计文件 1.灯控制电路设计观察图可以看出:组发光管(一组红、一组绿、) 图2 LED显示部分 2.倒计时显示电路设计 前面已经分析过相向的灯的状态和倒计时都是相同的,所以为了节省,采用两组四个数码管 图3 数码管显示部分 3.单片机最小系统 单片机最小系统包括晶振和复位系统,晶振连接方式采用片内时钟振荡方式,在单片机18、 图4 单片机最小系统 2.2逻辑原理图 由于12个LED 来实现红黄绿灯状态;采用两组二个数码管作为倒计时的显示; 图5 电路原理图 2.3 PCB板设计: 用Protel DXP生成的PCB图如下: 图6 PCB图 3.程序设计 #includereg52.h #includeintrins.h #includeabsacc.h #define uint unsigned int #define uchar unsigned char #define C8279 XBYTE[0x5FFF] #define D8279 XBYTE[0x5EFF] uchar code num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80, 0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xff}; uchar shu,shu1,t,aa,bb,keys,num1; bit flag_nbshan,flag_dxshan; sbit beep=P2^0; sbit dx_red=P1^0;//东西红灯 sbit dx_yellow=P1^1;//东西黄灯 sbit dx_green=P1^2;//东西绿灯 sbit nb_red=P1^3;//南北红灯 sbit nb_yellow=P1^4;//南北黄灯 sbit nb_green=P1^5;//南北绿灯 sbit VD1=P1^0; sbit VD2=P1^1; sbit VD3=P1^2; sbit VD4=P1^3; sbit VD5=P1^4; sbit VD6=P1^5; void delay(uint z); void init(); void display();//显示程序 void control();//控制程序 void anjianx(uint n); void main() { init(); while(1) { control(); } } void init() { TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; EX1=1; IT1=0; //低电平触发 EX0=1; IT0=0; C8279=0; //8279的工作方式 C8279=0x2f; //频率 C8279=0xdc; //清除 C8279=0x90; //写RAM t=0; } void time() interrupt 1 { TH0=(65536-50000)/256; TL0=(65536-50000)%256; t++; if(t==10) { t=0; display(); aa++;//标志500ms if(flag_nbshan==1) VD6=~VD6;//南北绿灯闪的标志 if(flag_dxshan==1) VD3=~VD3;//东西绿灯闪的标志 if(aa

您可能关注的文档

文档评论(0)

saity3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档