当前位置:首页 > 单片机 > 单片机
[导读]#include #include "INC\\LCD1604.H"sfr LCD_INTER = 0x80;//数据总线接口sbit LCDBUSY=LCD_INTER^7;//标志位sfr LCD_CONTROL = 0xA0;//数据总线接口sbit LCDRS=LCD_CONTROL^0;//数据、指令选择sbit LCDRW=LCD_CONTRO

#include
#include "INCLCD1604.H"


sfr LCD_INTER = 0x80;//数据总线接口
sbit LCDBUSY=LCD_INTER^7;//标志位

sfr LCD_CONTROL = 0xA0;//数据总线接口
sbit LCDRS=LCD_CONTROL^0;//数据、指令选择
sbit LCDRW=LCD_CONTROL^1;//读写选择
sbit LCDE =LCD_CONTROL^2;//使能

/******************************自定义字符*******************************/
unsigned char code Symbol[40] ={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x04,0x0E,0x1F,0x00,0x00,0x00,//UP01H
0x00,0x00,0x1F,0x0E,0x04,0x00,0x00,0x00,//DOWN02H
0x00,0x02,0x06,0x0E,0x06,0x02,0x00,0x00,//LEFT03H
0x00,0x08,0x0C,0x0E,0x0C,0x08,0x00,0x00};//RIGHT04H
/***********************************************************************/
/*名称:LCD_WriteCmd()
/*说明:向LCD送入1字节指令数据
/*输入: cmd 要输入的指令数据
/*输出:无
/***********************************************************************/
void LCD_WriteCmd(unsigned char cmd)
{
bit BF;
do
{
LCDRS=0;
LCDRW=1;
LCD_INTER = 0xFF;
LCDE=1;
BF=LCDBUSY;
LCDE=0;
}
while(BF==1);

LCDE=0;
LCDRS=0;
LCDRW=0;
LCD_INTER = cmd;
LCDE=1;
LCDE=0;
LCDRS=1;
LCDRW=1;
LCD_INTER = 0xFF;
}
/***********************************************************************/
/*名称:LCD_SendData()
/*说明:向LCD送入1字节数据
/*输入: Word 要输入的数据
/*输出:无
/***********************************************************************/
void LCD_SendData(unsigned char Word)
{
bit BF;
do
{
LCDRS=0;
LCDRW=1;
LCD_INTER = 0xFF;
LCDE=1;
BF=LCDBUSY;
LCDE=0;
}
while(BF==1);

LCDE=0;
LCDRS=1;
LCDRW=0;
LCD_INTER = Word;
LCDE=1;
LCDE=0;
LCDRS=1;
LCDRW=1;
LCD_INTER = 0xFF;
}

/**********************************************************************/
/*名称:LCD_Init()
/*说明:LCD初始化程序
/*输入: 无
/*输出:无
/**********************************************************************/
void LCD_Init(void)
{
LCD_WriteCmd(0x30);
LCD_WriteCmd(0x30);
LCD_WriteCmd(0x30);
LCD_WriteCmd(SET_FUCTION);
LCD_WriteCmd(CLEAR_WINDOW);
LCD_WriteCmd(RESET_AC);
LCD_WriteCmd(INPUT_MODE);
LCD_WriteCmd(DISPLAY_CON);
LCD_WriteCmd(CLEAR_WINDOW);
}

/**********************************************************************/
/*名称:LCD_WriteCGRam()
/*说明:写入自定义字符
/*输入: 无
/*输出:无
/**********************************************************************/
void LCD_WriteCGRam(void)
{
unsigned int i;
LCD_WriteCmd(0x40);
for(i=0;i<40;i++)
{
LCD_SendData(Symbol[i]);
}
LCD_WriteCmd(CLEAR_WINDOW);
}
/**********************************************************************/
/*名称:LCD_ByteWrite()
/*说明:LCD单字符输出程序
/*输入: pos要输出的位置
/*byte要输出的字符
/*输出:无
/**********************************************************************/
void LCD_ByteWrite(unsigned char pos,unsigned char byte)
{
LCD_WriteCmd(pos);
LCD_SendData(byte);
}

