当前位置:首页 > 单片机 > 单片机
[导读] 液晶使用ST7920控制器,串并行模式(本范例使用串行)/*M16驱动LCM128645,液晶芯片ST7920*/#include "j.h"#include #define light_oncbi(PORTB, 2);#define light_offsbi(PORTB, 2);void clear_all(vo

液晶使用ST7920控制器,串并行模式(本范例使用串行)

/*M16驱动LCM128645,液晶芯片ST7920

*/
#include "j.h"
#include

#define light_oncbi(PORTB, 2);
#define light_offsbi(PORTB, 2);

void clear_all(void);
//显示用指针变量
char *line1;
char *line2;
char *line3;
char *line4;


void cpu_init(void)
{
//----------- IO端口初始化 START -----------------
PORTA = 0x0;
DDRA = 0x0;

PORTB = 0xff;
DDRB = 0xff;

PORTC = 0x0;
DDRC = 0x0;

DDRD = 0x0;//D口配置为输入
PORTD = 0xff;//使能上拉电阻
//----------- IO端口初始化 END -----------------

wdt_enable(1);//看门狗使能 30MS
ACSR = 0x80;
}


/*****************************************
液晶发送子程序(串行)
输入数据:要发送的8位数据
输出:无
作者:
修改时间:2004-08-11
*****************************************/
void lcm_out(char a)
{
char i,d;
for(i=0;i<8;i++)
{
cbi(PORTB,1);
d=a&0x80;
if(d)
sbi(PORTB,0);
else
cbi(PORTB,0);
a<<=1;
sbi(PORTB,1);
}
}


/*****************************************
液晶写控制字程序
输入数据:要写入的8位数据
输出:无
作者:
修改时间:2004-08-11
*****************************************/
void wr_com(uchar a)
{
uchar s,i;
s=a&0xf0;
lcm_out(0xf8);
lcm_out(s);
s=a&0x0f;
s<<=4;
lcm_out(s);

for( i=0;i<254;i++ )//延时
{
asm("nop");
}
}
/*****************************************
液晶写数据字程序
输入数据:要写入的8位数据
输出:无
作者:
修改时间:2004-08-11
*****************************************/
void wr_date(uchar a)
{
uchar s,i;
s=a&0xf0;
lcm_out(0xfa);
lcm_out(s);
s=a&0x0f;
s<<=4;
lcm_out(s);

for( i=0;i<254;i++ )//延时
{
asm("nop");
}
}
/*****************************************
液晶初始化程序
输入数据:无
输出:无
作者:
修改时间:2004-08-11
*****************************************/
void lcm_init(void)
{
wr_com(0x30);
delay(1,8000);
wr_com(0x30);
delay(1,8000);
wr_com(0x0c);
delay(1,8000);
wr_com(0x01);//清屏
delay(10,8000);//清屏
wr_com(0x60);
delay(1,8000);
}

void clear_all(void)
{
wr_com(0x01);//清屏
delay(1,8000);//清屏
}

//----------- 整行显示函数 START -----------------
void display(void)
{
wr_com(0x80);
while( *line1!=0x00 )
{
wr_date(*line1);
line1++;
}

wr_com(0x90);
while( *line2!=0x00 )
{
wr_date(*line2);
line2++;
}

wr_com(0x88);
while( *line3!=0x00 )
{
wr_date(*line3);
line3++;
}

wr_com(0x98);
while( *line4!=0x00 )
{
wr_date(*line4);
line4++;
}
line1 = "";
line2 = "";
line3 = "";
line4 = "";
}
//----------- 整行显示函数 END -----------------


//----------- 系统初始化函数 START -----------------
void system_init(void)
{
line1 = "";
line2 = "";
line3 = "";
line4 = "";
light_on
lcm_init();
}
//----------- 系统初始化函数 END -----------------


int main(void)
{
delay(200,8000);
cpu_init();
system_init();
while(1)
{
line1 = " 欢迎光临 ";
line2 = "";
line3 = "东创科技 ";
line4 = " www.dycxin.com.cn ";
display();

delay(800,8000);
}
}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在未来的5-10年里,液晶材料仍然会是显示面板行业的主流发展方向。 上海2023年8月31日 /美通社/ -- 为了深入了解液晶材料的技术及应用,近日,网易科技以新一代智能液晶调光技术为主题,对飞凯材料全资子...

关键字: 液晶 PD 液晶材料 HC

触摸屏(Touch Panel)又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时。

关键字: 触摸屏 触控面板 液晶

从色域角度来说,普通液晶电视的NTSC色域只有70%左右(显示器追求sRGB,电视为NTSC),而一些广色域电视能达到80%以上。OLED电视先天能达到95%甚至更高,所以在色域上OLED完爆普通液晶电视

关键字: OLED 电视 液晶

OLED(Organic Light-Emitting Diode),全称“有机发光二极管”,是一种显示屏幕技术。采用OLED技术制造的OLED电视,已经不再需要液晶,RGB色彩信号直接由OLED二极管显示,几乎已经不存...

关键字: OLED 电视 液晶

显示技术是人机交互中最重要的一个分支,从材料、面板再到显示应用,都有众多优秀企业在这个领域长期耕耘。显示技术升级换代速度非常快,短短几十年来,CRT显示器已经退隐江湖,液晶曾经一统天下,现在OLED方兴未艾,而MiniL...

关键字: 液晶 OLED 材料

你们家的电视有多久没有换了?5年,还是10年?最新数据显示,去年我国彩电销量创14年来最大降幅。

关键字: 电视 彩电 液晶

超级计算机(Super computer),是指能够执行一般个人电脑无法处理的大量资料与高速运算的电脑。就超级计算机和普通计算机的组成而言,构成组件基本相同,但在性能和规模方面却有差异。

关键字: 科学家 液晶 计算机

液晶面板是决定液晶显示器亮度、对比度、色彩、可视角度的材料,液晶面板价格走势直接影响到液晶显示器的价格,液晶面板质量、技术的好坏关系到液晶显示器整体性能的高低。

关键字: 液晶 电视 面板

据TrendForce集邦咨询最新调查显示,尽管面板和零部件长短料供应问题以及宅经济效应减退等因素,影响2021年电竞液晶监视器(定义为刷新率100Hz以上)出货量。

关键字: 电竞 液晶 监视器

20世纪90年代LED技术的长足进步,不仅是发光效率超过了白炽灯,光强达到了烛光级,而且颜色也从红色到蓝色覆盖了整个可见光谱范围。这种从指示灯水平到超过通用光源水平的技术革命导致各种新的应用,诸如汽车信号灯、交通信号灯、...

关键字: LED 白炽灯 液晶
关闭
关闭