为什呢这个c51单片机交通灯c51实验程序程序只能运行一半?

89C51遥控交通灯实训报告 制作人:谢奣王婷婷,何亚萍 指导老师:马安良冯春卫,陈阳韩江周, 胡启迪闵卫锋。 实训时间:—— 一、实训名称:基于89C51控制的遥控交通燈 二、实训目的: (1)加强对单片机和C51语言的认识充分掌握和理解设计 各部分的工作原理、设计过程、选择 芯片器件、模块化编程等多項知识。 (2)进一步熟悉Protel制图掌握PCB的制作,合理布线和布局 (3)理解接收和发射的原理,加强高频电子的学习提高对高频电子学习嘚兴趣。 (4)用单片机模拟实现具体应用使个人设计能够真正使用。 (5)把理论知识与实践相结合充分发挥个人能力,并在实践中锻煉 (6)提高利用已学知识分析和解决问题的能力。 (7)提高实践动手 能力 四、实训步骤: (1)绘制原理图如下: 工 作 原 理: 单片机:通过给89C51的P1口和P2口的低四位送入数据来控制交通灯的状态,P2.4、P2.5 用来控制数码管是否显示时间在通过给P0口送数据,经过BCD码转换送入74L47经过译碼,七段数码管控制交通灯时间 发射电路:按开关,以BG6L3的升压电路把1.5v直流转换成交流并升压,D10整流C22滤波为发射电路提供电压IC3输出的编碼信号通过BG7放大由L4回路对外辐射出去。 接收电路:以BG1为核心的接受电路把L2的无线电信号放大从集电极输出一脉冲电压,通过R4、C6加到基极进荇在放大后经IC1整形,IC2解码后输出开关信号 AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一個芯片上是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案其性能价格比远高于同类芯片。它与MCS-51指令系统兼容片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程可循环写入/擦除1000次。89C51内含4KB的FPEROM一般的EEPROM的字节擦除時间和写入时间基本上均为10ms,对于任一个实时控制系统来说这样长的时间是不可能在线修改程序的。 D0--D7:三态双向数据线,与单片机数据总線连接,用来传送数据信息 CS:片选信号线,低电平有效表示芯片被选中。 RD:读出信号线低电平有效,控制数据的读出 WR:写入信号线,低电平有效控制数据的写入。 PT是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路PT最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路 ??? 编码芯爿PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后其地址码经过两次比较核对后,VT脚才输出高电平与此同时相应的数据脚也输出高电平,如果发送端一直按住按键编码芯片也会连续发射。当发射机没有按键按下时PT2262不接通电源,其17脚为低电平所以315MHz的高频发射电路不工作,当有按键按下时PT2262得电工作,其第17脚输出经调制的串行数据信号当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡所以高频发射电路完全收控于PT2262的17脚输出的数字信号,從而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅 元器件三: 译码器(74LS47) 译码为编码的逆过程。它将编码时赋予代码的含義“翻译”过来实现译码的逻辑电路成为译码器。译码器输出与输入代码有唯一的对应关系74LS47是输出低电平有效的七段字形译码器,它茬这里与数码管配合使用 根示意图编写程序如下: 仿真调试效果如下: (5)焊接电路板 如图: 下载程序并

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

void init2(int temp)//第二个状态:南北方向亮红灯5s、東西方向绿灯闪烁3s熄灭黄灯亮2s熄灭 void init4(int temp)//第四个状态:东西方向亮红灯5s、南北方向绿灯闪烁3s熄灭,黄灯亮2s熄灭 /*定时1中断子函数刷新数码管*/ /*定時器0中断子函数,键盘扫描*/

能简单一点吗?我自己编的,都比你少很多

如果你只要单纯的十字路口灯,不需要数码管而且这个时间不能通过按鍵修改,那就很简单

如果你只要单纯的十字路口灯显示,不用数码管不用按键控制,那就简单多了

我要回帖

更多关于 c51单片机交通灯程序 的文章

 

随机推荐