当前位置:文档之家› 液晶显示模块和MSP430单片机在显示终端上的应用_吴平

液晶显示模块和MSP430单片机在显示终端上的应用_吴平

液晶显示模块和MSP430单片机在显示终端上的应用_吴平
液晶显示模块和MSP430单片机在显示终端上的应用_吴平

第18卷 第6期2003年12月

液 晶 与 显 示

Chinese Jour nal of L iquid Cr ystals and Displays

Vol.18,No.6 Dec.,2003

文章编号:1007-2780(2003)06-0436-05

液晶显示模块和MSP430单片机在显示终端上的应用

吴 平1,2,龚 彬1,2,丁铁夫1

(1.中国科学院长春光学精密机械与物理研究所,吉林长春

130021,E -mail:pw w p@https://www.doczj.com/doc/0f16561265.html,;

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

摘 要:介绍了一种显示终端的设计方法。并根据WGM 12864M 点阵液晶显示模块的特点,结合M SP430F 149超低功耗单片机,论述了点阵液晶显示的编程方法,给出了WGM 12864M 与M SP430F149的硬件接口电路和显示程序流程图。关

词:L CD;WGM -12864M ;单片机;M SP430

中图分类号:T N 873.93;T N 911.72 文献标识码:A

收稿日期:2003-05-28;修订日期:2003-06-18 基金项目:吉林省科技发展计划项目(990122)

1 引 言

随着电子技术和集成电路制造工艺的飞速发展,越来越多的领域应用到以单片机为控制核心、用液晶[1,2]作为显示终端的便携式数字化设备。图形液晶显示模块[3]不仅可以生动地显示图形、汉字及字符,而且大部分液晶显示模块自带控制器,这些控制器由大规模集成电路制成,功耗小、工作电压低,具有规范的控制线和数据线,方便了与其他控制器的接口应用。

某工程项目由前方数据采集器、主通讯控制器和6~9个显示终端组成,主要功能是以主通讯控制器为核心,将前方数据采集器采集到的信息经过处理,发送给相应的显示终端,显示终端完成信息的接收和显示工作。对显示终端的设计,要求该终端电池供电、体积小、功耗低,可长期在野外工作,且工作温度范围宽,在低温下能正常工作。为此我们选用了3V 工作的WGM12864M LC 显示模块和超低功耗单片机MSP430F149[4]来构成显示终端,完成接收数据和显示信息功能,达到了设计要求。

2 液晶显示模块WGM 12864M

2.1 W GM12864M 内部硬件结构

WGM12864M 是一种图形点阵液晶显示模

块,可完成图形显示,也可以显示4@8个(16@16点阵)汉字。电源为2.7~5V,与CPU 接口采用8位数据总线并行输入输出和8条控制线,7种控制指令,模块自带-10V 输出电压。

WGM12864M 主要由行驱动器、列驱动器及128@64全点阵液晶显示器组成,如图1所示。图中IC 1、IC 2为列驱动器,IC 3为行驱动器。IC 1、IC 2、IC 3

含有如下主要功能器件。

图1 WGM -12864M 硬件结构

Fig.1 Hardware configuration of W GM -12864M

#指令寄存器(IR):当D/I=0时,在E 信号下降沿的作用下,指令码写入IR 。

#数据寄存器(DR):当D/I=1时,在E 信号的下降沿作用下,图形显示数据写入DR,或在E 信号高电平作用下将DR 内容读到DB 7~DB 0数据总线。DR 和DDRAM 之间的数据传输是模块

内部自动执行的。

#显示控制触发器DFF:控制模块屏幕显示开和关。DFF=1为开显示,DDRAM的内容就显示在屏幕上,DDF=0为关显示。DDF的状态是指令显示ON/OFF和RST信号控制的。

#XY地址计数器:XY地址计数器是一个9位计数器,高3位是X地址计数器,低6位为Y 地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM 的页指针,Y地址计数器为DDRAM的Y地址指针。表1为DDRAM地址表(左半屏)。

X地址计数器没有记数功能,只能用指令设置。

Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0~63。

#显示数据RAM(DDRAM):DDRAM是存贮图形显示数据的。数据为1表示显示选择,数据为0表示显示非选择。

#Z地址计数器:Z地址计数器是一个6位计数器,具备循环记数功能,用于显示行扫描同步。当一行扫描完成,地址计数器自动加1,指向

表1DDRA M地址表

T able1Address table of DDRA M

X页号Y0Y1Y2###Y62Y63行DB0DB00 0||| DB7DB77

DB0DB08

2-6||| DB7DB755

DB0DB056 7||| DB7DB763

下一行扫描数据,RST复位后Z地址计数器为0。

Z地址计数器可以用指令DISPLAY START LINE预置。因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM共64行,屏幕可以循环滚动显示64行。

2.2WGM12864M外部接口信号

WGM12864M外部接口信号如表2所示。

表2WGM12864M管脚说明

T able2P ins descr iption of WGM12864M

管脚号管脚名称管脚功能描述

1V SS电源地

2V DD电源电压2.7~5V

3V0液晶显示器驱动电压输入

4D/I H表示DB7~DB0为显示数据,L表示DB7~DB0为显示指令数据5R/W R/W=/H0,E=/H0,数据被读到DB7~DB0

R/W=/L0,E=/H y L0,DB7~DB0的数据被写到I R或DR 6E使能信号:R/W=/L0,E信号下降沿锁存DB7~DB0

R/W=/H0,E=/H0DDRA M数据读到DB7~DB0

7~14DB0~DB7数据线

15CS1H为选择芯片1信号

16CS2H为选择芯片2信号

17R ES复位信号

18V EE L CD驱动负电压输出-10V

19EL+EL背光板电源

20EL-EL背光板电源地

2.3指令表

WGM12864M共有7种指令,这些指令功能及使用方法如表3所示。

437

第6期吴平,等:液晶显示模块和M SP430单片机在显示终端上的应用

表3指令说明

T able3T he instructions description

指令RW D I D7D6D5D4D3D2D1D0功能描述

显示控制000011111DF F DFF=1显示开,DFF=0显示关

设起始行0011显示起始行(0,63)指定从DDRAM中哪一行开始显示数据

设置X地址0010111X:0,7设置页地址,D DRA M中8行为一页

设置Y地址0001Y地址(0~63)对DDRAM读写后,Y地址指针自动加1

写显示数据01显示数据将总线数据写入DDRAM,Y指针自动加1

读显示数据11显示数据读DDRAM内容到数据线上,Y指针自动加1读状态10BF0DF F RST0000BF=0:准备好,可接受指令和数据

BF=1:忙,不接受指令和数据

DFF=1:显示开;DFF=0:显示关

RST=1:复位;RST=0:正常

3硬件电路设计

3.1MSP430F149超低功耗单片机

M SP430F149单片机是美国T I公司开发的M SP430FLASH系列中的一种,具有60KB的Flash,2KB RAM,可以在线编程,10万次擦写。其主要特点是:

#工作电压为1.8~3.6V,工作温度范围-40~+85e;

#采用16位RISC精简指令集;

#高效的寻址方式,在8MH z时可得到125ns 的指令周期,大部分的指令在一个指令周期内完成;

#具有48个I/O引脚,每个I/O口分别对应输入、输出、功能选择等多个寄存器,使功能口和通用I/O口复用,增强了端口的功能和灵活性,大大提高了对外围设备的开发能力;

#具有强大的中断功能,16个快速响应中断能及时处理各种紧急事件;

#片内含有硬件乘法器;

#具有两个通用同步/异步串行通讯接口;

#内含一个12位高性能A/D转换器和一个自动扫描功能的容量为16个字的可编程缓冲器;

#片内具有两个定时器;

#具有7个捕获/比较寄存器的16位T i-mer-B和带有3个捕获/比较寄存器的16位Timer-A。

3.2硬件接口电路

显示终端的主要功能是从主通讯控制器接收信息,考虑终端工作在复杂的野外环境,所以终端与主通讯控制器采用两种通讯方式,无线选用无线模块,有线采用RS-485通讯方式,如图2所示

,

图2显示终端硬件电路

F ig.2Display terminal har dware circuits

438液晶与显示第18卷

利用MSP430F149的两个串口分别对应有线和无线接收方式。显示终端主要是接收功能,发送数据只给出必要的应答。电路中用MSP430F149的串口接收主通讯控制器传来的数据,经过处理在M SP430F149单片机的I/O 口送给LCD 进行显示,完成主通讯控制器对各终端的控制和传递数据。图中M SP430F149的P5.0、P5.1为LCD 左右半屏的片选信号CS 1、CS 2,P5.2为LCD 的R/W 读写控制线,P5.3为LCD 的E 使能信号,P514为LCD 的D/I 数据/指令选择信号,P4口作为LCD 显示数据(或指令)通讯口。M SP430F149的两个外部时钟分别接低速时钟32768H z 和高速时钟8MHz ,为系统的不同模块提供了不同的工作频率。

4 软件实现

4.1 数据接收显示设计

M SP430F149单片机通过中断接收主通讯控制器发来的数据,接收到正确数据给主通讯控制器应答,并将接收到的显示数据送给LCD 显示。通讯参数设置为波特率1200,8个数据位,CRC 校验。对收到的数据汉字采用16@16的点阵,字母和数字采用8@16的点阵,由于需要显示的汉字、字母和数字是固定的,所以采用直接固化显示字模到FLASH 中的方法。这种方法占用空间少,程序实现简单,显示速度快,适合字模数据库不大的情况。

汉字显示程序流程图如图3所示。一个16@16点阵汉字字模数据格式是前16个字节为汉字的上半部16@8点阵字模数据,后16个字节为下半部16@8点阵字模数据。因此在汉字显示设置页地址时,如果显示的是汉字的后16个字节,需要使页地址在当前页地址的基础上加1。如果需要显示的汉字的列数大于63时,要通过片选信号CS 2来选择IC 2控制芯片,对它的读写操作同IC 1控制芯片。在每次写显示数据和显示指令时都要查看模块当前的工作状态,只有满足条件时才能进行下一步的操作。

值得注意的是,MSP430F149的I/O 口是典型的复用端口,在对LCD 读写操作前要进行功能选择,即设置P1口为输入口(键盘),P5(LCD 控制口)为输出口,P4(LCD 数据口)根据需要设置

为输入或输出。另外,如果使用MSP430F149芯

片内部DCO 作为系统时钟,由于MSP430F149内部没有锁频环数字逻辑电路,为了得到准确的时钟信号需要通过软件进行/软锁频0,利用32768H z 晶振和T imer -A 或T imer -B 的捕获比较功能可以实现。主频的选择将影响LCD 显示的稳定性,如果程序中E 控制信号(P5.3)有效时间过短的话,显示的效果将会不稳定,所以程序中对E 信号要适当延时。

图3 汉字显示流程图

Fig.3 Chinese character display pro gram flowchart

4.2 显示终端低功耗设计

M SP430F13X/14X 系列超低功耗性能的实现主要与它对时钟的产生与控制密切相关。MSP430F13X/14X 系列的时钟控制电路分别形成ACLK 、MCLK 、SMCLK 等时钟信号,设计者可以根据实际需要灵活调整工作频率,通过对各功能模块时钟源的精心设计,在适当的时间打开或关闭相应模块的时钟就可设计出超低功耗性能。F13X/14X 有5种低功耗模式,如图4所示,AM 为活动状态,其余为低功耗模式,其中LPM4数据保持模式仅耗电0.1L A,从低功耗模式到活动状态只需6L s 。

对显示终端低功耗的设计,主要是在主程序中进行必要的设置,然后使CPU 进入低功耗模式,显示终端接收主通讯控制器发来的数据和接受键盘指令均采用中断方式进行处理,由相应的中断唤醒CPU ,这样使CPU 大部分时间都在休

439

第6期吴 平,等:液晶显示模块和M SP430单片机在显示终端上的应用

图4M SP430工作模式

F ig.4Wo rk model o f M SP430

息,处于休眠状态,CPU的大部分工作都在中断服务程序中完成,当CPU完成中断服务后再进入低功耗模式。

5结束语

在以往的电路设计中单片机和外围器件大部分为5V系统,而随着电子技术的发展,低压低功耗器件越来越多,选用3V工作的微控制器和LCD显示器,既能够降低系统功耗,又能简化电路。实践证明,采用液晶显示模块作为终端显示器,接口规范、使用方便。同时,M SP430单片机集成许多通用模块,功能强大,采用先进的功耗管理技术,对功耗情况进行动态管理,可以进一步降低系统功耗,特别适合应用于对体积、功耗敏感和电池供电的设备。

参考文献:

[1]黄锡珉.液晶显示技术的开发和产业化[J].液晶与显示,

2002,17(6):403-415.

[2]王君立,壮凌,檀慧明.液晶显示控制器的应用[J].液晶与显示,2003,18(1):31-34.

[3]余华芳,刘健.单片机与液晶显示模块的软硬件接口技术[J].液晶与显示,2003,18(2):125-129.

[4]魏小龙.M S P430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002,119-227.

Applications of Liquid Crystal Display Module and

Microcontroller MSP430in Display Terminal

WU Ping1,2,GONG Bin1,2,DING Tie-fu1

(1.Changchun Institu te o f Op tics,Fine M echanics and Physic s,Chinese A cad emy of S ciences,

Changchun130021,China,E-mail:p w wp@https://www.doczj.com/doc/0f16561265.html,;

2.G raduate S chool of the Chinese Academy o f Science s,Beijing100039,China)

Abstract

T his paper introduces a kind of method to design display terminals.Based on WGM-12864M special-i ty,the programming method of LCD is demonstrated in the application of ultralow-power microcontroller M SP430F149.The hardw are interface circuits and the display program flow chart of WGM12864and M SO430F149are g iven.

Key words:LCD;WGM-12864M;microcontroller;MSP430

作者简介:吴平(1970-),男,辽宁铁岭人,1993年毕业于东北师范大学,获理学学士学位,2001年考取中国科学院长春光学精密机械与物理研究所电路与系统专业硕士研究生,2003年直接攻读博士学位,研究方向为嵌入式系统、计算机通讯。

440液晶与显示第18卷

基于单片机的液晶显示

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

目录 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点阵图形来显示字符的

单片机之LCD显示原理

5.自制单片机之五LCD1602的驱动 LCD1602已很普遍了,具体介绍我就不多说了,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,定义如下表所示: 字符型LCD的引脚定义 HD44780内置了DDRAM、CGROM和CGRAM。 DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表: 也就是说想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的,后面我会说到的。那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。第二行也一样用前16个地址。对应如下: DDRAM地址与显示位置的对应关系 我们知道文本文件中每一个字符都是用一个字节的代码记录的。一个汉字是用两个字节的代码记录。在PC上我们只要打开文本文件就能在屏幕上看到对应的字符是因为在操作系统里和BIOS里都固化有字符字模。什么是字模?就代表了是在点阵屏幕上点亮和熄灭的信息数据。例如“A” 字的字模: 01110 ○■■■○ 10001 ■○○○■ 10001 ■○○○■ 10001 ■○○○■ 11111 ■■■■■ 10001 ■○○○■

10001 ■○○○■ 上图左边的数据就是字模数据,右边就是将左边数据用“○”代表0,用“■”代表1。看出是个“A”字了吗?在文本文件中“A”字的代码是41H,PC收到41H的代码后就去字模文件中将代表A字的这一组数据送到显卡去点亮屏幕上相应的点,你就看到“A”这个字了。 刚才我说了想要在LCD1602屏幕的第一行第一列显示一个"A"字,就要向DDRAM的00H地址写入“A”字的代码41H就行了,可41H这一个字节的代码如何才能让LCD模块在屏幕的阵点上显示“A”字呢?同样,在LCD模块上也固化了字模存储器,这就是CGROM和CGRAM。 HD44780内置了192个常用字符的字模,存于字符产生器CGROM(Character Generator ROM)中,另外还有8个允许用户自定义的字符产生RAM,称为CGRAM(Character Generator RAM)。下图说明了CGROM和CGRAM与字符的对应关系。 从上图可以看出,“A”字的对应上面高位代码为0100,对应左边低位代码为0001,合起来就是01000001,也就是41H。可见它的代码与我们PC中的字符代码是基本一致的。因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1='A'这样的方法。PC在编译时就把“A”先转为41H代码了。 字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。后面我会详细说的。 0x20~0x7F为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符码(0x10~0x1F及0x80~0x9F)没有定义。 那么如何对DDRAM的内容和地址进行具体操作呢,下面先说说HD44780的指令集及其设置说明,请浏览该指令集,并找出对DDRAM的内容和地址进行操作的指令。 共11条指令: 1.清屏指令 功能:<1> 清除液晶显示器,即将DDRAM的内容全部填入"空白"的ASCII码20H; <2> 光标归位,即将光标撤回液晶显示屏的左上方; <3> 将地址计数器(AC)的值设为0。 2.光标归位指令 功能:<1> 把光标撤回到显示器的左上方; <2> 把地址计数器(AC)的值设置为0; <3> 保持DDRAM的内容不变。

单片机实验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个字节,模块在接收到最后一个字节后才开始执行整个命令的内

基于51单片机1602液晶显示简易计算器设计

#include #include #define uint unsigned int #define uchar unsigned char #define PI 3.141592 sbit RS = P2^0; sbit RW = P2^1; sbit EN = P2^2; sbit led=P2^4; sbit speek=P3^7; uchar table0[]={"Welcome to use"}; uchar table1[]={"made by Ms. Li"}; uchar table2[]={"error"}; uchar count; void main(void) { uchar error=0,i,first=0,dot1,dot2,dot1_num,dot2_num,minus1,minus2;//错误标志、第一次清屏标志、小数点标志以及小数点个数负号标志、负号个数 uchar Sin,Cos,Tan,ln; uchar Key_num,last_key_num; //键号 uchar flag=0,equal_flag; //运算符、等于符 double num1=0,num2=0,num=0,result=0,save_result; //第一个数、第二个数、计算结果

uchar first_num=0,Ans=0,second_num=0; InitLcd(); EA=1; ET0=1; TMOD=0X01; TH0=(65536-500)/256; TL0=(65536-500)%256; write_com(0x80+0x40+15); write_Dat('0'); write_com(0x80); while(1) { while(key_scan()==0xff); TR0=1; if(first==0) { first=1; write_com(0x01); } Key_num=key_scan(); switch(key_scan()) { case 1: if(last_key_num!=Key_num) { write_Dat('l'); write_Dat('n'); ln=1; }break; case 2: if(last_key_num!=Key_num) { write_Dat('s'); write_Dat('i'); write_Dat('n'); Sin=1; }break; case 3: if(last_key_num!=Key_num) { write_Dat('c'); write_Dat('o'); write_Dat('s'); Cos=1;

根据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.实验报告格式: 一.实验名称 二.实验目的 三.实验内容 四.设计思想 五.硬件设计 六.程序代码

基于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;

基于单片机的电子时钟设计报告(LCD显示)

单片机原理及应用课程设计任务书 题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 单片机原理及应用课程设计任务书

题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 基于AT89C51单片机的电子时钟设计报告

一、设计要求与目的 1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。 2)、使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。3)、用3个功能键操作来设置当前时间。 4)、熟悉掌握proteus编成软件以及keil软件的使用 二、本设计原理 本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD显示器上作出相应的反应。由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。 该课题中有三个控制开关KM1、KM2、KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、硬件设计原理(电路) 硬件电路原理图

单片机实验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)持续时间较长,具体的时序图和时间参数说明查阅相关手册。

