USB应用实例: 带USB接口的LCD 液晶显示模组

[复制链接]
4207|5
 楼主| kelan 发表于 2007-6-9 10:02 | 显示全部楼层 |阅读模式
<br />估计大家很少用到带&nbsp;USB&nbsp;接口的&nbsp;LCD&nbsp;液晶显示模组吧,&nbsp;以下是作者力战数月开发出来的&nbsp;USB&nbsp;LCD&nbsp;192x64&nbsp;控制版.<br /><br /><br />//-------------------&nbsp;以下是(&nbsp;产品彩页&nbsp;)简介:<br />&nbsp;<br />&nbsp;<br /><br />&nbsp;
 楼主| kelan 发表于 2007-6-9 10:06 | 显示全部楼层

以下是 DLL 相关功能函数介绍:

<br />//---------------------&nbsp;USB19264DLL&nbsp;一共有&nbsp;10&nbsp;个函数,以下分别讲述:<br /><br /><br /><br />函数原型:&nbsp;int&nbsp;&nbsp;&nbsp;USB_OPEN(void);<br /><br />作用:&nbsp;建立&nbsp;USB&nbsp;端口&nbsp;和&nbsp;LCD&nbsp;模组:&nbsp;192x64&nbsp;之间的通讯链路。<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br />注意:&nbsp;使用其它函数前必须首先调用此函数!&nbsp;这样才能开通所需功能。<br /><br /><br /><br /><br />函数原型:&nbsp;int&nbsp;&nbsp;&nbsp;USB_CLOSE(void);<br /><br />作用:&nbsp;拆除&nbsp;USB&nbsp;端口&nbsp;和&nbsp;LCD&nbsp;模组:&nbsp;192x64&nbsp;之间的通讯链路。<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br />注意:&nbsp;拆除通讯链路,除USB_OPEN()外,其它函数功能将无法实现相应的功能!<br /><br />本函数一般在程序结束时或想断开通讯链路时调用。<br /><br /><br /><br /><br /><br />函数原型:&nbsp;int&nbsp;&nbsp;&nbsp;Initial_LCD(void);<br /><br />作用:&nbsp;初始化&nbsp;LCD&nbsp;模组:&nbsp;192x64&nbsp;中的LCD控制器,同时清屏&nbsp;。<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br />注意:&nbsp;当返回0x00000&nbsp;时,原因可能是&nbsp;USB&nbsp;通讯链路未建立&nbsp;或&nbsp;LCD&nbsp;控制器已经损坏。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;USB&nbsp;通讯链路是否已经建立可以通过调用&nbsp;USB_OPEN()&nbsp;才测试。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;实际应用中,应用程序可以定期调用此函数,以增强产品可靠性!&nbsp;如:&nbsp;检测LCD&nbsp;控制器是否已经损坏等等。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />函数原型:&nbsp;int&nbsp;&nbsp;&nbsp;Clear_LCD(void);<br /><br />作用:&nbsp;清屏&nbsp;。<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br /><br /><br /><br />函数原型:&nbsp;int&nbsp;Update_LCD()<br /><br />作用:&nbsp;将显示缓冲区内的显示数据对LCD屏幕进行更新。<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br />注意:&nbsp;执行函数&nbsp;ShowText()及&nbsp;ShowPictureByROM()&nbsp;和&nbsp;ShowPictureByName()后,<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LCD屏幕不会立即更新显示。更新显示需要调用&nbsp;Update_LCD()。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br /><br /><br />函数原型:&nbsp;int&nbsp;&nbsp;&nbsp;LED_ON(void);<br /><br />作用:&nbsp;打开&nbsp;LCD&nbsp;模组的&nbsp;背光源.<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br /><br /><br />函数原型:&nbsp;int&nbsp;&nbsp;&nbsp;LED_OFF(void);<br /><br />作用:&nbsp;关闭&nbsp;LCD&nbsp;模组的&nbsp;背光源.<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br /><br /><br /><br /><br />函数原型:&nbsp;int&nbsp;ShowText(unsigned&nbsp;int&nbsp;x,&nbsp;unsigned&nbsp;int&nbsp;y,&nbsp;char&nbsp;*str,unsigned&nbsp;char&nbsp;bConvert)<br /><br />作用:&nbsp;在&nbsp;x&nbsp;和&nbsp;y&nbsp;坐标处显示一个字符串。<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br />注意:&nbsp;x&nbsp;的取值范围是:&nbsp;0&nbsp;to&nbsp;191,&nbsp;y&nbsp;的取值范围是:&nbsp;0&nbsp;to&nbsp;6&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当字符串在本行不能全部放置时,会自动折行显示。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当&nbsp;bConvert&nbsp;=&nbsp;0x01&nbsp;时,该字符串是反显显示。&nbsp;bConvert&nbsp;=&nbsp;0x00&nbsp;时,该字符串是正常显示。&nbsp;<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;此外,需要注意的是:&nbsp;执行该函数后&nbsp;LCD屏幕不会立即更新显示。更新显示需要调用&nbsp;Update_LCD()<br /><br /><br /><br /><br />函数原型:&nbsp;int&nbsp;ShowPictureByROM(const&nbsp;unsigned&nbsp;char&nbsp;*iPicture,unsigned&nbsp;char&nbsp;bConvert);<br /><br /><br />作用:&nbsp;显示一副&nbsp;192x64&nbsp;大小的图片.<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br />iPicture&nbsp;是图片数据区的首地址,&nbsp;图片数据区的大小至少是:&nbsp;192x64/8&nbsp;=&nbsp;1536&nbsp;Byte.<br /><br />当&nbsp;bConvert&nbsp;=&nbsp;0x01&nbsp;时,该图片是反显显示。&nbsp;bConvert&nbsp;=&nbsp;0x00&nbsp;时,该图片是正常显示。&nbsp;<br /><br /><br />注意:&nbsp;执行howPictureByROM()后&nbsp;LCD屏幕不会立即更新显示。更新显示需要调用&nbsp;Update_LCD()。<br /><br /><br /><br />函数原型:&nbsp;int&nbsp;ShowPictureByName(const&nbsp;char&nbsp;*FileName,unsigned&nbsp;char&nbsp;bConvert);<br /><br /><br />作用:&nbsp;显示一副&nbsp;192x64&nbsp;大小的图片.<br /><br />执行成功,返回&nbsp;0x00001;&nbsp;反之,返回0x00000.<br /><br /><br />FileName&nbsp;指定要显示的BMP图片名称,如:&nbsp;&quot;&nbsp;F:MyBMP公司**.bmp&quot;<br /><br />注意该图片应该是单色的,文件格式是:&nbsp;BMP,&nbsp;图片分辨率是:&nbsp;192x64.&nbsp;若不符合这些条件,则显示无效(&nbsp;返回0x00000&nbsp;).<br /><br />当&nbsp;bConvert&nbsp;=&nbsp;0x01&nbsp;时,该图片是反显显示。&nbsp;bConvert&nbsp;=&nbsp;0x00&nbsp;时,该图片是正常显示。&nbsp;<br /><br /><br />注意:&nbsp;执行howPictureByName()后&nbsp;LCD屏幕不会立即更新显示。更新显示需要调用&nbsp;Update_LCD()。<br /><br />
 楼主| kelan 发表于 2007-6-11 10:54 | 显示全部楼层

