找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2535|回复: 0
打印 上一主题 下一主题
收起左侧

关于74HC595驱动LCD1502的程序

[复制链接]
跳转到指定楼层
楼主
为什么用Proteus 8 Professional仿真就可以显示,下到单片机就没反应
#include <STC15W4Kxx.H>
#include <intrins.h>

sbit SCK =P2^0;
sbit LCD_RS =P2^0;
sbit RCK =P2^1;
sbit LCD_EN=P2^1;
sbit DIN =P2^2;
void Delay(unsigned int t) //延时
{
        unsigned int x,y;
        for(x=t;x>0;x--)
                for(y=100;y>0;y--);
}  
void Weite_595(unsigned char dat)//写入595
{       
        unsigned char i;
        for(i=0;i<8;i++)
        {         
                DIN=(dat&0x80);
                dat<<=1;
                SCK=0;
                _nop_();   
        _nop_();
                SCK=1;               
        }
}
void W_LCD_COM(unsigned char com) //写指令
{       
    Weite_595(com);
    LCD_RS=0;
        Delay(5);
        Delay(5);
        RCK=1;                //令595输出,并用EN输出一个高脉冲
        Delay(5);  
        RCK=0;
}file:///D:\Tencent Files\277259602\Image\C2C\@W28R$F$M92XL1J_WQH{D4V.png
void W_LCD_Dat(unsigned char dat) //写数据
{       
    Weite_595(dat);
        Delay(5);
    LCD_RS=1;
        Delay(5);
        RCK=1;           //令595输出,并用EN输出一个高脉冲
        Delay(5);
        RCK=0;
}
void W_LCD_Str(unsigned char *s)
{
   while(*s)
    W_LCD_Dat(*s++);
}
void LCD_Init()
{
   W_LCD_COM(0x38); Delay(50);
   W_LCD_COM(0x38); Delay(50);
   W_LCD_COM(0x0c);
   W_LCD_COM(0x06);
   W_LCD_COM(0x01); Delay(50);
   W_LCD_COM(0x80);        W_LCD_Str("1234567890abcdef");
   W_LCD_COM(0xc0);        W_LCD_Str("fedcba0987654321");
}
void main()
{
   LCD_Init();
   while(1);
}
file:///D:\Tencent Files\277259602\Image\C2C\@W28R$F$M92XL1J_WQH{D4V.png

595-1602.png (7.42 KB, 下载次数: 146)

595-1602.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表