LCD与单片机的连接电路图和LCD显示程序

LCD与单片机的连接电路图和LCD显示程序/LCD测试程序 3.2.5 LCD显示电路 液晶显示器简称LCD显示器,它是利用液晶经过处理后能改变光线的传输方向的特性来显示信息的。要使用点阵型LCD显示器,必须有相应的LCD控制器、驱动器来对LCD显示器进行扫描、驱动,以及一定空间的ROM和RAM来存储写入的命令和显示字符的点阵。现在往往将LCD控制器、驱动器、RAM、ROM和LCD显示器连接在一起,称为液晶显示模块。 液晶显示模块是一种常见的人机界面,在单片机系统中的应用极其广泛。液晶显示模块既可以显示字符,又可以显示简单的图形。本系统采用的是1602的LCD接口。1602是一种点阵字符型液晶显示模块,可以显示两行共32个字符。根据LCD型号的不同,所需要的背光电阻大小会不同,可自行调节。 本系统采用的LCD为RT-1602C,其主要引脚的功能如下: RS:数据/命令选择端,高电平时选择数据寄存器,低电平时选择指令寄存器。 RW:读/写选择端,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时,可以写入指令或者显示地址;当RS为低电平、RW为高电平时,可以读忙信号;当RS 为高电平、RW为低电平时,可以写入数据。 E:使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

