版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022/8/20机械工业出版社Page 1【学习目标】了解字符式液晶的显示原理;掌握字符式液晶的初始化方法;掌握根据时序图编程程序的方法;掌握LED点阵显示屏电路设计思想;理解汉字显示原理;掌握LED点阵显示屏的编程方法;掌握光耦的用途和控制方法;第1页,共61页。2022/8/20机械工业出版社Page 2第十三章 综合实例字符式液晶模块原理及编程1LED点阵显示屏原理及应用2电子密码锁控制器的设计3第2页,共61页。2022/8/20机械工业出版社Page 3第十三章 综合实例字符式液晶模块原理及编程1LED点阵显示屏原理及应用2电子密码锁控制器的设计3第3页,共61页。2022/8/2
2、0机械工业出版社Page 4液晶分类笔段式液晶字符式液晶图像式液晶汉字图像式液晶彩屏液晶第4页,共61页。2022/8/20机械工业出版社Page 5字符式液晶模块 第5页,共61页。2022/8/20机械工业出版社Page 616字符2行显示的字符液晶显示屏简介内置HD44780控制器:可直接产生192种常见字符图形;字符编码与ASCII兼容,并且允许用户自编字符用于显示;只需单一的5V供电即可工作;重量轻:100g;体积小:11mm厚;功耗低:10 - 15 mw;指令功能强:可组合成各种输入、显示、移位方式以满足不同的要求;接口简单方便:可与8位微处理器或微控制器相联;工作温度宽:-20
3、 - 70;可靠性高:寿命为50,000小时(25)。第6页,共61页。2022/8/20机械工业出版社Page 7硬件连接图第7页,共61页。2022/8/20机械工业出版社Page 8引脚信号表序号 符 号 名 称 功 能 1VSS 接地 0V 2VDD 电路电源 5V10% 3VEE 液晶驱动电压 保证VDDVEE有4.5到5V电压差 4RS 寄存器选择信号 H:数据寄存器 L:指令寄存器 5R/W 读/写信号 H:读 L:写 6E 片选信号 下降沿触发,锁存数据 7-14DB0-DB7 数据线 数据传输 第8页,共61页。2022/8/20机械工业出版社Page 9寄存器选择功能表 R
4、SR/W操作00指令寄存器(IR)写入 01忙标志和地址计数器读出 10数据寄存器(DR)写入 11数据寄存器读出 第9页,共61页。2022/8/20机械工业出版社Page 10信号操作时序图第10页,共61页。2022/8/20机械工业出版社Page 11关键信号时间宽度 名称 功能描述 要求 Tas 地址建立时间 最小值140ns Tw 使能信号脉冲宽度 最小值450ns Tdsw 数据建立时间 最小值195ns TcycE 使能信号周期 最小值1000ns 第11页,共61页。2022/8/20机械工业出版社Page 12对于时间要求的说明对于上表中的数据在用软件编写操作时序时必须遵守
5、,否则可能无法完成正确操作。例如当PIC16F877主频为20MHz时,一条指令周期仅为0.2us,即200ns,这样在用程序实现此操作时序时在使能信号E置1后要延时3个指令周期(用C语言可以加入三个NOP函数),保证高电平持续时间大于使能信号脉冲宽度Tw的最小值450ns的要求。 第12页,共61页。2022/8/20机械工业出版社Page 13例题:求向液晶的数据寄存器写入A题意分析:题目要求向液晶的数据寄存器写入内容。查前表 可知,RS信号为1,R/W信号为0,根据图中的连接方法可知,RC5应输出1,RC6应输出0。当E信号产生一个脉冲后数据被打入到液晶的数据寄存器中。数据由PORTD提
6、供,E信号由RC7提供。根据时序图可得到以上信号的输出顺序。用C语言描述如下。第13页,共61页。2022/8/20机械工业出版社Page 14LCD_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信号由低变高,由于每条指令时200
7、ns,已经保证了Tas要求。 NOP(); NOP(); NOP(); / 三个NOP满足Tw最小时间宽度 RC7 = 0 ; / E信号再由高变低,打入数据。由于数据早已经赋值,所以Tdsw肯定满足NOP();NOP(); / 满足TcycE最小时间长度要求。E由低变高执行至此已经消耗了1200ns(6条指令)第14页,共61页。2022/8/20机械工业出版社Page 15字符液晶的指令集 对字符液晶的控制命令就是通过的特定信号组合而成,下表列出了某种字符液晶能够识别的几条指令。更多内容请参考教材。 名称 指 令 码 说 明 执行周期* RS R/W DB7DB0 清屏 00 0000 0
8、001清除屏幕,置AC为零 1.64msDDRAM地址设置 001 ADD 设DDRAM地址 40us 写数据10 写数据 写数据到CG或DDRAM 40us第15页,共61页。2022/8/20机械工业出版社Page 16指令集的实现 /向LCD写指令void LCD_Write_CMD( unsigned char LCD_CMD) LCD_DATA= LCD_CMD;LCD_CMD_W_Timing () ;DelayMS(1) ;第16页,共61页。2022/8/20机械工业出版社Page 17向LCD写数据/向LCD写数据void LCD_Write_Data( unsigned c
9、har LCD_CMD) LCD_DATA= LCD_CMD;LCD_DAT_W_Timing() ;DelayMS(1) ; 第17页,共61页。2022/8/20机械工业出版社Page 18向LCD输出一个字符 /向LCD输出一个字符void LCD_Put_Char(unsigned char LCD_Char)LCD_Write_Data(LCD_Char) ;第18页,共61页。2022/8/20机械工业出版社Page 19字符液晶的初始化 液晶模块正确初始化后,即可接收命令来显示字符。第19页,共61页。2022/8/20机械工业出版社Page 20字符显示 字符通过DDRAM(动
10、态显示内存区)来显示,每个字符位都对应一个DDRAM地址。第一行地址:00、01、0F第二行地址:40、41、4F第20页,共61页。2022/8/20机械工业出版社Page 21字符液晶能显示常见的数字、字母和英文标点 第21页,共61页。2022/8/20机械工业出版社Page 22常用函数的实现: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 * 0
11、x40 + Column);DelayMS(1);第22页,共61页。2022/8/20机械工业出版社Page 23向LCD输出字符串,字符串在RAM中void LCD_Put_String( char *Str) unsigned char Str_Temp; while (1) Str_Temp = *Str ;if (Str_Temp != 0 x00 ) LCD_Write_Data(Str_Temp) ; Str + ;else return ; 第23页,共61页。2022/8/20机械工业出版社Page 24第十三章 综合实例字符式液晶模块原理及编程1LED点阵显示屏原理及应用2
12、电子密码锁控制器的设计3第24页,共61页。2022/8/20机械工业出版社Page 25第25页,共61页。2022/8/20机械工业出版社Page 26典型LED点阵显示屏电路设计 LED点阵显示屏的基本显示元件是88LED显示块,如图所示。其原理与数码管类似,由64个LED排成8行8列。同一行的LED阴极连在一起;同一列的LED阳极连在一起。第26页,共61页。2022/8/20机械工业出版社Page 27要在88LED显示屏上显示字母E 第27页,共61页。2022/8/20机械工业出版社Page 28用0代表灭的点,用1代表亮的点 00000000001111000010000000
13、111100001000000010000000111100000000000 x0,0 x3C,0 x20,0 x3C,0 x20,0 x20,0 x3C,0 x0;第28页,共61页。2022/8/20机械工业出版社Page 29编程控制88显示屏K1显示字母E的字形 第29页,共61页。2022/8/20机械工业出版社Page 30题意分析 H0到H7表示行选信号,用PORTD控制。在实际电路中由于LED显示块耗电量比较大,单片机无法直接驱动太多的显示块。所以在实际电路中应该为每个行选信号上加入驱动电路。 L0到L7是用来显示每行的字形数据端口,通过PORTB输出。要想显示E的字形,根据
14、扫描法思想,就是先把表示E字形的第一行二进制数送L0到L7,而后仅点亮第1行;依次再把表示E字形的第二行二进制数送L0到L7,而后仅点亮第2行;. 。 第30页,共61页。2022/8/20机械工业出版社Page 31关键代码const unsigned char ZiXing8= 0 x0,0 x3C,0 x20,0 x3C,0 x20,0 x20,0 x3C,0 x0 ; #define LIE_DIR TRISB / 列端口方向位, #define LIE_PORT PORTB / 列端口#define HANG_DIR TRISD / 行端口方向位, #define HANG_PORT
15、 PORTD / 行端口for(Hang=0;Hang8;Hang+) LIE_PORT=ZiXingHang; /字形码送列端口显示 HANG_PORT=(unsigned char)1Hang); /指定行 DelayMS(2); /短暂延时造成视觉暂留现象 HANG_PORT=0b11111111; /在送新数据前关闭显示第31页,共61页。2022/8/20机械工业出版社Page 32显示汉字的原理第32页,共61页。2022/8/20机械工业出版社Page 33“中”的字型码0 x01,0 x00,0 x01,0 x00,0 x21,0 x08,0 x3F,0 xFC,0 x21,0
16、 x08,0 x21,0 x08,0 x21,0 x08,0 x21,0 x08,0 x21,0 x08,0 x3F,0 xF8,0 x21,0 x08,0 x01,0 x00,0 x01,0 x00,0 x01,0 x00,0 x01,0 x00,0 x01,0 x00;第33页,共61页。2022/8/20机械工业出版社Page 34行译码电路:4-16译码器第34页,共61页。2022/8/20机械工业出版社Page 35列电路:串联的移位寄存器第35页,共61页。2022/8/20机械工业出版社Page 36组合后的电路第36页,共61页。2022/8/20机械工业出版社Page 37
17、实例:在LED点阵显示屏上显示汉字 题意分析 由于PIC单片机具有硬件的移位输出接口SPI,所以本例中列信号L0:L15由DS、SH_CP和ST_CP控制。DS和SH_CP分别连接到PIC硬件SPI模块的SDO和SCK引脚。ST_CP由RC1控制,出现上升沿时74HC595的移位寄存器内容才会输出到其输出引脚上。CS_N由RC0控制。由此可见C口的控制信号都是输出状态即可。行选择信号H0:H15由DB0:DB3和CS_N控制。DB3:DB0用RD3:RD0控制,所以PORTD应为输出状态。第37页,共61页。2022/8/20机械工业出版社Page 38 题意分析续要想显示汉字“中”的字形,根
18、据扫描法思想,把表示“中”字字形码数组的第一和第二个字节依次输出到L0:L15,这可以通过SPI方式顺序发送字形码数组中的前两个字节来实现;而后仅点亮第1行;再把字形码数组的第三和第四个字节通过SPI方式发送到L0:L15,而后仅点亮第2行;. 。 第38页,共61页。2022/8/20机械工业出版社Page 39关键代码#define CTRL_DIR TRISC / 控制字节方向位, #define CTRLBYTE PORTC / 控制字节 #define SH_CP RC3 /shift clcok pluse 移位时钟 #define DS RC5 /Serial Data 串行数据
19、 #define ST_CP RC1 /store clock pluse 锁存脉冲, 下降沿锁存#define CS_N RC0 / 74138片选信号,低电平有效#define LINESEL PORTD /行选择,低4位有效#define LINESEL_DIR TRISD /行选择方向位第39页,共61页。2022/8/20机械工业出版社Page 40SPIInit()void SPIInit()TRISC3=0; / RC3/SCK为输出 TRISC5=0; / RC5/SDO为输出 TRISC1=0; / RC1用来控制74HC595的锁存信号 SSPIF=0; / 清空标志位 C
20、KE=0; / 上升沿发送数据,为了与74HC595时序匹配 CKP=1; / 空闲为高电平 SSPEN=1; / 使能MSSP模块 SSPM3=0; SSPM2=0; SSPM1=1; SSPM0=0; / SSPM=0010,工作模式为SPI主控第40页,共61页。2022/8/20机械工业出版社Page 41SPISendvoid SPISend(unsigned char data) SSPBUF=data; / 把要发送的数据放在SSPBUF中 while(SSPIF=0) / SSPIF为0说明未发送完成 /循环退出说明发送完毕 SSPIF=0; / SSPIF必须手动清零第41页
21、,共61页。2022/8/20机械工业出版社Page 42显示字形的代码for(Line=0;Line16;Line+) SPISend(ZiXingLine1); / 低八位 SPISend(ZiXing(Line1)+1); / 高八位 LINESEL=Line; /选择要显示的行 ST_CP=1; / 产生上升沿使595芯片输出数据 ST_CP=0; / 回到低电平,为下次上升沿做准备 CS_N=0; / 使能74LS138芯片输出 DelayMS(2); /延时产生视觉暂留现象 CS_N=1; / 关闭74LS138芯片输出第42页,共61页。2022/8/20机械工业出版社Page
22、43第十三章 综合实例字符式液晶模块原理及编程1LED点阵显示屏原理及应用2电子密码锁控制器的设计3第43页,共61页。2022/8/20机械工业出版社Page 44电子密码锁控制器:需求分析不需要钥匙,开锁者输入密码即可控制锁打开,锁的关闭是手动或自动的;开锁者有权利修改自己的密码;为了防止开锁者穷举密码,密码输入错误三次后即报警,5分钟后方能继续使用;为了提示开锁者正确操作,应该用显示设备输出相关提示信息;当开锁者有误操作时应该有声音警告;电池供电;第44页,共61页。2022/8/20机械工业出版社Page 45硬件设备需求为了输入密码,需要设计按键输入电路,为了提高安全性,又考虑到密码
23、锁的空间,一般的系统都是数字密码,这里可以采用44矩阵键盘来实现。 为了防止断电后密码丢失,需要把用户密码记录在非易失性存储器中,例如EEPROM中。由于PIC单片机大都内置EEPROM,可以省略外挂EEPROM。 为了实现报警和误操作提示,可以采用简单的声音报警。为了降低成本,一般采用简单的5V压电式蜂鸣器来实现声音的播放,这种蜂鸣器驱动电流在10mA左右,用PIC单片机的I/O引脚可以直接驱动。第45页,共61页。2022/8/20机械工业出版社Page 46硬件设备需求续由于提示信息由很多种。为了能让使用者看明白,这里采用字符式液晶来显示,在实际应用中,读者可以购买内置中文字库的液晶来代
24、替字符式液晶。单纯的电子锁的种类很多,但其控制原理都是通过输入信号的导通和断开来实现锁的开关,一般的电子锁都需要10V乃至更高的驱动电压。这样无法用一个I/O引脚直接驱动,需要外加适当的隔离和驱动电路控制。电池供电的系统一般都要求低功耗,本系统对速度要求不高,所以可采用38.768KHz的低主频晶振作为系统主频。第46页,共61页。2022/8/20机械工业出版社Page 47硬件设备需求续需要一片单片机来完成各种设备之间的逻辑控制,由于本书以PIC16F877为例讲解,这里就采用PIC16F877,在具体项目,可根据I/O引脚等特殊需求选择其它款PIC单片机。例如本项目中要求有矩阵键盘输入、
25、字符液晶输出,这样所用引脚大约22个左右(不考虑引脚复用情况下)。为了给将来的升级留出余地,建议选择28脚的单片机。为了适应电池供电,建议采用低功耗型号。为了记录密码,最好有内置EEPROM。为了简化电路设计,最好I/O引脚可以直接驱动蜂鸣器。综上所述,可以选择PIC16F886单片机。第47页,共61页。2022/8/20机械工业出版社Page 48硬件设计密码键盘部分电路的设计;字符液晶部分电路的设计;锁控制部分电路的设计;发声部分电路的设计第48页,共61页。2022/8/20机械工业出版社Page 49密码键盘部分电路的设计;第49页,共61页。2022/8/20机械工业出版社Page
26、 50字符液晶部分电路的设计第50页,共61页。2022/8/20机械工业出版社Page 51锁控制部分电路的设计;第51页,共61页。2022/8/20机械工业出版社Page 52发声部分电路的设计第52页,共61页。2022/8/20机械工业出版社Page 53系统上电初始化,读出掉电前密码。用户密码输入开锁重试次数到3次?报警5分钟是否改密码?密码正确?修改密码关锁关锁信号有效?是否是否是否是否软件设计第53页,共61页。2022/8/20机械工业出版社Page 54题意分析 程序的主循环应该是等待用户的按键输入。为了简单起见,设定密码为6位数字。使用前文完成的函数GetKeyValue
27、即可获得输入的键值。而后根据键值来决定下一步的动作。输入的按键有五种情况:第一种是0到9之间的数字,应将其按顺序作为密码的一部分并在液晶上显示“*”号;第二种是退格按键,在密码内容中应删除上次输入的数字,显示上也应退一格并删除一个“*”号;第三种是确定键,表示密码输入完毕,进入密码比较流程;当密码匹配时则发出开锁信号,否则显示错误信息并用声音提示,当连续输入三次密码不对,则长时间发声报警。过一段时间后方能继续重试密码;第四种是修改密码键,只有密码输入正确开锁后才有效,其它状态时无效按键,无效时按下应通过声音提示用户输入错误。修改密码过程与输入密码过程类似;第五种是C、D和E键,本系统中未用到这几个键,应提示用户输入错误;第54页,共61页。2022/8/20机械工业出版社Page 55题意分析续为了防止系统掉电,用户的密码应该保存在非易失性存储器中,本例中直接保存在PIC单片机内部的EEPROM中即可,HT-PIC有专用的内部EEPROM读写函数eeprom_read和eeprom_write,很容易实现EEPROM的存取。在系统初始化时需要从EEPROM读取掉电前的用户密码,用于与开锁者输入的密码做比较。密码修改成功后,新密码应该写入EEPROM;第55页,共61页。2022/8/20机械工业出版社Page 56题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024铜门制安工程赔偿合同
- 2025年度不锈钢板材行业绿色制造与可持续发展合同范本2篇
- 2024药品研发项目合作开发与成果转让合同3篇
- 2025年度智能仓储物流服务合同范本二零二五年度4篇
- 《银伯爵珠宝培训》课件
- 2024版商铺转让协议书范本
- 中国魔芋素食品行业发展前景预测及投资方向研究报告
- 2025年水电工程安装与智能化改造合同范本
- 2025年鞍钢集团工程技术有限公司招聘笔试参考题库含答案解析
- 2025年中咨工程管理咨询有限公司招聘笔试参考题库含答案解析
- 导尿及留置导尿技术
- 情人合同范例
- 建筑公司劳务合作协议书范本
- 安徽省合肥市2023-2024学年高一上学期物理期末试卷(含答案)
- 《基于杜邦分析法的公司盈利能力研究的国内外文献综述》2700字
- 儒家思想讲解课程设计
- 2024年个人汽车抵押借款合同范本(四篇)
- 2024-2025学年九年级化学上册 第二单元 单元测试卷(人教版)
- 轨道交通设备更新项目可行性研究报告-超长期国债
- 2024-2030年中国一氧化二氮气体行业市场发展趋势与前景展望战略分析报告
- NB/T 11446-2023煤矿连采连充技术要求
评论
0/150
提交评论