搜索
bottom↓
回复: 26

BASCOM中使用KS0108控制器的12864液晶显示图片(中文)--教程

[复制链接]

出0入0汤圆

发表于 2006-5-21 21:50:14 | 显示全部楼层 |阅读模式
我们在使用BASCOM的时候免不了要用到绘画式的液晶进行显示一些图片,中文,字符串,变量等,有些朋友不知道怎样去做这个工作,因此我做了这个简单的教程,希望对需要的朋友有帮助,BASCOM-AVR直接支持的绘画液晶有:

T6963C(128*64~240*128),KS0108(HD61202),SED1520



1.首先我们用字模软件,设置字体为小4,这个字体是16x16点阵的,确定然后输入中文“中文显示教程”



2.输入之后点保存图像:





3.选择BASCOM中菜单:TOLS/Graphic converter,接着点Load装入刚刚保存的那个位图:





4.按图中的选项,点Save保存字模,把字模保存到basic源程序的目录







5.字模已经被保存为了“jiaocen.bgf”,我们可以在程序中使用了。



要用到的字模软件Zimo21:

点击此处下载armok01118157.rar

font8x8.font字体下载:

点击此处下载armok01118158.rar



例子:



$regfile = "m16def.dat"

$crystal = 7372800





$lib "glcdKS108.lib"    'KS0108液晶的支持库



Waitms 200





'配置12864LCD和AVR的连接关系

Config Graphlcd = 128 * 64sed , Dataport = Portc , Controlport = Portb , Ce1 = 7 , Ce2 = 6 , Cd = 3 , Rd = 4 , Reset = 2 , Enable = 5





Dim X As Byte , Y As Byte

Dim C As Byte , I As Byte



Abc:

Cls

For I = 0 To 63

     Line(0 , I) -(127 , I) , 1               '用横线填充LCD检查有没有坏点

Next

Wait 3

Cls

Setfont Font8x8                               '设置8x8的英文字体用于显示字符串和变量

Showpic 15 , 0 , Jiaocen                      '显示"中文显示教程"

Lcdat 8 , 0 , "www.basicavr.com"

Wait 1

For Y = 1 To 20

   Circle(30 , 30) , Y , 1

   X = Y - 1

   Circle(30 , 30) , X , 0                    '画圆并擦除圆

Next

Cls

Lcdat 5 , 0 , "C="

Lcdat 5 , 16 , C                              '显示变量

C = C + 1

Wait 1

Showpic 0 , 0 , Dian                          '显示中文“电”字

Wait 2

Goto Abc

End



$include "font8x8.font"                       '8x8的英文字体





Dian:

$bgf "dian.bgf"                                '"电"的字模



Jiaocen:                                       '"中文显示教程"的字模

$bgf "jiaocen.bgf"

源程序:

点击此处下载armok01118159.rar



图片:







显示文本:

Lcdat x , y , "string" ,col

x为行座标(1~8),y为列座标(1~64),col=0表示正常显示,可以忽略,col=1表示反色显示



正常显示文本:

Lcdat 1 , 1 , "ABC"



反色显示文本:

Lcdat 2 , 1 , "ABC" , 1



显示图片:

Showpic x , y , picname

在x,y的位置开始显示图片

picname为字模的名字,必须适当的位置用下面的格式指示

picname:

$bgf "picname.bgf"





任意位置画点或清除一个点:

Pset x , y , col

x为横座标单位象素,y为纵座标单位象素,col=1画点,col=0清除点

例如:

Pset 2 , 3 , 1  '表示在x=2,y=3的地方画出一个点



Pset 10 , 10 , 0  '表示在x=10,y=10的地方画擦除一个点





画圆或清除一个圆:

Circle(x , y) , r , col

x为横座标单位象素,y为纵座标单位象素,r为圆的半径单位象素,col=1画圆,col=0清除圆



例如:

Circle(30 , 30) , Y , 1

表示以x=30,y=30为圆心,变量y为半径在液晶上画出一个圆



Circle(20 , 30) , Y , 0

表示以x=20,y=30为圆心,变量y为半径在液晶上擦除一个圆