图3-9 LCD显示电路 LCD测试程序 #include /********IO引脚定义***********************************************************/ sbit LCD_RS=P2^7;//定义引脚 sbit LCD_RW=P2^6; sbit LCD_E=P2^5; /********宏定义***********************************************************/ #define LCD_Data P0 #define Busy 0x80 //用于检测LCD状态字中的Busy标识 /********数据定义*************************************************************/ unsigned char code uctech[] = {"Happy every day"}; unsigned char code net[] = {"https://www.doczj.com/doc/0f16561265.html,"}; /********函数声明*************************************************************/

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

实验八单片机液晶显示实验 一、实验目的 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单片机的液晶显示器控制电路设计_本科论文

XXXXXXX 毕业设计 题目GPRS无限通讯数据系统的设计与应用姓名xxx 学号xxx 专业班级xxx 分院xxx

指导教师xxx xxxx年xxx月xxx日

目录 摘要............................................... 错误!未定义书签。ABSTRACT........................................................... I I 第一章概述 (1) §1.1系统背景 (1) §1.2 系统概述 (2) 第二章方案论证 (3) §2.1字模数据的存储 (3) §2.2 通信电路 (3) 第三章液晶显示模块简介 (4) §3.1 显示控制器 (5) §3.2 列驱动方式 (10) §3.3 行驱动方式 (11) 第四章硬件设计 (13) §4.1硬件电路设计要求 (13) §4.2 总体电路设计构架 (13) §4.3 单片机与液晶显示模块接口 (13) §4.4 单片机与计算机的通信接口 (14) §4.5 电源电路 (15) 第五章系统软件设计 (15) §5.1 内置T6963C控制器软件特性 (15) §5.2初始化子程序设计 (19) §5.3 串行通信子程序设计 (20) §5.4 显示控制子程序设计 (21) 第六章系统调试 (22) §6.1 分步调试 (22) §6.2 系统统一调试 (23) 结束语 (24) 附录 (25)

