教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

单片机汇编语言下LCD多级菜单的一种实现方法

来源:网络收集 时间:2026-08-27
导读: 科技信息OIT论坛o 2010年第31期 单片机汇编语言下LCD多级菜单的 一种实现方法 高璇1,2 (1.安徽理工大学电气与信息工程学院安徽淮南232001; 2.中煤北京煤矿机械有限责任公司设备动力部中国北京102400) 【摘要】本文介绍了

科技信息OIT论坛o

2010年第31期

单片机汇编语言下LCD多级菜单的

一种实现方法

高璇1,2

(1.安徽理工大学电气与信息工程学院安徽淮南232001;

2.中煤北京煤矿机械有限责任公司设备动力部中国北京102400)

【摘要】本文介绍了通过汇编语言在LCD液晶显示屏上实现多级嵌套菜单的一种方法,给出了一个结构紧凑、实用的程序模型。【关键词】单片机;多级菜单;ST7920

O引言

近年来,在单片机系统中LCD的使用越来越普及,这使得在基于单片机的测控仪表中实现菜单操作式的人机界面成为可能。但由于单片机开发T具和硬件资源的限制,使其程序的设计颇为繁琐和复杂。本文提出了一种仅用3个按键(“上”、“下”、“确认”)的程度设计思想,设计出所需求的菜单指令,即节省了硬件资源,又提高了程序的可读性。

1硬件设计

1.1单片机选型

STC89C58RD+是宏晶公司生产的低电压、高性能的单片机,与MCS一51产品指令系统完全兼容。工作频率在0Hz一80MHz之间可选.32个可编程I,O口线,2个16位定时,计数器.片内含32kbytes的可反复撩写的只读程序存储器(E:'PEROM)和1280bytes的随机存储器(RAM),擦写次数10万次以上,可在线编程。1.2LCD介绍

ST792系列中文图形液晶模块的软件特性主要由S17920控制驱动器决定。ST7920同时作为控制器和驱动器。它可提供33路COBI输出和64路seg输出。在驱动器sT7921的配合下,最多可以驱动256x32点阵液晶。sT7920系列产品硬件特性如下:

提供8位.4位并行接口及串行接口可选自动电源启动复位功能.内部自建振荡源64x16位字符显示RAM

2M位中文字型ROM(CGROM)。总共提供8192个中文字型(16x16点阵)

16K位半宽字型ROM(HCGROM),总共提供126个西文字型(16x8点阵)

64x16位字符产生RAM(CGRAM)

15x16位总共240点的ICONRAM(ICONRAM)

系统采用并行接13方式.单片机的P013作为数据接13与S17920的DB0一DB7相连,P1.0与E口相连,P1.1与R/W口相连,P1.2与RS口相连。srr7920包含基本指令集和扩展指令集,限于篇幅这里不作介绍,详细功能可查阅ST7920中文使用手册。2软件设计2.1菜单设计

图1为所设计的菜单的一部分,因为菜单的嵌套原理在编程时是相同的。所以为了筒述.这里介绍菜单的前两级。

l:黎单I.蛮时娃求2操作浆单3系统破嚣

墓币t电漉:XX^电琢-XX

为了使LCD正常工作,在系统上电时必须对sr丌920进行初始化.流程如图2所示

功柜j6}定

显示牙关授觏字0COH蜓时,1

00u‘

清鼻寮群幕

控龇事01H

00u

l控艇-'r--30H

延对,l

延时,t

0ms

功能蹬定拉箍宁

30H

进入竣定点枇静事06H

鹾对,3

7us

I研始圪芫琏l

图2Sr7920初始化流程图

下面为LcD初始化程序段:

LCD_IN融LcALLDELAY40MS:不带光标的画面初始

MOV

A,#30H:基本指令集A,#0CH:整体显示开

SEND

LCALLSEND_IMOV

LCALLMOV

A,#01H;清屏

I£AU,SEND_I

MOVA,#06H:游标方向

I£AI工SEND

RET

I£D_INIh

LCALL

DELAY40MS;带光标的域面初始

SEND

MOVA,#30HLCALL

MOVA,#01HLCALLSENDMOVA,#02H

“CAI上SEND

MOVA.#0FH

嫠牛2

I.倪扩功能选择2.摹奉参数设嚣).返刚卜肼

媲中3l孵码蹬箕2.饿丝纠始蛙嚣3.近l口j1.肼

I£ALLMOV

SENDI

A,#06H

LCAU,SEND

盯关改踅二总‘丹,奸关

RET

圈1菜单示意图

系统上电时,LCD屏显示“菜单1”,按下“确认键”将进入“主菜单”,光标停留在“1.实时显示”处,按“向上”、“向下”键可上下移动光标,在光标停留处按下“确认键”进入下一级菜单,在子菜单中的“返回上屏”出按下“确认键”将返回上一级菜单。2.2程序设计

CLEAR

LCD:MOV

A,#01H;清屏子程序

LcAU.SEND^J

MOVA搿30HLCALL

SENDI

RET

SEND.J:LCALL

CHK_BUSY;写指令子程序

万方数据

75

2010年第3l期

SCIENCE&TECHNOLOGYINFORMATION

OIT论坛。

科技信息

CLRRSCLRRW

M0vP0.ASETBENOPNOPCI.REREl’

CHK—BUSY:MOV

CLRSETBSE下B

MOVP0.ASETBNOPNOP

CI且E

RE.T

以E把初始化程序编写成子程序的形式.因为在显示每个菜单的时候都要对LCD进行初始化,这样在编写每个菜单程序的时候只要

P0,#OFFH;检验“忙”子程序

RS

在开头调用初始化子程序即可。3结束语

STC89C58RD+单片机与ST7920液晶模块之间的接口电路简单实用,实现多级菜单显示的方法通用性强,提高了系统的可操作性和应用的灵活性,当菜单显示内容改变时,只需修改相应参数,而不修改程序。上述硬件、软件两方面均可以用在具有类似人机接口的仪器设

RW

JBl)0.7.¥

CLRERET

DISPLAY:CLR

A;显示字符子程序

MOVC

A.@A+D盯R

备中,具有较为广阔的应用前景。lP1●

●卜———2—————————————————————————————一

【参考文献】

【1J蔡美琴.MCS一51系列单片机系统及其应用.北京:高等教育出版社.2005.[2]STC89C51RC/RD+系列单片机器件手册.2003.

[3JST7920控制器系列中文字库液晶模块中文说明书.2005.

LCALLSEND—DINCDPTR

DJNZ

RET

RO.DISPLAY

SEND—D.LCALL

CHK—BUSY;写数据子程序

[责任编辑:曹明明]

SETBRS

CLRRW

(上接第49页)握,注意技能向能力的转化。3.2专业知识拓展与创新能力培养

着眼于学生创业、创新能力的培养,潜力与个性的开拓;着 …… 此处隐藏:4597字,全部文档内容请下载后查看。喜欢就下载吧 ……

单片机汇编语言下LCD多级菜单的一种实现方法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1994331.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)