欢迎来到51自学网!

51自学网

当前位置: 主页 > 软件教程 > 单片机教程 >

74HC595驱动LCD1602程序

时间:2018-08-19 00:20来源:网络整理 作者:51自学网
为了节约端口,1602液晶我也改为595来驱动了,一共有2个文件都在下面,程序本人测试通过,在你自己的应用中只需要修改端口即可. /////////////////////////////////////////////////////////////////

为了节约端口,1602液晶我也改为595来驱动了,一共有2个文件都在下面,程序本人测试通过,在你自己的应用中只需要修改端口即可.

////////////////////////////////////////////////////////////////////////// #include <LCD1602.H> unsigned char code Text_1 []="0123456789abcdef";//16位字符 unsigned char code Text_2 []="0123456789ABCDEF";//16位字符 void LCD_MS(ms) { unsigned int x,y; for(x=ms;x>0;x--) for(y=60;y>0;y--); } void Write_595(unsigned char Data) { unsigned char j; SH_CP=0; ST_CP=1; for (j=0;j<8;j++) { Data=Data<<1; DS_595=CY; SH_CP=1; LCD_MS(1); SH_CP=0; } ST_CP=0; LCD_MS(1); ST_CP=1; LCD_MS(1); ST_CP=0 ; } void LCD_Write_Com(unsigned char LCD_Com)//LCD写命令 { LCD_RS=0; LCD_EN=1; Write_595(LCD_Com); LCD_MS(5); LCD_EN=0; } void LCD_Write_Data(unsigned char LCD_Data)//LCD写数据 { LCD_RS=1; LCD_EN=1; Write_595(LCD_Data); LCD_MS(5); LCD_EN=0; } void LCD_INIT()//LCD初始化 { LCD_Write_Com(0x38); LCD_Write_Com(0x01); LCD_Write_Com(0x06); LCD_Write_Com(0x0C); LCD_Write_Com(0x80); } void LCD_CLS()//LCD清屏 { LCD_Write_Com(0x0C); LCD_Write_Com(0x80); } void LCD_Glint(unsigned char LCD_Line, unsigned char Addess)//光标闪烁位置 { unsigned char Line; if(LCD_Line==1)Line=0x80; if(LCD_Line==2)Line=(0x80+0x40); LCD_Write_Com(0x0d); LCD_Write_Com(Line+(Addess-1)); } void LCD_Text()//显示预设字符 { unsigned char num; LCD_CLS(); for(num=0;num<16;num++) { LCD_Write_Data(Text_1[num]); //第一行 LCD_MS(1); } LCD_Write_Com(0x80+0x40); for(num=0;num<16;num++) { LCD_Write_Data(Text_2[num]); //第二行 LCD_MS(1); } } ///////////////////////////////////////////////////////// #ifndef __LCD1602_H__ #define __LCD1602_H__ #include <STC11.H> sbit LCD_RS=P1^7; sbit LCD_EN=P1^6; sbit LCD_BG=P1^2;//74HC595_P12 sbit SH_CP=P1^3;//74HC595_P11 sbit DS_595=P1^5;//74HC595_P14 sbit ST_CP=P1^4;//74HC595_P12 /* ISIS仿真 sbit LCD_RS=P0^0; sbit LCD_EN=P0^1; sbit SH_CP=P0^2;//74HC595_P11 sbit DS_595=P0^3;//74HC595_P14 sbit ST_CP=P0^4;//74HC595_P12 */ void LCD_Write_Com(unsigned char LCD_Com); /*LCD写入命令*/ void LCD_INIT(); /*LCD初始化*/ void LCD_CLS(); /*LCD清屏*/ void LCD_Glint(unsigned char Line, unsigned char Addess); /*光标闪烁位置*/ void LCD_Text(); /*显示预设字符*/ #endif /////////////////////////////////////////////////////////////

【发表评论】【告诉好友】【收藏此文】【】

(责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容