欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
值的收藏的C51單片機LCD1602庫文件
[打印本頁]
作者:
qwe1818
時間:
2017-11-28 07:54
標題:
值的收藏的C51單片機LCD1602庫文件
/**********************************************************
LCD1602 DRIVER
File Name: LCD1602.H
**********************************************************/
#ifndef LCD_CHAR_1602_2009_6_28
#define LCD_CHAR_1602_2009_6_28
#include <AT89X52.H> //因使用了P2端口定義,所以添加此文件
#include <intrins.h>
sbit LcdRs = P2^0; //定義端口
sbit LcdRw = P2^1;
sbit LcdEn = P2^2;
sfr DBPort = 0x80; //P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.????
/********************************************************
內部等待函數
********************************************************/
unsigned char LCD_Wait(void);
/*******************************************************
?LCD???????
*******************************************************/
#define LCD_COMMAND 0 // Command
#define LCD_DATA 1 // Data
#define LCD_CLEAR_SCREEN 0x01 // 清屏
#define LCD_HOMING 0x02 // 光標返回原點
void LCD_Write(bit style, unsigned char input);
/*****************************************************
??????
*****************************************************/
#define LCD_SHOW 0x04 //顯示開
#define LCD_HIDE 0x00 //顯示關
#define LCD_CURSOR 0x02 //顯示光標
#define LCD_NO_CURSOR 0x00 //無光標
#define LCD_FLASH 0x01 //光標閃動
#define LCD_NO_FLASH 0x00 //光標不閃動
void LCD_SetDisplay(unsigned char DisplayMode);
/***************************************************
??????
***************************************************/
#define LCD_AC_UP 0x02
#define LCD_AC_DOWN 0x00 // default
#define LCD_MOVE 0x01 // 畫面可平移
#define LCD_NO_MOVE 0x00 //default
void LCD_SetInput(unsigned char InputMode);
/***************************************************
初始化LCD
***************************************************/
void LCD_Initial();
/***********************************************
液晶字符輸入位
************************************************/
void GotoXY(unsigned char x, unsigned char y);
/************************************************
將字符輸出到液晶顯示
************************************************/
void Print(unsigned char *str);
#endif
#include "LCD1602.H"
/********************************************************
內部等待函數
********************************************************/
unsigned char LCD_Wait(void)
{
LcdRs=0;
LcdRw=1; _nop_();
LcdEn=1; _nop_();
LcdEn=0;
return DBPort;
}
/*******************************************************
向LCD寫入命令或數據
*******************************************************/
void LCD_Write(bit style, unsigned char input)
{
LcdEn=0;
LcdRs=style;
LcdRw=0; _nop_();
DBPort=input; _nop_();//注意順序
LcdEn=1; _nop_();//注意順序
LcdEn=0; _nop_();
LCD_Wait();
}
/*****************************************************
設置顯示模式
*****************************************************/
void LCD_SetDisplay(unsigned char DisplayMode)
{
LCD_Write(LCD_COMMAND, 0x08|DisplayMode);
}
/***************************************************
設置輸入模式
***************************************************/
void LCD_SetInput(unsigned char InputMode)
{
LCD_Write(LCD_COMMAND, 0x04|InputMode);
}
/***************************************************
初始化LCD
***************************************************/
void LCD_Initial()
{
LcdEn=0;
LCD_Write(LCD_COMMAND,0x38); //8位數據端口,2行顯示,5*7點陣
LCD_Write(LCD_COMMAND,0x38);
LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); //開啟顯示,無光標。
LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); //清屏
LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); //AC第曾,畫面不動。
}
/***********************************************
液晶字符輸入位置
************************************************/
void GotoXY(unsigned char x, unsigned char y)
{
if(y==0)
LCD_Write(LCD_COMMAND,0x80|x);
if(y==1)
LCD_Write(LCD_COMMAND,0x80|(x-0x40));
}
/************************************************
將字符輸出到液晶
************************************************/
void Print(unsigned char *str)
{
while(*str!='\0')
{
LCD_Write(LCD_DATA,*str);
str++;
}
}
復制代碼
作者:
會飛的魚1710
時間:
2019-2-28 09:00
謝謝
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1