资源描述
大学本科生毕业设计(论文)
[请输入学校名称]
[请输入专业]
基于单片机的指纹解锁设计
姓 名: [请输入姓名]
学 号: [请输入学号]
指导教师:[请输入指导教师]
2024年10月25日
摘 要
近年来,指纹识别技术在国内外发展很快,由于其良好的安全性目前该技术已被广泛应用于生活和工作中。随着成本的下降,指纹识别技术呈现全面推广和普遍应用的趋势。
指纹识别技术是目前国际公认的应用广泛、价格低廉、易用性高的生物人证技术。指纹只是人体皮肤的一小部分,但是它却蕴涵了大量的信息。皮肤的纹路在图案断点交叉点是个不相同的。医学上已经证明这些特征对于每个手指都是不同的,而且这些特征具有唯一性和永久性。因此我们就可以把一个人同他的指纹对应起来,通过比较他的指纹特征和预先保存的指纹特征,就可以验证他的真实身份。
本设计开发了一款基于单片机的指纹识别电子密码锁系统。该系统以STC89C52单片机作为模块核心,通过串口通信控制FM608指纹模块实现录取指纹并存储指纹数据,并通过HS12864-15C液晶显示比对流程及比对结果,辅以直流继电器与发光二极管模拟开锁的动作。本系统具有体积小、性价比高、传输速度快、适合家庭及单位使用。
关键词:单片机;指纹识别;液晶屏
ABSTRACT
In recent years, fingerprint identification technology has developed rapidly in China and abroad, because of its good security now that the technology has been widely used in daily life and work. With the decline in the cost of the fingerprint recognition technology and the comprehensive promotion and general trends should be.
Fingerprint recognition technology is a technology of biology-authentication widely used and legalized in international today because of its low-price and finer application. Fingerprint just is a small part of the skin, but it contains a great deal of information .The veins of the skin are different in pattern and cross point and break point. Medicine has proven that these characteristics are different for each finger and these characteristics are unique and permanent. So we can put a person's fingerprints correspond with him by comparing his fingerprint characteristics and pre-stored fingerprint features, you can verify his true identity.
The system design of fingerprint recognition electron password lock based on Single-chip microprocessor is developed in the thesis. The system STC89C52 MCU as the core module, through the serial communication control FM608 fingerprint module for taking fingerprints and store fingerprint data and liquid crystal display by HS12864-15C ratio than on the processes and results, supported by simulation of DC relays and LEDs unlock action. The system is small, cost-effective, and fast and suitable for families and units.
Key Words:Single-chip microprocessor; fingerprint detection; LCD
第1章 概述 5
1.1 指纹识别技术的发展 5
1.2 指纹识别原理 6
1.3 系统设计目的及意义 7
1.4 工作流程 8
第2章 硬件介绍和设计 9
2.1 单片机及最小系统 9
2.1.1 STC89C52单片机介绍 9
2.1.2 外部晶振的设计 12
2.1.3 复位电路的设计 13
2.2 液晶显示模块 14
2.2.1 12864系列液晶的引脚功能 14
2.2.2 控制器接口说明 14
2.2.3 指令说明 15
2.2.4 12864引脚与单片机连接图 20
2.3 按键控制部分电路 22
2.4 指纹模块 23
2.4.1 指纹模块简介 23
2.4.2 指纹模块引脚接法 25
2.4.3 指纹模块命令 26
2.5 本章小结 28
第3章 系统软件的设计 29
3.1 系统程序工作分析 29
3.2 串口初始化 29
3.3 主程序流程图 30
3.3.1键盘管理程序设计流程 31
3.3.2 LCD显示模块程序设计流程 33
3.3.3 指纹模块的通信程序设计流程 33
3.4 Keil编程 34
3.5 本章小结 35
第4章 硬件调试 36
4.1 电路的焊接 36
4.2 程序的烧写 37
4.3 小灯、继电器的调试 38
4.4 液晶的调试 38
4.5 本章小结 39
结 论 40
参考文献 41
致 谢 42
第1章 概述
1.1 指纹识别技术的发展
世界上任何一种物体与物质都有其表示自己特征的符号和信息,人体也不例外,取一根头发丝就能鉴别出它是谁的头发。然而,最简单、最直观、最常用的鉴别符号则是人的指纹。
指纹是人类手指上的条状纹路,他们的形成依赖于胚胎发育时的环境。指纹识别已经有了很长一段历史,据考古学家证实:公元前6000年以前,指纹作为身份鉴别的工具已经在古叙利亚和中国开始应用。到了20世纪80年代,个人电脑、光学扫描这两项技术的革新,是的他们作为指纹取像的工具成为现实,从而使指纹识别可以在其他领域中得以应用[1]。现在,随着取像设备的引人及其飞速发展,生物指纹识别技术的逐渐成熟,可靠的比对算法的发现都为指纹识别技术提供了更广阔的舞台。目前,全球范围内都建立了指纹鉴定机构以及罪犯指纹数据库,指纹鉴定已经被官方所接受,成为司法部门一种有效身份鉴定手段。
据统计,在全世界50亿人口当中,除了19名生来就没长指纹的特殊人物之外,没有一个重样的指纹,所以世界各国的警察机关都利用指纹鉴别技术来侦破案件。有人把人的指纹称之为“人体的立体印章”,而公安人员正是利用这些立体印章来作为认定作案分子的特征符号。
由于人体的身体特征具有不可复制的特点,人们把目光转向了生物识别技术,希望可以藉此技术来应付现行系统安全所面临的挑战。要把人体的特征用于身份识别,这些特征必须具有唯一性和稳定性。研究和经验表明,人的指纹、掌纹、面孔、发音、虹膜、视网膜、骨架等都具有唯一性和稳定性的特征,即每个人的这些特征都与别人不同、且终生不变,因此就可以据此识别出人的身份。[2]基于这些特征,人们发展了指纹识别、面部识别、发音识别等多种生物识别技术,目前许多技术都已经成熟并得以应用,其中的指纹识别技术更是生物识别技术的热点。
指纹识别技术的发展得益于现代电子集成制造技术和快速可靠算法的研究。尽管指纹只是人体皮肤的一小部分,但用于识别的数据量相当大,对这些数据进行比对也不是简单的相等与不想等的问题,现代电子集成制造技术使得我们可以制造出相当小的指纹图像读取设备,同时飞速发展的个人计算机运算速度提供了在微机甚至单片机上可以进行两个指纹的比对运算的可能。另外,匹配算法可靠性也不断提高,指纹识别技术已经非常实用。[3]
1.2 指纹识别原理
手指表面皮肤凹凸不平而产生的纹路就是指纹。理想的指纹图像是一幅黑白相间的二值图像。但是由于指纹通常是用按压的方式得到的,因此,油墨、纸张、手指的状况以及皮肤的变形等原因都会导致指纹图像不理想。另外,通过扫描仪或者摄像机进行数字化的时候,由于光照的影响,也会引入各种噪声。这些因素都使灰度图像不能直接用来匹配。因此,有必要选择合适的特征来描述指纹征来描述指纹。[4]
通常采用的结构特征有2种层次:
1)全局特征。所描述的是指纹的全局纹路结构,如图1-1所示,利用计算机处理时具体划分为:弓型、箕型、螺旋型。其他的指纹图案都基于这3种基本图案。
图1-1 指纹基本纹路图案
2)局部特征。断点和分叉是最常用的指纹局部结构特征,也称为细节特征。采用这种特征的一个例子是细节—坐标模型,也就是使用指纹的细节点及其坐标和其他一些特征来描述指纹。
对于指纹身份鉴定,特别是对现场的模糊指纹进行认定的时候所使用的信息是细节特征点,如图1-2中的小桥、三角点、分叉点、端点和环。
图1-2 指纹图像
人们根据纹路的局部结构特征共定义了150多种细节特征,如果同时使用所有的这些特征,将很难自动而且迅速地从指纹图像中提取并且区分他们。通常,自动指纹鉴定系统只使用其中2种主要的特征,即分叉点和断点。其他细节特征都可以用他们的组合来表示。例如小桥是由2个端点组成的,而环是由2个分叉点组成的。
1.3 系统设计目的及意义
现代社会越来越需要高效可靠的身份识别系统。传统的个人身份鉴别手段如口令、密码、身份证等由于其与身份人的可分离性,可假冒、可伪造、可盗用、可破译,已不能完全满足现代社会经济活动和社会安全防范的需要。作为最传统、最成熟的生物鉴定方式,指纹具有很强的相对稳定性。从胎儿在6个月时指纹完全形成到人死后尸体腐烂,指纹的纹线类型、结构、统计特征的总体分布等始终没有明显变化,并且指纹具有明显的独特性。至今还找不出两个指纹完全相同的人,即使同卵双胞胎的指纹也是不相同的。而从易用性、安全性、成熟性和造价等方面综合比较,指纹识别技术将成为未来人体生理特征身份识别技术的主流之一,指纹自动识别技术开创了个人身份鉴别的新时代,将来我们生活的很多场合都要用到指纹,指纹使我们的生活更方便、安全。[5]
而以单片机为控制器的技术以发展的非常熟练,因为它的控制性能和可靠性能高的优点,生活中的电子产品都离不开单片机控制,像电饭煲,洗衣机,汽车等等都是单片机控制。在学习了单片机基础知识后,我们需要实践来把所学的知识组织起来,并且运用到实际生活,所以我联系指纹识别技术及单片机原理及应用选择基于单片机的指纹识别系统这个课题,希望我设计的实物可以完成简单的身份认证任务,给身份认证带来便利。
1.4 工作流程
1)开机:按下电源,电源指示灯点亮,液晶显示:“请先按键再刷指纹”,按下按键后,液晶显示:“请按指纹”,同时指纹模块绿灯亮起,可以进行指纹识别开锁功能。若指纹识别成功,继电器动作,LED指示灯亮起,开锁成功,人员可以进入,液晶显示:“门已打开,编号为XXX”; 若指纹识别不成功,继电器不动作,LED指示灯不亮,将不能开锁,人员不能进入,液晶显示:“没有搜索到指纹 请重新按下手指”。
2)管理员模式:按下按键进入管理员模式首先要输入6位密码,密码正确可以进入管理员模式,密码错误不能进入管理员模式,在管理员模式下可以完成录入指纹、删除指纹、应急开锁和修改密码的功能。进入录入指纹模式后,指纹模块绿灯亮起,将手指放到指纹头上,录入同一手指两次,此时液晶显示“指纹采集成功”。在删除指纹模式下,液晶显示“输入删去的指纹号”,输入后按确认键即可完成指定指纹的删除功能,同时液晶显示“删指纹号成功”。在非正常的情况下,如指纹模块不好用或者紧急情况下,可以使用紧急开锁功能。密码修改的功能是指可以修改并保存进入管理员的6位密码。
39
第2章 硬件介绍和设计
整个系统主要分六大块,分别是单片机控制部分、指纹模块部分、AT24C02存储芯片部分、矩阵键盘部分、LCD液晶显示部分以及所驱动的继电器部分。
整体硬件框架图如下:
2.1 单片机及最小系统
2.1.1 STC89C52单片机介绍
单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。现在可以说单片机是百花齐放的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,它们各具特色,互成互补,为单片机的应用提供广阔的天地[6]。纵观单片机的发展过程,可以预示单片机的发展趋势。
MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。
现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。[7]
STC89C52RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。
工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
用户应用程序空间为8K字节
片上集成512字节RAM
通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片
具有EEPROM功能
具有看门狗功能
共3个16位定时器/计数器。即定时器T0、T1、T2
外部中断4路,下降沿中断或低电平触发电路,Power Down模式可由外部中断低电平触发中断方式唤醒
通用异步串行口(UART),还可用定时器软件实现多个UART
工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)
PDIP封装
STC89C52RC单片机的工作模式
掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序
空闲模式:典型功耗2mA
正常工作模式:典型功耗4mA~7mA
掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备
下图2-1为STC89C52RC引脚功能说明。
图2-1 STC89C52引脚图
VCC(40引脚):电源电压
VSS(20引脚):接地
P0口:为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。
P1口:为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。
P2口:为8位准双向I/O接口,当它作为I/O接口使用时,可直接连接外部I/O设备;在接有片外存储器或扩展I/O且寻址范围超过256字节时,P2口可用做高8位的地址总线。
P3口:为8位准双向I/O接口,还可以将每一位用于第二功能,第二功能的定义见表2-1。
表2-1 STC89C52 P3口的第二功能
端口功能
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输入口)
P3.2
INT/0(外中断0)
P3.3
INT/1(外中断1)
P3.4
T0(定时/计数器0)
P3.5
T0(定时/计数器1)
P3.6
外部数据存储器写选通
P3.7
外部数据存储器读选通
XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:振荡器反相放大器的输出端。
本设计的主程序主要由液晶显示、通讯子按键程序组成。主程序的工作流程描述如下:首先初始化各种硬件功能模块进行初始化。包括开机液晶显示、键盘扫描、指纹模块建立通信。
2.1.2 外部晶振的设计
单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十,高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。[8]
单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。
STC89C52使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。
STC89C52的内部有一个用于构成振荡器的高增益反相放大器,通过XTAL1,XTAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路,使其构成自激振荡器,电容的值具有微调的作用,我们取30PF,具体的接法如图2-2外部晶振电路。
图2-2 外部晶振电路
STC89C52的工作频率范围在0~24MHZ。我们选用的是11.0592MHZ的晶振,振荡周期约为1us机器周期约为0.1us,所以这个晶振可以满足这个系统的要求。并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现找不到信号。
2.1.3 复位电路的设计
单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。[9]
单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位,当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。
复位电路由按键复位和上电复位两部分组成。
(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。
(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。
本系统采用的复位电路如图2-3所示。单片机在上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个机器周期以上的高电平,就能使单片机有效复位。其中电容选10uF、电阻选10K。
图2-3 复位电路
2.2 液晶显示模块
液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。
液晶显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。为叙述简便,通常把各种液晶显示器都直接叫做液晶。
液晶体积小、功耗低、现实操作简单,但是它有一个致命的弱点,其使用温度范围很窄,通用型液晶正常工作温度范围为0°C~+55°C,存储温度范围为-20°C~+60°C,因此在设计相应产品时,务必要考虑周全,选取合适的液晶。
2.2.1 12864系列液晶的引脚功能
12864共有20个引脚,各引脚说明如下面表格所示。
表2-2 接口信号说明
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
11
D4
Data I/O
2
VDD
电源正极
12
D5
Data I/O
3
VO
液晶显示对比度调节端
13
D6
Data I/O
4
RS
数据/命令选择端(H/L)
14
D7
Data I/O
5
R/W
读/写选择端(H/L)
15
PSB
并/串选择H并行L串行
6
E
使能信号
16
NC
空脚
7
D0
Data I/O
17
RST
复位,低电平有效
8
D1
Data I/O
18
NC
空脚
9
D2
Data I/O
19
A
背光电源正极
10
D3
Data I/O
20
K
背光电源负极
12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
2.2.2 控制器接口说明
1)基本操作时序:
读状态:输入:RS=L,RW=H,E=H
输出:D0~D7=状态字
写指令:输入:RS=L,RW=L,D0~D7=指令码,E=高脉冲
输出:D0~D7=数据
读数据:输入:RS=H,RW=H,E=H
输出:无
写数据:输入:RS=H,RW=L,D0~D7=数据,E=高脉冲
输出:无
2)状态字说明
表2-3状态字说明
STA7
D7
STA6
D6
STA5
D5
STA4
D4
STA3
D3
STA2
D2
STA1
D1
STA0
D0
STA0~6
当前数据地址指针的数值
STA7
读写操作使能
1:禁止 0:允许
对控制器每次进行读写操作之前都必须进行读写检测,确保STA7为0。实际上,由于单片机的操作速度慢于液晶控制器反应速度,因此可以不进行读/写检测,或只进行简短延时即可。
2.2.3 指令说明
表2-4 指令集(RE=0:基本指令集)
指令
指令码
说明
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
清除显示
0
0
0
0
0
0
0
0
0
1
将DDRAM填满“20H”,并且没定DDRAM的地址计数器(AC)到“00H”
地址归位
0
0
0
0
0
0
0
0
1
X
设定DDRAM的地址计数器(AC)到“00H”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容
进入点设定
0
0
0
0
0
0
0
1
I/D
S
指定在资料的读取与写入时,设定游标移动方向及指定显示的移位
I/D=1:游标向右移,DDRAM地址计数器(AC)加1
I/D=0:游标向左移,DDRAM地址计数器
(AC)减1
S:显示画面整体位移
显示状态
开/关
0
0
0
0
0
0
1
D
C
B
D=1:整体显示ON
C=1:游标ON
B=1:游标位置ON
游标或显示移位控制
0
0
0
0
0
1
S/C
R/L
X
X
设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容
S/C=0,R/L=0: 游标向左移动
S/C=0,R/L=1:游标向右移动
功能设定
0
0
0
0
1
DL
X
0
RE
X
X
DL=1 (必须设为1)
RE=1: 扩充指令集动作
RE=0: 基本指令集动作
设定CGRAM地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM地址到地址计数器(AC)
设定CGRAM地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM地址到地址计数器(AC)
设定
DDRAM
地址
0
0
1
AC6
AC5
AC4
AC3
AC2
AC1
AC0
设定DDRAM地址到地址计数器(AC)
读取忙碌标志(BF)和地址
0
1
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值
写资料到RAM
1
0
D7
D6
D5
D4
D3
D2
D1
D0
写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM)
读出RAM的值
1
1
D7
D6
D5
D4
D3
D2
D1
D0
从内部RAM读取资料(DDRAM/CGRAM/IRAM/GDRAM)
表2-5指令表(RE=1:扩充指令集)
指令
指令码
说明
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
待命模式
0
0
0
0
0
0
0
0
0
1
将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”
卷动地址或IRAM地址选择
0
0
0
0
0
0
0
0
1
SR
SR=1:允许输入垂直卷动地址
SR=0:允许输入IRAM地址
反白选择
0
0
0
0
0
0
0
1
R1
R0
选择4行中的任一行作反白显示,并可决定反白与否
睡眠模式
0
0
0
0
0
0
1
SL
X
X
SL=1:脱离睡眠模式
SL=0:进入睡眠模式
扩充功能设定
0
0
0
0
1
1
X
1
RE
G
0
RE=1: 扩充指令集动作
RE=0: 基本指令集动作
G=1 :绘图显示ON
G=0 :绘图显示OFF
设定IRAM地址或卷动地址
0
0
0
1
AC5
AC4
AC3
AC2
AC1
AC0
SR=1:AC5—AC0为垂直卷动地址
SR=0:AC3—AC0为ICON IRAM地址
设定绘图RAM地址
0
0
1
AC6
AC5
AC4
AC3
AC2
AC1
AC0
设定CGRAM地址到地址计数器(AC)
当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。
“RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在最后的状态,除非再次变更“RE”位元,否则使用相同指令集时,不需每次重设“RE”位元。
具体指令介绍:
1)清除显示
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
L
L
L
L
L
H
功能:清除显示屏幕,把DDRAM位址计数器调整为“00H”
2)位址归位
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
L
L
L
L
H
X
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM
3)位址归位
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
L
L
L
H
I/D
S
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。
4)显示状态 开/关
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
L
L
H
D
C
B
功能:D=1;整体显示ON C=1;游标ON B=1;游标位置ON
5)游标或显示移位控制
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
L
H
S/C
R/L
X
X
功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容
6)功能设定
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
H
DL
X
0 RE
X
X
功能:DL=1(必须设为1) RE=1;扩充指令集动作 RE=0:基本指令集动作
7)设定CGRAM位址
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
H
AC5
AC4
AC3
AC2
AC1
AC0
功能:设定CGRAM位址到位址计数器(AC)
8)设定DDRAM位址
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
H
AC6
AC5
AC4
AC3
AC2
AC1
AC0
功能:设定DDRAM位址到位址计数器(AC)
9)读取忙碌状态(BF)和位址
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
H
BF
AC6
AC5
AC4
AC3
AC2
AC1
AC0
功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值
10)写资料到RAM
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
H
L
D7
D6
D5
D4
D3
D2
D1
D0
功能:写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM)
11)读出RAM的值
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
H
H
D7
D6
D5
D4
D3
D2
D1
D0
功能:从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM)
12)待命模式(12H)
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
L
L
L
L
L
H
功能:进入待命模式,执行其他命令都可终止待命模式
13)卷动位址或IRAM位址选择(13H)
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
L
L
L
L
H
SR
功能:SR=1;允许输入卷动位址 SR=0;允许输入IRAM位址
14)反白选择(14H)
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
L
L
L
H
R1
R0
功能:选择4行中的任一行作反白显示,并可决定反白的与否
15)睡眠模式(015H)
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
L
L
H
SL
X
X
功能:SL=1;脱离睡眠模式 SL=0;进入睡眠模式
16)扩充功能设定(016H)
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
L
H
H
X
1RE
G
L
功能:RE=1;扩充指令集动作 RE=0;基本指令集动作 G=1;绘图显示ON G=0;绘图显示OFF
17)设定IRAM位址或卷动位址(017H)
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
L
L
L
H
AC5
AC4
AC3
AC2
AC1
AC0
功能:SR=1;AC5~AC0为垂直卷动位址 SR=0;AC3~AC0写ICONRAM位址
18)设定绘图RAM位址(018H)
RS
RW
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
展开阅读全文