参考文献 (30) 致谢............................................. 错误!未定义书签。

基于51单片机的液晶显示屏控制系统设计

基于51单片机的液晶显示屏控制系统设计 1 概述 1.1系统背景 液晶显示器件在中国已有二十余年的发展历史。二十余年来,液晶显示器件从实验室走向大规模生产集团,形成了独立的产业部门。现在,液晶显示几乎已经应用于生产,生活的各个领域,人们几乎时时处处都要与这一神奇而又普通的面孔打交道。 液晶显示是集单片机技术、微电子技术、信息处理于一体的新型显示方式。由于液晶显示器具有低压低功耗,显示信息量大易于彩色化,无电磁辐射,长寿命,无污染等特点。LCD是目前显示产业中发展速度最快,市场应用最广的显示器件,成为众多显示媒体中的佼佼者,在越来越多的领域中发挥作用,是目前显示器件中一个理想的选择。 LCD在监控系统中的应用:目前大多数监控系统自带的显示系统为LED数码管显示,这样显示效果比较单一,只能显示监控系统的测量值。而LCD液晶显示器不仅可以显示数值、汉字等,并且可以显示文本和图形。利用LCD和键盘实现人机交互,使监控系统独立工作成为可能。通过监控系统对现场的单回路控制器进行参数设置,对各个单回路控制器的工作进行监控。 LCD在时钟中的应用:在日常生活中我们会经常看到时间的显示,这些显示大都是采用液晶显示器来显示的,而对其中的汉字无法用显示来解决。我们利用LCD液晶模块制成的小屏幕实现了时间的显示,显示格式为“时时:分分:秒秒”。另外,可以增加闹钟功能,时间到了则产生音乐声;还可以增加万年历显示“年月日”等多项功能。 LCD在大屏幕显示中的应用:大屏幕显示的应用范围极广,随着社会发展,公众生活的加强,人们对能够面向广大公众传递信息的显示装置越来越感到必需。使用液晶投影显示大屏幕,不仅有投影仪,指挥用大屏幕,还有液晶投影彩色电视。它可以用一个体积很小的系统装置,实现100英寸以上的非常漂亮的大屏幕电视显示。它与传统的显示媒体相比,具有分辨率极高,透过性好,显示内容丰富,彩色易于控制等优点。 随着计算机技术及电子通信技术的发展,LCD显示屏作为一种新的传媒工具,现已经应用到商业、军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业,大到几十平方米的大屏幕,小到家庭影院用的图文显示屏,以及政府部门应用的电子黑板,证券、银行等部门用的信息数字混合屏。LCD显示屏带来广泛的社会效益和经济效益,具有良好的发展前景。