/**********************************************************************/
/*名称:LCD_StrNWrite()
/*说明:LCD指定长度字符串输出程序
/*输入:pos要输出的位置
/**str 字符串指针
/*length字符串长度
/*输出:无
/**********************************************************************/
void LCD_StrNWrite(unsigned char pos,unsigned char *str,unsigned char length)
{
unsigned char i;
LCD_WriteCmd(pos);
for(i=0;i{
LCD_SendData(*(str+i));
}
}

/**********************************************************************/
/*名称:LCD_StrWrite()
/*说明:LCD字符串输出程序
/*输入:pos要输出的位置
/**str 字符串指针
/*输出:无
/**********************************************************************/
void LCD_StrWrite(unsigned char pos,unsigned char *str)
{
unsigned char i;
LCD_WriteCmd(pos);
for(i=0;i{
LCD_SendData(*(str+i));
}
}


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

先说答案:不行。通常,reg[7:0] mem[1:0]这种写法是作为内部二维寄存器使用的,比如定义一个1KB的存储器,可以用reg[7:0] memory[0:1023],或者reg[7:0] memory [1023...

关键字: 端口 输入输出

前言 有没有发现,基本上所有的C语言入门书籍,或者是我们的教程里面,第一个C语言程序实体,都是“Hello World!”;我不知道这是不是行业的“潜规则”,总之,它把无数的程序员带进了计算机的世界,步入了代码的大坑里,...

关键字: 输入输出

PLC应用方便,可靠性高。很多设备的的电气控制,主要以开关量的I/O电气接口为主,PLC的输入端通常与现场仪表、各种开关等电器元件进行连接,PLC的输出端通常与各种类型的执行机构进行连接,如电动

关键字: 电气元件 PLC 输入输出 开关

  变频器的输入侧的测量方法   变频器的输入电源是交流50Hz电源,其测量基本与标准的工业交流电源的测量相同,但是,由于变频器的逆变侧PWM波形的影响,应注意以下所述几个问题。

关键字: 变频器 输入输出 输出电流 功率因数

卓大大 您能发篇推文讲解一下舵机控制的传递函数如何求解吗 在做智能车仿真时卡在这里了。 ▲ 舵机的传递函数如何建立 的确,宅在家里手里没有实际的智能车模,也无法实际调试。利用所学习的理论知识来对智能车建模仿真也不失为一种...

关键字: 舵机 建模仿真 输入输出 传递函数

模拟量输入/输出量程转换的概念 实际工程中,我们要面对很多工程量,如压力、温度、流量、物位等,他们要使用各种类型传感器进行测量,传感器再将测量值通过输出标准电压、电流、温度或电阻信号供

关键字: 模拟 数据类型 西门子PLC 输入输出

▲ 舵机的传递函数如何建立 的确,宅在家里手里没有实际的智能车模,也无法实际调试。利用所学习的理论知识来对智能车建模仿真也不失为一种锻炼的方法,这更能够将课内课外结合起来。 在仿真智能车控制中,有很多环节需要建模,其中的...

关键字: 舵机 建模仿真 输入输出 传递函数

支持位带操作的两个内存区的范围是:0x2000_0000‐\0x200F_FFFF(SRAM区中的最低1MB)0x4000_0000‐\0x400F_FFFF(片上外设区中的最低1MB)位带操作可以在不加任何特殊指令时实...

关键字: gpio STM32 位带操作 输入输出

(1)GPIO_Mode_AIN模拟输入(2)GPIO_Mode_IN_FLOATING浮空输入(3)GPIO_Mode_IPD下拉输入(4)GPIO_Mode_IPU上拉输入(5)GPIO_Mode_Out_OD开漏输...

关键字: STM32 输入输出
关闭
关闭