4.用DS1302与12864LCD设计的可调式中文电子日历
用DS1302与12864LCD设计的可调式中文电子日历
学习情境5-可调式数字钟
之 用DS1302与12864LCD设计的可调式中文电子日历
☆ 点名,复习
1、DS1302的引脚及其功能,以及DS1302与单片机的硬件连接? 2、如何编写基于1602LCD的显示驱动程序? ☆ 新课讲授
5.3 基于DS1302与LCD12854设计的可调数字钟
上节课我们详细介绍了LCD1602的显示控制指令,掌握了如何编写该种型号的LCD的显示驱动程序。这节课我们学习另外一种液晶显示模块—12864(KS0108) 5.3.1 LCD12864技术资料
5.3.1.1 12864(KS0108)字符型LCD简介
12864D使用KS0108(或其兼容芯片)作为控制器,适配M6800系列时序,具有8位标准数据总线。6条控制线及电源线可显示各种字符及图形。每个KS0108拥有64×64位(512字节)的显示RAM,12864D显示屏上的64×64点,显示RAM中的数据直接作为显示驱动信号。具有操作指令简单,低功耗的特点。 5.3.1.2、引脚说明
1、指令列表
2、指令功能详解
用DS1302与12864LCD设计的可调式中文电子日历
(1)读状态字(read status)
格式
★ BUSY=1,表示能接受除读状态字以外的任何操作。BUSY=0表示KS0108接口控制电路已处于“准备好”状态,等待计算机的访问。
★ ON/OFF:表示当前的显示状态。ON/OFF=1表示关显示状态;ON/OFF=0表示开显示状态。
★ RESET表示当前KS0108的工作状态,即反映RST
端的电平状态。当RST为低电平状态时KS0108处于复位工作状态,RESET=1。当RST为高电平状态时,KS0108为正常工作状态,RESET=0。
★ 在占领设置和数据读写时要注意状态字中的BUSY标志。只有在BUSY=0时,计算机对KS0108的操作才能有效。因此计算机在每次对KS0108操作之前,都要读出状态字判断BUSY是否为“0”。若不为“0”,则计算机需要等待,直至BUSY=0为止。 (2)显示开关(display on/off)
格式
该指令设置显示开关/从而控制显示上的显示状态。
D位为显示开/关的控制位。当D=1为显示设置,显示数据锁存器正常工作,显示屏上呈现所许的效果。此时在状态字中ON/OFF=0。当D=0为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并没有被破坏,在状态组中ON/OFF=1。 (3)显示起始行设置(Display start line)
格式
L5~L0为显示起始行的地址,取值在00~3FH(1~64)范围内,它规定了显示屏上最顶一行所对应的显示存储器的行地址。如果定时间隔地,等间距地修改(如加一或减一)显示起始行寄存器的内容,则显示屏将呈现显示内容向上或向下平滑滚动的显示效果。 (4)页面地址设置[Set page(X address)]
格式
该指令设置了页面地址8页,指令代码中P2~P0就是要确定当前所要选择的页面地址,取值范围为00~07H,代表第1~8页。该指令规定了以后的读/写操作将在哪一个页面上进行。执行本指令后,下面的读写操作将在指定页内,直到重新设置。页地址就是DDRAM 的行地址,页地址存储在X地址计数器中,P2-P0可表示8页,读写数据对页地址没有影响,除本指令可改变页地址外,复位信号(RST)可把页地址计数器内容清零。
Y1
表2 DDRAM地址映像表 Y2 Y3 Y4 ………… Y62 Y63 Y64
DB0 DB1 DB2 DB3
Line 0
Line 1 Line 2 Line 3
用DS1302与12864LCD设计的可调式中文电子日历
X=0 Line 4
Line 5 Line 6 Line 7 DB4 DB5 DB6 DB7
………… ………… …………
X=7
Line60 Line61 Line62 Line63
DB4
DB5
DB6
DB7
(5)列地址设置(Set Y address)
格式
该指令设置了Y地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加一功能,在每一次读/写数据后它将自动加一,所以在连续进行读/写数据时,Y地址计数器不必每次都设置一次。页面地址的设置和列地址的设置将显示存储器单元唯一地确定下来,为后来的显示数据的读/写作了地址的选通。
(6)写显示数据(Write display data)
格式
该操作将8操作完成后列地址计数器自动加1。
(7)读显示数据(Read display data)
格式
该操作将KS01081。 5.3.2 硬件电路设计
硬件主要使用了DS1302和LCD12864,电路结构简单,具体如下图所示:
用DS1302与12864LCD设计的可调式中文电子日历
图 1 硬件电路
5.3.3 软件设计
软件设计中主要是针对DS1302芯片和LCD12864进行程序的设计,而DS1302的驱动程序在上个项目中我们已经作了详细介绍,在此不再赘述。我们主要编制LCD12864的驱动程序。根据对LCD12864资料的分析,程序编制主要有:读取LCD的状态,忙检查,向LCD写入命令,向LCD写入数据,LCD初始化,设置LCD液晶的显示位置,显示字符等。除此之外,我们把要显示的字符和汉字用一个专门的程序来编写,命名为DotMatrix.c。
1、LCD12864显示驱动程序 (1)检查LCD是否忙
bit LCD_IS_BUSY() {
LCD_DB_PORT=0xFF; RW=1; _nop_(); DI=0; E=1; _nop_(); E=0;
return (bit)(P0&0x80); }
(2)向LCD写入一个字节(一般用于发送命令)
void Write_Byte_To_LCD(uchar comand)
用DS1302与12864LCD设计的可调式中文电子日历
{
while(LCD_IS_BUSY()); LCD_DB_PORT=0xFF; RW=0; _nop_(); DI=0;
LCD_DB_PORT=comand; E=1; _nop_(); E=0; }
(3)向LCD写入数据
void Write_Data_To_LCD(uchar dat) {
while(LCD_IS_BUSY()); LCD_DB_PORT=0xFF; RW=0; _nop_(); DI=1;
if(!Reverse_Display) //根据Reverse_Display决定是否反相显示 LCD_DB_PORT=dat; else
LCD_DB_PORT=~dat; E=1; _nop_(); E=0; }
(4)初始化LCD
void LCD12864_Initialization() {
CS1=1; CS2=1;
Write_Byte_To_LCD(0x38); Write_Byte_To_LCD(0x0F); Write_Byte_To_LCD(0x01); Write_Byte_To_LCD(0x06);
Write_Byte_To_LCD(LCD_START_ROW); }
(5)通用显示函数 从第P页第L列显示W个字节数据,具体显示的数据在r所指的数组中
void LCD_Show(uchar P,uchar L,uchar W,uchar *r) reentrant {
uchar i; if(L<64) {
用DS1302与12864LCD设计的可调式中文电子日历
CS1=1; CS2=0;
Write_Byte_To_LCD(LCD_PAGE+P); Write_Byte_To_LCD(LCD_COL+L); if(L+W<64) {
for(i=0;i<W;i++)
Write_Data_To_LCD(r[i]); } else {
for(i=0;i<64-L;i++)
Write_Data_To_LCD(r[i]); CS1=0; CS2=1;
Write_Byte_To_LCD(LCD_PAGE+P); Write_Byte_To_LCD(LCD_COL); for(i=64-L;i<W;i++)
Write_Data_To_LCD(r[i]); } } else {
CS1=0; CS2=1;
Write_Byte_To_LCD(LCD_PAGE+P); Write_Byte_To_LCD(LCD_COL+L-64); for(i=0;i<W;i++)
Write_Data_To_LCD(r[i]); } }
(6) 显示一个8×16 …… 此处隐藏:3644字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




