ImageVerifierCode 换一换
格式:DOCX , 页数:44 ,大小:377.38KB ,
资源ID:7164557      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-7164557.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(珍藏的12864 使用经典资料Word文档格式.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

珍藏的12864 使用经典资料Word文档格式.docx

1、6. sbitPSB= P21; /串并方式选择引脚,0为串行模式,1为8/4位数据口模式7. sbitRST= P23; /复位引脚8. 9. /*10. /延时函数11. /*12. void delay(unsigned int k)13. 14. unsigned int i;15. unsigned char j;16. for(i=0;ik;i+)17. 18. for(j=0;j0;x-)28. for(y=121;yy-);29. 30. /*31. /写命令函数32. /*33. void LcdWcom(unsigned char WCom)34. 35. delay(1)

2、;36. RS=0;/指明操作对象为指令寄存器37. RW=0; /指明为写操作38. E=1;39. lcd_data=WCom; /将命令写入总线40. E=0;41. 42. /*43. /写数据函数44. /*45. void LcdWdata(unsigned char WData)46. 47. 48. RS=1; /指明操作对象为数据寄存器49. 50. 51. lcd_data=WData; /将数据写入总线52. 53. 二、初始化操作初始化操作如下:芯片上电;延时40ms以上;复位操作:RST出现一个上升沿(RST=1;RST=0;RST=1;);功能设定;延时100us以

3、上;6再次进行功能设定;7延时37us;8显示开关控制;910清除显示;11延时10ms以上;12进入点设置;13初始化结束;这里我遇到了一个小问题,我的液晶按照这个顺序进行初始化结果不正确,无法显示,最后我把调整了一下就可以了,调整后的顺序为:清除显示进入点设置显示开关控制,不知道是什么原因,知道的告诉我一声54. /*55. /显示初始化函数56. /*57. void Display_Init(void)58. 59. delay_ms(45); /延时45ms60. PSB=1; /8位并行口61. /复位操作62. 63. 64. 65. /功能设定66. LcdWcom(0x30)

4、; /设置为8位并行口,基本指令集67. delay(10);68. /再次设置为8位并行口,基本指令集69. delay(5);70. / /显示开关控制71. / LcdWcom(0x0c); /游标显示关,正常显示,整体显示开72. / delay(10);73. /清除显示74. LcdWcom(0x01);75. delay_ms(12); /延时12ms76. /进入点设置77. LcdWcom(0x06); /设置为游标右移,DDRAM位地址加1,画面不移动78. 79. LcdWcom(0x0C); /开显示80. 三、显示基本的字符和汉字1、要想显示汉字或字符,首先要确定显示

5、的位置,看看芯片说明书上关于屏幕地址的分配:由于此液晶为128*64,即是横向128个点,竖向64个点,由于该液晶控制器支持的字符为8*16,汉字为16*16,因此只能显示四行,如果是汉字,为每行显示8个,如果是字符,每行显示16个。由上图设置DDRAM地址的指令可知,最高位为1,余下7位为地址值,因此就对应了为什么起始地址为80H的原因(即对应的写地址指令为1000 0000);因此如果你要设定显示的地址为第一行的第一个位置,只需要调用写指令函数,写入0x80即可。存在的问题:参考网上的程序及在试验过程中发现,实际能显示出来的地址分布式这样的0x80 0x81 0x82 0x83 0x84

6、0x85 0x86 0x87/第一行汉字位置 0x90 0x91 0x92 0x93 0x94 0x95 0x96 0x97/第二行汉字位置 0x88 0x89 0x8a 0x8b 0x8c 0x8d 0x8e 0x8f /第三行汉字位置 0x98 0x99 0x9a 0x9b 0x9c 0x9d 0x9e 0x9f /第四行汉字位置百思不得其解,尤其让人受不了的是居然是第一行和第三行地址接续,而不是第二行,有明白的高手给讲解一下设定DDRAM地址参考程序:81. /*82. /设置光标函数83. /参数说明:x为行号,y为列号84. /*85. void Set_Cursor(unsigne

7、d char x, unsigned char y)86. 87. unsigned char i;88. switch(x)/确定行号89. 90. case 0x00: i=0x80; break;/第一行91. case 0x01: i=0x90;/第二行92. case 0x02: i=0x88;/第三行93. case 0x03: i=0x98;/第四行94. default :95. 96. i = y+i;/确定列号97. LcdWcom(i);/写地址98. 复制代码2、显示字符由数据手册可查看可以显示的字符及其显示码:因此,当你设置好所要显示的光标位置后,即可调用写数据函数,

8、写入对应相应字符的显示码,比如要显示!就应该写入0x21。99. /*100. /显示字符函数101. /*102. void Display_Char(unsigned char Alphabet)103. 104. 105. LcdWdata(Alphabet); /写入需要显示字符的显示码106. 显示!实例:107. /*显示单个字符*/108. Set_Cursor(0,0); /光标地址设定109. Display_Char(0x21); /显示字符!扩展程序:在指定位置显示字符串110. /*111. /指定位置显示字符串函数112. /参数说明:113. /*114. void

9、 Display_String(unsigned char x,unsigned char y,unsigned char *Alphabet)115. 116. unsigned char i=0;117. Set_Cursor(x,y); /设置显示的起始地址118. while(Alphabeti!=0)119. 120. LcdWdata(Alphabeti);/写入需要显示字符的显示码121. i+;122. 123. 显示字符串实例:124. /*显示字符串*/125. Display_String(1,0,WWW.CEPARK.COM);/显示字符串3、显示汉字因为一个汉字占用两

10、个字节的大小,因此要想显示一个汉字,需要进行两个数据写入操作。所支持的8192个16*16的汉字详见数据手册附录中的ST7920GB中文字型码表。126. /*127. /指定位置显示汉字函数128. /参数说明:129. /*130. void Display_HZ(unsigned char x,unsigned char y,unsigned char *HZ)131. 132. Set_Cursor(x,y);/设置显示的起始地址133. LcdWdata(HZ0);/写入需要显示汉字的高八位数据134. LcdWdata(HZ1);/写入需要显示字符的低八位数据135. 显示汉字实例

11、:136. /*显示汉字*/137. Display_HZ(0,1,电/显示电138. Display_HZ(0,2,子/显示子139. Display_HZ(0,3,园/显示园140. /*141. /指定位置显示一行汉字函数,可自动换行142. /参数说明:143. /*144. void Display_HZ_Line(unsigned char x,unsigned char y,unsigned char *HZ)145. 146. unsigned char i=0;147. 148. while(HZi!149. 150. LcdWdata(HZi+); /写入需要显示汉字的高八

12、位数据151. /写入需要显示字符的低八位数据152. if(y+i)%16=0)/如果满一行153. 154. x+;155. if(x=4) /如果满一屏156. x=0;157. Set_Cursor(x,0);/重新设置显示的起始地址158. 159. 160. 显示一行汉字实例:161. /*显示一行汉字*/162. Display_HZ_Line(2,0,欢迎转载,转载请注明出处,谢谢!/显示一行汉字再来一个整体的现实效果163. /*164. /说明:程序主函数165. /*166. void main(void)167. 168. /*液晶初始化*/169. Display_I

13、nit();170. /*显示单个字符*/171. Set_Cursor(0,0);/光标地址设定172. Display_Char(0x21);/显示字符!173. /*显示字符串*/174. Display_String(1,0,175. /*显示汉字*/176. Display_HZ(0,1, /显示电177. Display_HZ(0,2, /显示子178. Display_HZ(0,3, /显示园179. /*显示一行汉字*/180. Display_HZ_Line(2,0,181. while(1);182. 四、关于CGRAM的使用:可以参考这个网站的程序: http:/bbs.

14、友好站点,请勿转贴.com/ShowTopic.aspx?id=81220 ST7920自行产生RAM提供使用者图像定义(造字)功能,可以提供四组16*16点的自定义图像空间,使用者可以将内部自行没有提供的图像自行定义到CGRAM中,便可以通过DDRAM显示在液晶屏上。注意:网上介绍说ST7920芯片同屏幕不能显示4个以上自定义汉字(用CGRAM)。显示CGRAM字型:将16位元资料写入DDRAM中,一共有0000H,0002H,0004H,0006H四种编码。操作步骤:设置为扩充指令集;设置SR=O,允许设定CGRAM地址;设置为基本指令集;循环执行以下操作写入16个字节数据(设定CGRAM

15、的存储地址;写入自定义数据);设置DDRAM地址写入显示CGRAM显示码CGRAM参考程序:183. /*184. /设置CGRAM字库185. /ST7920 CGRAM(用户自定义图标)空间分布186. /空间1地址:40H4FH共16个地址,一个地址对应两个字节数据;对应调用码:0000H187. /空间2地址:50H5FH共16个地址,一个地址对应两个字节数据;0002H188. /空间3地址:60H6FH共16个地址,一个地址对应两个字节数据;0004H189. /空间4地址:70H7FH共16个地址,一个地址对应两个字节数据;0006H190. /参数说明:num为空间编号,CGR

16、AM_ZIKU为地址指针191. /*192. void SET_CGRAM(unsigned char num,unsigned char *CGRAM_ZIKU)193. 194. unsigned char i,add;195. LcdWcom(0x34);/再次设置为8位并行口,扩展指令集196. LcdWcom(0x02);/SR=0,允许设置CGRAM地址197. LcdWcom(0x30);/恢复设置为8位并行口,基本指令集198. add=(num4)|0x40; /计算CGRAM的首地址199. for(i=0;16;200. 201. LcdWcom(add+i); /设置

17、CGRAM的首地址202. LcdWdata(CGRAM_ZIKUi*2); /写入高8位数据203. LcdWdata(CGRAM_ZIKUi*2+1);/写入低8位数据204. 205. 206. /*207. /指定位置显示CGRAM自造字函数208. /参数说明:x为行号,y为列号,num为编号209. /*210. void Display_CGRAM(unsigned char x,unsigned char y,unsigned char num)211. 212. Set_Cursor(x,y);213. LcdWdata(0x00);214. LcdWdata(num*2);215. 216. 复制代码217. 显示CGRAM自定义字库实例:218. /*

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2