51单片机控制TFT屏如何使显示的汉字向左或向右移出去,实现滚屏,谢谢!!
答案:4 悬赏:10 手机版
解决时间 2021-02-20 09:54
- 提问者网友:暗中人
- 2021-02-19 15:48
单行字幕向左或向右移动,从而完成整屏的移动!!完成时间可以控制……
最佳答案
- 五星知识达人网友:神的生死簿
- 2021-02-19 16:59
#include
#include
#include "array.h"
//--重定义函数变量--//
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
//--定义SPI要使用的 IO--//
sbit MOSIO = P3^4;
sbit R_CLK = P3^5;
sbit S_CLK = P3^6;
//--全局函数声明--//
void HC595SendData( uchar BT3, uchar BT2,uchar BT1,uchar BT0);
void main(void)
{
int k, j, ms;
//--定义一个指针数组指向每个汉字--//
uchar *p[] =
{tab17, tab1, tab2, tab3, tab4, tab5, tab6, tab7, tab8,
tab9, tab10, tab11, tab12, tab13, tab14, tab15, tab16};
while(1)
{
for(ms = 20; ms > 0; ms--) //移动定格时间设置
{
for(k = 0; k < 16; k++) //显示一个字
{
HC595SendData(~(*(p[0] + 2*(k+j) + 1)),~(*(p[0] + 2*(k+j) )),tab0[2*k],tab0[2*k + 1]); //因为字模软件取的数组是高电平有效,所以列要取反
}
//--清屏--//
HC595SendData(0xff,0xff,0,0); //清屏
}
j++;
if(j == (17*15) )
{
j = 0;
}
}
}
void HC595SendData( uchar BT3, uchar BT2,uchar BT1,uchar BT0)
{
uchar i;
//--发送第一个字节--//
for(i=0;i<8;i++)
{
MOSIO = BT3 >> 7 ; //从高位到低位
BT3 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--发送第一个字节--//
for(i=0;i<8;i++)
{
MOSIO = BT2 >>7; //从高位到低位
BT2 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--发送第一个字节--//
for(i=0;i<8;i++)
{
MOSIO = BT1 >> 7; //从高位到低位
BT1 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--发送第一个字节--//
for(i=0;i<8;i++)
{
MOSIO = BT0 >> 7; //从高位到低位
BT0 <<= 1;
S_CLK = 0;
S_CLK = 1;
}
//--输出--//
R_CLK = 0; //set dataline low
R_CLK = 1; //片选
R_CLK = 0; //set dataline low
}
全部回答
- 1楼网友:有你哪都是故乡
- 2021-02-19 19:33
你好!你的TFT屏什么型号
- 2楼网友:上分大魔王
- 2021-02-19 19:11
你都玩起了彩屏,不会玩滚屏?
不会吧
- 3楼网友:野味小生
- 2021-02-19 18:32
你使用什么模式点的屏啊? 如果是rgb先查查db信号再查hs vs dclk信号,如果是cpu的话就检查下code有没有下进去。先去研究下喽,有事再联系!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