pcf8574c语言测试程序,单片机加个PCF8574模块,实现IIC方式驱动LCD1602

void delay1(uchar x)

{

uchar a,b;

for(a=x;a>0;a--)

for(b=200;b>0;b--);

}

void write_com(uchar com)                //写命令函数

{        uchar com1,com2;

com1=com|0x0f;

write_add(com1&0xfc);

delay1(2);

write_add(com1&0xf8);

com2=com<<4;

com2=com2|0x0f;

write_add(com2&0xfc);

delay1(2);

write_add(com2&0xf8);

}

void write_date(uchar date)                //写数据函数

{

uchar date1,date2;

date1=date|0x0f;

write_add(date1&0xfd);

delay1(2);

write_add(date1&0xf9);

date2=date<<4;

date2=date2|0x0f;

write_add(date2&0xfd);

delay1(2);

write_add(date2&0xf9);

}

void init_lcd()                                        //初始化函数

{

write_com(0x33); //显示模式设置

delayms(6);

write_com(0x32); //显示模式设置

delayms(6);

write_com(0x28); //4位总线,双行显示,显示5×7的点阵字符

delayms(6);

write_com(0x01); //清屏

delayms(6);

write_com(0x06); //字符进入模式:屏幕不动,字符后移

delayms(6);

write_com(0x0c); //显示开,关光标

//write_LCD_Command(0x0f); //显示开,开光标,光标闪烁

delayms(6);

}

//显示字符串:第x行第y列显示什么内容

void ShowString(unsigned char x,unsigned char y,unsigned char *str)

{

if(x == 1)

{

write_com(0x80 | y-1);

}

if(x == 2)

{

write_com(0xc0 | y-1);

}

//输出字符串

while(*str!='\0')

{

write_date(*str);

str++;

}

}

这就是 高级货

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值