单片机LED点阵显示方法与程序代码

单片机LED点阵显示方法与程序代码 点阵的接法有共阴和共阳两种(共阳指的是对每一行LED来讲是共阳)。 由于51单片机驱动能力有限,亮度不够,所以一般需要三极管驱动,下图为一个8X8点阵原理图,仅仅是仿真,如果需要接实物的话,加上三极管才足够亮。 显示的方法有两种: 1、逐列扫描方式。如下图所示,P1口输出列码决定哪一列能亮(相当于位码),P2口输出行码(列数据)决定列上哪些LED亮(相当于段码),能亮的列从左向右扫描完8列(相当于位码循环移位8次)即显示出一帧完整的图像。 2、逐行扫描方式,与逐列扫描调换,即P2口输出位码,P1口输出段码,扫描完8行显示出一帧图像。 以逐行扫描为例,从上图可以很明了的知道点阵的显示原理了(红色表示高电平,绿色表示低电平),当把扫描速度加快,人的视觉停留,看见的就是一幅图或一个字了,如下图所示。

一、行扫描静态显示, 用51单片机实现上图静态显示的程序如下: #include #define uchar unsigned char #define uint unsigned int uchar code TAB[]={0x81,0xFD,0xFD,0xC1,0xBF,0xBF,0xBD,0xC3}; uchar i,t; delay(uchar t) { while (t--) {;} } void main(void) { while(1) { P2=0x01; for(i=0;i<8;i++) { P1=TAB; delay(100); P2=P2<<1|P2>>7; } } } 二、行扫描翻页显示 字码取模方式为逐行 第一次从字码数组中取出第1~8个数据置于列上,行扫描顺序为1~8行,显示一帧,第二次取第9~16个数据,行扫描顺序仍为1~8行,显示第二帧,第三次取第17~24个数据,…… 实现图显示效果的程序如下:

