1、摘 要随着科技的快速发展,时间的流逝,至从观太阳、摆钟到现在电子钟,人类不断研究,不断创新纪录。美国DALLAS公司推出的具有涓细电流充电能的低功耗实时时钟电路DS1302。它可以对年、月、日、星期、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒等信息,还具有闹铃功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用35V电压供电。 综上所述此万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的
2、市场前景。本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。通过此次设计能够更加牢固的掌握单片机的应用技术,增强动手能力、硬件设计能力以及软件设计能力。本文介绍的万年历运用了AT89S52单片机、DS1302时钟芯片、液晶显示屏。关键字:万年历;AT89S52;DS1302;C语言编程;液晶显示屏ABSTRACT Along with the rapid development of technology, the passage of time, to view the sun, from the pendulum clocks are
3、 now electric clock, human continuously research, innovation record. The United States out Juan DALLAS has fine current charge of low power consumption can real time clock circuit DS1302. It can be to year, month, day, Sunday, when, minutes and seconds for the time, also has a leap year compensation
4、 and other functions, and the DS1302 long service life and small error. For digital electronic calendar using intuitive digital display, can also shows that year, month, day, Sunday, when the minutes and seconds, and other information, also has alarm function. This circuit AT89S52 SCM as the core, p
5、ower consumption is small, can be in 3 V of low-pressure work, voltage can choose 3 5 V voltage power supply. To sum up the calendar has read the convenient, direct display, functional diversity, simple circuit, low cost, and many other advantages, conform to the trend of the development of electron
6、ic instruments, and has a broad market prospect. This design is based on the single chip microcomputer 51 series of electronic calendar design, can display date and weeks determined when information, which can adjust the date and time of the function. Through this design can be more solid mastery of
7、 the single chip microcomputer application technology, enhance the beginning ability, hardware design and software design ability ability. In this paper, the use of the calendar AT89S52 SCM, DS1302 clock chip, LCD display screen. Key words: calendar; AT89S52 devices; DS1302; The C programming langua
8、ge; LCD screen 目录1设计任务要求122 设计方案及比较(设计可行性分析)132.1 单片机芯片的选择方案和论证132.2 显示模块选择方案和论证:132.3时钟芯片的选择方案和论证:142.4按键模块方案的选择与比较143 硬件电路设计153.1 系统总体方案设计153.2 系统框图153.3 系统硬件概述163.4 主要单元电路的设计163.4.1 系统核心部分-单片机主控模块163.4.2 时钟电路模块的设计203.4.3 按键电路模块的设计233.4.4 液晶显示电路模块233.4.5 闹铃电路324 软件设计344.1 系统软件设计344.2系统主程序的流程图345 系
9、统仿真测试365.1仿真软件简介365.2仿真步骤366 测试与结果分析396.1 硬件测试结果396.2 软件测试406.3 测试结果分析与结论406.3.1 测试结果分析406.3.2 测试结论40参考文献41致谢42附录43附录一:系统程序如下:43附录二:系统原理图64附录三: 液晶显示和DS1032时钟的PCB图65附录四:键盘的PCB图661设计任务要求1.平年365天(52周+1天),闰年366天(52周+2天),平年2月28天,闰年2月29天。2.每400年整一闰,或每4年且不为百年的一闰,即凡能被400整除,或不能被100整除但能被4整除的年份为闰年。3.每 4年(3个平年+
10、1个闰年)共208周+5天每百年共100*(208周+5天)-1天=5217周+5天每400年共4*(5217周+5天)+1天(整400年闰)=20871周+0天,即每400年一个轮回。4.显示年、月、日、星期、时、分、秒的功能。5.具有调节功能,通过键盘加减调整万年历。 2 设计方案及比较(设计可行性分析)2.1 单片机芯片的选择方案和论证方案一: 采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术, 当在对电路进行调试时,由于程序的错误修改或
11、对程序的新增功能需要写入程序时,对芯片的多次拔插会对芯片造成一定的损坏。方案二: 采用AT89S52,芯片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全兼容,该芯片内部存储器为8KB ROM 存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要写入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。所以选择采用AT89S52作为主控制系统. 2.2 显示模块选择方案和论证:方案一: 采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图形,显示多样,清晰可见,但是
12、价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏.方案二: 采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.方案三: 采用LCD12864液晶显示模块显示,由于其屏幕是四行八列的,可以显示很大的信息量。2.3时钟芯片的选择方案和论证:方案一: 直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。方案二: 采用DS1302时钟芯片实现时钟,DS1302芯片是一种
13、高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且精度高,位的RAM做为数据暂存区,工作电压2.5V5.5V范围内,2.5V时耗电小于300nA.2.4按键模块方案的选择与比较方案一: 矩阵式键盘,行线的一端通过上拉电阻与单片机的P1口线的高四位相连,列线的一端也通过上拉电阻与单片机的P1口线低四位相连。矩阵式键盘结构性好,使用于按键较多时的情况。方案二:独立式键盘, 每个按键的电路是独立的,都有单独一根数据线输出键的通断状态。单片机一条I / O口线对应一个按键。独立式键盘结构简单,易于编程,适用本实验按键较少的情况。由于这次设计中,使用的功能键比较多,若采用
14、独立式键盘占有的I/O口比较多,所以在这里采用矩阵式键盘。综上各方案所述,对此次作品的方案选定: 采用AT89S52作为主控制系统; DS1302提供时钟; LCD12864液晶显示模块作为显示;矩阵式键盘。3 硬件电路设计3.1 系统总体方案设计 万年历采用LCD12864液晶显示时间。LCD12864液晶和矩阵式键盘都是单片机用扩展I/O接口实现的,当把程序下载到单片机,就显示年、月、日、星期并且电子钟开始走时。按调试键按秒、分、时、星期、日、月、年的调整运算。按加减进行调整,每次调整时询问“秒分”单元不能满60、“时”单元是不能满24、“日”单元是否满30以及“月”单元是否12。若满足条
15、件则清零并向高位进1,若不满足则继续计数。以“秒分”单元为例,当满60秒时“秒”单元便清零,同时“分”单元加1。当满60分时“分”单元清零,同时“时”单元加1。修改完时间后按下确定键,时钟继续走。,3.2 系统框图显示采用LCD12864液晶显示模块,设置时间按键采用矩阵式键盘,时间生成采用DS1302时钟芯片,系统框图如下:LCD液晶显示屏显示模块 AT89S52主控制模 块DS1302时钟模块键盘模块 图1 系统设计框图3.3 系统硬件概述本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;时钟电路由DS1302提供,它是一种高性能、低功耗、带RAM的实
16、时时钟电路,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31*8的用于临时性存放数据的RAM寄存器。可产生年、月、日、星期、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;用液晶显示。3.4 主要单元电路的设计3.4.1 系统核心部分-单片机主控模块AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/
17、O线都能独立地作输出或输入。AT89S52具有下列主要性能: 8KB可改编程序Flash存储器(可经受1000次的写入/擦除周期) 全静态工作:0Hz24MHz三级程序存储器保密1288字节内部RAM32条可编程I/O线2个16位定时器/计数器6个中断源可编程串行通道片内时钟振荡器AT89S52的引脚及功能AT89S52单片机的管脚说明如图2所示。图2 AT89S52的管脚(1) 主要电源引脚 VCC 电源端 GND 接地端(2) 外接晶体引脚XTAL1和XTAL2 XTAL1 接外部晶体的一个引脚。在单片机内部,它是构成片内振荡器的反相放大器的输入端。当采用外部振荡器时,该引脚接收振荡器的信
18、号,既把此信号直接接到内部时钟发生器的输入端。 XTAL2 接外部晶体的另一个引脚。在单片机内部,它是上述振荡器的反相放大器的输出端。采用外部振荡器时,此引脚应悬浮不连接。(3) 控制或与其它电源复用引脚RST、ALE/PROG、/PSEN和/EA/VPP RST 复位输入端。 当振荡器运行时,在该引脚上出现两个机器周期的高电平将使单片机复位。 ALE/PROG 当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率(此频率为振荡器频率的1/6)周期性地出现正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是:每
19、当访问外部数据存储器时,将跳过一个ALE脉冲。在对Flash存储器编程期间,该引脚还用于输入编程脉冲(/PROG)6。 /PSEN 程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。当AT89S52/LV52由外部程序存储器取指令(或常数)时,每个机器周期两次/PSEN有效(既输出2个脉冲)。但在此期间内,每当访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP 外部访问允许端。要使CPU只访问外部程序存储器(地址为0000HFFFFH),则/EA端必须保持低电平(接到GND端)。当/EA端保持高电平(接VSS端)时,CPU则执行内部程序存储器中的程序。(4) 输
20、入/输出引脚 P0.0 P0.7、P1.0P1.7、P2.0 P2.7 和P3.0P3.7 P0端口(P0.0 P0.7) P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。P1端口(P1.0 P1.7) P1是一个带有内部上拉电阻的8位双向I/O端口。P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。 P2端口 (P2.0P2.7) P2是一个带有内部上拉电阻
21、的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。P3端口(P3.0P3.7) P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流,这是由于上拉的缘故。P3口也可作为AT89S52的一些特殊功能,这些特殊功能见表1。表1 P3端口的特殊功能 端口引脚 兼 用 功 能 P3.0RXD (串
22、行输入口) P3.1TXD (串行输出口) P3.2/INT0 (外部中断0) P3.3/INT1 (外部中断1) P3.4T0 ( 定时器0的外部输入) P3.5T1 (定时器1的外部输入) P3.6/WR (外部数据存储器写选通) P3.7/RD (外部数据存储器读选通)AT89S52单片机为40引脚双列直插芯片, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在
23、片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端. 如图3所示图3单片机最小系统 3.4.2 时钟电路模块的设计图4示出DS1302的引脚排列,其中Vcc1为后备电源,Vcc2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.KHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST
24、输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RSTS置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电动行时,在Vcc大于等于2.5V之前,RST必须保持低电平。中有在SCLK 为低电平时,才能将RST置为高电平,I/O为串行数据输入端(双向)。SCLK始终是输入端。 图4 DS1302的引脚图DS1302的性能特性实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数;用于高速数据暂存的318位RAM;最少
25、引脚的串行I/O;2.55.5V 电压工作范围;2.5V时耗电小于300nA;用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;简单的3线接口;可选的慢速充电(至VCC1)的能力。 (1) 时钟芯片DS1302的工作原理: DS1302在每次进行读、写程序前都必须初始化,先把SCLK端置 “0”,接着把RST端置“1”,最后才给予SCLK脉冲;读/写时序如下图5所示。表2为DS1302的控制字,此控制字的位7必须置1,若为0则不能把对DS1302进行读写数据。对于位6,若对程序进行读/写时RAM=1,对时间进行读/写时,CK=0。位1至位5指操作单元的地址。位0是读/写操作位
26、,进行读操作时,该位为1;该位为0则表示进行的是写操作。控制字节总是从最低位开始输入/输出的。表3为DS1302的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位为0时,时钟开始运行。“WP”是写保护位,在任何的对时钟和RAM的写操作之前,WP必须为0。当“WP”为1时,写保护位防止对任一寄存器的写操作。(2) DS1302的控制字节DS1302的控制字如表2所示。控制字节的高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的
27、地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出 RAM RD 1 A4 A3 A2 A1 A0 / CK /WR 表2 DS1302的控制字格式(3) 数据输入输出(I/O)在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。如下图5所示 图5 DS1302读/写时序图(4) DS1302的寄存器DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其
28、日历、时间寄存器及其控制字见表3。 表3 DS1302的日历、时间寄存器 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。 3.4.3 按键电路模块的设计接按键的单片机端口接上10k欧姆的上拉电阻,以
29、保证在无按键按下时端口是高电平,而按键按下时对应的I/O口为低电平。 图6 矩阵式键盘原理图3.4.4 液晶显示电路模块(1) 12864C-1液晶中文显示模块概述12864C-1是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶
30、显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。基本特性:l l 低电源电压(VDD:+3.0-+5.5V)l l 显示分辨率:12864点l l 内置汉字字库,提供8192个1616点阵汉字(简繁体可选)l l 内置 128个168点阵字符l l 2MHZ时钟频率l l 显示方式:STN、半透、正显l l 驱动方式:1/32DUTY,1/5BIASl l 视角方向:6点l l 背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10l l 通讯方式:串行、并口可选l l 内置DC-DC转换电路,无需外加负压l l 无需片选信号,简化
31、软件设计l l 工作温度: 0 - +55 ,存储温度: -20 - +60 (2) 液晶显示模块接口说明表4液晶显示模块各引脚接口管脚号名称LEVEL功能1VSS0V电池地2VDD+5V电源正(3.0V5.5V)3V0-对比度(亮度)调整4CSH/L模组片选端,高电平有效5SLDH/L串行数据输入端6CLKH/L串行同步时钟:上升沿时读取SID数据15PSBLL:串口方式17/RESETH/L复位端,低电平有效19AVDD背光源电压+5V20KVSS背光源负端0V表5 并行接口管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H
32、/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOU
33、T-LCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20KVSS背光源负端(见注释3)*注释1:如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。 *注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。(3) 液晶显示模块主要硬件构成说明控制器接口信号说明:1、RS,R/W的配合选择决定控制界面的4种模式如下表6。表6 RS,R/W的配合选择决定控制界面的4种模式RSR/W功能说明LLMPU写指令到指令暂存器(IR)LH读出忙标志(B
34、F)及地址记数器(AC)的状态HLMPU写入数据到数据暂存器(DR)HHMPU从数据暂存器(DR)中读出数据表7 E信号E状态执行动作结果高低I/O缓冲DR配合/W进行写数据或指令高DRI/O缓冲配合R进行读数据或指令低/低高无动作 忙标志:BF BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据. 利用STATUS RD 指令,可以将BF读到DB7总线,从而检验模块之工作状态. 字型产生ROM(CGROM) 字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。DFF=1为开
35、显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF=0为关显示(DISPLAY OFF)。 DFF 的状态是指令DISPLAY ON/OFF和RST信号控制的。 显示数据RAM(DDRAM)模块内部显示数据RAM提供642个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H0006H的编码中(其代码分别是0000、0002、0004、0006共4个)
36、将选择CGRAM的自定义字型,02H7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140D75F),GB(A1A0-F7FFH)。 字型产生RAM(CGRAM) 字型产生RAM提供图象定义(造字)功能, 可以提供四组1616点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。 地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地
37、址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6DB0中。 光标/闪烁控制电路 此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。(4) 液晶显示模块指令说明模块控制芯片提供两套控制命令,基本指令和扩充指令如下表8、表9:表8 指令表1:(RE=0:基本指令)指 指 令 码功 能令RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址归位000000001X设定DDRAM的地址计数器(AC)到00H,并且将游标移到开头原点位置
38、;这个指令不改变DDRAM 的内容显示状态开/关0000001DCBD=1: 整体显示 ONC=1: 游标ON B=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容 功能 设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作 设定CGRAM 地址0001AC5AC4AC3AC2AC1AC0设定CGRAM 地址 设定DDRAM 地址0010AC5AC4AC3AC2AC1A
39、C0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM10数据将数据D7D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值11数据从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)表9 指令表2:(RE=1:扩充指令)指 指 令 码功 能令RSR/WD7D6D5D4D3D2D1D0 待命模式0000000001进入待命模式,执行其他指令都棵终止待命模式卷动地址
40、开关开启000000001SRSR=1:允许输入垂直卷动地址SR=0:允许输入IRAM和CGRAM地址 反白 选择00000001R1R0选择2行中的任一行作反白显示,并可决定反白与否。初始值R1R000,第一次设定为反白显示,再次设定变回正常 睡眠 模式0000001SLXXSL=0:进入睡眠模式SL=1:脱离睡眠模式 扩充 功能 设定00001CLXREG0CL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作G=1/0:绘图开关 设定绘图RAM 地址0010AC60AC50AC4AC3AC3AC2AC2AC1AC1AC0AC0设定绘图RAM先设定垂直(列)地址AC6A
41、C5AC0再设定水平(行)地址AC3AC2AC1AC0将以上16位地址连续写入即可 备注:当IC1在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指令确实执行完成。(5) 液晶显示模块读写时序图数据传输过程图7 8位和4位数据线的传输过程图8 串口数据线模式数据传输过程时序图 图9 MPU写资料到ST7920(8位数据线模式) 图10 MPU 从ST7920读资料(8位数据线模式) 串口读写时序: 图11 串口方式下MPU写数据到ST7920(6) 液晶显示模块应用1、使用前的准备 先给模块加上工作电压,再按照下图的连接方法调节LCD的对比度,使其显示出黑色的底影。 此过程亦可以初步检测LCD有无缺段现象。2、字符显示12864C-1每屏可显示4行8列共32个1616点阵的汉字,每个显示RAM可显示1个中文字符或2个168点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。12864C-1内部提供1282字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内