1、uP为单片机,晶振为为单片机,晶振为32.768KHz 要对要对DS1302进行读进行读/写命令写命令/数据操作,必须遵循其操作时序。数据操作,必须遵循其操作时序。图中图中I/O的阴影部分信号不稳定。无阴影部分信号稳定,的阴影部分信号不稳定。无阴影部分信号稳定,数据有效。写操作时,在数据有效。写操作时,在SCLK的上升沿必须保证数据有效。在写的上升沿必须保证数据有效。在写命令时序中(命令时序中(WRITE COMMAND BYTE),),tCC表示从完成复表示从完成复位到写第一位数据建立的时间,要求大于位到写第一位数据建立的时间,要求大于1 S;tDC表示建立有效表示建立有效数据位的时间,要求
2、大于数据位的时间,要求大于50nS(其实由于时间非常短,可以不考(其实由于时间非常短,可以不考虑,只需在编写程序时先送数据再拉高虑,只需在编写程序时先送数据再拉高SCLK即可);即可);tCDH表示表示有效数据保持的时间;有效数据保持的时间;tCL表示低电平保持的时间,必须在这段时表示低电平保持的时间,必须在这段时间建立好下一位要发送的数据,要求大于间建立好下一位要发送的数据,要求大于250nS;WRITE DATA为写数据,与写命令方法一致,但要注意:为写数据,与写命令方法一致,但要注意:RST为低电平时,所为低电平时,所有传送数据被终止,有传送数据被终止,I/O引脚为高阻;上电后,引脚为高
3、阻;上电后, RST变为高电平变为高电平时,时,SCLK必须保持逻辑低电平。必须保持逻辑低电平。 函函 数数 名:名:RTInputByte( ) 功功 能:实时时钟写入一字节能:实时时钟写入一字节 说说 明:往明:往DS1302写入写入1Byte数据(内部函数)数据(内部函数) 入口参数:入口参数:d 写入的数据写入的数据 返返 回回 值:无值:无 void RTInputByte(unsigned char d) unsigned char i; for(i=8; i0; i-) T_IO = d&0 x01; T_CLK = 1; T_CLK = 0; d = d 1; DS1302的数
4、据读取是先写后读,即先写命令,后读数据。的数据读取是先写后读,即先写命令,后读数据。当第当第8位读命令的位读命令的SCLK下降沿后延时下降沿后延时tCDD(最多(最多200nS)后,)后,第一位数据被第一位数据被DS1302输出,单片机可在此时读取,随后输出,单片机可在此时读取,随后SCLK变为高电平,保持时间为变为高电平,保持时间为tCCZ,必须大于,必须大于70nS,以保证,以保证DS1302将下一位数据准备好。由于是单字节命令,所以每一字将下一位数据准备好。由于是单字节命令,所以每一字节数据读完后,应拉低节数据读完后,应拉低 70nS(tCDZ)以上时间。)以上时间。 函函 数数 名:名
5、:RTOutputByte() 功功 能:实时时钟读取一字节能:实时时钟读取一字节 说说 明:从明:从DS1302读取读取1Byte数据(内部函数)数据(内部函数) 入口参数:无入口参数:无 返返 回回 值:值:ACCunsigned char RTOutputByte(void) unsigned char i,data; for(i=8; i0; i-) data = data 1; if(T_IO) data = | 0 x80; T_CLK = 1; T_CLK = 0; return(data); 为了使用更加灵活,通常调用以上的写程序和读时程序,组合成一为了使用更加灵活,通常调用以
6、上的写程序和读时程序,组合成一个带写地址和读个带写地址和读/写数据的程序,具体如下。写数据的程序,具体如下。void Write1302(unsigned char ucAddr, unsigned char ucDa) T_RST = 0; T_CLK = 0; T_RST = 1; RTInputByte(ucAddr); / 地址,命令地址,命令 clk 1-0 RTInputByte(ucDa); / 写写1Byte数据数据 T_CLK = 1; T_RST = 0;unsigned char Read1302(unsigned char ucAddr) unsigned char u
7、cData; T_RST = 0; T_CLK = 0; T_RST = 1; RTInputByte(ucAddr); / 地址,命令地址,命令 ucData = RTOutputByte(); / 读读1Byte数据数据 T_CLK = 1; T_RST = 0; return(ucData);DS1302时钟时钟/日历芯片在使用的过程中,往往需要初始日历芯片在使用的过程中,往往需要初始化时钟化时钟/日历信息,结合上两段程序,具体程序编写如下。日历信息,结合上两段程序,具体程序编写如下。/* 函函 数数 名:名:Set1302() 功功 能:设置初始时间能:设置初始时间 说说 明:先写地址
8、,后读命令明:先写地址,后读命令/数据(寄存器多字节方式)数据(寄存器多字节方式) 调调 用:用:Write1302() 入口参数:入口参数:pClock: 设置时钟数据地址设置时钟数据地址 格式为格式为: 秒秒 分分 时时 日日 月月 星期星期 年年 7Byte(BCD码)码)1B 1B 1B 1B 1B 1B 1B 返返 回回 值:无值:无*/void Set1302(unsigned char *pClock) unsigned char i; unsigned char ucAddr = 0 x80; /初始化首地址初始化首地址 Write1302(0 x8e,0 x00); / 控制
9、命令控制命令,WP=0,写操作写操作 for(i =7; i0; i-) Write1302(ucAddr,*pClock); / 秒秒 分分 时时 日日 月月 星期星期 年年 pClock+; ucAddr +=2; Write1302(0 x8e,0 x80); / 控制命令控制命令,WP=1,写保护写保护RT-1602C采用标准的采用标准的16脚接口,各引脚情况如下:脚接口,各引脚情况如下:第第1脚:脚:VSS,电源地,电源地第第2脚:脚:VDD,+5V电源电源第第3脚:脚:V0,液晶显示偏压信号,一般加电位器调整,液晶显示偏压信号,一般加电位器调整第第4脚:脚:RS,数据,数据/命令选
10、择端,高电平时选择数据寄存器、低命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。电平时选择指令寄存器。3.1.1字符型液晶显示模块字符型液晶显示模块RT-1602C的外观与引脚的外观与引脚3.1 16023.1 1602液晶模块液晶模块第第5脚:脚:R/W,读,读/写选择端写选择端,高电平时进行读操作,高电平时进行读操作,低电平时进行写操作。当低电平时进行写操作。当RS和和R/W共同为低电平时可共同为低电平时可以写入指令或者显示地址,当以写入指令或者显示地址,当RS为低电平为低电平R/W为高为高电平时可以读忙信号,当电平时可以读忙信号,当RS为高电平为高电平R/W为低电平为低电平时
11、可以写入数据。时可以写入数据。第第6脚:脚:E,端为使能端,端为使能端,当当E E端由高电平跳变端由高电平跳变成低电平时,液晶模块执行命令。成低电平时,液晶模块执行命令。第第7 71414脚:脚:D0D0D7D7,为,为8 8位双向数据线。位双向数据线。第第1515脚:脚:BLABLA,背光源正极,背光源正极第第1616脚:脚:BLKBLK,背光源负极,背光源负极 控制器采用控制器采用HD44780,驱动器采用,驱动器采用HD44100。HD44780是集控制器,驱动器于一体,专用于字符显是集控制器,驱动器于一体,专用于字符显示控制驱动集成电路。示控制驱动集成电路。HD44100是作扩展显示字
12、符位是作扩展显示字符位的。的。HD44780是字符型液晶显示控制器的代表电路。是字符型液晶显示控制器的代表电路。HD44780集成电路的特点:集成电路的特点:1)可选择)可选择57或或510点字符。点字符。2)HD44780不仅作为控制器而且还具有驱动不仅作为控制器而且还具有驱动4016点阵液晶像素的能力,并且点阵液晶像素的能力,并且HD44780的驱动能力可通的驱动能力可通过外接驱动器扩展过外接驱动器扩展360列驱动。列驱动。1)清屏清屏指令格式:指令格式:01功能:清除屏幕,功能:清除屏幕,将显示缓冲区将显示缓冲区DDRAMDDRAM的内容全的内容全部写入空格(部写入空格(ASCII20H
13、ASCII20H)显示空白)显示空白。光标复位,回到显示器的左上角。光标复位,回到显示器的左上角。地址计数器地址计数器AC清零。清零。功能:设定当写入一个字节后,光标的移动方向以及功能:设定当写入一个字节后,光标的移动方向以及后面的内容是否移动。后面的内容是否移动。I/D=l:数据读写操作后,:数据读写操作后,AC自动增自动增1;(光标移动光标移动)I/D=0:数据读写操作后,:数据读写操作后,AC自动减自动减l; S=1:当数据写入:当数据写入DDRAM,显示将全部左移,显示将全部左移(I/D=1)或全部右移或全部右移 (I/D=0),此时光标未动,仅仅是显示内容,此时光标未动,仅仅是显示内
14、容移动,但从移动,但从DDRAM中读取数据时,显示不移动;中读取数据时,显示不移动;S0:显示不移动,光标移右:显示不移动,光标移右(I/D=1)或左移或左移(I/D=0)。3)输入方式设置输入方式设置格式: 5)光标画面移位置命令)光标画面移位置命令格式:功能:移动光标或整个显示字幕移位。功能:移动光标或整个显示字幕移位。S/C=0、R/L0,光标左移一个字符位,光标左移一个字符位,AC自动自动减减1;S/C=0、R/L=1,光标右移一个字符位,光标右移一个字符位,AC自自动加动加1;S/C=1、R/L=0,光标和画面一起左移一个字,光标和画面一起左移一个字符位;符位;S/C=1、R/L1,
15、光标和画面一起右移一个字,光标和画面一起右移一个字符位。符位。7)设置字库)设置字库CGRAM地址命令地址命令功能:功能:设置用户自定义设置用户自定义CGRAMCGRAM的地址的地址,对用,对用户自定义户自定义CGRAM访问时,要先设定访问时,要先设定CGRAM的地址,地址范畴的地址,地址范畴063。9)读忙标志及地址计数器)读忙标志及地址计数器AC命令命令功能:读忙标志及地址计数器功能:读忙标志及地址计数器ACAC,当当BF=1BF=1时则表示忙,这时不能接收命令和数时则表示忙,这时不能接收命令和数据;据;BF=0BF=0时表示不忙。时表示不忙。低低7 7位为读出的位为读出的ACAC的地址,
16、值为的地址,值为0-1270-127。11)读)读DDRAM或或CGRAM命令命令格式:功能:从功能:从DDRAM或或CGRAM当前位置中当前位置中读邮数据。当读邮数据。当DDRAM或或CGRAM读出数读出数据时,先须设定据时,先须设定DDRAM或或CGRAM的地的地址。址。3.1.5 单片机与单片机与1602液晶显示模块接口电路设计液晶显示模块接口电路设计1)直接访问方式)直接访问方式直接访问方式是单片机把字符型液晶显示模块当做直接访问方式是单片机把字符型液晶显示模块当做存储器或存储器或I/O设备直接挂接在单片机的总线上。该模式下,设备直接挂接在单片机的总线上。该模式下,控制信号由单片机的读
17、操作信号、写操作信号和地址信控制信号由单片机的读操作信号、写操作信号和地址信号组成。直接访问的接口电路,如图所示。号组成。直接访问的接口电路,如图所示。字符型液晶显示模块的总线与字符型液晶显示模块的总线与8031的数据总线相连;的数据总线相连;E信号由和信号逻辑与非后产生,由高位地址组成的片信号由和信号逻辑与非后产生,由高位地址组成的片选信号做选通控制,非选通状态下选信号做选通控制,非选通状态下E为逻辑为逻辑0;RS由低位由低位地址线地址线A0产生;产生;R/W由地址线由地址线A1提供。由此可确定液晶提供。由此可确定液晶显示模块的读显示模块的读/写操作地址。写操作地址。3.1.6 单片机与单片
18、机与1602液晶显示模块接口电路设计液晶显示模块接口电路设计2)间接控制方式)间接控制方式 间接控制方式是单片机把字符型液晶显示模块作为间接控制方式是单片机把字符型液晶显示模块作为终端与单片机的并行口连接,单片机通过对该并行接口终端与单片机的并行口连接,单片机通过对该并行接口的操作间接地实现对显示模块的控制。如图所示间接控的操作间接地实现对显示模块的控制。如图所示间接控制方式下的接口电路。图中使用了制方式下的接口电路。图中使用了P1和和P3口,口,P1口直接口直接和液晶显示模块总线相连,和液晶显示模块总线相连,P3则分别与液晶显示模块的则分别与液晶显示模块的RS、R/W和和E控制线相连,用软件
19、实现液晶显示模块的控制线相连,用软件实现液晶显示模块的时序控制。时序控制。 3.1.6 1602液晶显示模块的时序液晶显示模块的时序 1602液晶液晶读读/写操作是由使能信号写操作是由使能信号E完成的,不操完成的,不操作时作时E为低电平,操作时产生一个正脉冲。读操作时,为低电平,操作时产生一个正脉冲。读操作时,E信号为高电平,控制器将所需数据送入数据总线上,供信号为高电平,控制器将所需数据送入数据总线上,供单片机读取;在写操作时,单片机读取;在写操作时,E信号的下降沿处将数据总信号的下降沿处将数据总线上的数据写入控制器接口部的寄存器内。读线上的数据写入控制器接口部的寄存器内。读/写操作的写操作的识别由识别由R/W信号决定,信号决定,R/W=1为读操作,为读操作,R/W=0为写操为写操作。作。RS是数据是数据/命令代码选择信号,命令代码选择信号,RS=1选择数据寄存选择数据寄存器,器,RS=0选择命令寄存器或标志位。选择命令寄存器或标志位。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。