基于单片机的多功能液晶显示数字时钟设计

基于单片机的多功能液晶显示数字时钟设计 摘要 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了。截止今日,单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。 单片计算机即单片微型计算机。是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 本文通过对一个基于单片机的能实现定时,秒表,闹钟等功能的多功能电子时钟的设计学习,详细介绍了单片机应用中的数据转换显示,液晶显示原理,键盘扫描原理。从而达到学习、了解单片机相关指令在各方面的应用。系统由AT89C51、温度检测芯片、时钟芯片、液晶显示器等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示和实时温度显示。也具有时钟、日历的校准,定时时间的设定和闹铃等功能。文章后附有电路原理图、PCB板图和程序清单,以供读者参考。因水平有限,难免有疏落不足之处,敬请老师和同学能给与批评指正。 关键字:AT89C51 定时秒表闹钟

Designs of LCD digital clock based on MCS-51 Abstract Computers have accelerated the transformation of the world's human pace, but it is after all bulky. SCM in this case was born. As of today, SCM application rapid development of technology, looking around us now in all spheres of life, from missiles, navigation equipment, to the various instruments on the aircraft control from a computer network communications and data transmission, industrial automation to real-time process control and data processing, and our lives extensive use of the smart card, electronic pets, which is inseparable from the microcontroller. Monolithic single-chip micro-computer or computer. That is the set of CPU, RAM, ROM, the timing, number and variety of interface integrated microcontrollers. Its small size, low cost, high performance, which are widely used in smart industries, and industrial automation. And 51 Series SCM SCM is the most typical and the most representative one. The graduation design Through the study, and thereby achieve the study, design, development hardware and software capabilities. Based on a microcontroller based on the will to achieve timing, stopwatch, alarm clocks, and other functions of a multi-functional electronic clock design study, in detail, the computer application of data conversion, Principle LCD, keyboard scanning principle. Thereby achieve studying and understanding the relevant directives SCM in all aspects of the application. By AT89C51 system, temperature detection chip, the clock chips, liquid crystal displays of components, to achieve clock calendar display function can be carried out, hours seconds of the show and real-time temperature display. Also calculated with the calendar and clock, calendar calibration, regular hours and set the alarm function. The article attached circuit diagram, the PCB plans and procedures checklist for the reference of our readers. Due to limited, and it will inevitably be lighter inadequate, locations will give teachers and students correction and criticism. Key words: AT89C51; timing; stopwatch; alarm clocks

