钻石会员
主题
帖子
积分18480
阅读权限50
注册时间2012-12-12
最后登录1970-1-1
在线时间 小时
|
本帖最后由 apachectl 于 2014-8-6 13:03 编辑
淘宝:http://item.taobao.com/item.htm? ... &id=39352633906
0805 发布新版本
主要是有不少51 52 系列的单片机用户抱怨不能使用,因为这些单片机主频不够,串口只能传到9600,达不到115200,因此修改程序支持自设波特率,方法是在P1(第一个批页面)的顶行顶头写U3;
表示设置波特率,支持:
2400,4800,9600,19200,38400,57600,115200,256000 的串口波特率
U0; //2400
U1; //4800
U2; //9600
U3; //19200
U4; //38400
U5; //57600
U6; //115200
U7; //256000
对应的说明书和GPUmaker将会出炉,请先不要刷机,等gpumaker出了再刷,先预告下
说明文档终于写完了:
http://pan.baidu.com/share/link? ... 7&uk=3204894695
说明文档已经出来,串口屏的项目已经成熟化,目前已经进入小批量试生产阶段
自从做了T50双路电压电流表和DP50数控电源,就不住有坛友问如何控制液晶屏显示汉字,只能提示T50一代曾给过一个源代码工程文件的示例,完全可以显示,但是还是很多坛友对于液晶屏显示还是觉得很难;
翻了一下很多DIY的坛友的帖子,发现很多坛友还在使用1602液晶在DIY各种产品,有的表头都已经做到五位半,但还是一个1602显示,实在是觉得不够炫,现在都是彩屏的年代了;
查查某宝的液晶类产品,发现带中文字库的12864居然也卖到35~50元,而普通的TFT液晶板+个PCB背板(方便接排线)也得20多元,因此得出彩屏的普及慢,还是在于价格和编程难有关,于是有了下面这个想法:
做一个带汉字库,且所有单片机都能驱动的TFT显示屏,可以用极低的开发代价开发出复杂显示效果界面的屏,起名:Usart—GPU
其中Usart的意思就是串口
GPU的意思是单片机用的图形处理器
主要参数及功能
?只占2个IO口(串口脚)
?支持全部GB2312 12点阵和16点阵汉字库
?支持自动抽取式24点阵 32点阵 48点阵 64点阵汉字
?抽取式汉字透明调用,无需转编号,直接汉字驱动
?支持点、线、园、方框、填充方框等绘图
?支持真彩图形的显示,目前支持JPG格式(PC转码)
?界面整合功能,在PC上设计界面,给出编号,单命令直接界面显示
使用 DP50W的2.2寸屏和STM32单片机,外加一个2M的Flash构成;
在使用上,可以使用串口将:
CLS(0);
BOX(10,10,100,100,2);
DS12(10,2,'12点阵全字库',1);
DS16(10,20,'16点阵全字库',2);
DS24(10,40,'白日依山尽',3);
DS32(10,70,'黄河入海流',4);
DS48(10,110,'欲穷千里目',5);
DS64(156,0,'更',6);
这个字符串传入GPU主板上的串口,既可以完成显示:
今天先写到这里,目前只调出原型,功能都跑通了;估计最后这玩意售价在3X元,第一批准备对坛友付费内测,成本价供应,20元左右,需要的关注下.
具体的资料慢慢整理中......
=========================================
2014-05-31 记录:
今天重写了全部的delphi程序,重构了界面,将原来的各个试验的小程序合成一个大工具:
主调试界面:
通过TTL串口升级线链接GPU,就可以在PC上发送串口命令直接调试界面:
右侧是允许将做好的界面存成PAGE,然后就可以在单片机中使用SPG(页码)直接将该界面显示出来,无需占用过多的单片机资源;
图中的例子,是显示8个图标,实际执行的结果如下:
这是设计获取汉字点阵的界面:
================================================
2014-06-03
整理了一下命令表:
CLS(c); //用c颜色清屏
SCC(c,n); //自定义c颜色,颜色值n由上位机提供计算
SBC(c); //设置背景色C,显示汉字等时无点阵时填的颜色
PS(x,y,c); //在(x,y)的地方画一个颜色c的点
PL(x1,y1,x2,y2,c);//从(x1,y1)用颜色c画一条直线到(x2,y2)
BOX(x1,y1,x2,y2,c);//用颜色c画一个方框,左上角(x1,y1),右下角(x2,y2)
BOXF(x1,y1,x2,y2,c);//用颜色c画一个实心方框,左上角(x1,y1),右下角(x2,y2)
PIC(x,y,n); //在(x,y)处画第n幅图
CIR(x,y,r,c); //在(x,y)处用颜色c画一个半径r的园
SPG(n); //显示第n个组合语句界面
DS12(x,y,'显示内容字符串',c); 在(x,y)处用颜色c显示一行12点阵字
DS16(x,y,'显示内容字符串',c); 在(x,y)处用颜色c显示一行16点阵字
DS24(x,y,'显示内容字符串',c); 在(x,y)处用颜色c显示一行24点阵字
DS32(x,y,'显示内容字符串',c); 在(x,y)处用颜色c显示一行32点阵字
DS48(x,y,'显示内容字符串',c); 在(x,y)处用颜色c显示一行48点阵字
DS64(x,y,'显示内容字符串',c); 在(x,y)处用颜色c显示一行64点阵字
组织了新界面:
该界面使用了以下语句:
CLS(13);
BOX(0,0,219,175,15);
BOX(1,1,218,174,0);
BOXF(2,2,217,17,3);
PL(2,18,218,18,0);
SBC(3);
DS12(60,4,'菜单功能选择界面',15);
SBC(13);
PIC(20,40,1);DS12(25,75,'电压',0);
PIC(70,40,2);DS12(75,75,'电流',0);
PIC(120,40,3);DS12(125,75,'充电',0);
PIC(170,40,4);DS12(175,75,'输入',0);
PIC(20,110,5);DS12(25,145,'输出',0);
PIC(70,110,6);DS12(75,145,'测试',0);
PIC(120,110,7);DS12(125,145,'关闭',0);
PIC(170,110,8);DS12(175,145,'设置',0);
上位机程序:
http://pan.baidu.com/share/link? ... 9&uk=3204894695
焊接文档:
http://pan.baidu.com/share/link? ... 1&uk=3204894695
========================================================
STM32 驱动示例:
GpuSend("CLS(13);BOX(0,0,219,175,15);BOX(1,1,218,174,0);BOXF(2,2,217,17,3);PL(2,18,218,18,0);\r\n");
void GpuSend(char * buf1)
{ u8 i=0;
while (1)
{ if (buf1【i】!=0)
{ USART_SendData(USART1, buf1【i】);
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET){};
i++;
}
else return;
}
}
注意,每条语句后面要跟0d 0a 结尾,就是:\r\n 表示此行结束;
论坛过滤中括号,只好将中括号换成全角的了
Usart-GPU 22B (2.2吋屏)串口液晶屏 V0.9b 版本 2014-06-17发布
---2014/6/17版本:
1、重新调整了16色基本色
2、增加了DRn调屏幕方向的语句,屏幕可以自由选择方向,调整方向时不清屏,可以各方向混搭;
3、增加了带折行显示汉字的语句:BS12(x1,y1,x2,lw,'显示内容',c);BS16(x1,y1,x2,lw,'显示内容',c);在(x1,y1)处,显示字符串,在x2处自动折行,行间距lw,颜色c;
4、修订了汉字超过64点阵缓冲区不足的Bug
5、增加了自动演示的功能,此功能在串口命令到来后自动关闭,Hello界面停止10s以上,不影响产品使用
6、增加了序列号显示的语句,因此hello界面可以显示序列号了;
重要提示:由于液晶背面有铁壳,请焊接时注意预留排线与铁壳的绝缘问题!
|
评分
-
查看全部评分
|