第9章 LCD与LED编程

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《嵌入式技术基础与实践》第9章LCD与LED编程主要内容•数码管编程实例•LCD概述•点阵字符型LCD的接口特性•点阵字符型LCD的编程实例《嵌入式技术基础与实践》9.1数码管编程实例9.1.1扫描法LED显示编程原理8段数码管一般由8个发光二极管(LED)组成《嵌入式技术基础与实践》数码管8段数码管可分为共阳极和共阴极两种,如下图所示。共阴极8段数码管的信号端高电平有效,只要在各个位段上加上相应的信号即可使相应的位段发光,共阳极的8段数码管则相反,在相应的位段加上低电平即可使该位段发光。abcdefgdp(a)共阴极gndVccabcdefgdp(b)共阳极•2.BCD七段字符显示译码器(代码转换器)7448输入输出数字A3A2A1A0YaYbYcYdYeYfYg字形000001111110100010110000200101101101300111111001401000110011501011011011601100011111701111110000810001111111910011110011101010000110111101100110011211000100011131101100101114111000011111511110000000《嵌入式技术基础与实践》4连排数码管同时显示原理4连排数码管,利用CS3、CS2、CS1、CS0控制各个数码管的位选信号,每个时刻只能让一个数码管有效,即CS3、CS2、CS1、CS0只能有一个为0,例如令CS3=0,CS2、CS1、CS0=111,则数据线上的数据体现在第一个数码管上,其他则不受影响。要让各个数据管均显示需要的数字,则必须逐个使相应位选信号为0,其他位选信号为1,并将要显示的一位数字送到数据线上。这种方法叫“位选线扫描法”。虽然每个时刻只有一个数码管有效,但只要延时适当,由于人眼的“视觉暂留效应”(约100ms左右),看起来则是同时显示的。《嵌入式技术基础与实践》4连排共阴极8段数码管CS3abcdefgdpCS2abcdefgdpCS1abcdefgdpCS0abcdefgdp《嵌入式技术基础与实践》9.1.2接口实例一个4连排共阴极8段数码管的编程实例。在硬件连接上,利用MCU的B口控制8个位段(数据),用C口的低四位控制数码管的位选信号。图中,PTB7~0分别接h~a位段,PTC3~0分别过1K电阻与CS3~0位选端相接,这样PTB3就控制最左边一个数码管的显示,PTC0则控制最右边一个数码管的显示。接在位选线上的1K电阻是限流电阻,避免电流过大烧坏数码管。《嵌入式技术基础与实践》9.1.3数码管汇编语言实例以下给出GP32对上述4位一体LED的汇编编程实例,表9-1列出了该例程的所有程序文件,下面逐一介绍这些程序。《嵌入式技术基础与实践》表9-1数码管显示工程文件工程文件名LED.prj所在路径MC08Ex2007\GP32\GP32S\S05_数码管LED文件类型文件名功能简述讲解章节头文件GP32ASM.h芯片头文件[汇编工程文件组织]4.3Includes.h总头文件[汇编工程文件组织]4.3LED.hLED驱动头文件[本章]SCI.h串行通信头文件[串行通信子函数]7.4.1汇编语言子程序文件MCUinit.s芯片初始化文件[初始化及PLL编程实例]14.2.5Vectors08.s中断处理子程序与中断向量表文件[汇编工程文件组织]4.3GeneralFun.s通用子程序文件[汇编工程文件组织]4.3SCI.s串行通信文件[串行通信子函数]7.4.1LED.sLED驱动文件[本章]汇编语言主程序文件Main.s主程序文件[本章]9.1.3数码管汇编语言实例以下给出GP32对上述4位一体LED的汇编编程实例《嵌入式技术基础与实践》9.1.4数码管08C语言实例表9-2数码管显示08C工程文件工程文件名LED.prj所在路径MC08Ex2007\GP32\GP32C\C05_数码管LED文件类型文件名功能简述讲解章节头文件GP32C.hGP32MCU映像寄存名定义头文件[08C工程文件组织]5.3EnDisInt.h开放或禁止MCU各模块中断头文件[08C工程文件组织]5.3Type.h类型别名定义头文件[用typedef定义类型]5.2.10[08C工程文件组织]5.3Includes.h总头文件[08C工程文件组织]5.3LED.hLED驱动头文件[本章]SCI.h串行通信头文件[串行通信子函数]7.4.1C语言子函数文件MCUInit.c芯片初始化文件[初始化及PLL编程实例]14.2.5SCI.c串行通信文件[串行通信子函数]7.4.1LED.cLED驱动文件[本章]Vectors08.c中断处理函数与中断向量表文件[08C工程文件组织]5.3C语言主函数Main.c主函数文件[本章]《嵌入式技术基础与实践》9.2LCD概述9.2.1LCD的特点低电压微功耗平板型结构使用寿命长被动显示显示信息量大且易于彩色化无电磁辐射《嵌入式技术基础与实践》9.2.2LCD的分类按电光效应分类电场效应类电流效应类电热写入效应类热效应类《嵌入式技术基础与实践》按显示内容分类字段型(或称为笔划型)点阵字符型点阵图形型LCD的分类《嵌入式技术基础与实践》按LCD的采光方式分类带背光源:在弱光或黑暗条件下使用不带背光源:靠背面的反射膜将射入的自然光从下面反射出来完成的。LCD的分类《嵌入式技术基础与实践》9.3点阵字符型LCD的接口特性9.3.1点阵字符型液晶显示模块的基本特点液晶显示屏是以若干5×8或5×11点阵块组成的显示字符群。主控制电路为HD44780(HITACHI)及其它公司的兼容电路。内部具有字符发生器ROM具有64字节的自定义字符RAM具有64字节的数据显示RAM标准接口特性,与H68HC08系列MCU容易接口。模块结构紧凑、轻巧、装配容易。单+5V电源供电低功耗、高可靠性。《嵌入式技术基础与实践》9.3.2HD44780的引脚与时序HD44780的引脚信号HD44780的外部接口信号一般有14条,有的型号显示器使用16条,其中与MCU的接口有8条数据线、3条控制线。管脚号符号电平方向引脚含义说明1Vss电源地2Vdd电源(+5V)3V0液晶驱动电源(0~5V)4RSH/L输入寄存器选择;1-数据寄存器0-数据寄存器5R/WH/L输入读写操作选择:1-读操作0-写操作6EH/LH→L输入使能信号:R/W=0,E下降沿有效,R/W=1,E=1有效7~10DB0~DB3三态8位数据总线的低4位,若与MCU进行4位传送时,此4位不用11~14DB4~DB7三态8位数据总线的高4位,若与MCU进行4位传送时,只用此4位15~16E1~E2输入上下两行使能信号,只用于一些特殊型号《嵌入式技术基础与实践》HD44780的时序信号D0-D7《嵌入式技术基础与实践》9.3.3HD44780的编程结构从编程角度看,HD44780内部主要由指令寄存器(IR)、数据寄存器(DR)、忙标志(BF)、地址计数器(AC)、显示数据寄存器(DDRAM)、字符发生器ROM(CGROM)、字符发生器RAM(CGRAM)及时序发生电路构成。指令寄存器(IR)数据寄存器(DR)忙标志(BF)地址计数器(AC)显示数据寄存器(DDRAM)字符发生器ROM(CGROM)字符发生器RAM(CGRAM)《嵌入式技术基础与实践》9.3.4HD44780的指令集清屏(ClearDisplay)归位(ReturnHome)输入方式设置(EntryModeSet)显示开关控制(DisplayON/OFFControl)光标或画面移位(CursororDisplayShift)功能设置(FunctionSet)CGRAM地址设置(CGRAMAddressSet)DDRAM地址设置(DDRAMAddressSet)读忙标志BF和AC值(ReadBusyFlagandAddressCount)写数据到DDRAM或CGRAM(WriteDatatoDDRAMorCGRAM)读DDRAM或CGRAM数据(ReadDatafromDDRAMorCGRAM)《嵌入式技术基础与实践》9.4点阵字符型LCD编程实例本节给出点阵字符型LCD的一个编程实例。在SD-HC08实验板上,LCD的数据线7~14脚(DB0~DB7)分别与MCU的PTB0~PTB7连接,LCD的控制线RS、R/、E(4、5、6脚)分别与MCU的PTC0、PTC1、PTC2连接,右图给出LCD的硬件连接方式。LCD的1、2、3脚为供电电源与亮度调节引脚。MT-IDE实验箱的扩展板的上还留有一排插孔,当LCD接在下排插孔时,LCD控制线与数据线与MCU的连接可以自行定义并通过下部接线孔接线。LCD(YM1602C)16151413121110090807060504030201VccLCD_RWLCD_RSPTB7PTB6PTB5PTB4PTB3PTB2PTB1PTB0PTC2PTC1PTC0GP32LCD_D7LCD_D6LCD_D5LCD_D4LCD_D3LCD_D2LCD_D1LCD_D0LCD_E×GNDGND《嵌入式技术基础与实践》9.4.2LCD编程工程实例LCD初始化、显示通用子函数下面给出以GP32为例有关LCD初始化和LCD显示的通用子函数。它们是:LCD初始化子函数、LCD显示子函数。LCD初始化子函数用来对LCD做一些初始设置,LCD显示子函数用来将LCD缓冲区中的数据显示在LCD屏幕上。将它们应用到CCM3118、S08系列、S12系列中时只需要修改相应的头文件和宏定义中LCD寄存器的地址即可。《嵌入式技术基础与实践》表9-5LCD显示08C工程文件工程文件名LCD.prj所在路径MC08Ex2007\GP32\GP32C\C06_液晶LCD文件类型文件名功能简述讲解章节头文件GP32C.hGP32MCU映像寄存名定义头文件[08C工程文件组织]5.3EnDisInt.h开放或禁止MCU各模块中断头文件[08C工程文件组织]5.3Type.h类型别名定义头文件[用typedef定义类型]5.2.10[08C工程文件组织]5.3GeneralFun.h通用函数头文件[08C工程文件组织]5.3Includes.h总头文件[08C工程文件组织]5.3LCD.h液晶驱动头文件[本章]SCI.h串行通信头文件[串行通信子函数]7.4.1C语言子函数文件MCUinit.c芯片初始化文件[初始化及PLL编程实例]14.2.5SCI.c串行通信文件[串行通信子函数]7.4.1LCD.cLCD驱动文件[本章]C语言主函数Main.c主函数文件[本章]

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功