单片机电子时钟LCD显示

单片机电子时钟L C D 显示 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

单片机综合实验报告 题目:电子时钟(LCD)显示 班级: 0310405班 学号: 学生姓名:张金龙 指导老师:高林 2013年 6 月 17 日 一、实验内容: 以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: ●使用字符型LCD显示器显示当前时间。 ●显示格式为“时时:分分:秒秒”。 ●用4个功能键操作来设置当前时间,4个功能键接在~引脚上。 功能键K1~K4功能如下。 ●K1—进入设置现在的时间。 ●K2—设置小时。 ●K3—设置分钟。 ●K4—确认完成设置。 程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:00”,然后开始计时。

二、实验电路及功能说明 1)单片机主控制模块 以AT89C51单片机为核心进行一系列控制。 2)时钟显示模块 用1602为LCD显示模块,把对应的引脚和最小系统上的引脚相连,连接后用 初始化程序对其进行简单的功能测试。测试成功后即可为实验所用,如图: 3)时间调整电路 用4个功能键操作来设置当前时间,4个功能键接在~引脚上。功能键K1~ K4功能如下。K1—进入设置现在的时间。K2—设置小时。K3—设置分钟。 K4—确认完成设置。如图: 三、实验程序流程图: 主程序: 时钟主程序流程 子程序:

