搜索
bottom↓
回复: 25

求助:跪求nokia5110曲线显示代码!

[复制链接]

出0入0汤圆

发表于 2012-7-8 22:14:56 | 显示全部楼层 |阅读模式
跪求nokia5110曲线显示代码!


如何描点?

比如读取温度,并在5110上显示变化的温度曲线。


或者 y=sin(x) 函数显示。


我用的51的芯片

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-7-9 05:04:46 | 显示全部楼层
对一列的每一个点取模(共48个),然后在循环写每一列的时候根据值的不同选用用不同的元素。
x[48][]=
{
    {……},
    {……},
    ……
}

void show()
{
       uchar i;
       for(i = 0; i < 84; i++ )
             Draw_Bmp_Pic(i,0,x[NUM],1,48);
}

其中void Draw_Bmp_Pic(uchar X,uchar Y,uchar *map,uchar Pix_x,uchar Pix_y);

出0入0汤圆

发表于 2012-7-9 06:40:20 | 显示全部楼层
跪求nokia5110曲线显示代码!


1. if you had the brain to write the code yourself, you wouldn't have needed the code.
2. if you didn't have the brain to write the code yourself, you couldn't have used the code.

btw, no one should give anything to an adult who 跪求 anything.

if you are a 3-yr old, I would be happy to help you, though.

出0入0汤圆

发表于 2012-7-9 08:45:34 | 显示全部楼层
millwood0 发表于 2012-7-9 06:40
1. if you had the brain to write the code yourself, you wouldn't have needed the code.
2. if you d ...

现在的孩纸膝盖都不怕疼滴。

出0入0汤圆

发表于 2012-7-9 08:47:17 | 显示全部楼层
线是点构成的。
我只能告诉你这个。

出0入85汤圆

发表于 2012-7-9 09:20:58 | 显示全部楼层
在MCU中劈个显存,84×48/8

出0入0汤圆

发表于 2012-7-9 11:43:45 | 显示全部楼层
温度变化不快的话(比如气温)直接画点就行

出0入0汤圆

 楼主| 发表于 2012-7-9 14:49:28 | 显示全部楼层
millwood0 发表于 2012-7-9 06:40
1. if you had the brain to write the code yourself, you wouldn't have needed the code.
2. if you d ...

can you speak chinese?

U say right,bu i am fool.

I  have been trying use my head.

my english  is  not  good.

haha~


I M greenhand, but i dont  give up

出0入0汤圆

 楼主| 发表于 2012-7-9 14:50:12 | 显示全部楼层
fsclub 发表于 2012-7-9 08:47
线是点构成的。
我只能告诉你这个。

我也知道,其实就是画点,只要地址选对就行了。 地址 那块 不懂

出0入0汤圆

 楼主| 发表于 2012-7-9 14:50:48 | 显示全部楼层
marshallemon 发表于 2012-7-9 09:20
在MCU中劈个显存,84×48/8

就是 不懂 这个地址怎么分配的

有什么推荐的资料吗

出0入0汤圆

 楼主| 发表于 2012-7-9 14:51:09 | 显示全部楼层
BXAK 发表于 2012-7-9 11:43
温度变化不快的话(比如气温)直接画点就行

嗯 地址 总设不对

出0入0汤圆

 楼主| 发表于 2012-7-9 14:52:44 | 显示全部楼层
xsh2005105326 发表于 2012-7-9 08:45
现在的孩纸膝盖都不怕疼滴。

其实 求了,我会 学习并看的,并不是 抄个 代码 就了事了。

出0入85汤圆

发表于 2012-7-9 15:01:29 | 显示全部楼层
呼兰大侠 发表于 2012-7-9 14:50
就是 不懂 这个地址怎么分配的

有什么推荐的资料吗

资料是没有,大体的思想可以告诉你一下,LCD通常都是分PAGA的,这个page就是一个字节8个位,所以你在直接对LCD操作时,你最少是写8个位,对于黑白LCD来说就是8个点,你现在需要的是对LCD上的任意一点操作而不影响其他已显示的数据,如果你采用可以读的LCD,这时你可以将欲写入的单元的数据读出,然后通过逻辑操作,与或非异或后重新写入,我 记得5110是不支持读的,所以你需要劈一部分内存作为显示缓冲区,每次直接对现实缓冲区操作,操作后全部或局部的将显示缓冲区的数据刷新在LCD上

