⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7920c.c

📁 无线发报雨量自动站 p89lpc932 单片机CUU应用 7920显示芯片
💻 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 + -