powerPC 发表于 2008-8-13 15:37:48

KS0108B/HD61202控制器的128*64液晶的图形程序(希望能阿莫能把本人的程序放进应用实

开源精神,饮水思源。在ouravr看了很多液晶的程序,总觉得用起来很麻烦,因为不能提供printf("WWW.ourAVR.com")类似的函数,还有就是没有基本的绘图函数可以用。比如画圆,画线等。所以结合最近的项目,写了在这个KS0108B/HD61202控制器的128*64液晶的图形程序,希望大家喜欢!

//******************************************************************************
//                                 本程序介绍
//                                          ---北京交通大学电气学院 杨罡 2008.8
//
//       编译环境ICC6.31,
//       使用ATMEGA32单片机 & KS0108B/HD61202控制器的128*64液晶
//
//   1、 本程序实现了基本的GUI绘图函数
//       void lcd_fill( uint8_t pattern);全屏幕填充函数
//       void lcd_erase(void);         擦除全屏幕的函数
//       void lcd_update_all(void);      把缓冲区显示到液晶上的刷新函数
//       void lcd_dot( uint8_t x,uint8_t y,uint8_t mode); 任意坐标画点的函数
//       void lcd_line( uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t mode );
//       任意(x1,y1)(x2,y2)两点之间的画直线函数,这个函数化很短的斜线时会出问题,一般的长斜线无问题
//       void lcd_rect(uint8_t x, uint8_t y, uint8_t width, uint8_t height,uint8_t mode);
//       画以(x,y)为左上角,高height,长width 的矩形的函数
//       void lcd_box( uint8_t x,uint8_t y, uint8_t width,uint8_t height,uint8_t mode);
//       画以(x,y)为左上角,高height,长width 的矩形并且用mode方式填充的函数
//       void lcd_circle( uint8_t xCenter,uint8_t yCenter, uint8_t radius,uint8_t mode);
//       画(xCenter,yCenter)为圆心,半径为radius的函数,圆心可以在屏幕外面,所以可以画弧:)
//    2、本程序实现多种字体
//         可以根据需求去font.h文件选择你需要的字体,提供了5点6点7点9点10点15点18点
//       的英文字体供用户选择,中文字库太大没有实现,不过一般英文就公用了吧
//       void lcd_text(uint8_t left, uint8_t top, uint8_t font,   char *str);
//       显示在坐标为(left,top)处显示字体为 font 的即时字符串 str
//       void lcd_text_p(uint8_t left, uint8_t top, uint8_t font,const char *str);       
//       显示在坐标为(left,top)处显示字体为 font 的存放在flash中的字符串 str
//       font 参见font.h中的定义,需要先选择后使用
//    3、移植性
//         液晶很多,这个只是其中一种的程序,但是本程序是可以移植的,你只需根据具体
//       的液晶控制器去重写 LCD_DRIVER.H 和LCD_DRIVER.C 就可以了
//    4、使用                                          
//         由于使用显示缓存区的缘故所以RAM容量在1K一下的AVR器件将无法使用本程序
//       建议使用ATMEGA32或者ATMEGA64等大容量的片子,或者你课以将缓存区去掉,直接使用
//       液晶的显示缓存读写,那么就可以用于任何AVR了:)
//       !!!!!!!!值得注意的是:当你下载到片子运行时,请把LCD_DRIVER.C文件中的这一行注释掉
//               #define debug_protues   
//       否则将产生显示混乱。!!!!!!!!!!!!!!!!!!!!!!!   
//   5、关于demo
//      demo程序放在了main函数中,一共三个画面,可以改动其中的函数来熟悉以上介绍
//       函数。调入位图的函数没有在demo中运行,你可以试着调用,但是需要加位图数据。                           
//******************************************************************************

http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_376893.JPG
奥运小图标 (原文件名:1.JPG)

http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_376894.JPG
xx (原文件名:2.JPG)

http://cache.amobbs.com/bbs_upload782111/files_10/ourdev_376895.JPG
简单的窗口 (原文件名:3.JPG)

源文件ourdev_376896.rar(文件大小:156K) (原文件名:yanggang's lcd.rar)
仿真文件ourdev_376897.rar(文件大小:22K) (原文件名:yanggang's lcd proteus.rar)

pulan 发表于 2008-8-13 15:49:55

留个记号,顺便帮顶

avruser 发表于 2008-8-13 16:01:43

不错,顶一个:-)

armok 发表于 2008-8-13 16:11:22

非常感谢。COOL !

新版本的网站启动后,我们会收集一些比较有价值的帖子推荐给大家。

wanli 发表于 2008-8-28 10:05:27

好同志啊!有51的没有?

avr_appli 发表于 2008-9-5 08:29:52

up

hithyy 发表于 2008-9-5 12:29:53

帮顶,液晶这样用就方便了

joni 发表于 2009-2-24 21:47:52

mark

lrzxc 发表于 2009-2-24 22:01:16

很不错

yaogang 发表于 2009-2-25 09:33:23

mark

jaky80000 发表于 2009-2-25 09:34:33

MARK

honami520 发表于 2009-2-25 09:37:21

呵呵,其实有些液晶程序也有这些函数的,只不过楼主的程序看上去功能更加完善。还能换字体,不错!!!!!花了不少时间吧!

dengxiaofeng 发表于 2009-3-14 11:25:20

收下了哈,感激你一下,辛勤的劳动呀!

stevenhu 发表于 2009-3-14 11:50:41

记号一个!!

feixue 发表于 2009-3-14 16:31:13

标记一下

zzy9903 发表于 2009-3-14 17:01:21

很好,谢谢楼主分享

wangff2531 发表于 2009-3-23 20:20:48

研究下谢谢楼主

justforyou 发表于 2009-3-23 23:30:05

好东西,谢谢LZ!

sino_design 发表于 2009-3-23 23:56:11

学习了

dszx 发表于 2009-3-24 08:23:53

收下了

hd12 发表于 2009-3-24 08:30:49

收下,有时间看看

stayzhang 发表于 2009-3-24 08:33:34

额(⊙o⊙)…
又是算法。

YourARM 发表于 2009-3-24 08:44:09

不错不错

guiltcool 发表于 2009-3-25 22:01:46

好!收藏了!

linfeng286 发表于 2009-4-6 15:44:37

mark

caidehua0503 发表于 2009-4-22 21:23:30

00

missile054 发表于 2009-4-27 18:20:15

强力顶!!之前找不到这东西,毕业设计准备自己写。看来不用了,可以省点时间写别的了

Hjoan 发表于 2009-4-28 09:03:08

good

stevencao 发表于 2009-4-28 09:30:39

赞一个

dklcmc 发表于 2009-4-28 12:57:42

好东西顶一下
收藏

AAVVRR 发表于 2009-4-28 15:05:45

谢谢楼主!收录下来,学习学习再学习

wkxu 发表于 2009-4-28 18:44:09

谢谢楼主

155107149 发表于 2009-4-29 07:21:36

mark 看起来程序结构是清晰的

yanghuagui 发表于 2009-8-24 19:23:19

mark

guoxin1016 发表于 2009-8-24 19:44:20

非常感谢楼主,我的一直做不出来
也不知道问谁去,看了这个希望能有所帮助

Swallow 发表于 2009-8-26 14:57:16

先收下!

jchqxl 发表于 2009-8-26 15:24:31

这个不错~谢谢

382383706 发表于 2009-11-3 17:29:47

MARK

wuxinping 发表于 2010-2-16 12:20:38

一定要顶

yaojunhao1111 发表于 2010-6-1 10:42:30

这个不错~谢谢

avrdo 发表于 2010-6-1 13:18:43

裸奔中

beixue 发表于 2010-6-1 15:16:57

刚好手里有个这样的液晶屏

liuhongyu 发表于 2010-6-21 21:48:53

mark

minghua 发表于 2010-12-19 19:53:47

mark

lixupeng 发表于 2011-3-16 20:10:45

mark!!!!

beiguoqishi 发表于 2011-3-19 00:51:29

无私!!!!!!!!!!!!!!!!!!!!!!!!致敬!!

like0831 发表于 2011-4-29 21:33:01

mark!

wjjcyy 发表于 2012-3-10 20:59:32

RAM容量在1K一下的AVR器件将无法使用本程序
//       建议使用ATMEGA32或者ATMEGA64等大容量的片子,或者你课以将缓存区去掉,直接使用
//       液晶的显示缓存读写,那么就可以用于任何AVR了:)


我看了。。你的程序以前是想读液晶数据的。结果注解了。。这个里面没有结构体的形式,的GUI....

STT 发表于 2012-7-26 21:36:56

收藏了 谢谢楼主了

Tliang 发表于 2012-7-27 08:50:22

mark      

liycobl 发表于 2012-7-27 09:15:16

mark   ,

ykwu_10 发表于 2012-7-27 10:29:58

不错{:tongue:}{:tongue:}

呆子 发表于 2012-8-14 19:57:03

顶楼主,正准备用ks0108的19264做示波器。

wangku001wei 发表于 2012-8-18 09:14:26

学习啦!

gaobao_1 发表于 2018-1-17 10:10:56

进来学习一下,谢谢!
页: [1]
查看完整版本: KS0108B/HD61202控制器的128*64液晶的图形程序(希望能阿莫能把本人的程序放进应用实