搜索
bottom↓
楼主: Gorgon_Meducer

[古董贴][交流]怎样在点阵屏上绘图——基于LCD12864

  [复制链接]

出0入0汤圆

发表于 2008-4-9 14:36:29 | 显示全部楼层
觉得还是有多点不赞同的意见会好一点吧。
说实在,我是刚刚接触这些的。楼主的文章很大部分很适合初学者,有部分实在不太容易明白。但是如果有更多不同的声音,那样也许会让我们都知道更多的事情,或者是更多的解决方法吧。

出0入296汤圆

 楼主| 发表于 2008-4-9 15:00:32 | 显示全部楼层
to 【211楼】 chinland
    你说的很对哈。这是我早期的作品,很多东西还不成熟,我会重新写一个关于自己DIY GUI的。到时候,很多问题都会得到圆满的解决。

出0入0汤圆

发表于 2008-4-10 16:21:58 | 显示全部楼层
顶了 学习

出0入0汤圆

发表于 2008-4-12 10:06:02 | 显示全部楼层
哈哈....看不懂...

出0入0汤圆

发表于 2008-4-26 11:41:13 | 显示全部楼层
哇~我找好久了~~~
太感谢你了~~

出0入0汤圆

发表于 2008-4-27 11:46:32 | 显示全部楼层
多谢Gorgon Meducer 的无私奉献!
好!

出0入0汤圆

发表于 2008-6-26 17:01:17 | 显示全部楼层
留个记号

出0入0汤圆

发表于 2008-6-27 17:04:33 | 显示全部楼层
好东西,记号先!

出0入0汤圆

发表于 2008-6-27 18:34:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-6-28 11:52:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-7-11 17:33:15 | 显示全部楼层
LCD  Mark

出0入0汤圆

发表于 2008-7-11 17:33:16 | 显示全部楼层
LCD  Mark

出0入0汤圆

发表于 2008-7-12 10:48:12 | 显示全部楼层
【189楼】 tomtom
积分:61
派别:
等级:------
来自:

 不知道为什么,对【189楼】这样的人没有好感,虽然我不是什么高手,但我却很不喜欢这样的人。

出0入0汤圆

发表于 2008-7-16 12:33:19 | 显示全部楼层
好帖

出0入46汤圆

发表于 2008-7-16 14:37:07 | 显示全部楼层
好贴!

出0入0汤圆

发表于 2008-7-19 09:06:36 | 显示全部楼层
这是好东西啊。

出0入0汤圆

发表于 2008-8-3 01:34:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-8-3 08:43:31 | 显示全部楼层
学习中

出0入0汤圆

发表于 2008-8-4 16:02:28 | 显示全部楼层
好帖,怎么才看到!

出0入0汤圆

发表于 2008-8-8 08:40:44 | 显示全部楼层
不错,值的学习

出0入0汤圆

发表于 2008-8-8 09:07:46 | 显示全部楼层
好!看了谢谢分享

出0入0汤圆

发表于 2008-8-9 13:23:16 | 显示全部楼层
超级感谢!

出0入0汤圆

发表于 2008-8-12 10:10:37 | 显示全部楼层
好,谢谢,收藏了!

出0入0汤圆

发表于 2008-8-15 17:05:31 | 显示全部楼层
我表示对LZ的支持

做为一个类学习笔记,LZ这种共享的精神非常不易了。对于有些人来说,也许过于肤浅,但是还是有很多人能够从中挖掘到价值的。

出0入0汤圆

发表于 2008-8-15 22:05:09 | 显示全部楼层
非常感谢!!!

出0入0汤圆

发表于 2008-8-21 10:14:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-9-22 12:12:44 | 显示全部楼层
一口气看完...要慢慢消化才行.....

出0入0汤圆