四、实验结果分析

实验结果及分析:单片机的晶振可以根据要求设定。6MHZ为和现实时间显示相同。实验采用12MHZ晶振采用方式1定时,选取50ms采用20次中断达到一秒,采用查表方式控制LCD显示。当烧入程序后开始运行,根据初始值设定可以观察到显示的时间,这里为了更明显观察显示数据变化把起始值设为 23:59:50 运行后显示 ,K1为进入现在设置时间,当按下K1后显示 ,和实验要求相比较,实现了按下K1进入现在时间设置,按下K4确认完成时间设置的功能;不同之处: 当进入时间设置时在按下K1设置小时,再次按下K1是设置分钟。增加功能:进入时间设置并选择设置位置后K2键位数字增加功能,K3键为数字减小功能。根据仿真结果能够确定编程正确,基本实现了所有功能,而且有所改进。 五、心得体会 每次做单片机实验都会有不同的等收获,而这次的实验让我感觉收获更大。这次的实验让我巩固了以往所学,而且锻炼了自己发现问题解决问题的能力。在编程过程,发现自己对C语言很生疏,很多 技巧和函数运用都不会,通过参考资料和询问同学终于让我完成了程序,并实现了程序的功能。这不仅提高了自己动手能力,也培养了自己的思考能力。 这次在编程过程中学到了很多新东西,特别是LCD的显示,在设定的显示字符后,正确编译后显示各种设定值,LCD显示16位字 符,在最初编程时编译正确但是LCD上的显示字符有缺失,显示不 完整,经过不断调试发现空格同样占据字符,只有所有字符不超过 16位且位置正确时才能完整正确显示。时间的显示需要每一个显示 的位子有定义,而且要给“:”留下特定位子。同时编程时发现还可以显示其他如日期。但本实验不需要且很难完成最终没实现。

相关主题
文本预览
相关文档 最新文档