stm32f103zet6串行驱动12864.doc_第1页
stm32f103zet6串行驱动12864.doc_第2页
stm32f103zet6串行驱动12864.doc_第3页
stm32f103zet6串行驱动12864.doc_第4页
stm32f103zet6串行驱动12864.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

12864串行 stm32f103zet6 战舰V3学习版 在资料最下面有工程文件,直接烧录就可以使用。希望大家尊重我的劳动成果,下载下来。每个语句注释,在工程文件中都有。12864相关驱动在key.c和Key.h中经我验证,可以用stm32引脚控制12864如上图为12864串口时序图串行数据传送共分三个字节完成:第一字节:串口控制格式 11111ABC A 为数据传送方向控制:H 表示数据从 LCD 到 MCU,L 表示数 据从 MCU 到 LCD B 为数据类型选择:H 表示数据是显示数据,L 表示数据是控制指令 C 固定为 0第二字节:(并行)8 位数据的高 4 位格式 DDDD0000第三字节:(并行)8 位数据的低 4 位格式 0000DDDD以上是说明书给的出的,个人理解从图上可以看出串行传输时需要用到CS,SCLK,SID三根信号线,但是由于CS是高电平有效,所以也可以把CS长接高电平,那样就只需要两根线就OK了,当然当使用12864串行模式时,PSB引脚必须接低电平,复位RST引脚可以悬空不接,因为12864内部有上电复位电路。所以电路图如下图所示 一定要查资料,看下PSB引脚是否和VCC连接在一起,我在育松上买的QC12864 B,液晶屏幕,太垃圾了,资料上都没有说明串行该怎么修改,结果调试时候发现,PSB引脚电平不对,后来一查,PSB引脚和VCC连接在一起了,所以一定要确保引脚电平正确。 串行数据传送共分三个字节完成:理解就是传输一个字节需要三个字节来确定。第一个字节:11111ABC 11111 000 单片机写控制指令给LCD 11111 010 单片机写数据给LCD 第二个字节:11110000第三个字节:00001111由于数据是传输是以一个字节8bits为单位,所以下面贴出传输一个字节的函数实现void Write_Bits(u8 bits) u8 i, Temp_Data; for(i=0;i8;i+) Temp_Data=bitsi; if(Temp_Data&0x80)=0) Reset_SID ; Reset_SCLK; Set_SCLK; else Set_SID; Reset_SCLK; Set_SCLK; Temp_Data=W_bitsi;/把数据依次左移 对于这个语句有点迷茫,知道是左移,有点疑惑,赶紧去百度,木有找到我心中的疑问,就去翻C语言书(一本好的C语言书是多重要,我用的是C Primer Plus),第500页,有这样一句话,该操作产生一个新的位置,但是不改变其运算对象。例如,假设stonk为1,那么stonk2为4,但是stonk本身不变,仍为1。就是 a=stonk2;(a=4,stonk=1)在絮叨一句,传入形参数值bits不变,每次左移i位,新值付给Temp_Data,用一个if-else语句判断SID上的高低电平,然后再把数据传输出。第一个字节:11111ABC 1111 1 00 0 单片机写控制指令给LCD 1111 1 01 0 单片机写数据给LCD 因为第一个字节不是固定的,RS和RW不一样,意义不同,故用形参。void LCD_Write_Byte(u8 RW,u8 RS,u8 byta) u8 H_data, L_data; u8 SID_data=0xf8; /1111 1 00 0 if(1= RW) SID_data |=0x04; else SID_data &=0x04; if(1 = RS) SID_data |=0x02; else SID_data &=0x02; H_data = byta; H_data &= 0xf0; L_data = byta; L_data &= 0x0f; L_data=4; Write_Bits(SID_data); delay_us(250); Write_Bits(H_data); delay_us(250); Write_Bits(L_data); delay_us(250);用逻辑串口查看引脚SID,CKK时序主函数中用 LCD_Write_Byte(0,1,0X89);/写命令字 LCD_Write_Byte(0,0,0X31);/写命令字时序图如图,经对比,和串行时序图一直在这里出现一个问题,地址归位放在清屏前,屏幕会会在左上角出现相同的数字,用单步仿真却正

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论