导航:首页 > 操作系统 > 彩屏单片机

彩屏单片机

发布时间:2022-01-20 03:13:33

A. 单片机如何写TFT彩屏的程序

武汉 谷鑫科技专业从事单片机驱动TFT彩屏的研发和生产。
下面是TFT6448BS-5.7模块的驱动程序:
sfr AUXR = 0x8e;//////////////////////////////////注意增加该语句。
#include <reg51.h>
#include <absacc.h>
#define X_ADDR XBYTE[0x0000]
#define Y_ADDR XBYTE[0x0100]
#define CMD XBYTE[0x0200]
#define DAT XBYTE[0x0300]
unsigned char code zk[32] = {//请
0x00, 0x47, 0x20, 0x23, 0x00, 0xEF, 0x20, 0x23, //left
0x22, 0x23, 0x22, 0x23, 0x2A, 0x32, 0x22, 0x02,
0x48, 0xFC, 0x40, 0xF8, 0x40, 0xFE, 0x08, 0xFC, //right
0x08, 0xF8, 0x08, 0xF8, 0x08, 0x08, 0x28, 0x10};
unsigned char code picture[];
main()
{
unsigned int x,y,x2,y2;
unsigned int i;
unsigned char key,x1,y1,j,k,z,m,n,bright;
AUXR = 0x02;//////////////////////////////////注意增加该语句。
bright = 8;

key = 0;//////////////////////////////////////选择液晶屏型号
//0:TFT2432;
//1:TFT3224;
//2:TFT480234
//3:TFT480272
//4:TFT6448
//5:TFT8048
//6:TFT8060
//7:TFT8060

if(P13==4)
{
if(key==0){x2=240;y2=320;x1=6; y1=16; goto loop1;}//x1/32,y1/20
if(key==1){x2=320;y2=240;x1=8; y1=12; goto loop1;}
if(key==2){x2=480;y2=240;x1=12;y1=12; goto loop1;}
if(key==3){x2=480;y2=272;x1=12;y1=14; goto loop1;}
if(key==4){x2=640;y2=480;x1=16;y1=24; goto loop1;}
if(key==5){x2=800;y2=480;x1=20;y1=24; goto loop1;}
if(key==6){x2=800;y2=600;x1=20;y1=30; goto loop1;}
if(key==7){x2=800;y2=600;x1=20;y1=30; goto loop1;}//亮度测试
}

loop1:
bright--;if(bright==255)bright=7;
CMD = 0x06;
DAT = bright;

///////////////////////以下是清屏功能///////////////////////////////////////
//用红色清屏
CMD = 0x04;DAT = 0xe0;//背景色
CMD = 0x08;//启动填充操作
for(y=0;y<260*12;y++);//延时16.6毫秒
CMD = 0x00;//退出填充操作
///////////////////////以上是清屏功能///////////////////////////////////////

while(key==7)
{
for(bright=7;bright!=255;bright--)
{
CMD = 0x06;
DAT = bright;
for(y=0;y<15;y++){x=1;while(x!=0)x++;}
}
CMD = 0x20;//关断显示,poweroff
for(y=0;y<15;y++){x=1;while(x!=0)x++;}
key = P1&0x07;
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用红色清屏
CMD = 0x04;DAT = 0x1c;//背景色
CMD = 0x08;//启动填充操作
for(y=0;y<260*12;y++);//延时16.6毫秒
CMD = 0x00;//退出填充操作

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用红色清屏
CMD = 0x04;DAT = 0x03;//背景色
CMD = 0x08;//启动填充操作
for(y=0;y<260*12;y++);//延时16.6毫秒
CMD = 0x00;//退出填充操作

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用红色清屏
CMD = 0x04;DAT = 0x00;//背景色
CMD = 0x08;//启动填充操作
for(y=0;y<260*12;y++);//延时16.6毫秒
CMD = 0x00;//退出填充操作

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//用红色清屏
CMD = 0x04;DAT = 0xff;//背景色
CMD = 0x08;//启动填充操作
for(y=0;y<260*12;y++);//延时16.6毫秒
CMD = 0x00;//退出填充操作
///////////////////////以上是清屏功能///////////////////////////////////////

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

///////////////////////以下是测试8点写功能///////////////////////////////////////
//8点写模式下清屏DAT=0;
CMD = 0x02;DAT=0xff;//前景色
CMD = 0x04;DAT=0x00;//背景色
CMD = 0x01;
for( y=0;y<y2;y++ )//用前景色清屏
{
X_ADDR = 0;
X_ADDR = 0;
Y_ADDR = y; ;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
for( x=0;x<(x2/8);x++ )DAT=0x55;
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

for( y=0;y<y2;y++ )//用背景色清屏
{
X_ADDR = 0;
X_ADDR = 0;
Y_ADDR = y;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
for( x=0;x<(x2/8);x++ )DAT=0x0f;
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//8点写模式下写单色图片
CMD = 0x02;DAT=0x00;//前景色
CMD = 0x04;DAT=0xff;//背景色
CMD = 0x01;
for (y=0; y<80; y++)
{
X_ADDR = 0;
X_ADDR = 0;
Y_ADDR = y;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
for ( n=0; n<10; n++) DAT = picture[y*10+n];
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//8点写模式下写汉字
CMD = 0x02;DAT=0x00;//前景色
CMD = 0x04;DAT=0xff;//背景色
CMD = 0x01;
for ( n=0; n<=15; n++ )
{
X_ADDR = 0;
X_ADDR = 0;
Y_ADDR = n;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
DAT = zk[n];
DAT = zk[n+16];
}

for(y=0;y<1;y++){x=1;while(x!=0)x++;}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

//以下是测试单点写
CMD = 0x00;
i=0;
for(j=0;j<x1;j++)//20,x/40
{for (z=0;z<y1;z++)//24,y/20
{for (k=0;k<20;k++)
{x=j*40;
y=z*20+k;
X_ADDR = x;
if(key!=0)X_ADDR = x/256;
Y_ADDR = y;
if( ((key==1)|(key==2))==0 )Y_ADDR = y/256;
for (m=0;m<40;m++)DAT = i;
}
i++;
}
}
for(y=0;y<1;y++){x=1;while(x!=0)x++;}

http://tieba..com/club/10621043/p/14619152

B. 51单片机上的彩屏液晶如何显示图片,怎么做这个实验,能不能写点简单的c程序。

你用的是普通的51吗?一般彩屏显示图片都是通过读SD卡来实现的,因为单片机的内存太小
如果你需要显示很小的图标51还可以实现
具体做法是:先找到真彩的小图标,用软件把图标取模(把图标的数据显示出来)
然后写到单片机里
如果读SD卡来显示图片的话 就需要先学习SD卡的协议
自我感觉普通的51根本不能很好的驾驭彩屏

C. 初学单片机 是选择彩屏单片机开发板 还是选择单色单片机开发板好呢

我认为在读写彩色和单色屏时,它们的读写时序都是类似的,它们的区别在于,送给屏的显示数据不同。
但从学习的过程上来看,我推荐,在初学时,先学会能够点亮单色屏,然后再学会如何点亮彩色屏,因为单色屏的驱动程序要稍微简单一点。
从以后液晶屏的选用上来看,彩色屏将是趋势。

D. 求高手指点,单片机怎么用TFT 彩屏显示图像

一般的单片机直接驱动TFT彩屏很困难,资源以及速度都达不到。驱动颜色数较少的低分辨率小尺寸屏还可以。
彩屏驱动还是用32位的ARM做吧。
如果一定要用普通的单片机驱动TFT彩屏,就选通用的彩色液晶模块吧,这个液晶已经用32位的嵌入式处理器做好了驱动,并开发了指令集,你只需通过串口对液晶模块发命令即可,如显示文字,画线,画园,显示预存的图像等。液晶具体驱动已经由模块内部做好了。这样的彩色模块市场有售,北京迪文科技的就不错,价位也不高

E. 谁能给一个TFT真彩屏的程序,用C51写,STC单片机用的,谢谢

这个是存储空间是程序定义的 或者说是交给编译器定的

电路和程序都有

买个开发板 问题解决 学生为了将来的工作也应该好好学习下单片机

这个开发板带了USB的仿真和编程功能 一板在手就可以开始学习了

shop_avrvi_com/goods-332.html (麻烦把下划线换成点)

F. c51单片机tft彩屏开发会经常用到吗

我建议你还是买过一块液晶学。是这样的:对于工业控制的话我们常用4寸的液晶(我因为成本问题买了3.2寸的- -),你要搞清楚的是液晶屏显示原理,然后要学会配置相关的寄存器。对于买回来的液晶模块还是简单的,你觉得液晶的手册难懂的话,你必须看懂人家的代码。到了你学arm11(推荐你买arm6410的)用的不是一般的液晶模块,而是大TFT屏,人家单片机内部还集成液晶控制模块。因此你要通过简单的液晶模块掌握液晶编程套路(显示文字,图片),在你学arm11的LCD驱动时因为你有着基础,可以专注于新的知识:配置单片机液晶控制接口然后根据时序图配置寄存器。这是我给你的建议,我大四了,学校教arm7但是感觉没什么用,我买了一块cortex a8板子,太高级了,玩起来够呛的。人家用的多数是6410驱动。所以我建议你买arm6410的板子,因为它资料多和视频也多。你买了高级板子吃不消的是自己。。。总之液晶屏你不许不会,工业控制的51,avr,arm7你怎么和用户进行交互?通过液晶屏。上了操作系统的arm11 cortexA8 更不可能不用液晶屏。并且大屏的TFT液晶也比工控的液晶屏(我们51上的液晶屏模块)复杂。正如一部手机,可能用6410作为cpu,但是谁的手机能不用液晶屏呢?是吧?

G. TFT彩屏一般用什么单片机avr的什么款可以C51内核的什么款可以

那要看你拿来干嘛了。如果要刷屏速度要求不高,一般的单片机都可以。 如果想稍微快点的,可以用1T的单片机,比如STC12C5A系列的单片机。我用来做过3.2寸示波器显示+触摸没问题。

H. TFT彩屏与哪些51单片机才能配合使用89C58可以吗

如果TFT的驱动方式是用CPU总线方式,比如80或者68时序的话,可以用单片机IO模拟时序并驱动,但是速度会非常慢,因为单片机的频率太低了。

I. 用51单片机如何控制TFT彩屏

如果只用51的话,控制不了。因为TFT彩屏的数据处理量不是51能完成的,如果非要用51控制,中间要加个控制卡。
51只是8位机,也就是同一时刻最多处理8位数据。
建议用16位机或者是32位机控制彩屏。

J. 怎么学单片机彩屏

买一块彩屏,自己动手做,是一个捷径。

阅读全文

与彩屏单片机相关的资料

热点内容
工作三年的大专程序员 浏览:727
java毕业设计文献 浏览:140
筹码集中度指标源码 浏览:480
listsortjava 浏览:183
plc闪光电路编程实例 浏览:299
socket编程试题 浏览:204
华为的服务器怎么设置从光驱启动 浏览:869
程序员真的累吗 浏览:326
学信网app为什么刷脸不了 浏览:873
天蝎vs程序员 浏览:994
单片机下载口叫什么 浏览:188
程序员的道 浏览:926
云服务器不实名违法吗 浏览:558
怎样查看文件夹图片是否重复 浏览:995
文件怎么导成pdf文件 浏览:808
打开sql表的命令 浏览:103
安卓手机如何面部支付 浏览:38
天元数学app为什么登录不上去 浏览:825
明日之后为什么有些服务器是四个字 浏览:104
安卓系统l1是什么意思 浏览:26