OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5052|回复: 13

LCD12864怎样随意让一个汉字处于闪烁状态或是反白状态

[复制链接]

5

主题

18

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2019-3-19
在线时间
5 小时
发表于 2019-3-22 08:25:48 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

481

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
5075
金钱
5075
注册时间
2013-10-4
在线时间
654 小时
发表于 2019-3-22 08:25:49 | 显示全部楼层
落泪的瞬间 发表于 2019-3-22 10:41
绘图模式的函数能发一下吗

LCD12864驱动代码

LCD12864.rar

7.38 KB, 下载次数: 177

回复

使用道具 举报

33

主题

481

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
5075
金钱
5075
注册时间
2013-10-4
在线时间
654 小时
发表于 2019-3-22 08:45:25 | 显示全部楼层
LCD12864 反白显示代码
[mw_shl_code=c,true]/***********************************************************
*函数名:        void LCD12864_Set_White(unsigned char x, unsigned char y, unsigned char end_x, unsigned char clear)
*功能:        任意位置反白显示
*参数:        输入 x,y,end_x,clear
*说明:        //设定哪一行,从那一个位置开始到那一个位置结束使用反白
*                //x=液晶屏上汉字的位置(1~8);end_x=汉字结束的地址(1~8);y=1~4行
*            //clear=1:清除反白;clear=0:设置反白
**********************************************************/
void LCD12864_Set_White(unsigned char x, unsigned char y, unsigned char end_x, unsigned char clear)
{
        unsigned char i, j;
        unsigned char white_x, white_y , white_end_x;
        unsigned char clr_x, clr_y;
        white_end_x = end_x-x+1;
        white_end_x <<= 1;
        LCD12864_Set_Draw(ON);
        switch (y)
        {
                case 1:        //第一行
                        white_x = 0x80+x-1;
                        white_y = 0x80;
                        clr_x = 0x80;
                        clr_y = 0x80;
                        break;
                case 2:        //第二行
                        white_x = 0x80+x-1;
                        white_y = 0x90;
                        clr_x = 0x80;
                        clr_y = 0x90;
                        break;
                case 3:        //第三行
                        white_x = 0x88+x-1;
                        white_y = 0x80;
                        clr_x = 0x88;
                        clr_y = 0x80;
                        break;
                case 4:        //第四行
                        white_x = 0x88+x-1;
                        white_y = 0x90;
                        clr_x = 0x88;
                        clr_y = 0x90;
                        break;
                default:
                        break;
        }
       
        for (i=0 ; i<16; i++)
        {
                WriteCom(white_y++);        //设置绘图区的Y地址坐标0
                WriteCom(white_x);            //设置绘图区的X地址坐标0
                for (j=0; j<white_end_x; j++)
                {
                        //clear = 1取消这一行的8个点的反白,液晶地址自动加1(此处行指一个一个液晶点所组成的行)
                        //clear = 0反白这一行的8个点,液晶地址自动加1(此处行指一个一个液晶点所组成的行)       
                        clear ? WriteData(Clr) : WriteData(0xff);//clear=1,write_data(0x00);clear=0,write_data(0xff)                       
                }
        }
        LCD12864_Set_Draw(OFF);
}[/mw_shl_code]
回复

使用道具 举报

5

主题

18

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2019-3-19
在线时间
5 小时
 楼主| 发表于 2019-3-22 09:52:15 | 显示全部楼层
2449164582 发表于 2019-3-22 08:45
LCD12864 反白显示代码
[mw_shl_code=c,true]/******************************************************** ...

LCD12864_Set_Draw  这个函数是什么
回复

使用道具 举报

5

主题

18

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2019-3-19
在线时间
5 小时
 楼主| 发表于 2019-3-22 09:53:10 | 显示全部楼层
2449164582 发表于 2019-3-22 08:45
LCD12864 反白显示代码
[mw_shl_code=c,true]/******************************************************** ...

能发一下所有源代码吗?谢谢
回复

使用道具 举报

33

主题

481

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
5075
金钱
5075
注册时间
2013-10-4
在线时间
654 小时
发表于 2019-3-22 10:22:48 | 显示全部楼层
落泪的瞬间 发表于 2019-3-22 09:52
LCD12864_Set_Draw  这个函数是什么

设置为绘图模式
回复

使用道具 举报

5

主题

18

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2019-3-19
在线时间
5 小时
 楼主| 发表于 2019-3-22 10:41:49 | 显示全部楼层

绘图模式的函数能发一下吗
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2019-3-22 11:18:07 | 显示全部楼层
自己做的字库打点显示的话反色不就是写1你写0 写0你写1呀
回复

使用道具 举报

5

主题

18

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2019-3-19
在线时间
5 小时
 楼主| 发表于 2019-3-22 18:32:27 | 显示全部楼层

clear ? WriteData(Clr) : WriteData(0xff);


mode ? (WriteCom(DrawON)) : (WriteCom(BasInsLib));

这两句没看懂,问号是什么意思?我应该怎么该?还有主函数里应该怎样设置?我是初学者,希望您能详细帮我解答一下,非常感谢
回复

使用道具 举报

33

主题

481

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
5075
金钱
5075
注册时间
2013-10-4
在线时间
654 小时
发表于 2019-3-22 19:19:20 | 显示全部楼层
落泪的瞬间 发表于 2019-3-22 18:32
clear ? WriteData(Clr) : WriteData(0xff);

这是c语言的条件选择语句,‘?’前面的为真,走‘:’前面的,否则’:‘后面的
回复

使用道具 举报

5

主题

18

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2019-3-19
在线时间
5 小时
 楼主| 发表于 2019-3-22 19:42:47 | 显示全部楼层
我用keil5写的程序,这个写法显示是错误的
回复

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2019-3-23 07:31:45 | 显示全部楼层
落泪的瞬间 发表于 2019-3-22 19:42
我用keil5写的程序,这个写法显示是错误的

这是C语言标准写法,是不会错的,再检查一下格式
回复

使用道具 举报

33

主题

481

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
5075
金钱
5075
注册时间
2013-10-4
在线时间
654 小时
发表于 2019-3-23 08:12:08 | 显示全部楼层
落泪的瞬间 发表于 2019-3-22 19:42
我用keil5写的程序,这个写法显示是错误的

这是C的标准语法啊
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2019-8-4
在线时间
8 小时
发表于 2019-11-25 13:43:36 | 显示全部楼层
这个反白速度好像太慢了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 06:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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