课设论文-利用LCD1602显示时间的交通灯控制设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

目录一总体设计的框图......................................................................................................11.1总体方案介绍..................................................................................................11.2、硬件设计........................................................................................................11.3软件设计...........................................................................................................21.3.1.交通灯显示时序的理论分析.................................................................21.4交通灯显示的理论分析..................................................................................51.4.1倒计时显示的理论分析......................................................................51.4.2状态灯显示的理论分析........................................................................51.4.3中断理论分析........................................................................................51.4.4LCD显示接口........................................................................................61.4.5源程序.................................................................................................101.4.6工作原理图..........................................................................................20二设计的体会............................................................................................................21参考文献........................................................................................错误!未定义书签。1一总体设计的框图1.1总体方案介绍本课程设计用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,而接入LCD1602就可以显示倒计时以提醒行使者,更具人性化。本系统在此基础上,加入了紧急状态下的运行。本设计系统以单片机为控制核心,连接成最小系统,由独立式键盘模块、复位电路模块、晶振电路模块产生输入,LED信号灯状态模块,LCD1602液晶显示器接受输出。系统的总体框图如图1所示。键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LCD1602显示器实时显示。在此过程中还要实时紧急按键信号,以达到对异常状态进行实时控制的目的。1.2、硬件设计因才用了PC机和单片机试验箱接口应用平台硬件电路相对简单,利用8031的P1口对交通灯的控制、计数/定时器、中断和数码管显示构成的简易交通灯,实验电路连接如表1所示。表1实验连接图连线连接孔1连接孔21P7L7(东西红灯)2P6L6(东西黄灯)LCD1602液晶显示器AT89C51单片机外部终端交通灯显示23P5L5(东西绿灯)4P4L4(南北红灯)5P3L3(南北黄灯)6P2L2(南北绿灯)7P3.2负脉冲8KEY/LED_CSCS01.3软件设计1.3.1.交通灯显示时序的理论分析以下四图所示为红黄绿灯规则的状态图NSWE黄绿红红绿黄黄绿红红绿黄图2状态S1南北通行30S东西禁止3NWE黄绿红红绿黄黄绿红红绿黄图3状态S2南北转黄灯NWE黄绿红红绿黄黄绿红红绿黄图4状态S3南北禁止东西通行30SNW黄绿红红绿黄黄绿红红绿黄4图5状态S4东西绿灯转黄灯共四种状态,分别设定为S1、S2、S3、S42,交通灯以这四种状态为一个周期,循环执行如图6所示。如果有意外发生,去处理中断,红灯全亮,时间10S。开始S2S1S4S3图6交通灯状态循环依据上述车辆行驶的状态图,可以列出各个路口灯的逻辑表如表1所示(其中逻辑值“1”代表执行通行,逻辑值“0”代表禁止通行,逻辑值“L”代表绿灯转黄灯):表2状态逻辑表S1的状态ESWN逻辑值0101显示时间30SS2的状态ESWN逻辑值0L0L显示时间1SS3的状态ESWN逻辑值1010显示时间30SS4的状态ESWN逻辑值L0L0显示时间1S5程序就是上述四种状态下循环转化的,一个周期四个状态,正常情况下共花费63S。1.4交通灯显示的理论分析1.4.1倒计时显示的理论分析利用MCS-51内部的定时器/计数器进行,配合软件延时实现倒计时。在工作之前必须通过软件设定它的工作方式,即对寄存器TMOD中每位进行设定,格式如表3所示。表3TMOD格式D7D6D5D4D3D2D1D0CATEC/TM1M0CATEC/TM1M0其中,低四位用于决定T0的工作方式,高四位用于决定T1的工作方式,M1和M0工作方式控制位用以确定4种工作方式,如下表4所示:表4M1和M0控制4种工作方式M1M0工作方式说明00方式013位计数器01方式116位计数器10方式2自动装载8位计数器11方式3定时器0:分为两个8位计数器定时器1:对外部停止计数采用T0方式1,定时1S,系统时钟为6MHZ,所以时钟周期=(12*1/6)us=2us;采用每隔100ms中断一次,中断10次为1S,使时间的计数值减1,实现了倒计时的功能。计算计数初值X:(216-X)*2us=1s,所以X=15536=3CB0H,因此TH0=3CH,TL0=B0H。1.4.2状态灯显示的理论分析南北通行,东西禁止时利用定时器中断倒计时1S;东西通行,南北禁止时利用定时器中断倒计时1S。1.4.3中断理论分析MCS-51中断系统有5个中断源,分别是外部中断0、外部中断1、定时器/计数器T06溢出中断、定时器/计数器T1溢出中断、串行口中断请求。MCS-51的CPU对中断源的开放和屏蔽,是由片内的中断允许寄存器IE控制。中断允许控制寄存器IE的格式,如表5所示。表5IE的格式位地址AFAEADACABAAA9A8位符号EA//ESET1EX1ET0EX0EA—中断允许总控制位,EA=0,中断总禁止,禁止所有中断。EA=1,中断总允许,总允许位打开后,各中断的允许或禁止由各中断允许控制位设置决定。EX0(EX1)—外部中断允许控制位,EX0(EX1)=0,禁止外部中断。EX0(EX1)=1,允许外部中断。ET0(ET1)—定时/计数中断允许控制位,ET0(ET1)=0,禁止定时/计数中断。ET0(ET1)=1,允许定时/计数中断。ES—串行中断允许控制位,ES=0,禁止串行中断。ES=1,允许串行中断。利用MCS-51内部的中断进行,采用外部中断0,跳沿触发方式;外部中断0的中断入口地址为0003H。1.4.4LCD显示接口LCD1602已很普遍了,具体介绍我就不多说了,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,定义如下表所示:字符型LCD的引脚定义71.清屏指令功能:1清除液晶显示器,即将DDRAM的内容全部填入空白的ASCII码20H;2光标归位,即将光标撤回液晶显示屏的左上方;3将地址计数器(AC)的值设为0。2.光标归位指令8功能:1把光标撤回到显示器的左上方;2把地址计数器(AC)的值设置为0;3保持DDRAM的内容不变。3.进入模式设置指令功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下:位名设置DL0=数据总线为4位1=数据总线为8位N0=显示1行1=显示2行F0=5×7点阵/每字符1=5×10点阵/每字符设计流程图主程序入口LCD初始化清楚LCD开始界面确认系统是否处于设置状态初始化CANBUS的波特率12MHz9主循环中首先通过receive_message函数查询CAN命令,如果系统接收到了CAN命令,则从CAN数据接收缓存器中读取相应的命令,然后检查命令中的ID是否与本机的ID一致。确认命令是发给本机后执行modbus_cmd_parse函数,析命令内容,完成指定的相应操作。进入主循环后系统工作的过程如下图所示。设置CAN总线模式,为全通过初始化IIC总线测试系统是否为新系统,如为断系统则使Flash单元初始化全为零将IICFlash相应内容复制到双口RAM依据条件编译硬件的测试系统主循环开始初始化设定初值红灯倒计时101.4.5源程序ORG0000HRSBITP2.0RWBITP2.1MOVA,#38HLCALLLOOPLCALLBUSYMOVA,#01HLCALLLOOPLCALLBUSYMOVA,#0CHLCALLLOOP红外高电平?倒计时完毕?闪烁5S绿灯闪烁2S黄灯倒计时红外对管高电平?倒计时完毕?绿灯闪烁2S结束闪烁1S11LCALLBUSYMOVA,#04HLCALLLOOPLCALLBUSY;LCD初始化程序START:CLRP1.0MOVA,#0C5HLCALLLOOPLCALLBUSYMOVA,#30HLCALLLOOP1LCALLBUSY;数字0的显示MOVA,#0C6HLCALLLOOPLCALLBUSYMOVA,#32HLCALLLOOP1LCALLBUSY;数字2的显示CLRP1.3MOVA,#0C9HLCALLLOOPLCALLBUSYMOVA,#30HLCALLLOOP1LCALLBUSY;数字0的显示MOVA,#0CAHLCALLLOOPLCALLBUSYMOVA,#35HLCALLLOOP1LCALLBUSY;数字5的显示LCALLDELAYMOVA,#0C5HLCALLLOOPLCALLBUSYMOVA,#30HLCALLLOOP1LCALLBUSY;数字0的显示MOVA,#0C6HLCALLLOOPLCALLBUSYMOVA,#31HLCALLLOOP1LCALLBUSY;数字1的显示12CLRP1.3MOVA,#0C9HLCALLLOOPLCALLBUSYMOVA,#30HLCALLLOOP1LCALLBUSY;数字0的显示MOVA,#0CAHLCALLLOOPLCALLBUSYMOVA,#34HLCALLLOOP1LCALLBUSY;数字4的显示LCALLDELAYMOVA,#0C5HLCALLLOOPLCALLBUSYMOVA,#30HLCALLLOOP

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功