- 1、本文档共32页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕 业 论 文
院 系:机械与电子工程学院
题 目:智能交通灯控制设计
班 别:11 应用电子技术2班
姓 名: XXXXX
指导教师: XXXXX
二O一三 年 一 月 十五 日
目 录
一、摘 要 2
二、引 言 3
三、交通灯设计方案与论证 4
3.1 设计任务 4
3.2 方案图 4
3.3 模拟现实交通灯 4
四、硬件系统设计 6
4.1 传感器检测技术概述 6
4.2 压力传感器工作原理 7
4.3 单片机概述 9
4.4 AT89C51单片机简介 9
4.5 单片机的内部组成及信号引脚 10
4.5.1 89C51单片机的基本组成 10
4.5.2 单片机 89C51引脚功能 11
4.6 中断系统 13
4.6.1 中断及相关概念 14
4.6.2 MCS-51 中断系统的结构 14
4.6.3 中断有关寄存器 14
1. 中断源 14
4.7 数码管 16
4.7.1 数码管概述 16
4.7.2 驱动方式 16
4.7.3 结构图 17
五、交通灯软件设计 19
5.1 程序设计流程图 19
5.2 工作原理 20
5.3 程序代码与模块 20
六、 总 结 25
参考资料 25
致 谢 26
附 录 27
一、摘 要
近年来随着科技的飞速发展,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。还应根据具体硬件结构软硬件结合,加以完善。本设计就是以单片机为架构的智能交通灯系统。本系统由单片机、、组成。直行及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置分时段调整信号灯的点亮时间以及根据具体情况控制等功
关键词: 单片机 交通灯 主要特性:·与MCS-51 兼容 ·4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟
芯片擦除生成LCALL指令后,CPU紧跟着便执行之.首先将PC(程序计数器)的内容压入堆栈保护断点,然后把中断入口地址赋予PC,CPU便按新的PC地(即中断服务程序入口地址)执行程序。值得一提的是,各中断区只有8个单元,一般情况下(除非中断程序非常简单),都不可能安装下一个完整的中断服务程序。因此,通常是在这些入口地址区放置一条无条件转移指令,使程序按转移的实际地址去执行真正的中断服务程序。
4.7.1 数码管概述
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
五、交通灯软件设计
5.1 程序设计流程图
5.2 工作原理
5.3 程序代码与模块
1、数码管编码模块:
uchar ew,a,h,e,s; //共阳数码管编码
uchar code led[ ] ={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 };
此设计采用双位共阳数码管
2、东向通道模块:
void dong( ) // 东向通道全局变量
{ uchar A,ewt; // 定义无符号字符型变量
P0=0xff;
P2=0xff;
if(S0!=1) // 东向通道传感器检测(S0按键),不等于1时
{ ewt=60; } // 是?东向通道输出60秒
else {ewt=30;} // 否则东向输出35秒
g1=0; // 东通道绿灯亮
r2=0;r3=0;r4=0; // 南、西、北通道红灯亮
ew=ewt;
e=ew;
for(;ew0;) // ewt0; ewt开始倒计时;
{
if(a==10)
{ a=0; ew--; e--; }
djs(ew,e);
}
h=5; // h 表示倒计时 5 秒 ;黄灯开始闪烁;
for(A=5;A0;) // A0 ;黄灯也开始闪烁 5秒;
{ if(a==10)
{ y1=0;y2=0; } // 东向、南向黄灯同时闪烁,警告
if(a==20)
{ a=0;h--;s--;y1=1;y2=1;A--; }
文档评论(0)