一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
楼主: junyee
收起左侧

[其他DIY] 看我做的"电子书"

[复制链接]
 楼主| 发表于 2015-6-14 09:21 | 显示全部楼层
本帖最后由 junyee 于 2015-6-14 09:26 编辑

有些朋友想要我的点屏代码,这里奉上,不过不是免费的哦,20金币,在乎的请绕道,其实多回几个贴就回来了,毕竟我写函数也要时间的,


注意了,屏里有个显示汉字的函数,请自行删除,因为显示汉字要外部汉字字库支持.

,程序经过多次改进,BUG会有.要改起来很不容易,因为除去bootloader 占用的0.5K,MCU还有7.5K(7680B)可用.
现在的程序已经撑暴了,删减了部分汉字后,勉强控制在 7680B以内,现在是7666B.

要大改进的话,只有换更在程序空间的MCU了.

lcm_uc1698u.zip

1.84 KB, 阅读权限: 20, 下载次数: 19, 下载积分: 一乐金币 -1

售价: 10 人民币  [记录]

我写的点屏函数

Project.zip

4.49 KB, 下载次数: 92, 下载积分: 一乐金币 -1

编译好的程序.

发表于 2015-6-14 16:18 | 显示全部楼层
junyee 发表于 2015-6-14 09:21
有些朋友想要我的点屏代码,这里奉上,不过不是免费的哦,20金币,在乎的请绕道,其实多回几个贴就回来了,毕竟我 ...

无意中看到,谢谢你的点屏函数。
发表于 2015-6-14 17:07 | 显示全部楼层
没有背光?看起来多累啊
 楼主| 发表于 2015-6-14 20:06 | 显示全部楼层
szywang 发表于 2015-6-14 17:07
没有背光?看起来多累啊

谁说没有背光?
不过白天强光下,不开背光,这才是我喜欢的效果.

整机,开机后维持电流在10ma左右,点灯后2Xma.我用的1000ma电池.能看好久了.

再附上,串口下载的相关程序和工具.

STM8S103串口下载.zip

799.71 KB, 阅读权限: 20, 下载次数: 2, 下载积分: 一乐金币 -1

售价: 10 人民币  [记录]

发表于 2015-7-3 08:26 | 显示全部楼层
这个屏灰度能调吗?
发表于 2015-7-3 23:37 | 显示全部楼层
一地口水
发表于 2015-7-4 08:09 来自手机 | 显示全部楼层
想问下楼主,这个屏用的什么型号的驱动芯片
发表于 2015-9-30 21:09 | 显示全部楼层
写着啊UC1698
发表于 2015-12-15 01:01 | 显示全部楼层
本帖最后由 nengcai0313 于 2015-12-15 01:32 编辑

我按照楼主的点亮程序,调试了一整个晚上,都没能点亮,不知道能否提供更详细的信息?
我按照如下引脚接线:
1234567891011121314151617181920212223242526
NCD7D6D5D4D3D2D1D0RSTWR0WR1C/DCSBM0TST0GNDVCCC1C2C2C1C3C3VLEDNC

泵电容使用的是1UF独石电容,VCC为3.3V,单片机为ATmega8A。数据口为PortD,控制口为PortC,移植的你的点亮程序
程序基本如下:
  1. #define DATA_PORT        PORTD               
  2. #define RDATA_PORT        PIND               
  3. #define DDR_IN                DDRD=0x00;               
  4. #define DDR_OUT                DDRD=0xff;
  5. #define CMD_PORT        PORTC

  6. #define RST                        PC0
  7. #define WR0                        PC1
  8. #define WR1                        PC2
  9. #define CD                        PC3
  10. #define CS                        PC4
  11. #define RST_H        CMD_PORT|=(1<<RST)
  12. #define RST_L        CMD_PORT&=~(1<<RST)
  13. #define WR0_H        CMD_PORT|=(1<<WR0)
  14. #define WR0_L        CMD_PORT&=~(1<<WR0)
  15. #define WR1_H        CMD_PORT|=(1<<WR1)
  16. #define WR1_L        CMD_PORT&=~(1<<WR1)
  17. #define CD_H        CMD_PORT|=(1<<CD)
  18. #define CD_L        CMD_PORT&=~(1<<CD)
  19. #define CS_H        CMD_PORT|=(1<<CS)
  20. #define CS_L        CMD_PORT&=~(1<<CS)

  21. void LCM_1698U_SendData(unsigned char data)
  22. {        
  23.         DATA_PORT = data;
  24.         CD_H;
  25.         CS_L;        
  26.         WR0_L;
  27.         _delay_us(1);
  28.         WR0_H;
  29.         _delay_us(1);
  30.         CS_H;
  31. }

  32. void LCM_1698U_SendCmd(unsigned char data)
  33. {        
  34.         DATA_PORT = data;
  35.         CD_L;
  36.         CS_L;
  37.         WR0_L;
  38.         _delay_us(1);
  39.         WR0_H;
  40.         _delay_us(1);
  41.         CS_H;
  42.         CD_H;
  43. }
复制代码
  1. void LCM_1698U_Init()
  2. {
  3.         RST_L;
  4.         _delay_ms(50);
  5.         RST_H;
  6.         _delay_ms(300);
  7.         ////////////////////////////////////////////
  8.         LCM_1698U_SendCmd(0xe2);    //软件复位.
  9.         _delay_ms(50);
  10.         LCM_1698U_SendCmd(0x25);    //温度补偿-0.05%/C
  11.         LCM_1698U_SendCmd(0x2b);    //开电荷泵
  12.         _delay_ms(20);                                //延时避免干扰
  13.        
  14.         LCM_1698U_SendCmd(0xc4);    //LCD 映像 MY=1 MX=0 LC0=0
  15.         LCM_1698U_SendCmd(0xa1);    //行扫描频率 FR=62.5HZ
  16.         LCM_1698U_SendCmd(0xd1);    //彩色数据格式:RGB
  17.         LCM_1698U_SendCmd(0xd5);    //彩色数据位 RRRR-GGGG-BBBB
  18.        
  19.         LCM_1698U_SendCmd(0xc8);    //设置M数据为帧翻转
  20.         LCM_1698U_SendCmd(0x00);    //
  21.        
  22.         LCM_1698U_SendCmd(0xe8|0x01);    //偏压比为 1/10     BR[1:0]
  23.         LCM_1698U_SendCmd(0xa6);    //正性显示
  24.         LCM_1698U_SendCmd(0xa4);    //正常显示(非全黑)
  25.        
  26.         LCM_1698U_SendCmd(0x81);    //设置对比度 BF     PM[7:0]
  27.         LCM_1698U_SendCmd(0x55);    //
  28.        
  29.         LCM_1698U_SendCmd(0xd8);    //扫描模式.
  30.        
  31.         LCM_1698U_SendCmd(0xa9);    //显示开. +2开灰度
  32.         _delay_ms(100);
  33.        
  34.         //LCM_1698U_SendCmd(0xa5);  //all pixel on.
  35. }
复制代码
在测试中,无意中VCC与19口短接,也就是VCC与泵电容的一脚短接,屏幕有反映,变为全黑,中间一条竖线。我猜测也许是泵电容的问题?
期待楼主的解答。



发表于 2015-12-15 01:06 | 显示全部楼层
也有可能是我的引脚和楼主程序中的不对应。
我看楼主程序中的引脚跟PDF中的对应不上。

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-18 10:47 , Processed in 0.063335 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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