发表于 2008-9-26 12:18:38 | 显示全部楼层
请教楼主....最近按你给的伪代码写出了画线程序 .....
画出的效果不是很理想....从左到右画可以显示....从右到左...就不显示.... 比如画一条线..X1 = 1; Y1 = 1; X2 = 2; Y2 = 63;
效果很差....可否看一下你的源程序.
void PlotLine(uchar x1, uchar y1, uchar x2, uchar y2, uchar type)
 {
     schar dx = x2 - x1;                                   //求距离差
         schar dy = y2 - y1;                           
         
         uchar ix = (dx >= 0)? dx: -dx;                        //求绝对值
         uchar iy = (dy >= 0)? dy: -dy;
         
         uchar x = 0;                                          //数据清零
         uchar y = 0;
         
         uchar inc;         
         uchar count = iy;                                     //取最大值
         
         schar xn = 0;                                         //增长方向
         schar yn = 0; 
         
         if (dy > 0) yn = 1;
         if (dy < 0) yn = -1;  
         
         if (dx > 0) xn = 1;
         if (dx < 0) xn = -1;
         
         if (ix > iy) count = ix;
         
         inc = count;
         
         do
          {
           x += ix;
           y += iy;
        
           if (x > inc)
            {
                 x -= inc;
                 x1 += xn;
                }
                
           if (y > inc)
            {
                 y -= inc;
                 y1 += yn;
                }        
          // 画点
          }
          
         while (count--);

出0入0汤圆

发表于 2008-9-27 17:27:09 | 显示全部楼层
没法子了....最近在网上查了很多理论....网上都是你转我...我转你.....没有找到有帮忙的.....请大伙帮帮忙...现在工作进展无法进行..

出0入0汤圆

发表于 2008-9-30 00:55:56 | 显示全部楼层
# define ABS(__VALUE)   ((__VALUE) < 0 ? (-(__VALUE)) : (__VALUE))
void DrawLine(INT16 x0,INT16 y0,INT16 x1,INT16 y1,UINT8 chModel)
{     
    INT16 dx = x1 - x0;
    INT16 dy = y1 - y0;
    INT16 ix = ABS(dx);
    INT16 iy = ABS(dy);
&nbsp;&nbsp;&nbsp;&nbsp;<font color=red>INT16&nbsp;inc&nbsp;=&nbsp;ix&nbsp;&lt;&nbsp;iy&nbsp;?&nbsp;iy&nbsp;:&nbsp;ix;
&nbsp;&nbsp;&nbsp;&nbsp;INT16&nbsp;plotx&nbsp;=&nbsp;x0;
&nbsp;&nbsp;&nbsp;&nbsp;INT16&nbsp;ploty&nbsp;=&nbsp;y0;
&nbsp;&nbsp;&nbsp;&nbsp;INT16&nbsp;x&nbsp;=&nbsp;0;
&nbsp;&nbsp;&nbsp;&nbsp;INT16&nbsp;y&nbsp;=&nbsp;0;
&nbsp;&nbsp;&nbsp;&nbsp;INT16&nbsp;i&nbsp;=&nbsp;0;
&nbsp;&nbsp;&nbsp;&nbsp;SetPixel(plotx,ploty,chModel);
&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;inc;&nbsp;i++)
&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;PlotFlag&nbsp;=&nbsp;FALSE;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;+=&nbsp;ix;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;+=&nbsp;iy;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(x&nbsp;&gt;=&nbsp;inc)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PlotFlag&nbsp;=&nbsp;TRUE;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;-=&nbsp;inc;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(dx&nbsp;&lt;&nbsp;0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;plotx--;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(dx&nbsp;&gt;&nbsp;0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;plotx++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(y&nbsp;&gt;=&nbsp;inc)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PlotFlag&nbsp;=&nbsp;TRUE;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;-=&nbsp;inc;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(dy&nbsp;&lt;&nbsp;0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ploty--;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(dy&nbsp;&gt;&nbsp;0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ploty++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(PlotFlag)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetPixel(plotx,ploty,chModel);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;} }<fontcolor=#699bcd>本贴被 Gorgon
Meducer 编辑过,最后修改时间:2008-09-30,00:56:31.

出0入0汤圆

发表于 2008-9-30 07:41:14 | 显示全部楼层
&nbsp;&nbsp;&nbsp;史上最强的古董贴

出0入0汤圆

发表于 2008-11-16 12:47:22 | 显示全部楼层
看了楼主的文章有收获,对学画图有帮助!

出0入0汤圆

发表于 2009-1-3 00:22:09 | 显示全部楼层
看了你的帖子,我觉得自己连菜鸟都不算。。。。。。。。。都是本科生阿

出0入0汤圆

发表于 2009-1-10 10:51:00 | 显示全部楼层
人家研究生好不好!

出0入296汤圆

 楼主| 发表于 2009-1-10 15:19:45 | 显示全部楼层
俺不是研究生……刚刚本科毕业……

出0入0汤圆

发表于 2009-1-11 13:48:45 | 显示全部楼层
非常好!

出0入0汤圆

发表于 2009-1-11 17:34:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-1-11 17:51:43 | 显示全部楼层
m

出0入0汤圆

发表于 2009-1-12 16:41:57 | 显示全部楼层
期待重》》》》》》》》

出0入0汤圆

发表于 2009-1-28 17:53:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-1-28 23:31:19 | 显示全部楼层
大家都是因为有着共同的爱好走到一块,技术(应该可以这说吧^_^),尤其是技术,如果是一边倒的,那就是比较危险的,有不同的意见或许能让我们今后走得更好!!!!

出0入0汤圆

发表于 2009-3-24 00:08:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-3-24 00:18:29 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-3-24 08:22:27 | 显示全部楼层
太好了,正是需要!

出0入0汤圆

发表于 2009-3-24 14:54:28 | 显示全部楼层
哈哈,傻孩子不傻~期待你的《DIY我们自己的跨平台GUI》出炉

出0入296汤圆

 楼主| 发表于 2009-3-24 16:40:47 | 显示全部楼层
to 【255楼】 kucooboy
    源代码请参考Snail GUI……

出0入0汤圆

发表于 2009-3-25 21:08:47 | 显示全部楼层
绝对牛人!

出0入0汤圆

发表于 2009-4-7 23:01:45 | 显示全部楼层
不顶不行啊!!!!

出85入4汤圆

发表于 2009-4-9 08:28:15 | 显示全部楼层
牛!这次是真的牛!!广告之后,马上回来...

出0入0汤圆

发表于 2009-4-9 12:58:30 | 显示全部楼层
很好的step by step , 学习学习!

出0入0汤圆

发表于 2009-4-9 14:30:55 | 显示全部楼层
不错不错,技术牛的人我见过很多,文章写的好的人也很多,不过,心态如此之好,而且有很谦虚的人,现在真的很难找了

出0入0汤圆

发表于 2009-4-11 16:32:56 | 显示全部楼层
跨平台GUI

出0入4汤圆

发表于 2009-4-11 20:48:32 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-4-14 18:34:21 | 显示全部楼层
衷心感谢

出0入0汤圆

发表于 2009-4-17 22:29:05 | 显示全部楼层
嗯!
写的还是很不错的!
对别人指指点点,自己又没行动的人最好是敬而远之!

出0入0汤圆

发表于 2009-4-18 01:37:32 | 显示全部楼层
很感谢,马上回来!!

出0入0汤圆

发表于 2009-4-18 02:33:36 | 显示全部楼层
-_-傻孩子还是做成pdf文档吧  要不然这帖子会不断地被挖出来的

出0入0汤圆

发表于 2009-4-19 22:16:51 | 显示全部楼层
哈哈,对.挖..

挖..

出0入0汤圆

发表于 2009-4-28 13:39:27 | 显示全部楼层
MARK 一下 再看

出0入0汤圆

发表于 2009-4-30 10:14:10 | 显示全部楼层
超牛!!!顶几下!!!!!

出0入0汤圆

发表于 2009-5-3 19:27:55 | 显示全部楼层
cool

出0入0汤圆

发表于 2009-5-5 23:41:08 | 显示全部楼层
cool!mark

出0入0汤圆

发表于 2009-5-6 03:56:45 | 显示全部楼层
不记得自己是否MARK过了……

出0入0汤圆

发表于 2009-5-6 08:28:29 | 显示全部楼层
先表示一下对Gorgon Meducer 傻孩子大侠的敬仰!!

出0入0汤圆

发表于 2009-5-6 09:00:37 | 显示全部楼层
傻孩子 永远支持你

出0入0汤圆

发表于 2009-5-19 16:28:39 | 显示全部楼层
Mark

出0入0汤圆

发表于 2009-5-28 20:14:55 | 显示全部楼层
Mark
刚用12864点亮了下,要学菜单的写法了

出0入0汤圆

发表于 2009-6-12 10:28:29 | 显示全部楼层
狂顶!!!!!!!!!!!!!

出0入0汤圆

发表于 2009-6-21 22:10:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-7-3 18:01:35 | 显示全部楼层
记号!

出0入0汤圆

发表于 2009-7-3 22:17:08 | 显示全部楼层
好东西啊

出0入0汤圆

发表于 2009-7-4 01:43:05 | 显示全部楼层
支持,标记!

出0入0汤圆

发表于 2009-7-4 11:59:21 | 显示全部楼层
狂顶楼主
如果大家都像楼主一样
够造一个良好的学习氛围
共享资源
分享自己的见解
就能使大家少走很多弯路,
不管自己的见解是对是错
都能给人启发。
对楼主和像楼主一样
具有奉献精神的人致敬。
对像“【189楼】 tomtom  ”这样的人
......

出0入4汤圆

发表于 2009-7-4 12:20:34 | 显示全部楼层
过路的

出0入0汤圆

发表于 2009-7-4 21:54:15 | 显示全部楼层
Mark





哈!最近正好要弄LCD………………

出0入0汤圆

发表于 2009-7-4 23:59:30 | 显示全部楼层
Mark

出0入0汤圆

发表于 2009-7-8 23:53:26 | 显示全部楼层
好东西,谢谢分享

出0入0汤圆

发表于 2009-8-12 03:36:58 | 显示全部楼层
呵呵   谢谢~~~

出0入0汤圆

发表于 2009-8-19 17:20:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-21 22:18:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-21 22:34:32 | 显示全部楼层

出0入0汤圆

发表于 2009-8-27 14:37:37 | 显示全部楼层
ding!

出0入0汤圆

发表于 2009-8-30 17:27:22 | 显示全部楼层
记号下

出0入0汤圆

发表于 2009-9-11 23:36:20 | 显示全部楼层
不错!学习了!

出0入0汤圆

发表于 2009-9-12 00:22:58 | 显示全部楼层
mark!!!!!!!!!!!!!!!!!

出0入0汤圆

发表于 2009-9-16 13:58:38 | 显示全部楼层

出0入0汤圆

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

出0入0汤圆

发表于 2009-11-5 11:45:24 | 显示全部楼层
#include "config.h"
/*------宏定义------*/
#define uchar        uint8
#define uint        uint32

void delay(uint n)
{
   while(n--);
}
void delay_nus(uint n)
{
   uchar i=0;
   while(n--)
      for(i=0;i<8;i++);
}
void delay_nms(uint n)
  {
   uint16 i;
   while(n--)
     for(i=0;i<7990;i++);
  }



#define CS       0x00000002

#define SID      0x00000008

#define CLK      0x00000020
#define RET       21
#define set_CS()             IO0SET=CS   
#define clr_CS()                    IO0CLR=CS     //串行的片选端

#define set_SID()            IO0SET=SID   
#define clr_SID()                IO0CLR=SID    //串行数据口
  
#define set_CLK()             IO0SET=CLK     
#define clr_CLK()                    IO0CLR=CLK    //串行同步时钟

//#define set_RET()               IO0SET=1<<RET   
//#define clr_RET()                    IO0CLR=1<<RET    //复位引脚,低电平有效P0.0

uint8 const ASCII[19][5]={
{0x3E,0x41,0x41,0x41,0x3E},//0
{0x00,0x42,0x7F,0x40,0x00},//1
{0x72,0x49,0x49,0x49,0x46},//2
{0x21,0x41,0x49,0x4D,0x32},//3
{0x18,0x14,0x12,0x7F,0x10},//4
{0x27,0x45,0x45,0x45,0x38},//5
{0x3C,0x4A,0x49,0x49,0x30},//6
{0x01,0x01,0x7D,0x03,0x00},//7
{0x36,0x49,0x49,0x49,0x36},//8
{0x06,0x49,0x49,0x29,0x16},//9
{0x7C,0x12,0x11,0x12,0x7C},//A  10
{0x00,0x41,0x7F,0x41,0x00},//I  11
{0x3F,0x40,0x40,0x40,0x3F},//U   12
{0x1C,0x20,0x40,0x20,0x1C},//v    13
{0x00,0x00,0x60,0x60,0x00},//.    14
{0x38,0x44,0x44,0x44,0x28},//c    15
{0x38,0x54,0x54,0x54,0x18},//e    16
{0x7C,0x04,0x78,0x04,0x78},//m     17
{0x3C,0x40,0x40,0x20,0x7C} //u      18
};
uint8 dis_data[1024]={//16*64=1024(128*64=(16*8)*64)
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X01,0XFF,0XC0,0X63,0X80,0X71,0XC0,0X06,0XC0,0X00,0XE0,0X0E,0X38,0X0E,0X0E,0X00,
0X01,0XFF,0XC0,0XE3,0X80,0X7F,0XF8,0X06,0XC0,0X38,0XF8,0X0E,0X38,0X0E,0X6E,0X00,
0X01,0XC1,0XC0,0XC3,0X80,0XF1,0XCC,0X06,0XC0,0X38,0XEC,0X3E,0XFF,0X0E,0X7E,0X00,
0X01,0XFF,0XC1,0XFF,0XF9,0XFB,0XE0,0X7F,0XFC,0X70,0XE6,0X3E,0XFF,0X0E,0X7F,0XC0,
0X01,0XC1,0XC3,0XFF,0XF9,0X86,0X00,0X7F,0XFC,0X6F,0XFE,0X2F,0X38,0X3F,0XFF,0XC0,
0X01,0XFF,0XC3,0XC7,0X83,0XFF,0XFC,0X76,0XDC,0XFF,0XE0,0X7F,0XFF,0XBF,0XEE,0X00,
0X00,0X00,0X07,0XCF,0XC3,0X80,0X1C,0X76,0XDC,0XF8,0XFE,0X7F,0XFF,0XBE,0XCE,0X00,
0X07,0XF7,0XED,0XCF,0XE3,0XFF,0XFC,0X7F,0XFC,0X33,0XFE,0X0E,0X0E,0X3E,0X0E,0X00,
0X07,0XF7,0XE1,0XDF,0XF0,0X70,0XE0,0X7F,0XFC,0X73,0XE0,0X1F,0XFF,0X8E,0X7F,0X80,
0X07,0X76,0XE1,0XDB,0XB8,0X7F,0XE0,0X76,0XDC,0XFC,0XFC,0X7E,0XFF,0X8E,0X7F,0X80,
0X07,0XF7,0XE1,0XFF,0XFC,0X70,0X00,0X76,0XDC,0XFC,0XFC,0X7E,0X0E,0X0E,0X0E,0X00,
0X07,0X76,0XE1,0XFF,0XFC,0X7F,0XF0,0X76,0XDC,0X00,0X70,0X0E,0XEE,0X0E,0X0E,0X00,
0X07,0XF7,0XE1,0XC3,0X80,0X70,0X70,0X7F,0XFC,0XFE,0XF9,0X0E,0X7E,0X0E,0X0E,0X00,
0X07,0XF7,0XE1,0XC3,0X80,0X7F,0XF0,0X7F,0XFC,0XF3,0XDF,0X0E,0X1E,0X0E,0XFF,0XC0,
0X07,0X76,0XE1,0XC3,0X80,0X70,0X70,0X70,0X1C,0X03,0X8E,0X0E,0X1C,0X0E,0XFF,0XC0,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X06,0X00,0X32,0X07,0X30,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X6F,0XC6,0X38,0X33,0X07,0X38,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X7F,0XD6,0X1C,0X3B,0X0E,0X1B,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X3C,0XD6,0X1F,0XFF,0X8F,0XDB,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X0D,0XD6,0X03,0XFF,0X9F,0XC7,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X6D,0XD6,0X78,0X38,0X3E,0XE7,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X7D,0XD6,0X7B,0XF8,0X3E,0XEE,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X3D,0XD6,0X1B,0XF8,0X0E,0X7E,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X0D,0XD6,0X19,0XDC,0X0E,0X7C,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X3D,0XD6,0X19,0XDC,0X0E,0X3C,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X33,0X16,0X19,0XDC,0X0E,0X3C,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X37,0XC6,0X1D,0XFF,0X8E,0X7E,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X76,0XEE,0X1F,0XFF,0X0E,0XE7,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X6E,0X7E,0X1B,0X87,0X0F,0XC3,0X80,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X6C,0X1C,0X00,0X03,0X0F,0X81,0XC0,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X03,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X01,0X80,0X00,0X00,0X06,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X03,0X00,0X00,0X01,0X0C,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X86,0X00,0X00,0X01,0X18,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X8C,0X00,0X00,0X01,0XB0,0X00,0X00,0X00,0XBF,0X00,0X00,0X02,0XFC,0X00,
0X00,0X00,0X98,0X00,0X00,0X01,0XE0,0X00,0X00,0X00,0XA0,0X00,0X00,0X02,0X80,0X00,
0X00,0X00,0XB0,0X00,0X00,0X01,0XE0,0X00,0X00,0X00,0XA4,0X00,0X00,0X02,0X90,0X00,
0X00,0X00,0XE0,0X00,0X00,0X01,0XF0,0X00,0X00,0X00,0XA6,0X00,0X00,0X02,0XB0,0X00,
0X00,0X00,0XC0,0X00,0X00,0X01,0X00,0X00,0X00,0X00,0XBF,0X00,0X00,0X02,0XFC,0X00,
0X00,0X00,0X80,0X00,0X03,0XFF,0X00,0X00,0X00,0X00,0XA7,0X00,0X00,0X02,0XB4,0X00,
0X01,0XFF,0X80,0X00,0X00,0X01,0X00,0X00,0X00,0X00,0XA5,0X00,0X00,0X02,0X94,0X00,
0X00,0X00,0X80,0X00,0X00,0X01,0X80,0X00,0X00,0X00,0XA1,0X00,0X00,0X02,0X84,0X00,
0X00,0X00,0XC0,0X00,0X00,0X01,0XC0,0X00,0X00,0X3F,0XBF,0X00,0X00,0XFE,0XFC,0X00,
0X00,0X00,0XE0,0X00,0X00,0X01,0X60,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0XB0,0X00,0X00,0X01,0X30,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X99,0X00,0X00,0X01,0X18,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X8F,0X00,0X00,0X00,0X0C,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X07,0X00,0X00,0X00,0X06,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X0F,0X00,0X00,0X00,0X03,0X00,0X00,0X00,0X01,0X00,0X00,0X00,0X04,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
};
//写数据到12864
void WriteData(uint8 ch,uint8 d_c)//d_c=1是命令,0为数据
{//RE=0
uint8 i;
int32 dc;
//long dc;
dc=(d_c?0xf80000:0xfa0000);
  set_CS();
  dc|=(((ch&0xf0)<<8)|((ch&0x0f)<<4));
for(i=0;i<24;i++)
{   
    clr_CLK();
   delay(2);               //将PB^5位置1
    if((dc<<i)&0x800000)
      set_SID();
        else
          clr_SID();
        delay(2);
        set_CLK();
        delay(2);
}
  clr_CS();
}

void LCD_CLEAR(void)//写命令到12864清屏
{
WriteData(0x01,1);  // 清屏
delay_nms(15);  
}

//全屏显示图片,把一维的数组写进去
//clr为1时,清屏,为0时直接加到原图上
void LCD_Picture_Display(uint8 *tab,uint8 clr)
{
  unsigned  i, j, k, lcd_x, lcd_y,jj=0;
  if(clr) LCD_CLEAR();//清屏
  lcd_x = 0x80;//第一页页地址
  for(i=0 ; i<2; i++)//分两页来写
  {
   for(j=0, lcd_y=0x80; j<32; j++, lcd_y++)
   {
    WriteData(0x36,1);  //8位扩充指令集,绘图开
    WriteData(lcd_y,1);  //地址设置
    WriteData(lcd_x,1);
    WriteData(0x30,1);
    for(k=16; k>0; k--)
    {
       WriteData(tab[jj++],0);               
    }
   }
   lcd_x = 0x88;//第二页页地址
  }
}
//设置数组中的一个点,f为0则清点,为1则描点,
void set_pic_point(uint8 y,uint8 x,uint8 f)
{
  uint16 p;
  p=16*y+(x>>3);
  x&=0x07;//x%=8;
  x=1<<(7-x);
  if(f)dis_data[p]|=x;
  else  dis_data[p]&=(~x);

}
//画一条水平或垂直直线
void dis_line(uint8 ystar,uint8 yend,uint8 xstar,uint8 xend)
{
  uint8 Xle=xend-xstar,Yle=yend-ystar,i;
  if(Xle)//画X轴平行直线
  {
   for(i=0;i<Xle;i++)
      set_pic_point(ystar,xstar+i,1);
  }
  else
  {
     for(i=0;i<Yle;i++)
      set_pic_point(ystar+i,xstar,1);
  }
}
//显示一个字符
void dis_char(uint8 y,uint8 x,uint8 ch)
{
  uint i,j;
  for(i=0;i<5;i++)
       for(j=0;j<7;j++)
         set_pic_point(y+j,x+i,(ASCII[ch]>>j)&1);
}
//显示数字两位
void dis_NUM(uint8 y,uint8 x,uint8 ch)
{  uint8 i,j,tm;
if(ch>9)
{
  ch%=100;
  tm=ch/10;
  ch%=10;
  x-=5;
   for(i=0;i<5;i++)
       for(j=0;j<7;j++)
         set_pic_point(y+j,x+i,(ASCII[tm]>>j)&1);
  x+=5;
}
  for(i=0;i<5;i++)
   for(j=0;j<7;j++)
     set_pic_point(y+j,x+i,(ASCII[ch]>>j)&1);
}
void set_lxy(uint8 nx,uint8 ny)//画X和Y轴
{
  uint8 y=12,x=62;
  uint8 i;
// ny/=5;
    dis_char(52,123,13);//V
    dis_char(0,16,17);//m
   dis_char(0,22,10);//A
   
  dis_line(0,62,y,y);
  dis_line(x,x,y,128);
  dis_NUM(57,4,0);
  set_pic_point(1,y-1,1);
  set_pic_point(1,y+1,1);
  set_pic_point(2,y-2,1);
  set_pic_point(2,y+2,1);
  
  set_pic_point(x-2,125,1);
  set_pic_point(x-1,126,1);
  set_pic_point(x+1,126,1);
  set_pic_point(x+2,125,1);
  i=1;
  while(x>20)
  {  
   x-=10;
   set_pic_point(x,y-1,1);
   set_pic_point(x,y-2,1);
   i++;
   }
   dis_NUM(x-3,y-7,nx);
   i=1;x=61;
  while(y<102)
  {  
   y+=20;
   set_pic_point(x,y,1);
   i++;
   set_pic_point(x-1,y,1);
   }
   i--;
  dis_NUM(x-8,y-2,i*ny/5);
   
}

//写0到图片数组,清屏
void clear_pic(void)
{
uint i=1023;
while(i)dis_data[i--]=0;
}
/*****************************************
液晶初始化程序                             
输入数据:无
*****************************************/
void  lcd12864_init(void)
{
//PINSEL0&=~((0x03<<CS)|(0x03<<SID)|(0x03<<CLK)|(0x03<<RET));
IO0DIR=IO0DIR|(CS)|(SID)|(CLK);
clr_CS()        ;
clr_SID();
clr_CLK();
//clr_RET();
delay_nms(10);
//set_RET();
delay_nms(5);
WriteData(0x32,1);
delay_nus(150);
WriteData(0x32,1);
delay_nus(150);
WriteData(0x0c,1);  
delay_nus(150);
WriteData(0x60,1);
delay_nus(150);
WriteData(0x04,1);
LCD_CLEAR();//清屏
}

        int main (void)
{// add user source code
lcd12864_init();
while(1)
{
set_pic_point(1,2,0);
dis_line(1,1,2,2);
set_pic_point(1,3,1);
dis_NUM(3,1,88);
   }
    return 0;
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

出0入0汤圆

发表于 2009-11-5 11:48:59 | 显示全部楼层
请教版主一下,这程序里面是什么问题??

出0入296汤圆

 楼主| 发表于 2009-11-6 22:40:56 | 显示全部楼层
我又不是处理器……我怎么知道有什么问题……

出0入0汤圆

发表于 2009-11-20 00:41:34 | 显示全部楼层
mark  谢谢傻孩子

出0入0汤圆

发表于 2009-11-30 02:11:45 | 显示全部楼层
虽然是古董,但绝对是经典!

对初学者来说是上等的的学习资料!

出0入0汤圆

发表于 2009-11-30 08:42:32 | 显示全部楼层
哈哈,经典.............

出0入0汤圆

发表于 2009-11-30 09:32:00 | 显示全部楼层
很好的LCD显示解析 马克到此一游

出0入0汤圆

发表于 2009-12-31 18:27:18 | 显示全部楼层
mark!!!!!!!

出0入0汤圆

发表于 2009-12-31 23:35:01 | 显示全部楼层
哈哈,对.挖

出0入0汤圆

发表于 2010-1-1 12:14:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-1 14:09:10 | 显示全部楼层
好东西

出0入0汤圆

发表于 2010-1-1 16:13:58 | 显示全部楼层
咱连初学者都还算不上,也要记号一下。

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-26 19:50

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

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