基于LCD12864的交通信号灯本科单片机课程设计报告.docx
- 文档编号:1864915
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:67
- 大小:794.68KB
基于LCD12864的交通信号灯本科单片机课程设计报告.docx
《基于LCD12864的交通信号灯本科单片机课程设计报告.docx》由会员分享,可在线阅读,更多相关《基于LCD12864的交通信号灯本科单片机课程设计报告.docx(67页珍藏版)》请在冰豆网上搜索。
基于LCD12864的交通信号灯本科单片机课程设计报告
湖南大学电气与信息工程学院
本科生单片机课程设计
题 目:
基于LCD12864的交通信号灯
学院:
电气与信息工程学院
专 业:
电气工程及其自动化
交通灯的历史
1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯。
1914年,在美国的克利夫兰市才率先恢复了红绿灯,不过,这时已是“电气信号灯”。
稍后又在纽约和芝加哥等城市,相继重新出现了交通信号灯。
随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。
它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。
中国最早的马路红绿灯,则是于1928年出现在上海的英租界。
第一部分开发板硬件部分介绍
一、板上资源分布
图1.1板上资源分布
1、2、3:
单片机P0、P2、P3口引出接口(有限流保护电阻);
4:
上排图形点阵LCD12864的接口、下排LCD1602的接口;
5、6:
两路16位ADC输入、可作差分输入;
7、8:
12位DAC输出、对DAC输出进行比例放大或者跟随的运放;
9:
单片机AduC848;
10:
无源蜂鸣器、由单片机PWM模块输出信号控制;
11:
8位数码管;
12:
SPI接口;
13:
RS232串口(通过串口在线下载、单步、断点、运行到某一行等方式调试程序);
14:
步进电机(5V、70欧姆、6线4相)接口;
15:
8路LED,从左至右为LED7~0,分别被P0.7~P0.0控制;
16:
复位按键和下载按键;
17、18:
IIC总线上的EEPROMAT24C08和RTCDS1307;
19:
IIC接口;
20:
PS/2接口;
21:
红外接收头;
22:
功能选择和配置插针;
23:
4X4矩阵式键盘或4个独立按键;
24:
直流电源输入;
此外还有红外二极管(由单片机PWM模块输出信号控制)、USB电源输入接口。
二、ADuC848的简要介绍
1、8051-basedcore、5V供电电压;
2、可以通过串口在线下载程序和单步、断点、运行到某一行等方式调试程序;
3、16位8通道Σ-ΔADC,片内有1.25V参考电压、buffer和PGA;
4、12位电压输出DAC、Dual16-BITΣ-ΔDAC;
5、32kbyte程序存储器、4kbyte用户信息Flash存储器、256RAM+2048XRAM(byte);
6、PLL(12.58MHzmax)(片外只需接32.768kHz晶振);
7、3×16位定时/计数器、看门狗定时器;
8、11中断源(2优先级)、11位堆栈指针;
9、24I/O+8模拟或数字输入;
10、UART、SPI和I2C、高速115200波特率发生;
11、Powersupplymonitor、上电复位、Dual200μA激励电流源。
12、单片机引脚分布
三、LCD显示模块
LCD显示信号连接图如下图所示。
图1.7LCD信号连接
关键网络名和引脚名解释:
(1)DISCTRL0~4:
显示控制信号。
(2)D0~D7、DB0~DB7:
数据总线。
(3)E:
LCD使能信号。
(4)RS:
数据、指令选择信号。
(5)RW:
读、写选择信号。
(6)CS1、CS2:
LCD12864由两部分组成,CS1和CS2为选择信号。
板上接口4的上排位LCD12864的接口,下排位LCD1602的接口,排针和排母左对齐插入。
第二部分交通信号灯的设计
1、题目任务设计要求
1、题目设计及目的
(1)设计一智能交通信号灯。
(1)了解交通灯管理的基本工作原理
(2)熟悉ADuC848的工作原理和应用编程
(3)熟悉ADuC848并行接口的各种工作方式和应用
(4)熟悉AT89C51计数器/定时器的工作方式和应用编程外部中断的方法
(5)掌握LCD显示问题的解决
2、题目设计要求
(1)了解实际交通灯的变化规律(以十字路口为例)
(2)要求用LCD显示字符“红、黄、绿”(或字母r、y、g)代替相应的信号灯
(3)要求有东西、南北四组信号灯显示,并显示对应的时间
(4)时间要求倒计时显示,计时时间到,对应的信号准确切换
(5)信号灯按一定的规律闪烁,实现简单的交通管理
(6)能实现紧急事件处理(例如救护车的通行等),可用蜂鸣器报警和特殊数字显示
(7)可根据交通流量智能调整各路段的通行时间
(8)显示北京时间,可调整
二、系统原理分析及程序流程框图
1、交通灯通常指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯。
绿灯亮时,准许车辆通行,黄灯亮时,已越过停止线的车辆可以继续通行;红灯亮时,禁止车辆通行。
下图为一种红绿灯的显示状态图
状态一:
设东西向为主干道,东西向绿灯定为20s.
状态二设定黄灯时间为5s。
状态三南北向为副干道,南北向绿灯设为10s
状态四南北向黄灯也设为5s.
紧急状态:
此时为紧急状态,所有灯为红灯,所有车辆禁止通行,触发紧急状态由紧急按钮触发,再次触发,则解除紧急状态,回到原来状态。
2、车流量处理。
首先根据两条道路的车流量划分为主干道和副干道,主干道和副干道的绿灯时间设置不一样,主干道的绿灯时间设置的较长,红灯时间等于另一条道路的绿灯时间与黄灯时间之和。
其次,考虑有车流高峰时期,在本次设计中,设置北京时间18:
00:
00——20:
00:
00为车流量高峰时期,在此时期,亮灯时间会变成另一个设定值,具体设置可依据实践情况设置,本次设计中将主干道,副干道绿灯实践均延长10s.当在此时期之外时,亮灯时间为正常设定时间。
3、倒计时显示。
东西南北四个方向各有一个倒计时显示,倒计时数字表示当前亮灯的剩余时间。
因为相对的方向显示相同,因而本次设计中只两个倒计时显示,一个表示南北方向,一个表示东西方向。
计时的快慢通过改变对频率的计数实现。
4、北京时间显示。
本次设计中,12864LCD显示屏第一行显示北京时间的时、分、秒,时间可调。
北京时间功能采用T0计时器中断来实现。
ADuC848的coreclock频率默认为1.572864MHz,定时器0的时钟为coreclock,1572864=65536*24。
故将定时器0设置为16位计数模式,且初值为0,无需在定时器溢出中断中给定时器赋初值(中断溢出就开始执行中断程序,计数器为加法计数器,从0加到65536)。
每65536个coreclock周期将产生一次中断,在中断处理程序中累计中断次数,当有24次中断产生时即为1秒,进行计时。
5、主程序流程图
5、交通灯显示流程图
三、具体程序实现
#include
#include"ds1307.h"
#include"juzhenkeyboard.h"
#include"smg12864.h"
#defineuncharunsignedchar
#defineunintunsignedint
sbitbuzzer=P2^6;
unchargreen[2]={50,30};
uncharyellow[2]={5,5};
uncharred[2]={55,35};
unchartime[7]={1,2,1,1,1,1,1};
uninttimeflag=0;
uncharstate=0;
uncharstate_buffer;
uncharzhugandao=20;
uncharfudao=10;
uncharkey=0;
uncharweizhi=0;
bitjinjiflag=0;
bitset_flag=0;
uninti;
uncharj;
voidjiaotong_con(void)
{
switch(state)
{
case0:
displayascall(1,2,shuzi[16]);
displayascall(2,2,shuzi[16]);
displayascall(3,2,shuzi[16]);
displayascall(4,2,shuzi[16]);
displayascall(5,2,shuzi[16]);
displayascall(6,2,shuzi[16]);
displayascall(9,2,shuzi[16]);
displayascall(10,2,shuzi[16]);
displayascall(11,2,shuzi[16]);
displayascall(14,2,shuzi[16]);
displayascall(15,2,shuzi[16]);
displayascall(16,2,shuzi[16]);
displayascall(1,4,shuzi[16]);
displayascall(2,4,shuzi[16]);
displayascall(3,4,shuzi[16]);
displayascall(4,4,shuzi[16]);
displayascall(5,4,shuzi[16]);
displayascall(6,4,shuzi[16]);
displayascall(9,4,shuzi[16]);
displayascall(10,4,shuzi[16]);
displayascall(11,4,shuzi[16]);
displayascall(12,4,shuzi[16]);
displayascall(13,4,shuzi[16]);
displayascall(14,4,shuzi[16]);
displayascall(15,4,shuzi[16]);
displayascall(16,4,shuzi[16]);
displayascall(1,3,shuzi[16]);
displayascall(2,3,shuzi[16]);
displayascall(3,3,shuzi[16]);
displayascall(4,3,shuzi[16]);
displayascall(7,3,shuzi[16]);
displayascall(8,3,shuzi[16]);
displayascall(11,3,shuzi[16]);
displayascall(14,3,shuzi[16]);
displayascall(15,3,shuzi[16]);
displayascall(16,3,shuzi[16]);
displayhanzi(3,3,table[1]);
displayhanzi(5,3,table[1]);
displayhanzi(4,2,table[0]);
displayhanzi(4,4,table[0]);
displayshuzi(12,3,green[0]);
displayshuzi(12,2,red[1]);
green[0]--;
red[1]--;
if(green[0]==0)
{
green[0]=zhugand
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LCD12864 交通 信号灯 本科 单片机 课程设计 报告