画线或清除线:

Line(x1 , y1) -(x2 , y2) , col

x1,y1为线段的起始座标,x2,y2为线段的结束座标,col=1画线段,col=0清除线段



例如:

Line(0 , 0) -(128 , 64) , 1  '画从液晶左上角到右下脚的斜线



Line(0 , 5) -(0 ,   64) , 1 ' 画一条垂直线



Line(0 , 0) -(128 , 0) , 1 '画水平线

出0入0汤圆

发表于 2008-8-27 12:35:24 | 显示全部楼层
你好!液晶画圆是上位机的吧?直接用单片机控制怎么实现??????/

出0入0汤圆

发表于 2008-8-27 12:36:36 | 显示全部楼层
希望你能回复!

出0入0汤圆

发表于 2008-8-27 12:42:42 | 显示全部楼层
这个就是单片机直接画的啊,没有上位机的

出0入0汤圆

发表于 2008-8-28 13:06:11 | 显示全部楼层
Dim X As Byte , Y As Byte
Dim C As Byte , I As Byte
这些语句不是 VB的语言吗?

出0入0汤圆

发表于 2008-8-28 13:07:54 | 显示全部楼层
能否上传个单片机的源程序啊,你是好同志啊!

出0入0汤圆

发表于 2008-8-28 13:16:03 | 显示全部楼层
我只会C和汇编,谢谢啊!

出0入0汤圆

发表于 2008-8-31 15:36:21 | 显示全部楼层
太好了,真是磅级了

出0入0汤圆

发表于 2008-9-13 14:20:09 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-1-8 08:54:22 | 显示全部楼层
我最近也用这个液晶,也遇到问题,把两个片选分别串上两个反相器就行了,或者右键->属性改液晶的CS电平也可(这个没试,我是直接串了个反相器)

出0入0汤圆

发表于 2008-12-1 21:28:48 | 显示全部楼层
同楼上的问题,用面包板试验可以正常显示,但在Proteus里不能正常运行,请问楼主?

出0入0汤圆

发表于 2008-10-14 15:34:38 | 显示全部楼层
试了bascom里面几个glcd程序,仿真都不能进行。所以至今只能用字符型lcd,能否指教?

出0入0汤圆

发表于 2008-10-14 15:34:35 | 显示全部楼层
试了bascom里面几个glcd程序,仿真都不能进行。所以至今只能用字符型lcd,能否指教?

出0入0汤圆

发表于 2008-10-14 15:21:49 | 显示全部楼层
原来似懂非懂,现在总算明白了一点。不知pc机上能否软件仿真

本贴被 zhangyintao_69 编辑过,最后修改时间:2008-10-14,15:22:38.

出0入0汤圆

发表于 2009-3-23 20:21:53 | 显示全部楼层
收下看看  谢谢楼主

出0入0汤圆

发表于 2009-3-24 13:35:47 | 显示全部楼层
标记~~

出0入0汤圆

发表于 2009-7-6 10:22:19 | 显示全部楼层
wait..............................

出0入0汤圆

发表于 2009-7-6 10:46:44 | 显示全部楼层
顶!

出0入0汤圆

发表于 2009-7-7 09:21:23 | 显示全部楼层
想学习一下bascom,ding.........

出0入0汤圆

发表于 2009-8-6 19:26:03 | 显示全部楼层
顶!

出0入0汤圆

发表于 2009-9-25 19:53:16 | 显示全部楼层
正好用的上 谢谢楼主

出0入0汤圆

发表于 2009-11-2 13:40:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-28 19:49:00 | 显示全部楼层
请问串口接法怎么接啊,有图么

出0入0汤圆

发表于 2010-1-28 21:40:07 | 显示全部楼层
不错

出0入0汤圆

发表于 2011-5-6 23:38:33 | 显示全部楼层
收藏了

出0入0汤圆

发表于 2011-5-7 15:55:16 | 显示全部楼层
有空实践一下

出0入0汤圆

发表于 2011-8-26 16:02:07 | 显示全部楼层
正好在做这个,学习了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-7 19:57

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表