声明: 这是真正的USB,不是USB转串口那种!

<br /><br />----------&nbsp;更详细的资讯,请下载以下21IC中连接的文件rar(包含以下文件):<br /><br />USB&nbsp;LCD&nbsp;192x64控制板--彩页简介.pdf<br /><br />USB19264.DLL使用说明.chm <br /> 相关链接:<a href='https://bbs.21ic.com/upfiles/img/20076/2007611105348399.rar'>https://bbs.21ic.com/upfiles/img/20076/2007611105348399.rar</a>
lenglx 发表于 2007-6-12 17:03 | 显示全部楼层

能举个例子说明:有什么实际用途?

能实际应用在哪些方面?
 楼主| kelan 发表于 2007-6-15 16:37 | 显示全部楼层

用途可以简述如下:

<br />主要应用于:&nbsp;<br /><br />1.&nbsp;与PC机或工控机联机的场合使用.这样的设备周围一般除了配备较大尺<br /><br />寸的TFT&nbsp;LCD&nbsp;显示器外(有的可能不带TFT&nbsp;LCD显示),还需要(或希望)配带一个<br /><br />小尺寸的&nbsp;LCD(做副屏,一般可称为&quot;液晶显示终端&quot;).这样的设备如POS机等.<br /><br />2.&nbsp;适合VC++或VB的软件爱好者&quot;玩玩&quot;&nbsp;小尺寸的这种LCD.&nbsp;比如,他们可以将电脑里的一些各种&quot;小&quot;信息,如CPU温度或内存利用率等显示在机箱外面.这样的应用场合可以在一些较新潮的电脑机箱上看到.<br /><br />3.&nbsp;如果你是硬件熟悉,而且会使用VC++或VB的话,那更好了.这时候你可以在你的硬件系统未建立起来前,用PC软件模拟你的实际系统.(这里也可可称为&quot;系统建模(模型)&quot;.&nbsp;而&nbsp;这个USB&nbsp;接口的LCD可以扮演你未来的实际LCD部分.<br /><br /><br />4.&nbsp;事实上,这个USB&nbsp;接口的LCD控制板.在软件编程序中,是相当相当容易使用的<br />.&nbsp;可以说比直接使用&nbsp;ST7920&nbsp;或&nbsp;T6963/&nbsp;SED1335之类容易的多了.&nbsp;因为它的复杂性已经被我封装实现好了.它是一个高级程序接口.<br /><br /><br /><br />-------------&nbsp;下面举个例子说明它软件编程的简单性:<br /><br />------------------&nbsp;编程范例(VC&nbsp;++):<br /><br />//---&nbsp;&nbsp;演示目标:&nbsp;在x&nbsp;=&nbsp;0&nbsp;,&nbsp;y&nbsp;=&nbsp;0&nbsp;坐标处显示一个中英文字符串.&nbsp;&quot;多特满显示技术&nbsp;And&nbsp;MicroLCD&quot;,&nbsp;反显示。<br /><br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在x&nbsp;=&nbsp;3&nbsp;,&nbsp;y&nbsp;=&nbsp;3&nbsp;坐标处显示一个中英文字符串.&nbsp;&quot;Welcome&nbsp;to&nbsp;Chinese!&nbsp;您好&quot;,&nbsp;正常显示。<br /><br /><br /><br />#include&nbsp;&quot;USB19264.h&quot;&nbsp;<br /><br />#pragma&nbsp;comment(lib,&quot;USB19264.lib&quot;)&nbsp;<br /><br /><br /><br />//------------------------------------&nbsp;主要代码段<br /><br />int&nbsp;&nbsp;result&nbsp;=&nbsp;0;<br /><br />result&nbsp;=&nbsp;USB_OPEN();&nbsp;&nbsp;//----------&nbsp;建立通信链路<br /><br />result&nbsp;=&nbsp;Clear_LCD();&nbsp;&nbsp;//----------&nbsp;清屏幕<br /><br /><br />result&nbsp;=&nbsp;ShowText(0,0,&quot;多特满显示技术&nbsp;And&nbsp;MicroLCD&quot;,1);<br /><br />result&nbsp;=&nbsp;ShowText(3,3,&quot;Welcome&nbsp;to&nbsp;Chinese!&nbsp;您好&quot;,0);<br /><br /><br /><br />result&nbsp;=&nbsp;Update_LCD();&nbsp;&nbsp;//----------&nbsp;更新&nbsp;LCD&nbsp;显示<br /><br />result&nbsp;=&nbsp;USB_CLOSE();&nbsp;//----------&nbsp;用完后,&nbsp;拆除该通信链路<br /><br /><br /><br /><br /><br /><br />
 楼主| kelan 发表于 2007-6-15 16:40 | 显示全部楼层

在来一个 Example

<br /><br />------------------&nbsp;编程范例(VC&nbsp;++):<br /><br />//---&nbsp;&nbsp;演示目标:&nbsp;在LCD屏幕上显示一幅当前程序目录下的&nbsp;BMP格式的文件:&nbsp;My**.bmp&nbsp;,&nbsp;图片以&quot;反显示&quot;显示<br /><br /><br /><br /><br /><br />#include&nbsp;&quot;USB19264.h&quot;&nbsp;<br /><br />#pragma&nbsp;comment(lib,&quot;USB19264.lib&quot;)&nbsp;<br /><br /><br /><br />//------------------------------------&nbsp;主要代码段<br /><br />int&nbsp;&nbsp;result&nbsp;=&nbsp;0;<br /><br />result&nbsp;=&nbsp;USB_OPEN();&nbsp;&nbsp;//----------&nbsp;建立通信链路<br /><br /><br /><br />result&nbsp;=&nbsp;ShowPictureByName(&quot;F:MyBMP公司**.bmp&quot;,1);<br /><br /><br /><br />result&nbsp;=&nbsp;Update_LCD();&nbsp;&nbsp;//----------&nbsp;更新&nbsp;LCD&nbsp;显示<br /><br />result&nbsp;=&nbsp;USB_CLOSE();&nbsp;//----------&nbsp;用完后,&nbsp;拆除该通信链路<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

766

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部