PIC单片机综合实例.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十三章 综合实例 【学习目标】 了解字符式液晶的显示原理; 掌握字符式液晶的初始化方法; 掌握根据时序图编程程序的方法; 掌握LED点阵显示屏电路设计思想; 理解汉字显示原理; 掌握LED点阵显示屏的编程方法; 掌握光耦的用途和控制方法; 第十三章 综合实例 第十三章 综合实例 液晶分类 笔段式液晶 字符式液晶 图像式液晶 汉字图像式液晶 彩屏液晶 字符式液晶模块 16字符×2行显示的字符液晶显示屏简介 内置HD44780控制器:可直接产生192种常见字符图形; 字符编码与ASCII兼容,并且允许用户自编字符用于显示; 只需单一的+5V供电即可工作; 重量轻:≤100g; 体积小:≤11mm厚; 功耗低:10 - 15 mw; 指令功能强:可组合成各种输入、显示、移位方式以满足不同的要求; 接口简单方便:可与8位微处理器或微控制器相联; 工作温度宽:-20℃ - 70℃; 可靠性高:寿命为50,000小时(25℃)。 硬件连接图 引脚信号表 寄存器选择功能表 信号操作时序图 关键信号时间宽度 对于时间要求的说明 对于上表中的数据在用软件编写操作时序时必须遵守,否则可能无法完成正确操作。例如当PIC16F877主频为20MHz时,一条指令周期仅为0.2us,即200ns,这样在用程序实现此操作时序时在使能信号E置1后要延时3个指令周期(用C语言可以加入三个NOP函数),保证高电平持续时间大于使能信号脉冲宽度Tw的最小值450ns的要求。 例题:求向液晶的数据寄存器写入’A’ 题意分析: 题目要求向液晶的数据寄存器写入内容。查前表 可知,RS信号为1,R/W信号为0,根据图中的连接方法可知,RC5应输出1,RC6应输出0。当E信号产生一个脉冲后数据被打入到液晶的数据寄存器中。数据由PORTD提供,E信号由RC7提供。 根据时序图可得到以上信号的输出顺序。用C语言描述如下。 LCD_CMD_W_Timing () { TRISD=0; //PORTD用于输出数据 TRISC5=0; //RC5用于输出RS信号。 TRISC6=0; //RC6用于输出R/W信号。 TRISC7=0; //RC7用于输出E信号。 RC7 = 1 ; // E信号初值是0 RC5 = 1 ; // RS=1 RC6 = 0 ; // R/W=0 PORTD = ‘A’ ; // 要打入的数据放到PORTD中 RC7 = 1 ; // E信号由低变高,由于每条指令时200ns,已经保证了Tas要求。 NOP(); NOP(); NOP(); // 三个NOP满足Tw最小时间宽度 RC7 = 0 ; // E信号再由高变低,打入数据。由于数据早已经赋值,所以Tdsw肯定满足 NOP(); NOP(); // 满足TcycE最小时间长度要求。E由低变高执行至此已经消耗了1200ns(6条指令) } 字符液晶的指令集 对字符液晶的控制命令就是通过的特定信号组合而成,下表列出了某种字符液晶能够识别的几条指令。更多内容请参考教材。 指令集的实现 //向LCD写指令 void LCD_Write_CMD( unsigned char LCD_CMD) { LCD_DATA= LCD_CMD; LCD_CMD_W_Timing () ; DelayMS(1) ; } 向LCD写数据 //向LCD写数据 void LCD_Write_Data( unsigned char LCD_CMD) { LCD_DATA= LCD_CMD; LCD_DAT_W_Timing() ; DelayMS(1) ; } 向LCD输出一个字符 //向LCD输出一个字符 void LCD_Put_Char(unsigned char LCD_Char) { LCD_Write_Data(LCD_Char) ; } 字符液晶的初始化 字符显示 字符通过DDRAM(动态显示内存区)来显示,每个字符位都对应一个DDRAM地址。 第一行地址:00、01、~~~、0F 第二行地址:40、41、~~~、4F 字符液晶能显示常见的数字、字母和英文标点 常用函数的实现:Set_Cursor //设置显示坐标 //Row = (0 or 1) //Column = ( 0 to 15) void LCD_Set_Cursor(unsigned char Row, unsigned char Column) { LCD_Write_CMD(DD_RAM_BASE + Row * 0x40 + Column); DelayMS(1); } 向LCD输出字符串,字

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档