文档库 最新最全的文档下载
当前位置:文档库 › 基于高速单片机的液晶显示模块控制

基于高速单片机的液晶显示模块控制

基于高速单片机的液晶显示模块控制
基于高速单片机的液晶显示模块控制

第26卷 第1期2011年2月

液 晶 与 显 示

Chinese Journal of Liquid Crystals and Display

sVol.26,No.1Feb.,2011

文章编号:1007-2780(2011)01-0088-

04基于高速单片机的液晶显示模块控制

刘金星1,2,李洪文1

(1.中国科学院长春光学精密机械与物理研究所,吉林长春 130033,E-mail:unsv1985@126.com;

2.中国科学院研究生院,北京 100039

)摘 要:为了适应现场自动化的需要并满足现场设备测试系统的终端显示要求,设计了基于高速单片机C8051F120的液晶显示模块(LM6800)控制系统。详细介绍了液晶显示接口硬件设计方案以及软件设计思想,通过实验验证了此液晶模块控制系统的正确性。关 键 词:LCD;高速单片机;C8051F120;LM6800

中图分类号:TN27 文献标识码:A DOI:10.3788/YJYXS20112601.0088

Control of LCD Module Based on High-Sp

eed MCULIU Jin-xing1,

2,LI Hong

-wen1

(1.Changchun Institute of Optics,Fine Mechanics and Physics,Chinese Academy 

of Sciences,Chang

chun 130033,China,E-mail:unsv1985@126.com;2.Graduate University of Chinese Academy 

of Sciences,Beijing 100039,China)Abstract:In order to satisfy the need of industry 

automation and the revelation requirementof the testing system,the control system of LCD module LM6800is designed based on high-sp

eed MCU.The hardware principle graphics and the software flow chart are provided inthis paper.The testing 

results demonstrates that the control system is correct and practical.Key 

words:LCD;high-speed MCU;C8051F120;LM6800 收稿日期:2010-05-21;修订日期:2010-07-

22 基金项目:国家“

863”计划基金资助项目(No.2008AA8080202)作者简介:刘金星(1985-)

,男,天津人,硕士研究生,主要研究方向为精密跟踪控制技术。1 引 言

现在的终端显示设备日益向模块化、微型化、低功耗等方向发展。LCD外型轻薄、驱动电压低、功耗小,可以满足手持设备的显示要求以及工业自动化中对设备实时情况的监视要求,直观性强,方便实用。随着液晶显示模块的发展,其成本不仅日益走低,

而且已经逐渐由单色发展为彩色显示。在实际应用中,在满足液晶显示要求的同时,也需要LCD模块接收高速的数据信息并实时

显示,这就对控制器提出了更高的要求[

1]

。本文采用C8051F120高速单片机实现了对

液晶显示模块LM6800的控制,可以对图形、

文本和数据进行实时显示[

1]

。2 硬件电路设计

2.1 C8051F120控制器

本系统选用Cygnal公司C8051F120高速单片机作为主控制器。此控制芯片内部资源丰富,功能强大,且因其在芯片内部配置了锁相环PPL单元,所以与以往所用单片机相比具有更快的响应速度和更强大的执行能力。片外配置22.118 4MHz的外部晶振,利用其内部锁相环PPL对外部晶振进行9/2倍倍频,

可以使晶振频率升至接

第1期刘金星,等:基于高速单片机的液晶显示模块控制89

 

近于其频率上极限的99.532 8MHz,因此可以拥有较快的数据处理速度,进一步提高了系统的实时性。外部电源只需3.3V,在满足高速数据处理的同时也不增加功耗。

2.2 LM6800液晶显示模块

LM6800是256×64全图形点阵的液晶显示模块,内部采用4片S6B0108芯片控制LCD显示屏上4个区域的显示,指令简单,易于操作,适合与本设计所选用的C8051F120主控制器结合使用,显示范围亦可满足本设计所涉及到的全部显示信息[2]。在电路设计时,由于LM6800内部配备了液晶控制单元,所以只需将主控制器与液晶显示模块按要求连接起来,而不需加入更多的控制芯片,非常简单实用。

2.3 LCD与控制器的接口电路

在接口电路设计中,由于LM6800液晶显示模块为5V供电,而单片机为3.3V供电模式,所以在信号传输过程中,需要在过程电路中做电平转换处理。本设计选用74LS245作为电压驱动芯片,并在单片机相应输出管脚端接入+5V上拉电阻,将信号输入至74LS245芯片,进而写入LM6800模块,这样即可保证输入信号的驱动能力。接口电路原理图如图1所示,其中P2和P3为单片机的I/O端口;RV1为电位计,用于调节LCD液晶模块的背光对比度。

图1 LCD与主控器接口原理图

Fig.1 Interface circuit of LCD&MCU

3 软件设计

液晶显示模块正常工作需要经过系统初始化、写入指令代码及写入显示数据等步骤,且在命令、数据写入过程中要注意时序问题,否则任何一个步骤出现问题均可导致LCD无法正常工作。LM6800是图形点阵液晶显示模块,需要在程序中设置液晶显示文本、图形信息的点阵数据数组,在执行过程中通过命令写入程序调用这些信息数组,实现相应信息的LCD液晶显示。由于主控制器单片机是在KeilC编译环境下进行的程序设计,所以在液晶显示程序及单片机所有操作程序中均采用可移植性非常强的C语言,简单明晰。3.1 写指令代码

