找回密码
 立即注册

QQ登录

只需一步,快速开始

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

为什么我的dspic30f4011上LCD就是不能显示?

[复制链接]
跳转到指定楼层
楼主
ID:654913 发表于 2020-4-6 21:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
为什么我的dspic30f4011上LCD就是不能显示,以下是程序。


#include<p30f4011.h>
_FOSC(CSW_FSCM_OFF&XT_PLL4);      //4倍频晶振,Failsafe时钟关闭
_FWDT(WDT_OFF);                   //关闭看门狗定时器
_FBORPOR(PBOR_OFF&MCLR_EN);       //掉电复位禁止,MCLR复位时能
_FGS(CODE_PROT_OFF);              //代码保护禁止

#define RS LATFbits.LATF4
#define RW LATFbits.LATF5
#define E  LATBbits.LATB6

#define out LATD    //4位输入--RD0-4

#define uchar unsigned char

void LCD_initialize();//初始化函数
void check_busy();//查忙函数,但是这次没有用到
void write_command(uchar com);//写命令函数
void write_data(uchar dat);//写数据函数
void string(uchar ad,uchar*p,uchar n);//使Lcd显示字符的函数
void delay(uchar i);//延时函数

void delay(uchar i)//延时函数
{
  uchar t;
  while(i--)
  {
    for(t=0;t<120;t++);
  }
}
void write_command(uchar com)//写命令函数
{
        delay(1);
        E=0;
        RS=0;
        RW=0;
        out=com;
        delay(1);
        E=1;
        delay(1);
        E=0;
        out=com <<4;
        delay(1);
        E=1;
        delay(1);
        E=0;
}

void write_data(uchar dat)//写数据函数
{
        delay(1);
        E=0;
        RS=1;
        RW=0;
        out=dat;
        delay(1);
        E=1;
        delay(1);
        E=0;
        out=dat <<4;
        delay(1);
        E=1;
        delay(1);
        E=0;
}
void LCD_initialize()//初始化函数
{
        //RW=0;
        write_command(0x32);
        write_command(0x28);
        write_command(0x0c);
        write_command(0x06);
        write_command(0x01);
        write_command(0x80);
}

void string(uchar ad,uchar *p,uchar n)//显示字符函数
{
        uchar i;
        write_command(ad);
        for(i=0;i<n;i++)
        {
                write_data(*p++);
                delay(100);
        }
}

void main()
{

                     delay(1);
        LCD_initialize();//LCD初始化
        while(1)
        {
                string(0x85,"welcome",7);//写入welcome
                string(0xc2,"Harbin China",12);//写入Harbin China
                delay(100);
                write_command(0x01);//清屏
                delay(100);
        }
}

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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