广西科技大学单片机技术课程设计报告课程:单片机技术题目:学院:专业:姓名:学号:指导老师:完成时间:成绩评定摘要随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。
它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。
黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。
一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。
回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。
他的建议立即得到有关方面的肯定。
于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。
交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。
模拟东西南北方向的十字路口交通灯信号控制情况。
以89C52单片机为核心芯片,采用中断方式实现控制。
本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。
和复位电路控制电路等组成,较好的模拟了交通路面的控制。
关键词:交通灯单片机数码管目录1.概述 (1)2系统总体方案及硬件设计 (2)2.1设计内容 (2)2.2 设计要求 (2)2.3 总体设计思想 (2)2.4 设计参考 (2)2.5 知识点准备 (2)3各模块设计 (3)3.1设计项目简介 (3)3.2总体设计 (3)3.3硬件设计 (3)3.4软件设计 (9)4软件仿真 (12)5课程设计体会 (13)参考文献 (14)附录一程序清单 (15)附录二系统原理图 (21)1概述自从1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。
近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。
本模拟交通灯系统利用单片机AT89C52作为核心元件,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。
和复位电路控制电路等组成,较好的模拟了交通路面的控制。
2 系统总体方案及硬件设计2.1设计内容交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。
模拟东西南北方向的十字路口交通灯信号控制情况。
以89C52单片机为核心芯片,采用中断方式实现控制。
(1)数码管选用2位共阴极显示的数码管,共4个;(2)东西通行时间为80s,南北通行时间为60s,缓冲时间为3s;2.2 设计要求•设计单片机最小系统(包括复位按钮、晶振电路等);•绘制实现本设计内容的硬件电路(原理图),系统的组成框图。
•相应的控制状态表;•编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。
•硬件实验部分可用Proteus仿真软件实现。
2.3 总体设计思想(供参考)•利用定时器T0产生每10ms一次的中断,每100次中断为1s;•对两个方向分别显示红、绿、黄灯的剩余时间即可;•用MAX7219芯片实现共阴极显示驱动;•A方向的红灯时间=方向的绿灯时间+黄灯缓冲时间。
2.4 设计参考交通灯控制器设计有电源电路、单片机主控电路、显示电路、信号灯电路等组成,如图1所示:2.5 知识点准备:•+5V电源原理及设计;•M AX7219工作原理;•单片机复位电路工作原理及设计(元件选择的依据);•单片机晶振电路工作原理及设计(元件选择的依据);•数码管显示特性、驱动设计及应用;•L M1602液晶显示屏特性、驱动设计及应用;•89C51单片机引脚资源、引脚分配等;•单片机汇编语言及程序设计(中断、延时子程序的设计)。
3各模块设计3.1设计项目简介功能:交通灯控制器,通过单片机控制交通灯和数码管,实现4路口交通灯的正确亮灭,并能显示发亮交通灯发亮状态的剩余时间。
东西通行时间为80s,南北通行时间为60s,缓冲时间为3s。
类似产品简介:基于数字电子技术设计的交通灯控制器:元器件多而复杂,连线复杂易出错,设计困难,且功耗较大,不经济,不利于节约环保。
基于PLC技术设计的交通灯控制器:设计程序简单易懂,但价格较贵,不经济。
项目特色:通过单片机控制,进行模块化处理,体积小,功耗低,元器件少且简单,价格实惠,功能齐全,能够实现正常显示,而不会出现4路口交通灯混乱的情况,时间显示正常。
3.2总体设计总体设计模式图:用一片AT89C52单片机控制4路口交通灯的亮灭。
单片机发送地址、数据信息给MAX7219,通过MAX7219控制数码管的时间显示。
3.3硬件设计硬件原理图:电路图:硬件选型及相关依据:AT89C52:4组8位I/O 输入/输出端口,可满足控制所需I/O 口数目要求。
可外接时钟电路,有复位管脚,接复位电路可实现复位功能。
接5V 高电平,功耗小,价格低。
MAX7219:串行输入,16位并行输出,可控制8位八段数码管显示。
满足设计中的四位控制要求。
4组2位共阴数码管:4路口两位数显示,满足所需,易实现控制。
4个LED-GREEN :10mA 额定电流,2.2V 额定电压,用于模拟十字路口绿灯亮灭显示。
4个LED-YELLOW :10mA 额定电流,2.0V 额定电压,用于模拟十字路口黄灯亮灭显示。
4个LED-RED :10mA 额定电流,2.0V 额定电压,用于模拟十字路口红灯亮灭显示。
4个280Ω电阻、8个300Ω电阻:由VCC=V+IR ,(VCC :5V ;I :LED 灯晶振模块复位模块块数字显示模块交通灯模块MAX7219模块 单片机中心模块额定电流;V:LED灯额定电压)计算出电阻大小。
9KΩ电阻1个:MAX7219的18管脚接高电平时串联电阻。
12MHZ晶振1个、30pf电容2个:根据经验,12M晶振与2个30p电容并联构成外部时钟振荡电路。
10KΩ电阻1个、1KΩ电阻1个、10uf电解电容1个、1个按键:构成单片机复位电路。
电容放电时间τ=RC=10K10uf=0.1s>21/12M=s(2个时钟周期),即电容放电时间大于2倍的时钟周期,即可实现复位。
AT89C52简介:AT89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要特性:与MCS-51 兼容;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24Hz;;三级程序存储器锁定;128*8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。
MAX7219芯片简介:MAX7219 是MAXIM 公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219 可驱动8 个7 段(包括小数点共8 段)数字LED、LED 条线图形显示器、或64 个分立的LED 发光二级管。
该芯片具有10MHz 传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有LED 的段电流。
它的操作很简单,MCU 只需通过模拟SPI 三线接口就可以将相关的指令写入MAX7219 的内部指令和数据寄存器,同时它还允许用户选择多种译码方式和译码位。
此外它还支持多片7219 串联方式,这样MCU 就可以通过3根线(即串行数据线、串行时钟线和芯片选通线)控制更多的数码管显示。
MAX7219的外部引脚分配如图1 所示及内部结构如上图所示。
各引脚的功能为:DIN:串行数据输入端DOUT:串行数据输出端,用于级连扩展LOAD:装载数据输入CLK:串行时钟输入DIG0~DIG7:8 位LED 位选线,从共阴极LED 中吸入电流SEG A~SEG G DP 7 段驱动和小数点驱动ISET:通过一个10k 电阻和Vcc 相连,设置段电流MAX7219 有下列几组寄存器:译码控制寄存器、亮度控制寄存器、扫描界限寄存器、关断模式寄存器、测试控制寄存器。
编程时只有正确操作这些寄存器,MAX7219 才可工作。
MAX7219读写时序说明:MAX7129 是SPI 总线驱动方式。
它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。
要想与MAX7129 通信,首先要先了解MAX7129 的控制字。
MAX7129 的控制字格式如下图。
如图,工作时,MAX7219 规定一次接收16 位数据,在接收的16 位数据中:D15~D12 可以与操作无关,可以任意写入,D11~D8 决定所选通的内部寄存器地址,D7~D0 为待显示数据或是初始化控制字。
在CLK 脉冲作用下,DIN 的数据以串行方式依次移入内部16 位寄存器,然后在一个LOAD 上升沿作用下,锁存到内部的寄存器中。
注意在接收时,先接收最高位D16,最后是D0,因此,在程序发送时必须先送高位数据,在循环移位。
工作时序图见下图。
由于52 是8 位单片机故需要分两次来送数据。
数据读写时序图单片机复位电路:上电自动复位原理:在电路图中,电容的的大小是10uF,电阻的大小是10k。
所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。
也就是说在启动的0.1S内,电容两端的电压时在0~3.5V增加。
这个时候10K 电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。
所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。
在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。
所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。
按键按下的时候复位原理:在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K 电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。