LM6800写命令输入时,只有在正常的时序下,按照参考文献[3]的写指令表中相应的控制代码写入,才能使LCD正常工作,实现后期的文本、符号、图形等数据信息的写入操作。

由指令表可知,在系统初始化过程中,写指令输入时需要先打开显示开关。由于LM6800内部包含4个LCD控制芯片,所以在写入时需要根据相应命令(CSA、CSB、CSC)选择相对应的控制芯片区域,进而设置起始行。这些操作所遵循的共同思路是在命令表中查找相应的指令行,确保无错误地输入对应指令。写命令程序如下:

void DataWrite(uchar dispdata)

90

 液 晶 与 显 示第26卷

{ RS=1;//数据

R_W=0;//写入

LCD_BUS=dispdata;//写点阵数组信息

E=1;//E由1到0--写数据时序

Delay(1);//延时程序,确保时序正确

E=0;//E由1到0--写数据时序

Delay(1);//延时程序,确保时序正确

3.2 数据信息显示[4]

LM6800写显示数据程序包括清屏、图形欢迎界面、显示汉字及符号等数据信息。这些数据信息的写入是建立在命令输入基础上的,只有在正确命令的基础上,才能保证输入的数据信息显示在正确的位置上。此处仍需注意写入的时序控制问题。如前所述,此LCD为图形点阵模块,所以在程序中需要设置相应的点阵数组,在应用显示程序时,只需调用相对应的点阵数组即可显示目标信息。写数据信息程序如下:

void CmdWrite(uchar cmdcode)

{ RS=0; //命令

R_W=0;//写入

LCD_BUS=cmdcode;

//cmdcode对应写命令表中的命令

E=1; //E由1到0--写命令时序

Delay(1); //延时程序,确保时序正确

E=0;//E由1到0--写命令时序

Delay(1);//延时程序,确保时序正确

3.3 实例程序

下面以256×64像素图像输入程序为例对图形显示加以说明,其他汉字、数字、字母等的数据显示亦遵循此规则,但需要注意各个字符单元的像素大小。数据写入程序流程图如图2所示。图像输入程序示例:

void Disp_Bmp(uchar code*img)

{ uchar i,j,k;

uint n;

for(k=0;k<4;k++)

{ ChipSelect(k);//选择控制芯片

for(j=0;j<8;j++)

{ CmdWrite(0xb8+j);

//写命令,页地址设置

CmdWrite(0x40);

//写命令,列地址设置

for(i=0;i<64;i++)

{ n=i+256*j+64*k;

 //计算显示像素

DataWrite(img[n]);

//写数据,显示图形信息

选择芯片

(CSA、CSB、CSC)

开始

设置页(X)地址

设置列(Y)地址

写入数据

数据是否送完

返回

图2 写显示数据程序流程图

Fig.2 Flow chart of writing display data

4 实验结果

本设计是为大型望远镜伺服控制系统而设计的伺服控制器,为了便于操作和直观了解实时信息,我们采用液晶显示模块作为显示界面。在单片机处理器中,除了包含液晶显示程序外,还兼具了伺服控制算法和其他诸如数据通信等的处理单元。在液晶显示屏上主要显示望远镜工作过程的速度信息和位置信息、工作模式、寻零状态等实时信息。在伺服系统工作过程中,LCD实时显示当前的运动状况,包括启动初期的望远镜寻零状态,运动过程中的当前速度和位置,以及设定的速度和位置信息。大型望远镜伺服系统是一个位置随动系统,采用速度和位置双闭环的控制结构[5]是多年来在工程应用中证明非常有效的结构。位置回路设计的目的是实现伺服系统所要求的一定速度、加速度下的稳态和动态性能指标。速度回路设计的目的是:

第1期刘金星,等:基于高速单片机的液晶显示模块控制91

 (1)满足位置回路要求的动态特性;

(2)满足系统所要求的调速范围;

(3)满足力矩误差对速度回路的要求,即要有

足够大的开环增益、较好的机械特性和调速特性。

影响速度回路动态特性的主要因素[6]是回路

传递函数的增益、带宽以及传递函数的结构形式。

速度回路的设计就是要确定这些参数以实现速度

回路所需要的动态特性。速度回路是伺服系统性

能的保障,它的性能直接影响着系统的动态特性、

跟踪性能以及抗干扰性能。因为在试验系统中对

伺服精度要求不太高,所以为了说明本伺服控制

器设计的正确性和实用性,我们采用了传统的速

C8051F120控制板

串口网口AD

位置Gp速度

Gv PWM功率级电机

速度反馈

位置反馈

AB --

图3 控制系统双闭环结构

Fig.3 Diagram of double close-loop controlling system

-

图4 工作中的LCD液晶显示实际图

Fig.4 Picture of physical working LCD

度、位置双闭环控制结构来实现位置定点控制,其组成结构如图3所示。经编程调试后,得到的LCD显示实际效果如图4所示。

5 结 论

提出了一种基于高速单片机的LCD液晶显示模块驱动设计,详细阐述了LCD硬件接口原理和软件编程流程,最后经实验证实了此设计的正确性和实用性。实践结果表明,该设计硬件结构简单,运行稳定可靠,具有显示信息清晰稳定,易读取,实用性强的优点。

参 考 文 献:

[1]张培仁,孙力,编著.基于C语言C8051F系列微控制器原理与应用[M].北京:清华大学出版社,2007.[2]刘金星,李洪文.基于高速单片机的GPS接收系统设计[J].信息化研究,2010,36(3):31-34.

[3]深圳拓普微科技开发有限公司.液晶显示模块应用手册[R].深圳:深圳拓普微科技开发有限公司,2006.[4]沈科,吴钢华.基于DSPTMS320LF2047A的液晶显示模块接口设计[J].液晶与显示,2010,25(1):99-104.[5]胡寿松,编著.自动控制原理[M].第四版.北京:科学出版社,2001.

[6]李洪文.基于内模PID控制的大型望远镜伺服系统研究[J].光学精密工程,2009,17(2):327-332.

基于单片机的交通灯控制

基于单片机的交通灯控制 目录 摘要 ................................................................... 2 第1 章概述.............................................................3 1.1课题背景.......................................................... 3 1.1.1课题来源 ......................................................3 1.1.2市场需求 .......................................................3 1.2单片机技术的发展................................................. (3) 1.2.1单片机简介 . . . . . .............................................3 1.2.2单片机发展概述..................................................4 1.2.3单片机的发展趋势...............................................6第2章交通灯的硬件设计...................................................7 2.1MSC-51芯片简介.................................................7 2.2移位寄存器74LS164.................................................10 2.3 LED显示器.................................................................10 2.3.1显示器的结构和原理..................................................10 2.3.2 LED静态显示方式...................................................11 2.3.3 LED动态显示方式...................................................12 第3章交通灯的设计方案..................................................12 3.1设计要求..........................................................13 3.2 基本原理.........................................................13 3.3交通灯控制线路图..................................................14 3.4印制电路板图......................................................14 3.4.1印制电路板图的设计要求.......................................14 3.4.2交通灯印制板图................................................15 第4章交通灯的软件设计...............................................16 4.1延时设计..........................................................16 4.1.1 硬件延时.....................................................16 4.1.2 软件延时......................... ........... ...... (17) 4.2 时间及信号灯的显示...............................................18 4.2.1 74LS164 8位并行输出串行输入移位寄存...........................18 4.2.2显示原理......................................................18 4.2.3数码管显示器显示..............................................18 4.3程序设计..........................................................18 4.3.1流程图........................................................18 4.3.2 程序源代码...................................................19

基于单片机的液晶显示

滨江学院 学年论文 题目基于单片机的液晶显示 院系自动控制系 专业电气工程与自动化学生姓名 学号 指导教师 二零一三年十二月二十五号

目录 1.引言 (1) 2.现状 (1) 3.主要目的 (2) 4.实现方案和步骤 (2) 4.1 KS0108 (2) 4.1.1 KS0108特点 (2) 4.1.2 KS0108的引脚功能 (3) 4.1.3 KS0108的指令系统 (4) 4.2 图形点阵式液晶显示控制 (5) 4.3汉字编码原则 (8) 4.4程序实现流程 (9) 5.实验结果及结果讨论 (10) 6.结论 (11) 7.参考文献 (11) 8.附件 (12)

南京信息工程大学滨江学院学年论文 基于单片机的液晶显示 南京信息工程大学滨江学院自动控制系,南京 210044 摘要:本文围绕设计以单片机作为LCD液晶显示系统控制器为主线,基于单片机8051,采用的液晶显示控制器的芯片是SED1520,主要实现中文显示、滚屏以及左右移动功能。同时也对部分芯片和外围电路进行了介绍和设计,并附以系统结构框图加以说明,着重介绍了本系统应用的各硬件接口技术和各个接口模块的功能及工作过程,并详细阐述了程序的各个模块。 关键字:单片机、液晶显示、8051、SED1520 1、引言 单片机液晶显示系统主要是指单片机以及由单片机驱动的点阵式液晶显示屏所组成的一个显示系统[1]。我们在许多地方可以看到LCD显示屏的应用,例如空调,车内广告,冰箱和显示仪表盘等等,它们都是一个小型的单片机控制液晶显示系统。在日常生活中,我们也可以看到一些类似的由单片机控制的显示系统,如火车站售票大厅的候车信息显示屏,在这些屏幕上,可以显示各种不同的图形、汉字等,并且可以实现上下滚屏与左右移动等。这就是在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字,需要能够显示更丰富信息和通用性较强的显示器,便于开发和应用,并要求其体积小、重量轻、功耗小。图形点阵式LCD不仅可以显示字符、数字,还可以显示各种图形、曲线及汉字,并且可以实现屏幕画面滚动等功能,是信息处理、信息输出的重要手段之一,具有广泛的应用前景[2]。我选择的单片机液晶显示系统的开发,是基于KS0108液晶显示控制器,在C8051F020单片机实验系统上实现KS0108是点阵型液晶显示控制器,利用单片机控制液晶显示系统的原理,完成单片机液晶显示系统的设计。 2、现状 液晶显示器具有功耗低、体积小、重量轻、超薄等许多其它显示器无法相比的优点。近年来被广泛用于单片机控制的智能仪器、仪表和低功耗电子产品当中。液晶显示器分为字符型LCD显示模块和点阵型LCD显示模块。字符型LCD是一种用5×7点阵图形来显示字符的

基于单片机的十字路口交通灯控制系统设计讲解

长沙航空职业技术学院毕业设计(论文) 题目:基于单片机的十字路口 交通灯控制系统设计 学生姓名 系别航空电子电气工程系 专业应用电子技术专业 学号 指导教师 职称

目录 摘要 (2) 前言 (4) 第一章绪论 (5) 1.1背景 (5) 1.2 设计的目的及意义 (5) 1.3 交通灯控制系统设计的任务与要求 (5) 1.4 设计实现的主要功能 (6) 第二章交通灯的总体方案设计与论证 (7) 2.1 显示界面方案 (7) 2.2 输入方案 (7) 第三章交通灯原理分析 (8) 3.1 交通灯显示时序的理论分析 (8) 3.2 交通灯显示的理论分析 (9) 3.2.1倒计时显示的理论分析 (9) 3.2.2状态灯显示的理论分析 (10) 第四章交通灯系统硬件设计 (11) 4.1 交通灯系统设计芯片选择 (11) 4.2.1系统构成: (12) 4.2.2七段数码管介绍: (12) 第五章交通灯系统软件设计 (14) 5.1程序设计流程图 (14) 5.2 交通灯系统编程信息 (16) 第六章交通灯的仿真及调试 (17) 6.1 Proteus软件仿真 (17) 6.2功能调试 (18) 6.3 交通灯实物调试 (19) 结论 (21) 致谢 (22) 参考文献 (23) 附录 A(源程序) (24) 附录 B(电路原理图) (27) 附录 C(PCB图) (28)

摘要 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MCS-51系列单片机AT89C51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿、黄灯燃亮时间的功能;红绿灯循环点亮,倒计时剩3秒时黄灯警示,显示时间通过P2口输出至双位数码管。本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。 关键词:单片机;交通灯;AT89C51

单片机实验lcd显示实验

实验19 LCD显示实验 一、实验目的: 学习液晶显示的编程方法,了解液晶显示模块的工作原理。 掌握液晶显示模块与单片机的接口方法。 二、所需设备 CPU挂箱、8031CPU模块 三、实验内容 编程实现在液晶显示屏上显示中文汉字“北京理工达盛科技有限公司”。四、实验原理说明 五、实验步骤 1、实验连线 8255的PA0~PA7接DB0~DB7,PC7接BUSY,PC0接REQ,CS8255接CS0。 2、运行实验程序,观察液晶的显示状态。 六、程序框图 七、程序清单

八、附:点阵式LCD模块 点阵式LCD模块由一大一小两块液晶模块组成。两模块均由并行的数据接口和应答信号接口两部分组成,电源由接口总线提供。 (1)OCMJ2×8液晶模块介绍及使用说明 OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。 OCMJ中文模块系列液晶显示器也可用作一般的点阵图形显示器之用。提供有位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。 OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。 本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。一改传统的使用大量的设置命令进行初始化的方法,OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。 1)表—1:OCMJ2X8(128X32)引脚说明 硬件接口 接口协议为请求/应答(REQ/BUSY)握手方式。应答BUSY 高电平(BUSY =1)表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低(BUSY =0?),如果BUSY =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。如向模块发出一个完整的显示汉字的命令,包括坐标及汉字代码在内共需5个字节,模块在接收到最后一个字节后才开始执行整个命令的内

根据C51单片机的键盘及LCD显示

基于C51单片机的键盘及LCD显示 一、实验目的 1.掌握矩阵式键盘的数字键和功能键的编程方法。 2.掌握LCD的接口技术和编程方法。 3.掌握仪器监控程序设计和调试方法。 二、预习与参考 1. 结合ST7920 控制器系列中文图形液晶模块有关资料手册,详细了解ST7920接口设计技术。 2. 参考资料 1)实验板说明书 2)ST7920 控制器系列中文图形液晶模块资料手册 三、设计指标 利用实验板上提供的键盘电路,LCD显示电路,设计一人机界面,能实现以下功能: 1.LCD上显示“重庆科技学院” 2.按键至少包括0-9的数字键 3.LCD显示按键值 4.电子钟显示:时,分,秒(选作) 四、实验要求 1.以单片机为核心,设计4*4非编码键盘及LCD的硬件电路,画出电路原理图。 2.设计4*4非编码键盘及LCD的控制软件,画出流程图,编写控制程序。

五、实验仪器设备和材料清单 单片机实验板、连接导线、ST7920图形液晶模块、PC机; Keil c51软件 六、实验设计及实施的指导 1.实验课前布置实验任务,提出实验要求,预习相关资料,完成硬件草图设计和软件流程图备查。 2.经指导教师检查,预习达到要求者进入实验室实验。 3.按照设计的电路连线,构建键盘及显示系统,经检查无误方可进入下一步。 4.在指导教师指导下调试LCD显示程序。 5.在指导教师指导下调试按键程序。 6.综合调试直到满足设计要求。 七、实验成绩评定方法 实验成绩包括预习、实验完成质量、实验报告质量4部分组成,各部分所占比例分别为30%、30%、40%。 八、实验报告要求 1.实验报告格式: 一.实验名称 二.实验目的 三.实验内容 四.设计思想 五.硬件设计 六.程序代码

基于单片机的交通信号灯控制系统设计

基于单片机的交通信号灯控制系统设计 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

毕业综合实践报告 题目:基于单片机信号灯控制系统设计 姓名张文轩 学号 学院应用科技学院 专业电子信息工程 指导教师钮文良 企业指导教师 协助指导教师 2016年04月25日 摘要 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为核心器件来使用。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。交通信号灯控制方式很多,本系统采用MSC-51系列单片机AT9S51和可编程并行I/O接口芯片89S51位中心器件来设计交通灯控制器,实现了能根据实际车流量通过89S51的P1口设置红绿灯点亮时间的功能,红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警告,本系统实用性强,操作简单,扩展功能强。交通的亮灭规则为:初始状态南北方向红灯亮,东西方向绿灯亮,延迟50s 后,东西方向黄灯亮。延迟10s后,南北方向绿灯亮,同时东西方向红灯亮,延迟40s 后,南北黄灯亮,延迟10s后,南北方向红灯亮,东西方向黄灯亮,重复上述过程。 关键词:交通灯AT89S51单片机 目录

1绪论 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。 交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。随着中国加入WTO,我们不但要在经济、文化等各方面与国际接轨,在交通控制方面也应与国际接轨。如果交通控不好道路还是无法保障畅通安全。作为交通控制的重要组成部份单片机。因此,本人选择制作交通灯作为课题加以研究。 我国大中城市交通系统压力沉重。交通管制当以人性化、智能化为目的,做出相应的改善。以此为出发点,本系统采用的单片机控制的交通信号灯。该系统分为单片机主控电路、键盘控制电路和显示电路三部分组成。并在软硬件方面采取一些改进措施,实现了根据十字路口车流量、进行对交通信号灯的智能控制,使交通信号灯现场控制灵活、有效从一定程度上解决了交通路口堵塞车辆停车等待时间不合理等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广阔的应用前景。

基于51单片机的LCD1602显示程序模块

这个是我自己编写的基于51单片机控制lcd602显示的库函数,请下载我的头文件,在网上本人还分享了很多热门模块的库函数,都是现成的,欢迎下载!!!! /************************************************************************ 1,先初始化1602:lcd_init(); 2,调整显示位置:lcd_pos(hang,lie); 3,送显示:lcd_wdat(uchar dat);显示字符 lcd_show(uchar dis[]);显示字符串 4,清屏为:lcd_wcmd(0x01); //清除lcd内容 delay12_ms(2); 注: 显示的时候必须传送对应的ASK码 显示字符串的时候如果超过本行显示范围不会自动跳到第二行占用了P0和P25,P26,P27 同时包含delay.c文件必须 ************************************************************************/ #include "myconfig.h" #include "delay.h" #define LCD_RS P26 //1602的命令和数据选择端 #define LCD_RW P25 //1602的读写控制端 #define LCD_EP P27 //1602是能信号 #define LCD_DATE P0 //1602的数据传输或命令端口 /****************(外部不操作)测忙程序************************/ uchar lcd_bz() { uchar result; LCD_RS =0; LCD_RW =1; LCD_EP =1; _nop_(); _nop_(); _nop_(); _nop_(); result =(P0 &0x80); LCD_EP =0; return result;//返回结果,1为忙,0位空闲 } /****************(外部不操作)写命令函数************************/ void lcd_wcmd(int cmd) { while(lcd_bz()); LCD_RS =0; LCD_RW =0;

基于单片机的交通控制系统模拟设计

基于51单片机的交通控制系统模拟设计 学院:电气与控制工程学院 专业:自动化 姓名:

目录 参考文献 (17) 设计心得体会……………………………………………………………………………………….. .18 附录 (19)

基于单片机的交通控制系统模拟设计 1. 设计思路 (1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,基于实际情况,又增加了紧急状况处理和通行时间可调这两项特特殊功能。 (3)进行显示电路,灯状态电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。 (4)进行软件系统的设计,对于本系统,采用单片机C语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。 2.单片机交通控制系统方案的比较、设计与论证 电源提供方案 采用单片机控制模块提供电源。改方案的优点是系统简明扼要,

节约成本;缺点是输出功率不高。 显示界面方案 采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。 输入方案: 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。 3 单片机交通控制系统总体设计 单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下所示。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始。通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下: ◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向禁止通行,南北向允许通行。 ◆南北方向绿灯灭,东西方向红灯灭,同时黄灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。 ◆黄灯灭,同时南北方向红灯亮,东西方向绿灯亮,倒计时30秒。此状态下,东西向允许通行,南北向禁止通行。 ◆东西方向绿灯灭,南北方向红灯灭,同时黄灯亮,倒计时3秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

单片机实验LCD显示实验

实验19L C D显示实验 一、实验目的: 学习液晶显示的编程方法,了解液晶显示模块的工作原理。 掌握液晶显示模块与单片机的接口方法。 二、所需设备 CPU挂箱、8031CPU模块 三、实验内容 编程实现在液晶显示屏上显示中文汉字“北京理工达盛科技有限公司”。 四、实验原理说明 五、实验步骤 1、实验连线 8255的PA0~PA7接DB0~DB7,PC7接BUSY,PC0接REQ,CS8255接 CS0。 2、运行实验程序,观察液晶的显示状态。 六、程序框图 八、附:点阵式LCD 模块 点阵式LCD模块 由一大一小两块液晶 模块组成。两模块均 由并行的数据接口和 应答信号接口两部分 组成,电源由接口总 线提供。 (1)OCMJ2×8液晶 模块介绍及使 用说明 OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和 ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。 OCMJ中文模块系列液晶显示器也可用作一般的点阵图形显示器之用。

提供有位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。 OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。 本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。一改传统的使用大量的设置命令进行初始化的方法,OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。 硬件接口 接口协议为请求/应答(REQ/BUSY)握手方式。应答BUSY 高电平(BUSY =1)表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低(BUSY =0?),如果BUSY =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。如向模块发出一个完整的显示汉字的命令,包括坐标及汉字代码在内共需5个字节,模块在接收到最后一个字节后才开始执行整个命令的内部操作,因此,最后一个字节的应答BUSY 高电平(BUSY =1)持续时间较长,具体的时序图和时间参数说明查阅相关手册。

基于单片机的交通灯控制系统

基于单片机的交通灯控制系统 一、实验目的 1、了解交通灯的控制方法 2、掌握8051单片机基本操作 3、掌握keil和PrOteuS软件的使用 二、实验原理 通过对十字路口的观察,发现红绿灯的控制原理:首先南北方向右转加直行的绿灯亮起。此时,东西方向为红灯;当右转加直行绿灯倒计时进入最后5秒, 绿灯切换为黄灯并开始闪烁,东西方向红灯不变;接着南北方向切换为左转灯,东西方向依然是红灯;同样当倒计时进入最后5秒时,黄灯开始闪烁。东西方向为红灯。然后东西方向的右转加直行绿灯亮起,以此类推。 三、实验内容及程序 主程序: void main (VOid)

Busy_LED=O; SPeCiaLLED=O; ITO=1; //INTO 负跳变触发 TMOD=O X OI;//定时器工作于方式1 TH0=(65536-50000)∕256;// 定时器赋初值TL0=(65536- 50000)%256; EA=1; //CPU开中断总允许 ET0=1;//开定时中断 EX0=1;//开外部INTO中断 TR0=1;// 启动定时 while(1) { Flag_EW_Yellow=0; //EW关黄灯显示信号 Time_EW=EW; Time_SN=SN; WhiIe(Time_SN>=5) {P仁S[0]; /∕SN 通行,EW红灯 DiSPIay();} P仁0x00; WhiIe(Time_SN>=0 ) {Flag_SN_Yellow=1; EW_Red=1; /∕SN //SN开黄灯信号位 黄灯亮,等待左拐信号,EW红灯 DiSPIay(); } Flag_SN_Yellow=0; /∕SN关黄灯显示信号Time_SN=SNL; WhiIe(Time_SN>=5) {P仁S[2];//SN左拐绿灯亮,EW红灯 DiSPIay();} P仁0x00; WhiIe(Time_SN>=0 ) {Flag_SN_YeIIow=1; EW_Red=1; /∕SN //SN开黄灯信号位 黄灯亮,等待停止信号,EW红灯 DiSPIay(); }

实验八单片机液晶显示实验

实验八单片机液晶显示实验 一、实验目的 1、了解液晶显示屏的控制原理及方法。 2、了解点阵汉字的显示原理。 二、实验说明 1、利用实验上的液晶显示屏电路,编写程序控制显示,输出汉字。 2、本实验仪采用的液晶显示屏内置控制器为SED1520,点阵为122x32,需要两片SED1520组成,由E1、E2分别选通,以控制显示屏的左右两半屏。图形液晶显示模块有两 种连接方式。一种为直接访问方式,一种为间接控制方式。本实验仪采用直接控制方式。 三、实验仪器 计算机 伟福实验箱(lab2000P ) 四、实验内容 1、利用实验上的液晶显示屏电路,编写程序控制显示,输出汉字。 2、本实验仪采用的液晶显示屏内置控制器为SED1520,点阵为122x32,需要两片SED1520组成,由E1、E2分别选通,以控制显示屏的左右两半屏。图形液晶显示模块有两 种连接方式。一种为直接访问方式,一种为间接控制方式。本实验仪采用直接控制方式。 3、直接控制方式就是将液晶显示模块的接口作为存储器或I/O设备直接挂在计算机总线上。计算机通过地址译码控制E1和E2的选通;读/写操作信号R/W由地址线A1控制;命令/数据寄存器选择信号AO由地址线A0控制。实际电路如上图所示。地址映射 如下(地址中的X由LCD CS决定,可参见地址译码部分说明) 五、思考题 1、显示自己的班级和姓名; 2、可以动态显示,上下或者左右移动; 六、源程序修改原理及其仿真结果 CWADD1 EQU 08000H ;写指令代码地址(E1) DWADD1 EQU 08001H ;写显示数据地址(E1) CRADD1 EQU 08002H ;读状态字地址(E1) DRADD1 EQU 08003H ;读显示数据地址(E1) CWADD2 EQU 08004H ;写指令代码地址(E2) DWADD2 EQU 08005H ;写显示数进地址(E2) CRADD2 EQU 08006H ;读状态字地址(E2) DRADD2 EQU 08007H ;读显示数据地址(E2) PD1 EQU 3DH ;122/2 分成左右两半屏122x32 COLUMN EQU 30H PAGE_ EQU 31H ;页地址寄存器D1,DO:页地址 CODE_ EQU 32H ;字符代码寄存器 COUNT EQU 33H ;计数器 DIR equ 34h dtp1 equ 35h

基于51单片机的交通灯控制系统设计

一、摘要: 随着科技的飞速发展,越来越多的控制功能强大的芯片出现在我们生活中,但8051系列单片机,因为其的廉价几成本,在我们生活中依然处于十分重要的地位。在实时检测和自动控制的单片机应用系统中,单片机是作为一个核心部件来使用,但是仅单片机方面知识是不够的,还需要根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。 交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。作为交通控制的重要组成部份单片机。因此,本人选择制作交通灯作为课题加以设计并实现。 交通管制应当以人性化、智能化为目的,做出相应的改善。以此为出发点,本系统采用的单片机控制的交通信号灯。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广阔的应用前景。 关键词:交通灯,51单片机,数码管 二、实习目的和意义 1.学习51单片机的最小系统及硬件接口设计与应用 2.熟练掌握电路原理图绘制软件DPX的使用。 3.熟练单片机的程序设计与调试。 4. 自主设计出具有实际意义的能用于生活的电路系统。 5. 本次课程设计对以后的毕业设计甚至工作打下了动手自己设计的基 础。 三、实习要求 1. 完成以8051系列单片机为核心处理器的模拟十字路口交通灯 控制的硬件设计(在altium designer下画出硬件原理图)。布线,印制 电路板,并焊接原件搭载硬件电路,做出实物。 2. 完成交通灯控制系统的软件编程。 3. 软硬件综合调试,模拟实现对交通灯控制系统的控制。 4. 撰写实验报告:报告中给出硬件方案、软件流程图、软件关键

代码 四、实习内容 1.设计题目:基于51单片机交通十字路口信号灯设计 2.实现功能:具有红、绿、黄三种颜色彩灯,并有一个数码管进行倒计 时显示倒计时时间为三十秒。还应具有按键控制特殊情况下十字路口 不需要红绿灯的显示(车流量很少的地段深夜可以不设红绿灯)。 五、系统实现 1.电路设计: 51单片机介绍:本实验使用的51单片机为STC89C52 STC89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的 随机存取数据存储器(RAM)。 STC89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口。单片机外部引脚图如下:

用51单片机控制交通灯汇编语言编写

基于51单片机的交通灯控制系统设计 摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口! 二概要设计 2.1 设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 C 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让时间回到只能隔断处继续进行。 2.2总体设计框图 见图一:

基于51单片机的交通灯控制系统设计

目录 一引言 (2) 二概要设计 (2) 2.1 设计思路 (2) 2.2总体设计框图 (3) 三硬件设计 (3) 3.1LED循环电路设计 (3) 3.1.1 89cs51单片机概述 (3) 3.1.2 LED循环说明 (5) 3.2 倒计时显示电路 (6) 3.2.1 74LS164芯片 (6) 3.2.2 共阴极数码显示管 (7) 3.2.3 倒计时电路 (7) 3.2.4 急通车电路 (7) 四软件按设计 (8) 4.1 程序流程图: (8) 4.2 LED红绿灯显示 (9) 4.3倒计时显示 (10) 4.4 急通车控制 (10) 4.5程序代码 (10) 五总结 (10) 参考文献 (10) 附录一: (10) 附录二: (11)

基于51单片机的交通灯控制系统设计 摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提 高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功 能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口! 二概要设计 2.1 设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。

基于单片机的交通灯控制系统设计

基于单片机的交通灯控制系统设计 前言 交通是经济和社会发展的基础性产业,是社会经济活动中人流、物流、资金流和信息流的主要载体。在现代社会中,没有高效运转的交通运输体系,就不可能有经济的持续发展。然而,随着社会经济的发展,机动车辆迅速增如,人们在赚取由机动车辆所带来的巨额利润以及充分享受汽车巨大便利的同时,也越来越受到交通拥堵、交通事故频发、环境污染加剧和燃油损耗上升所带来的诸多问题的困扰。 在国外,特别是一些发达国家,由于经济发展较快,早在上个世纪60年代,交通问题就同渐突出;而我国,由于经济发展相对较晚,机动车辆拥有量相对较少,在改革开放前及初期,这一问题并不严重,但是近20多年来,随着我国经济的飞速发展,城市化、汽车化进程加快,机动车辆保有量迅猛增加,我国的交通状况日渐恶化,交通拥挤以及能源、环境问题日益严重,特别是一些大城市,交通拥挤已成为制约城市经济发展的瓶颈。 目前国内已有一些自主开发的城市交通控制与管理系统,但整体性能与国外同类系统相比较仍有较大差距,只在一些中小城市得到部分应用。国内城市尤其是大城市引进的交通控制系统大部分为进口的SCOOT和SCATS系统。由于我国交通流是混合交通流,和国外的交通流大不相同,国外的交通控制系统在国内的使用效果不尽人意。所以迫切需要开发适合我国国情的、具有我国自主知识产权的能达到国际先进水平的智能交通系统。交通系统是一个非线性随机性都很强的开放的复杂大系统,系统维数太高,加上人的参与,对其进行有效的控制是一个非常复杂的问题。这也是现有不管是基于方案选择式的SCATS还是基于方案生成式的SCOOT系统都难于取得很好效果的原因。所以,必须采用先进的智能控制理论来解决复杂的交通系统的控制问题。本论文的研究目的就是针对城市交通问题的现状,从方法上对交通信号的优化与控制问题进行研究和探讨,以期为解决实际的城市交通问题提供有益的方法和途径。 本文给出了硬件电路的设计以及系统软件架构的搭建,并阐述了一种简单合理的设计方法。为保证系统在复杂环境下工作的可靠性,增强系统的抗干扰能力是必须要解决的问题。结合实际情况,本文从硬件、软件两方面对系统进行可靠性设计并取得了满意的效果。

基于单片机的交通灯控制系统设计

课程设计报告 题目:基于单片机的(数显)交通灯控制系统设计 目录 摘要 (3) 一、设计背景 (4) 二、方案分析与对比 (4) 2.1方案分析 (4) 2.2方案对比 (4) 三、智能交通灯控制系统的硬件设计 (4)

3.1 STC89S5单片介 (4) 3.2 控制器的原理框图 (8) 3.3 紧急转换电 (8) 四、智能交通灯控制系统的软件设计 (10) 4.1交通灯的软件设计流程图 (10) 4.2 控制器的软件设计 (10) 五、系统分析及改进措施 (12) 六、心得体会 (13) 参考文献 (14) 附录 (14) 摘要: 自从1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。 近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。本模拟交通灯系统利用单片机STC89C52作为核心元件,实现了通过信号灯根据区域车流现实对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。和复位电路控制电路等组成,较好模拟了,交通路面的控制。 关键词:交通灯单片机数码管 Abstract: In 1858, since the invention of primitive mechanical a wrench to the traffic lights, the more than a hundred years, the traffic lights changed to change the traffic and transport in their everyday lives as an important position, increasing

51单片机控制1602LCD显示程序

LCD显示电路 #include sbit RS=P3^7; //寄存器选择位,将RS位定义为P2.0引脚 sbit RW=P3^6; //读写选择位,将RW位定义为P2.1引脚 sbit E=P2^7; //使能信号位,将E位定义为P2.2引脚 sbit BF=P0^7; //忙碌标志位,将BF位定义为P0.7引脚 #define Lcd_Data P0 #include #include //包含_nop_()函数定义的头文件 unsigned char code string1[ ]= {0x77,0x75,0x20,0x79,0x61,0x6E,0x67,0x20,0x79,0x61,0x6E,0x67,0x20,0x20,0x20,0x20}; //第一行显示的字符 void Lcd_delay1ms() // 函数功能:延时1ms //注:不同单片机不同晶振需要对此函数进行修改 { unsigned char i,j; for(i=0;i<90;i++) for(j=0;j<33;j++); } void Lcd_delay(unsigned int n) // 函数功能:延时若干毫秒,入口参数:n { unsigned int i; for(i=0;i

/***************************************************** 函数功能:判断液晶模块的忙碌状态 返回值:result。result=1,忙碌;result=0,不忙 ***************************************************/ bit Lcd_BusyTest(void) { bit result; RS=0; //根据规定,RS为低电平,RW为高电平时,可以读状态 RW=1; E=1; //E=1,才允许读写 _nop_(); //空操作 _nop_(); _nop_(); _nop_(); //空操作四个机器周期,给硬件反应时间 result=BF; //将忙碌标志电平赋给result E=0; return result; } /***************************************************** 函数功能:将模式设置指令或显示地址写入液晶模块 入口参数:dictate ***************************************************/ void Lcd_WriteCom (unsigned char dictate) { while(Lcd_BusyTest()==1); //如果忙就等待 RS=0; //根据规定,RS和R/W同时为低电平时,可以写入指令RW=0; E=0; //E置低电平(写指令时就是让E从0到1发生正跳变,所以应先置"0" _nop_(); _nop_(); //空操作两个机器周期,给硬件反应时间 Lcd_Data=dictate; //将数据送入P0口,即写入指令或地址 _nop_(); _nop_(); _nop_(); _nop_(); //空操作四个机器周期,给硬件反应时间 E=1; //E置高电平 _nop_(); _nop_(); _nop_(); _nop_(); //空操作四个机器周期,给硬件反应时间 E=0; //当E由高电平跳变成低电平时,液晶模块开始执行命令} /***************************************************** 函数功能:指定字符显示的实际地址 入口参数:x

相关文档
相关文档 最新文档