精品完整版基于单片机的交通灯的设计论文.docx
- 文档编号:7327429
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:26
- 大小:370.27KB
精品完整版基于单片机的交通灯的设计论文.docx
《精品完整版基于单片机的交通灯的设计论文.docx》由会员分享,可在线阅读,更多相关《精品完整版基于单片机的交通灯的设计论文.docx(26页珍藏版)》请在冰豆网上搜索。
精品完整版基于单片机的交通灯的设计论文
(此文档为word格式,下载后您可任意编辑修改!
)
电》
毕业设计(论文)
题目:
基于单片机的交通灯的设计
专业名称:
姓名:
学号:
班级:
指导教师:
年月日
摘要
对基于单片机的交通灯控制系统进行了设计。
系统功能为:
以MCS-51系列单片机作为控制核心,设计并制作交通灯控制系统,东西南北四个方向具有左拐、右拐、直行及行人4种通行指示灯,用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。
在对系统功能分析的基础上,提出了三种设计方案,经比较,选择性能较优的LED动态循环显示方案进行了设计。
设计包括硬件和软件两大部分。
硬件部分包括单片机最小系统、时间显示、交通灯显示三部分。
选用AT89C51单片机作为控制核心,东西南北四个方向设置了LED时间显示和交通灯显示,时间显示采用三位LED显示器,交通灯显示则采用红绿双色高亮发光二极管来模拟。
软件采用了模块化的设计方法,主要分为主程序、定时器中断服务子程序、倒计时显示子程序、交通灯模拟显示子程序四部分。
在实验板上制作了基于单片机的交通灯控制系统样机,对硬件和软件部分分别进行了调试,再进行了软硬件联调,得到的交通灯控制系统样机实物,可圆满地完成毕业设计任务书所要求的功能。
关键词:
交通灯单片机AT89C51
目录
第一章概述1
1.1研究背景1
1.2单片机认识1
1.3单片机的应用2
第二章方案设计3
2.1题目分析3
2.1.1实验目的3
2.1.2设计任务与要求3
2.2方案选择3
2.3方案组成部分4
第三章LED显示器与AT89C515
3.1LED显示器简介5
3.2单片机AT89C516
3.2.1AT89C51的主要性能6
3.2.2AT89C51的引脚功能6
3.2.3AT89C51的内部结构9
第四章相关原理及硬件电路设计13
4.1交叉路口及交通信号控制概论13
4.2LED相关原理14
4.3数码管简介14
第五章各模块电路15
5.1主控制系统15
5.2晶振、复位15
5.3按键模块15
5.4通行灯输出控制16
5.5时间显示电路16
5.6电源电路17
第六章proteus软件仿真18
6.1protues软件仿真效果图18
第七章电路板的运行效果图20
7.1电路板的接线与无状态图20
7.2复位时各灯的显示20
7.3交通灯应用效果图21
第八章心得体会23
参考文献24
附录25
第一章概述
1.1研究背景
社会在发展,经济突飞猛进的同时,城市化进程也在不断加深,机动车已成为城市生活不可或缺的代步工具,交通问题也渐渐成为城市的通病。
拥挤的交通成为消耗时间、能源以及交通事故的和环境污染的主要症结。
交通灯的发明和发展,很好的解决了和保障了交通的有序性和安全性。
对人民生活水平的提高和城市经济的发展来说交通作为城市经济生活的命脉起着不可替代的作用。
为了想很好的解决现代交通问题,最大程度的利用道路的价值,只能交通灯控制系统应运而生,并受到世界的广泛关注和重视。
因此对新型交通灯控制系统的设计和应用对解决交通拥堵和提高道路利用率有着十分现实的意义。
目前,为了解决城市交通需求量迅速增加的问题,主要采用以下两种方法:
首先,在交通基础设施建设、道路新建、合理规划道路线路等“硬件”发面要有所加强;其次,优化的服务理念和智能化的管理控制在“软件”方面的改造在发挥现有道路的通行潜力和提升通行率做出有益贡献。
比较之下,后者太短期内以很少的投资便可以取得实效。
因此,先进的自动化控制方法在交通控制系统中的应用成为亟待解决的问题之一。
目前摆在我们面前的问题是:
如何将先进的智能控制算法和嵌入式系统相结合并研发出高性价比和适合中国国情的交通控制器。
本设计针对基于单片机的交通信号灯的自动控制系统在交通控制中的实现进行研究,将具有重要的理论意义和实际的应用价值。
1.2单片机认识
MCS-51单片机是Intel公司在1980年继MCS-48系列8位单片机之后推出的高档8位单片机。
MCS-51单片机在性能和片内功能方面大大优于MCS-48系列单片机。
MCS-51的典型产品有:
8051、8031、8751、80C51、80C31、87C51等,8051内部有4kBROM,8751内部有4kBEPROM,8031片内无ROM。
除此之外,三者的内部结构及引脚完全相同。
89C51是一种低功耗、高性能CMOS8位微控制器,具有4K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,AT89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
1.3单片机的应用
单片机是应工业测控需要而产生的,最能反映其功能及形态的名称是在一个应用系统中,Single-chipMicro-controller。
按照测控系统的特点和要求,单片机的应用可分为单机应用和多机应用两大类。
我们这次要完成的单片机课程设计就是它的单机应用,下面在介绍一下单片机在单机应用领域内的主要内容。
(1)智能产品
单片机与传统机械产品相结合,使传统机械产品结构简化,控制智能化,购成新一代机电一体化产品。
目前,利用单片机构成的智能产品已广泛应用于家用电器、办公设备、数控机床、纺织机械、工业设备等行业。
(2)智能仪表
目前,各种传感器、变送器、控制仪表已普遍采用单片机应用系统。
它集测量、处理、控制功能于一体,具有各种智能化功能,如存储、数据处理、查找、判断、联网和语音等功能。
单片机构成的智能仪表,能使仪表具有数字化、智能化、多功能化、综合化、柔性化等优点,赋予测量仪表以崭新的面貌,使传统的仪器、仪表发生根本性的变革,它代表了仪器仪表的发展趋势。
(3)测控技术
用单片机构成的各种工业控制系统中的数据采集系统具有工作稳定可靠、抗干扰能力强的优点,如炉温恒温控制系统、电镀生产自动控制系统等。
(4)智能接口
在计算机系统,特别是较大型的工业测控系统中,除通用外部设备外,还由许多外部通信、采集、多路分配管理、驱动控制等接口。
这些外部设备与接口如果完全由主机进行管理,势必会造成主机负担过重,运行速度降低,接口的管理水平也不可能提高。
如果用单片机进行接口的控制与管理,单片机与主机可并行加工处理,可以大量降低接口的通信密度,极大的提高了接口控制管理水平。
在一些通用计算机外部设备上,已实现了单片机的键盘管理、打印机控制、绘图仪控制、硬盘驱动控制等。
第二章方案设计
2.1题目分析
2.1.1实验目的
通过实验确定某地方的交叉路口交通红绿灯的最佳控制方案,按照最佳控制方案进行控制,使得两条路总的车流速度为最大(前提条件:
假定两条路的车流量是均衡的,两条路的车流量相等)。
2.1.2设计任务与要求
(1)设计一个十字路口的交通灯控制电路,要求甲车道和乙车道两条交叉道路上的车辆交替运行,每次通行时间都为16秒并可以调整。
(2)黄灯先亮3秒钟,才能变换运行车道。
(3)黄灯亮时,要求每秒闪亮两次。
(4)如果发生紧急事件,例如救护车、警车经过,则按下单脉冲按钮,使得东、西、南、北四个方向红灯亮。
(5)寻找最佳红绿灯持续时间。
2.2方案选择
方案一:
主控系统采用AT89C51单片机作为控制器,由定时器1间接控制通行倒计时及南北和东西的通行。
由按键开关完成禁止通行,东西通行,南北通行。
方案二:
主控系统采用AT89C51单片机作为控制器,由延时函数完成信号灯的相互转换,由定时器完成通行倒计时。
由按键开关完成禁止通行,东西通行,南北通行。
方案比较:
方案二由于信号灯的相互转换与倒计时显示用的是两种独立的方法完成,要把这两种方法运行的时间达到一致,这大大的增大了程序的难度,而方案一切采用了同一种方法。
就是程序变得了简单。
占用端口少,耗电也最小。
统电源采用独立的+5V稳压电源,有各种成熟电路可供选用,使此方案可靠稳定。
该设计可直接在I/O口上接按键开关,精简并优化了电路。
结合实际情况,显示界面采用LED数码管动态扫描的方法,满足了倒计时的时间显示输出和状态灯提示信息输出的要求,减少系统的复杂度,既经济又简洁。
所以选择方案一。
2.3方案组成部分
该交通灯有以下几个部分组成:
紧急控制(按键电路)、复位电路、晶振电路、电源电路、单片机、led数码管显示、led信号指示灯。
如图2.1所示:
单片机
按键电路→→
LED数码显示管
复位电路
晶振电路
LED指示灯
电源电路
图2.1交通灯的组成
第三章LED显示器与AT89C51
3.1LED显示器简介
通常所说的LED显示器由7个发光二极管组成因此也称之为七段LED显示器,其排列形状如图3.1所示。
此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。
通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其他符号。
LED显示器中的发光二极管共有两种连接方法:
(1)共阳极接法
把发光二极管的阳极连在一起构成公共阳极。
使用时公共阳极接+5V。
这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。
(2)共阴极接法
把发光二极管的阴极连在一起构成公共阴极。
使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。
图3.1显示器排列形状
使用LED显示器时要注意区分这两种不同的接法。
为了显示数字或符号,要为LED显示器提供代码,这些代码是为显示字形的,因此称之为字形代码。
七段发光二极管,再加上一个小数点位,共计八段。
因此提供给LED显示器的字形代码正好一个字节。
各代码位的对应关系如表3.1。
表3.1代码对应关系表
代码位
D7
D6
D5
D4
D3
D2
D1
D0
显示段
dp
g
f
e
d
c
b
A
3.2单片机AT89C51
AT89C51是一种高效微控制器,它是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的Flash只读程序存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)和128×8位的随机存取数据存储器(RAM),该器件采用ATMEL公司的高密度、非易失性存储技术生产,它与MCS-51系统产品兼容,AT89C51单片机功能强大,具有8Kb中央处理器(CPU)和4KbFlash程序存储器,性价比高,可应用于很多要求高性价比的场合,灵活地应用于各个控制领域。
3.2.1AT89C51的主要性能
内含4Kb可重编程的FPEROM;
与MCS-51产品指令系统完全兼容;
128×8位的内部RAM;
4个8位(32根)双向可位寻址的I/O端口;
2个16位的计数/定时器;
全双工方式的串行通道(UART);
6个中断源;
5个向量二级中断结构;
最高时钟振荡频率可达12MHz;
指令集中64条为单周期指令,支持6种寻址方式,共111条指令;
低功耗空闲和掉电方式;
片内振荡器和时钟电路。
3.2.2AT89C51的引脚功能
AT89C51为双列直插(DIP)式封装的51单片机芯片,有40条引脚,其引脚示意及功能分类如图3.2所示。
图3.2AT89C51单片机引脚图
各引脚功能说明如下:
(1)主电源引脚
Vcc(40脚):
接+5(1±20﹪)V电源正端;
Vss(20脚):
接地。
(2)I/O引脚
P0口(39~32脚):
P0.0~P0.7统称为P0口。
P0口是一组8位漏极开路型双向I/O口,分时复用为低8位地址总线和双向数据总线。
作为输出口用时,每位能吸收电流的方式驱动8个逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。
在访问外部数据存储器时,这组端口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在FLASH编程时,P0口作为原码输入口,当Flash进行校验时,P0口输出原码,此时P0外部必须被拉高。
P1口(1~8脚):
P1.0~P1.7统称为P1口,可作为准双向I/O口使用。
P1是一个带内部上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
P1口被外部下拉为低电平时,输出电流,是因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在Flash编程和校验时,P1口作为第八位地址接收。
P2口(21~28脚):
P2.0~P2.7统称为P2口,一般作为准双向I/O使用。
P2是一个带内部上拉电阻的8位双向I/O口。
P2的输出缓冲器可驱动4个TTL逻辑门电路。
当对P2端口写“1”时,内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在接有片外存储器或扩展I/O口且寻址范围超过256B时,P2口用作高8位地址总线。
当给出地址为“1”时,它就利用内部上拉优势,当对外部八位地址数据存储器进行读/写时,P2口便输出其特殊功能寄存器的内容。
在FLASH编程和校验时,P2口接收高八位地址信号和控制信号。
P3口(10~17脚):
P3.0~P3.7统称为P3口。
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口的输出缓冲器可驱动4个TTL逻辑门电路接收输出电流。
当P3口写“1”时,通过内部的上拉电阻上拉为高电平并作为输入口。
此时由于外部下拉为低电平,P3口将输出电流(IIL)。
除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。
P3口第二功能祥见表3.2:
表3.2P3口第二功能表
口线
第二功能
信号名称
P3.0
RXD
串行数据接受
P3.1
TXD
串行数据发送
P3.2
外中断0申请
P3.3
外中断1申请
P3.4
T0
定时器/计数器0计数输入
P3.5
T1
定时器/计数器1计数输入
P3.6
外部数据存储器写选通
P3.7
外部数据存储器读选通
(3)外接晶体引脚
XTAL1(19脚):
它在单片机内部是一个反向放大器的输入端,构成了片内振荡器。
当采用外部时钟时,HMOS单片机的该引脚应接地;CHMOS单片机的该引脚作为外部振荡信号的输入端。
XTAL2(18脚):
它在单片机内部是片内振荡器的反向放大器的输出端。
当采用外部时钟时,HMOS单片机的该引脚作为外部振荡信号的输入端;CHMOS单片机的该引脚应悬空不接。
(4)控制线
ALE/
(30脚):
地址锁存允许/编程信号。
在访问片外程序存储器期间,此信号可用于控制锁存P0输出地址总线的低8位,ALE以每机器周期两次进行信号输出;在FLASH编程期间,此引脚用作编程脉冲
的输入端。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率fosc的1/6,可作为对外输出的时钟脉冲或用于定时目的。
但要注意的是:
在访问片外数据存储器期间,ALE脉冲会跳空一个。
若想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE执行MOVX,MOVC指令使ALE起作用。
另外,该引脚将被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
(29脚):
片外程序存储器读选通信号输出端,低电平有效。
在由外部程序存储器读取指令或常数期间,每个机器周期内
两次有效,P0口读回指令或常数。
当访问内部程序存储器时,
信号不跳变。
RST/VPD(9脚):
RST即RESET,VPD为备用电源,该引脚为单片机的上电复位或掉电保护端。
当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回复到初始状态。
上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。
当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。
/VPP(30脚):
为片外程序存储器选用端,访问内部程序存储器控制信号。
当
端接高电平时,CPU访问内部程序存储器。
当
接低电平时,则在此期间外部程序存储器(0000H-FFFFH),则强调CPU访问外部存储器,而不管程序计数器的内容是多少。
此外,该引脚还用做EPROM编程电压的输入端。
在编程期间,此引脚用作21V编程电源VPP的输入端。
3.2.3AT89C51的内部结构
89C51单片机内部组成结构中包含运算器和控制器(CPU)、片内存储器、4个并行I/O接、串行口、定时/计数器、中断系统、振荡器等功能部件。
其内部结构框图如图3.3所示。
图中PC是程序计数器;PSW是程序状态字寄存器;DPTR是数据指针寄存器。
图3.3AT89C51单片机内部结构框图
运算器和控制器
89C51的运算器和控制器功能类似于一般微机中的微处理器(CPU),是单片机的核心部件,它决定了单片机的主要功能特性。
它完成逻辑算术运算并协调单片机其它各部分的工作。
各种算术、逻辑运算所涉及到的寄存器包括:
累加器ACC、寄存器B、暂存器1(TEMP1)和暂存器2(TEMP2)、程序状态字寄存器PSW,程序计数器PC,堆栈指针SP,数据指针寄存器DPTR等。
它们位于CPU内部,又称CPU专用寄存器,以区别于I/O接口专用寄存器。
存储器
MCS-51系列单片机存储器组成是所谓的哈佛结构,存储器的组织方式与通用单片机系统不同,包含程序存储器与数据存储器,其地址空间是相互独立的,而不是程序存储器与数据存储器统一编址。
在89C51单片机中,程序存储器采用EEPROM,而数据存储器采用RAM。
它们又可以进一步分成内部或外部两类。
程序存储器:
程序存储器内部和外部是统一连续编址的,内部占用地址空间的低4KB,地址0000H~0FFFH,外部地址范围1000H~FFFFH,共60KB。
程序存储器主要用来存放程序和常数。
当程序计数器PC由内部ROM开始执行到外部ROM时,会自动寻址外接程序存储器。
程序地址空间原则上可由用户任意安排,但复位和中断源的程序入口地址在51系列单片机中是固定的,用户不能改变。
入口地址见表3.3。
复位后,CPU从0000H地址开始执行程序。
其他地址为中断服务程序入口地址,响应某个中断时,将自动从其对应的入口地址执行中断服务程序。
表3.351单片机复位、中断入口地址
操作
入口地址
复位
0000H
外部中断0
0003H
定时器/计数器0溢出
000BH
外部中断1
0013H
定时器/计数器1溢出
001BH
串行口中断
0023H
定时器/计数器2溢出或T2EX端负跳变(52子系列)
002BH
数据存储器:
MCS-51系列单片机数据存储器也有内部、外部之分。
但与程序存储器不同,片内、片外存储器是分别独立编址的,片内数据存储器除RAM块外,还有特殊功能寄存器(SFR)块,其中片内数据存储器有128个字节,其编制为00H~FFH;特殊功能寄存器也占128个字节,其编制为80H~FFH;二者连续而不重叠。
外部RAM地址范围0000H~FFFFH,共64KB。
内部存储器可直接寻址。
尽管片内、片外地址空间的低256B有重叠,但寻址并不会造成混乱。
这是因为片内、片外存储器使用不同的指令(MOV和MOVX)。
扩展的I/O地址也占用数据存储器空间。
对I/O端口操作无须特殊指令且访问程序存储器是用
信号选通,而访问片外数据存储器时,由
信号(读)和
信号(写)选通。
寄存器区:
内部数据存储器分为4个区域,数据RAM用于存放临时变量,下面介绍其他三个寄存器区:
a)工作寄存器区:
它占用地址00~FFH的32个内存单元,又分成4个区。
每个区有R0~R7共8个工作寄存器。
工作寄存器区的选择又由程序状态寄存器PSW的第4位和第3位(RS1和RS0)共同指定。
单片机复位时,RS1和RS0为零,故指向0区。
通过位操作改变RS1和RS0的值,可以方便地指向任一个区间。
b)位寻址区:
每位都有一个独立的8位地址(占据空间00~7F),共128位。
此外,在专用寄存器SFR中还有一部分是可以位寻址的(有些位可能无定义)。
c)专用寄存器区:
共有21个专用寄存器SFR,位于80~FFH地址空间。
这些寄存器又可以分为CPU专用寄存器和接口专用寄存器。
CPU专用寄存器前面己经提过,而接口专用寄存器包括两部分。
一部分就是单片机的I/O端口P0~P3,分别编址为80H、90H、A0H、B0H,共4个单元,32位,每一位都可以独立寻址。
另一部分为定时/计数器,串行口、中断的一些控制寄存器。
定时/计数器
89C51有两个16位定时/计数器(T0,T1)。
在定时功能中,每个机器周期定时器加1,由于l个机器周期包含12个振荡周期,因而它的计数频率为1/12,即由定时器计数到的脉冲为振荡周期频率的1/12。
在计数器功能中,在外部事件相应输入脚(T0或T1)产生负跳变时,计数器加1。
由于计数器的计数过程需要2个机器周期(24个振荡周期),所以,最高的计数频率为振荡频率的1/24。
这两个定时/计数器的工作状态(定时/计数)及工作方式(方式0~方式3)的选择是由定时/计数器方式寄存器(TMOD)中的每位值所决定的。
定时/计数器的控制由控制寄存器(TCON)完成。
定时/计数器
89C51有两个16位定时/计数器(T0,T1)。
在定时功能中,每个机器周期定时器加1,由于l个机器周期包含12个振荡周期,因而它的计数频率为1/12,即由定时器计数到的脉冲为振荡周期频率的1/12。
在计数器功能中,在外部事件相应输入脚(T0或T1)产生负跳变时,计数器加1。
由于计数器的计数过程需要2个机器周期(24个振荡周期),所以,最高的计数频率为振荡频率的1/24。
这两个定时/计数器的工作状态(定时/计数)及工作方式(方式0~方式3)的选择是由定时/计数器方式寄存器(TMOD)中的每位值所决定的。
定时/计数器的控制由控制寄存器(TCON)完成。
中断
89C51单片机提供了6个中断源,而每一个中断源都能被程控为高优先级或低优先级。
其中5个中断源包括2个外部中断和3个内部中断。
两个外部中断源为INT0和INT1,外部设备的中断请求信号、掉电等故障信号都可以从INT0而和INT1引脚输入,向CPU提出中断申请,INT0和INT1的中断请求标志IE0、IE1分别设在TCON寄存器的TCON.1、TCON.3。
3个内部中断源为T0、Tl溢出中断源及片内串行发送或接收中断源,T0、Tl中断请求标志TF0和TF1分别设在TCON寄存器的TCON.5、TCON.7,串行发送或接收中断标志TI或RI设在SCON寄存器的第SCON.0、SCON.1。
5个中断源中的一个、几个或全部中断源的开、关由中断允许寄存器(IE)完成,而每个中断源的优先级别的高低由中断优先级控制寄存器(IP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 完整版 基于 单片机 交通灯 设计 论文