付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
所提供之信息相信为正确且可靠之信息,但并不保证本文件中绝无错误。请于向科技股份提出订单前,自行确定所使用之相关技术文件及规格为之版本。若因贵公司使用本公司之文件或产品,而涉及第三人之专利或著作权等智能财之应用及配合时,则应由贵公司负责取得同意及,本公司仅单纯贩售产品,上述关于同意及,非属本公司应为保证之责任.又 之正式,本公司之所有产品不得使用于医疗器材,维持生命系统及飞航等相关设备。 ................................................................................................................................................................2 前 系统简 LCD显示器使用说 LCD显示器基本特性与参数指 SPLC701B的控制方法和工作时 LCD驱动程 LCD显示程序示 4×4键盘使用说 4×4键盘驱动程 4×4键盘程序示 常见问题解 附 公司........................................................................................................................................教 前
120×发板(即“61板”)相连,更可利用模组配备的接口插座直接固定在“61板”上。系统简介的结构布局如图2.1所示。2.1通过10PIN排线相连;模组下部的一组接口是插座的形式,可以直接插在“61板”的对应接口上。“未用接口”,用来占位。两组未用接口的对应位两两,其中两端标示为“+”和“-”的电源灯:当模组接通电源后,电源灯点RESET:LCD显示驱动SPLC701B提供了复位功能,当按下RESET键后,LCD显示器LCD显示器使用说明LCD3.1LCD34.5(宽)×33.3(高)×1.91(厚30.5(宽)×23.4(高0.2(宽)×0.303(高0.22(宽)×0.323(高LCD显示器的外形结构如下图所3.2
3.1LCD3.2LCDVV0-℃单片机可以通过模组的“LCDLCD显示器的控制。模组提供了两组功能相同的的一组接口是10PIN插座形式。3.2LCD从上图中的接口列表可以看出,J8J12,以J7J11的脚位排布相同,对应位两两连通。当61板通过排线连接(61板上)时,J7J1161IOB8位(61J6)相连,J8J1261IOB8位(61J7)相连,各引脚在61板上的对应引脚如下表所示。3.3模组LCD61LCD接61其中,J8J12的“IOB13”、“IOB14”和“IOB15LCD显IOB14和IOB15相连。注意:由于LCD的电源电压范围是2.0V~4.0V,因此在与61板连接时,应把61板的电压选择SPLC701B支持串行、6880系列通讯模式,每种模式下用到的控制脚略有不同,控制脚的名称也有所区别。在各模式下,模组的LCD接口中每个引脚的对称和功能如下表所3.4LCD地E68系列模式:数据锁存(下降沿80系列模式:写数据锁存(上升沿68系列模式:读/80系列模式:读数据锁存(上升沿串行模式:读写使能(低有效68系列模式:片选(低有效80系列模式:片选(低有效低–传输数据高–传输命令或LCD状LCD复位(低有效[1]J5的RSC脚与RS这5组跳线在模组中的位置如下图所示:3.3上述5组跳线中,J6用来设定LCD驱动SPLC701B的复位脚是否与单片机的IO相连接。当把J6RSTCRST脚短接时,SPLC701B的复位脚与模组LCD接口中的“RSTC”连通,由模组的“RESET”按键实现复位。对于普通应用,将J6跳线断开即可。 3.4J2~J5SPLC701BSPLC701B址写入指定的数值,就可以在LCD上显示特定的文本、图形及图标。文本显示缓DDRAM(容量4*20=80SPLC701B420列半角字符(5*12点阵)LCD80个半角DDRAM的一个地址。DDRAM地址与半角字符行和列的对3.5DDRAMAddr=R*0x20+对应一个半角字符的字形(共128个地址需把指定的HCGROM地址写入DDRAM地址,最固定为1,用以和全角字符相区分),如图3.5所示。HCGROM每个地址对应的3.5库保存在CGROM只读器中,CGROM共有8192(213)个地址单元,因此每个CGROM地字节的最(bit7)固定为0(SPLC701B将从DDRAM的高地址向低地址扫描,当遇到最高0的字节时,自动将它与前面一个字节组合成双字节的CGROM地址),如图3.6所示。3.6图形显示缓CGRAM(容量120*52=62403.6特定的图形。LCD屏幕上每个点对应的CGRAM地址如下表所示:3.6CGRAM0120126789Addr=(Y>>3)*0x0100+Bit=Y&图标显示缓SGRAM(容量图图 向图标显示缓冲区(SGRAM)的特定地址写入特定的数值即可控制图标是否显示。此 0x07,0x0D,0x0E,0x11,0x17,0x1F,0x2C,0x3D,0x4C,0x58,0x6D,0x6F,0x72,向上述地址0x40,可显示相应的图标;写入0x80,可使相应的图标闪烁;写入0x00则熄灭SPLC701B如前面所述,要在LCD上显示文本、图形或图标,要向相应的RAM中写入数据。而向RAM写入数据的过程是通过设置SPLC701B的“控制寄存器”实现的。此外,SPLC701B还提供了丰SPLC701B16个控制寄存器,分别命名为R0~RF,每个控制寄存器容量为8bit。各控制寄存器3.700000001清除000000010000000000000CB0000000000000设置方法。这16个控制寄存器每一位的具体含义在模组配套文档资料中的“SPLC701BDatasheet.pdf”文件第14~30页有详细的解释。位用来选择RAM类别,如表3.8所示;RD和RE的AD10~AD0位用来指定所选RAM的地址。3.8RD选择RAM001011当RD与RE设置完成,即选定了RAM类别并且指定了RAM地址后,即可写数据到RF,此时RF中的数据会自动写入到指定的RAM地址中。另外,也可以对RF进行读操作,这将读出当前RAM地址中的数据。态寄存器SR读出LCD当前状态,如下表所示。在串行传输模式下,SR寄存器的值没有意3.90BF:忙标存器R5进行设置。CGRAM0x0214地址单元写入数据0x87SPLC701B的操作流程如下:3.8CGRAM0x0214图3.9写索引寄存器IR3.103.11RF图3.9写索引寄存器IR3.103.11RFSDA的电平状态被SCL的上升沿锁存。上述时序图中,DB7~DB0是向SPLC701B写入或从3.1268图3.13写索引寄存器IR时序(8位模式图3.13写索引寄存器IR时序(8位模式图3.14写索引寄存器IR时序(4位模式3.15写控制寄存器时序(8位模式3.15写控制寄存器时序(8位模式3.16写控制寄存器时序(4位模式3.17RF读数据时序(8位模式 3.18RF读数据时序(4位模式3.19SR时序(8位模式 3.20SR时序(4位模式80
3.2168图3.22写索引寄存器图3.22写索引寄存器IR时序(8位模式图3.23写索引寄存器IR时序(4位模式3.24写控制寄存器时序(8位模式3.24写控制寄存器时序(8位模式3.25写控制寄存器时序(4位模式3.26RF读数据时序(8位模式 3.27RF读数据时序(4位模式3.28SR时序(8位模式 3.29SR时序(4位模式3.3080LCD驱动程LCD单片机的LCD驱动程序架构如下图所示3.31LCDLCD701_Cfg.incLCDSPCE061A单片机使用的IO端口进行配置。驱动程序默认的配置是“串行传输模式,IOB8~IOB10作为控制口”。用户LCD701_Drv.asmSPCE061ALCDSPLC701B的数据LCD701_Defs.hLCD驱动程序中用到的一些命令字和可选参数等定义了助记功能函数说LCD显示控制类函数LCD701_Init(LCD初始化函数) voidLCD701_Init(void) 返回值 说明 在使用LCD前,首先应执行该函数,使LCD处于可以正常显示的状态LCD701_Power(LCD电源管理函数格式:voidLCD701_Power(unsigned参数 ModeCode-可以是下列参数之一 PWR_SLEEP:睡眠模式,屏幕不显示,但内容在唤醒后仍保留PWR_STANDBY:待机模式,比SLEEP省电,但显示内容会丢失 返回值 LCD701_ClrScr(清屏函数格式 voidLCD701_ClrScr(unsigned参数 Part-欲清除哪部分屏幕,可以是下列参数(可组合使用CLR_TEXT:清除所有文字CLR_ICON:清除所有图标 清除全部(文字、图形、图标返回值:说明:该函数的功能是将DDRAM、CGRAMSGRAM填入特定的数值,使文本、图形 清除所有图形,但文字和图标保持原状LCD701_ClrScr(CLR_GRAPHIC|CLR_ICON);//LCD701_SetContrast(设置屏幕对比度格式 voidLCD701_SetContrast(unsigned Contrast-对比度值,范围从0到31,数值越大对比度越高返回值:无 化函数后,LCD对比度值将被调节到16。LCD701_GetContrast(获取当前的屏幕对比度) unsignedLCD701_GetContrast(void)参数 返回值 当前屏幕对比度值,范围从0到LCD701_SetDispMode(设置显示模式) ModeCode-显示模式参数,可以是下列数值之一: MODE_SPRIMPOSE:混合模式,图形与文本同时显示(默认返回值 说明:LCD120*52DDRAMCGRAM控制。可以将LCD设置为“只显示文本”、“只显示图形”或“二者混合显示”三种模式。在三种显示模式之间切换的实质就是使LCD显示或不显示DDRAMCGRAMDDRAMCGRAM中的内容在模式切换过程LCD701_GetDispMode(获取当前的显示模式) unsignedLCD701_GetDispMode(void)参数 返回值 函数返回值可能是下列数值之一 MODE_SPRIMPOSE:混合模式,图形与文本同时显说明 函数将返回 LCD701_GetDispMode()设定的显示模式值LCD701_ScrollUp(屏幕内容向上滚动) 参数 Rows–使屏幕向上滚动的像素数,范围从1到返回值 说明:执行该函数将使屏幕显示的内容整体向上滚动指定的像素数。滚动方式为“循环滚LCD701_GetScroll(获取当前屏幕已向上滚动的像素数) unsignedLCD701_GetScroll(void)参数 返回值 屏幕累计向上滚动的像素数,范围从0到52像素就相当于没有发生滚动。屏幕累计向上滚动像素数的范围是从0到51,每当累计向上滚动超过51像素时,该值会自动减去LCD701_ReverseColor(屏幕反色显示) voidLCD701_ReverseColor(void) 返回值 说明:执行一次该函数,将使屏幕产生反色显示的效果,即“黑色显示成白色,白色显示成文本显示类函数LCD701_SetTextMode(设置文本显示模式格式 voidLCD701_SetTextMode(unsigned参数 TextMode-显示模式,可以是下列数值 返回值:LCD屏幕上打印的字符都将具有函数指定的显示属性,LCD屏幕上已有的显示内容不会发生改变。“反色显示”与“闪烁”属性可以LCD701_SeTexMode(TXT_REVERSL|TEXT_BLIKLCD701_GetTextMode(获取当前的文本显示模式) unsignedLCD701_GetTextMode(void)参数 返回值:返回当前的显示模式值,可能是下列数值: TEXT_REVERSAL|TEXT_BLINK:文本反色闪烁说明 该函数将返回 LCD701_SetTextMode()设置的文本显示模式值LCD701_SetTextPos(设定文本的显示位置格式 voidLCD701_SetTextPos(unsignedRow,unsigned Row-字符所在行,范围0到3Col-字符所在列,范围0到返回值 说明 该函数指定接下来打印在LCD屏幕上的字符将出现在哪个位置LCD701_GetTextPos(获取即将显示的文本所在位置格式 voidLCD701_GetTextPos(unsigned*Row,unsigned参数 Row-即将显示的字符所在行的地Col即将显示的字符所在列的地址返回值:无 LCD701_PutChar(在屏幕上打印一个半角字符) voidLCD701_PutChar(unsignedcharCharCode) CharCode-字符的ASCII码值返回值: 而再次执行该函数时,将在LCD屏幕的下一个文本位置(即原文本位置的右面一LCD701_SetTextPos(0 //将文本显示位置设置为第0行第18 //018列显示字符 //019列显示字符“b” //10列显示字符LCD701_PutHZ(在屏幕上打印一个全角字符) HZCode-全角字符编码的首地址返回值: 用2words)的首地址。全角字符占用两个字符位置,若即将显示全角字符的位置LCD701_SetTextPos(0, //将文本显示位置设置为第0行第15LCD701_PutHZ(“电 //在第0行第15~16列显示汉字“电 //在第0行第17~18列显示汉字“风” //由于第0行仅剩1列,所以在第0行第19列显示//10~1列显示汉字“扇LCD701_Print(在屏幕上显示一个字符串) voidLCD701_Print(unsignedchar*String) String-字符串的首地址返回值: LCD701_Print(“LCD显示器 //显示由3个半角字符和3个全角字符组成的字符LCD701_SetTextCursor(设置文本光标显示模式 voidLCD701_SetTextCursor(unsigned ModeCode-光标显示模式,可以是下列数值: CURSOR_REVERSAL:光标所在位置的内容反显CURSOR_WHOLELINE:返回值 说明:可以选择在即将打印字符的位置显示光标提示符。光标提示符有“闪烁”、“下划 //图标显示类函数LCD701_SetIcon(显示指定的图标格式 voidLCD701_SetIcon(unsigned参数:IconCode-欲显示的图标,IconCodebit0bit13依次代表从左到右每一个图标,要显示的图标所在位应置1返回值 LCD701_ClrIcon(熄灭指定的图标格式 voidLCD701_ClrIcon(unsigned参数:IconCode-欲熄灭的图标,IconCodebit0bit13依次代表从左到右每一个图标,要熄灭的图标所在位应置1返回值 LCD701_BlinkIcon(使指定的图标闪烁格式 voidLCD701_BlinkIcon(unsigned参数:IconCode-欲闪烁的图标,IconCodebit0bit13依次代表从左到右每一个图标,要闪烁的图标所在位应置1返回值 图形显示类函数LCD701_SetPaintMode(设置图形显示模式格式 voidLCD701_SetPaintMode(unsigned参数 ModeCode-图形显示模式,可以是下列数值之一PAINT_COVER:覆盖显示(默认PAINT_SET:叠加显示PAINT_CLR:PAINT_REV:返回值: LCD701_GetPaintMode(获取当前的图形显示模式) unsignedLCD701_GetPaintMode(void)参数 返回值 函数返回当前图形显示模式,可以是下列数值之一PAINT_COVER:覆盖显示PAINT_SET:叠加显示PAINT_CLR:PAINT_REV:说明 LCD701_PutPixel(在指定位置显示一个点格式 voidLCD701_PutPixel(unsignedx,unsigned x-欲显示点的横坐标,范围0到119(左->右)y-欲显示点的纵坐标,范围0到51(上->下)返回值 说明 函数的参数是欲显示的点的坐标,坐标原点是屏幕的左上角LCD701_Line(画一条直线格式 voidLCD701_Line(unsignedx,unsignedy,unsignede_x,unsigned x-直线起点的横坐标,范围0到119y-直线起点的纵坐标,范围0到51e_x-0e_y-0返回值 LCD701_Circle(画一个圆格式 voidLCD701_Circle(unsignedx,unsignedy,unsignedr,unsigned参数:x-0119y-051r-圆的半径Mode-绘制模式,可以是下列数值之一: 返回值 LCD701_Rectangle(画一个矩形 voidLCD701_Rectangle(unsignedleft,unsignedtop,unsignedright,unsignedbottom,unsignedMode) left-矩形的左上角横坐标,范围0到118top-矩形的左上角纵坐标,范围0到50bottom151Mode-绘制模式,可以是下列数值之一: 矩形框(空心矩形 矩形面(实心矩形返回值 LCD701_Bitmap(显示位图格式 voidLCD701_Bitmap(unsigned*p_Bitmap,unsignedx,unsigned参数 p_Bitmap-位图数据的起始地x-0y-0返回值 位图宽度,高8位代表位图高度。如0x172B表示位图的宽为43像素,高为23像W,高为H的位图,位图数据M3.10所示。模组配套资料中的“CvtBmp.exe”工具可以将黑白BMP转换为LCD701_Bitmap()函数3.10位图数据格式(M[0]指定了位图的宽和高位图横向坐标(自左至右01W-位图纵向坐标(自上至下012H-M[(H-M[(H-M[(H-SPLC701BLCD701_Bitmap()函数可以显示具有固定数据格式的位图。模组配套(CvtBmp.exe,利用该工具可以轻易地实现BMP位图在LCD屏幕上显示。其过程如下:第1P自图可新建一幅,绘出希望显的图案。要注意的,大不要超过显示器的最120*52像素。3.32打开另起一个文件名,并在“文件类型”下拉菜单中选择“单色位图(*.bmp;*.dib)”,保存即可。3.33第3步:在模组配套资料中找到位图格式转换工具CvtBmp.exe,将其到待转换所在的3.343.35拖曳到CvtBmp.exe3.36LCD显示程序的空心圆,并在坐标(21,17)处显示3.4.3节示例中生成的Fish.out位图资源文 3.37资料中找到,共包含下列6个文件(每个文件的用途参见3.4.1节):图3.38将LCD驱动程序文件到工程文件菜单下的“Addtoproject”->“Files”选项。在弹出的文件选择框中选中6个驱动程序文件,点击“打开”,如图3.39所示。这样,驱动程序就添加到工程中了。3.39第4步:添加位图资源。把转换好的位图资源Fish.out到工程所在的文件夹下,然后选择IDE的“Project”->“Addtoproject”->“Resource”(注意与上一个步骤中进入的菜单项的区别),在弹出的文件选择窗口中选Fish.out文件。点击“打开”按钮后即把位图资源加入到3.405步:建立程序文件,编写代码。在IDE的“File”菜单中选择“New”,新建一个C程序文3.41#include#include"LCD701_Functions//包含LCD{externunsignedint//初始化LCD//07//打印字符串“LcdLCD701_Circle(81,33,12,PAINT_HOLLOW);//以(81,33)12LCD701_Bitmap(RES_FISH_OUT_SA,21,17);//在坐标(21,17)Fish}起始地址。资源文件被添加到工程中后,IDEResource.asm进分别是Fish.out资源文件的起始地址和结束地址,这两个地址可以被用户程序所使用。接起来就可以了。需要注意的两点是:61板的“J5”跳线要跳到“3V”状J8接口标号为“+”的脚要与61板J7接口标号为“+”的脚相接,不能接反。和。3.42选择UseICE3.43LCD4×4键盘使用说明4.14×44.2J9J13这两组键盘接口的对应位是相连通的,J9是排针形式,J13是插座形式。可以将模组J9通过排线与61IOA8(61J8排针相连,或者直接把模组插在61板上(J13或者直接插在61板上时,这两个没用到的接口位分别与61板的电源(VDD)和地(GND)相4×4为使用户方便地使用模组的4×4键盘,模组配套资料中提供了4×4键盘的驱动程序。该驱动程序采用SPCE061A的IRQ6_TMB2时基中断(128Hz)进行按键扫描,以节约CPU资源。驱动Key.asm——该文件定义了键盘驱动函数 ——对Key.asm中定义的函数进行,可被用户编写的汇编程序文件包含。Key.h——对Key.asm中定义的函数进行,可被用户编写的C程序文件包含。Key_Init(键盘初始化函数格式 C语言 void汇编语言 返回值 Key_Scan(按键扫描函数格式 C语言 void汇编语言 返回值 说明:这个函数是在IRQ6_TMB2(128Hz)中断服务程序中执行的,每次进入该中断服务Key_Get(键值获取函数格式 C语言 unsigned汇编语言:参数 返回值 R1–如果检测到按键,则返回按键值说明:该函数对由Key_Scan函数确定的键值和按键时间等变量值进行查询,判断是否有4.14×4第2步:把键盘驱动程序和LCD驱动程序文件到工程所在文件夹下。键盘驱动包括3个LCD701_Drv.h、LCD701_Defs.h、LCD701_Functions.c和LCD701_Functions.h。第3步:把键盘驱动程序和LCD驱动程序文件添加到工程中。与3.5节的第3步操作类似,选择unSPIDE的“Project”菜单下的“Addtoproject”->“Files”选项。在弹出的文件选择框中选中这9个驱动程序文件,点击“打开”,如图4.3所示。 4.3#include#include"Key//#include"LCD701_Functions//包含LCD{////{KeyCode=////{case//case0x81://case//case……:……case//case//}If(KeyNumber!=如果有按键则在LCD}}第5步:建立中断服务程序文件,编写代码。由于键盘驱动需要使用IRQ6_TMB2中断,因此要建立中断服务程序。中断服务程序可以用C语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026云南临沧耿马傣族佤族自治县人民医院招聘6人备考题库有完整答案详解
- 2026江西新余市高欣集团控股有限公司招聘9人备考题库附答案详解ab卷
- 2026四川九洲环保科技有限责任公司招聘运营专员1人备考题库含答案详解(预热题)
- 2026重庆医科大学附属第一医院招聘感染科主任或副主任1人备考题库含答案详解(巩固)
- 2026四川九州电子科技股份有限公司招聘硬件测试岗1人备考题库及答案详解参考
- 江西省2026年中小学教师招聘笔试(鹰潭考区)备考题库附答案详解(综合题)
- 2026恒丰银行合肥分行社会招聘18人备考题库附答案详解(达标题)
- 2026年河南省(信阳市)事业单位公开联考招聘400名备考题库附答案详解(综合卷)
- 2026湖南娄底市市直事业单位高层次和急需紧缺人才招聘集中组考18人备考题库及1套参考答案详解
- 2026湖北襄阳消防文员招聘3人考试模拟试题及答案解析
- 2026中国中医药出版社招聘10人笔试参考试题及答案详解
- 2026年广东广州市高三二模高考语文试卷试题(含答案详解)
- 2026年上海市徐汇区初三语文二模试卷及答案(详解版)
- 2026中航西安飞机工业集团股份有限公司校园招聘笔试历年难易错考点试卷带答案解析
- 公共安全管理课课件
- GB/T 22107-2025气动方向控制阀切换时间的测量
- 新22J01 工程做法图集
- 2025年浙江省杭州市萧山区高桥初中教育集团中考英语调研试卷(3月份)
- 2025届新高考地理热点复习 天气系统与气象灾害-以湖北冻雨为例
- 口袋妖怪黑白2中文版金手指大全完整页
- 柴油发电机组用散热器-征求意见稿
评论
0/150
提交评论