12864串行模式体验.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
12864串行模式体验

12864使用心得论文 硬件连接 1.1 12864引脚示意图 1.2 本次实验中12864和MCU的连接示意图 /****************晶振为11.0592**********************/ sbit PSB = P1^0; //并1/串0选择 //串行接法 sbit CS = P1^3; //串片选 sbit DS = P1^2; //串数据口 sbit SCK = P1^1; //串时钟信号 /* //并行接法 sbit RS = P1^3; //数据/命令选择端 sbit RW = P1^2; //读写选择端 sbit E = P1^1; //使能信号端 #define DataIO P0 //并行数据口 */ 二、底层基本程序(串行方式) 2.1 基本写字节程序 //写一个字节(以SCK上升沿接收一个位) void sendbyte(uint8 zdata){ uint16 i; for(i=0; i8; i++){ if((zdata i) 0x80){ DS = 1; }else { DS = 0; } SCK = 0; SCK = 1; } } 2.2 写命令程序(若晶振频率11.0592,则需加延时处理) //写命令 void writeCmd(uint8 cmdcode){ CS = 1; sendbyte(0xf8); sendbyte(cmdcode 0xf0); sendbyte((cmdcode 4) 0xf0); // delayMs(1); //若晶振频率11.0592,则需延时 } 2.3 写数据程序(若晶振频率11.0592,则需加延时处理) //写数据 void writeData(uint8 dispdata){ CS = 1; sendbyte(0xfa); sendbyte(dispdata 0xf0); sendbyte((dispdata 4) 0xf0); // delayMs(1); //若晶振频率11.0592,则需延时 } 2.4 通用软件毫秒延时程序 //延时程序 void delayMs(uint16 xms){ uint16 i,j; for (i=0;i=xms;i++) for (j=0;j=123;j++) ; } 三、文本显示 3.1 LCD12864初始化 //LCD12864初始化 void LCD12864Init(){ PSB = 0; //串行 writeCmd(0x30); //基本指令模式 writeCmd(0x04); //游标右移一位 writeCmd(0x0c); //显示开,关光标 writeCmd(0x01); //清除LCD的内容(仅字符模式) } ?模块控制芯片提供两套控制命令,基本指令和扩充指令如下: 指令表1:(RE=0:基本指令) 指令表2:(RE=1:扩充指令) 3.2 LCD12864字符串的显示 //写字符串函数,参数 line第1/2行 beSpace字符前面的空格数 pString指针 uint8 write12864String(uint8 line,uint8 beSpace,char *pString){ uint8 i=0; uint8 sLength = strlen(pString); //字符串长度 if (pString == NULL) //空字符串 return -1; writeCmd(0x30); //基本指令模式 //设置写在的位置 if (line == 1){ writeCmd(0x80 + beSpace); //写在第一行的位置 }else if (line == 2){ writeCmd(0x90 + beSpace); //写在第二行的位置 }else if (line == 3){ writeCmd(0x88 + beSpace); //写在第三行的位置 }else if (line == 4){ writeCmd(0x98 + beSpace); //写在第四行的位置 }else{ return -1; } //写数据 for (i=0;i sLength;i++){ writeData ( *pString ); pString ++; } return 0; } 12864每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档