液晶屏,C语言,单片机

哪位大侠能帮我解释一下每句的意思,非常感谢!//************128x64cogmodule*************************#include<... 哪位大侠能帮我解释一下每句的意思,非常感谢!

//************128x64 cog module*************************

#include <stc12.h>
#include <intrins.h>

//******************************************************
sbit cs =P2^0;
sbit rst =P2^1;
sbit a0 =P2^2;
sbit scl =P2^3;
sbit di =P2^4;

//******************************************************

#define nop() _nop_()

unsigned char code tab1[]=
{/*-- 宽度x高度=128x64 --*/
0xFF,0xFF,0xFF,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
0x07,0x07,0x07,0x87,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x87,0x87,
0x87,0x07,0x07,0x07,0x07,0x87,0x87,0x87,0x87,0x87,0x07,0x07,0x07,0x07,0x07,0x07,
};
//**************delay************************************
void delay_nms(unsigned int n)
{
unsigned int i,j;
for(i=n;i>0;i--)
{
for(j=125;j>0;j--)
{
}
}
}
//***************send_data********************************
void data_send(unsigned char dat)
{
unsigned char s,temp;
int i;
scl=0;
s=dat;
for(i=8;i>0;i--)
{ scl=0;
nop();
nop();
temp=s&0x80;
if(temp)
{di=1;
}
else
{di=0;
}
scl=1;
s=s<<1;
}
}

//***************write command*****************************
void wr_com(unsigned char com)
{
a0=0;
cs=0;
data_send(com);
cs=1;
}
//***************write data********************************
void wr_data(unsigned char dat)
{
a0=1;
cs=0;
data_send(dat);
cs=1;
}

//**********************************************************
void display_map(unsigned char *p)
{
unsigned char seg;
unsigned char page;
for(page=0xb0;page<0xb8;page++)
{
wr_com(page);
wr_com(0x10);
wr_com(0x00);
for(seg=0;seg<128;seg++)
{ wr_data(*p);
++p;
}
}
}

//**********************************************************
void main()
{
delay_nms(100);
rst=0;
delay_nms(100);
rst=1;
delay_nms(100);

wr_com(0xa0); //ADC normal
wr_com(0xc8); //com normal
wr_com(0xa2); //set partial display duty 1/65
wr_com(0x2c); //vc on
delay_nms(100);
wr_com(0x2e); //vr on
delay_nms(100);
wr_com(0x2f); //internal booster,follower,divided on
wr_com(0x24); //set rb/ra=5.29
wr_com(0x81); //set reference voltage select
wr_com(0x1d);
delay_nms(100);
wr_com(0xaf);
wr_com(0x40); //set start line 00

while(1)
{
display_map(tab1);
delay_nms(2000);
}
}

我实在看不懂。。。
展开
 我来答
网络全才
2013-08-28 · 超过33用户采纳过TA的回答
知道答主
回答量:158
采纳率:0%
帮助的人:81.3万
展开全部
void delay_nms(unsigned int n) 是延时子程序

void data_send(unsigned char dat) 是端口控制子程序

void wr_com(unsigned char com) 是写命令子程序

void wr_data(unsigned char dat) 是写数据子程序

void display_map(unsigned char *p) 是显示子程序

void main() 是主程序

while(1) 是一个死循环
yajuntiantian
2013-08-28 · TA获得超过483个赞
知道小有建树答主
回答量:666
采纳率:0%
帮助的人:151万
展开全部
请问你想问什么??

这个程序是串口传并口控制12864的程序!
void data_send(unsigned char dat)这个函数式串口形式把数据发送出去!

有其他的你可以看看,如果不会记得追问下
追问
这是一个显示图片的,但是我想显示汉字,不会做,做好后显示乱码。还有就是上面的程序看的不是很懂,可以帮我在每句的后面注释一下吗。谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JuggYe
2013-08-28 · 超过25用户采纳过TA的回答
知道答主
回答量:141
采纳率:100%
帮助的人:40.5万
展开全部
显示汉字要将汉字转换成字模的!就是跟你上面那个图片的一样,每个汉字是一个数组。你到网上去找一个字模转换工具
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式