出0入0汤圆

发表于 2012-7-9 18:27:22 | 显示全部楼层
没大内存的51就不要开辟缓冲区了(缓冲区要504字节的RAM,像C8051f340有4K多的RAM、STC12C5A系列有1K多的RAM……不知你用什么51),
小内存的51画气温变化的话,直接描点算了,
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数: 画点
入口:点坐标(x:0~83,y:0~47)
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void L3310_Show_xy(uint8 x, uint8 y)
{
        L3310_xy(x,(5-y/8));
        L3310_write_byte( (0x80>>(y%8)) , 1 );
}
像屏的左边、下边要刻度的话(如:左边温度刻度、下边时间刻度),画点的时候x、y就要加相应的偏移量,不然刻度会被覆盖,参考图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-7-9 19:02:55 | 显示全部楼层
那个画点函数看上去不错啊!试试看!

出0入0汤圆

 楼主| 发表于 2012-7-9 20:15:29 | 显示全部楼层
BXAK 发表于 2012-7-9 18:27
没大内存的51就不要开辟缓冲区了(缓冲区要504字节的RAM,像C8051f340有4K多的RAM、STC12C5A系列有1K多的RA ...

才学用的51, 好多不懂, 真是 太感谢你了。

出0入0汤圆

 楼主| 发表于 2012-7-9 20:15:46 | 显示全部楼层
jlhgold 发表于 2012-7-9 19:02
那个画点函数看上去不错啊!试试看!

嗯啊
!!

出0入0汤圆

发表于 2012-7-9 21:40:06 | 显示全部楼层
话说刚才手机没仔细看,本以为代码简洁效率高,貌似最后还不如我自己写的一团糟的快一点

出0入0汤圆

发表于 2012-7-9 21:57:32 | 显示全部楼层
jlhgold 发表于 2012-7-9 21:40
话说刚才手机没仔细看,本以为代码简洁效率高,貌似最后还不如我自己写的一团糟的快一点 ...

想快,空间换速度,也就是2楼的方法,应该是最快的了,
像气温描点,犯不着,用最省代码够了(我万年历中用的芯片是STC12C5410,10K的程序空间严重不足)

出0入0汤圆

发表于 2012-7-9 22:09:56 | 显示全部楼层
BXAK 发表于 2012-7-9 21:57
想快,空间换速度,也就是2楼的方法,应该是最快的了,
像气温描点,犯不着,用最省代码够了(我万年历中 ...

10k也挺大了,虽然我的程序空间都是>48k的,ram至少也有1k!哈哈!换空间其实也没什么,就要看有没有这个必要,画慢速的东西确实没有用2楼的必要。

出0入0汤圆

发表于 2012-7-9 22:16:07 | 显示全部楼层
点阵屏画线都比较简单啊,线是很多点构成的,而点阵屏正好给出了xy两个坐标,你可以看做是我们平时画图的xy两条轴就可以了~

出0入0汤圆

发表于 2012-7-9 22:23:32 | 显示全部楼层
jlhgold 发表于 2012-7-9 22:09
10k也挺大了,虽然我的程序空间都是>48k的,ram至少也有1k!哈哈!换空间其实也没什么,就要看有没有这 ...

10K code不大啊,连片内的12K EEPROM也用完了(就是code不够用,本来很多放在code的数据都往EEPROM里面使劲塞了),
那片STC12C5410搁放几年了,做多功能万年历之前就想到用它可能会空间不够,但还是用了,不想浪费

出0入0汤圆

发表于 2012-7-10 09:50:53 | 显示全部楼层
画点函数不错,学习了

出0入0汤圆

发表于 2013-3-27 01:37:01 | 显示全部楼层
改装了一下,可以画点和擦点了。
/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数: 画点
入口:点坐标(x:0~83,y:0~47) (color :0~白色 1~黑色)
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void DrawPoint(u8 x, u8 y , u8 color)
{
        LCD_pos_byte(x,(5-y/8));
                if(color==0)
                {
                LCD_write_byte( (0x00>>(y%8)) , 1 );        
                }
                else
                {
                        LCD_write_byte( (0x80>>(y%8)) , 1 );        
                }
}

出0入0汤圆

发表于 2013-3-27 17:19:30 | 显示全部楼层
收藏中这个必须的

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-29 08:17

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

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