📄 7920c.c
字号:
//在ICCAVR下调试通过
//ICC-AVR application builder : 2004-6-29 9:30:58
// Target : M16
// Crystal: 3.6864Mhz
// 北京青云: 7920 LCM12864ZK 8*4汉字液晶模块
// 地址: 第一行: 0x80-0x87
// 第二行: 0x90-0x97
// 第三行: 0x88-0x8f
// 第四行: 0x98-0x9f
// 光标显示和闪烁以一个汉字为单位,因此会有两个字符同时闪烁
#include <REG932.H>
#include "rt7920.h"
//****************************************
void delayus(char us)//
{
while(us--);
}
void delayms(uint ms)
{ int j=0;
while(ms>0)
{ for (j=0; j<669; j++);//7.373Mhz
ms--;
}
}
//---------------------------------------------------------
void data_trans(char data1)//依次输出单字节八位
{
char i;
for (i=8;i!=0;i--)
{if (data1&0x80)Set_DAT;//将最高位输出
else Clr_DAT;
Clr_CLK;
data1<<=1;
Set_CLK;
}
}
//---------------------------------------------------------
void Send_CMD(char com)//输出命令串
{
char temp;
Set_CS;
temp=0xF8;//同步字节
data_trans(temp);
temp=com&0xF0;//分解命令字节
data_trans(temp);
temp=com&0x0F;temp<<=4;
data_trans(temp);
Clr_CS;
delayus(70);//延时70微秒
}
//---------------------------------------
//void LCD_Set_DDRAM(char addr)//设定LCD DDRAM 地址
//{Send_CMD(addr);}
void LCD_HOME(void)//光标归零
{Send_CMD(0x02);}
void LCD_CLR(void)//显示清零
{Send_CMD(0x01);delayms(2);}
//----------------------------------------------------------
void send_datax( char* p1,char n1)//写入n字节
{
while(n1)
{n1--;Send_DATA(*p1++);};
}
void Send_DATA(char data1)//送数据
{
char temp;
Set_CS;
temp=0xFA;//写入ram一字节
data_trans(temp);
temp=data1&0xF0;
data_trans(temp);
temp=data1&0x0F;temp<<=4;
data_trans(temp);
Clr_CS;
delayus(40);
}
//************************************************************
//************************************************************
void LCM_init(void)//功能设定
{ char i;
delayms(50);
Send_CMD(0x20);//Function Set命令必须发送两次
Send_CMD(0x20);//功能设定
Send_CMD(0x0C);//整体显示ON,游标OFF,
LCD_CLR(); //CLR
Send_CMD(0x06);//写入光标自动加 AC++
LCD_HOME();
for (i=0;i<16;i++)//写入自定义字符
{Send_CMD(0x40|i);//设定CGRAM地址0-15
Send_DATA(font_wd[i*2]);//写入预定义数据16各
Send_DATA(font_wd[i*2+1]);}
for (i=0;i<16;i++)
{Send_CMD(0x50|i);//设定CGRAM地址16-31
Send_DATA(font_bfh[i*2]);//写入预定义数据16各
Send_DATA(font_bfh[i*2+1]);}
}
//************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -