12864b并行-MSP430G2553并行驱动12864液晶的程序,请大家帮我看看问题出在哪里?上电无显示。

问题描述

MSP430G2553并行驱动12864液晶的程序,请大家帮我看看问题出在哪里?上电无显示。 5C
请大家帮我看一下程序,哪个地方出了问题,上电没有反应,我的液晶型号是12864B V2.0,还有如果大家帮我指点一下程序风格,不胜感激。

只有C币5个……全部贡献啦~

主函数

#include ""main.h""void main(void){    init_cpu();         //初始化芯片    init_lcdport();    init_lcd();         //初始化液晶    while(1){        write_cmd(0x80);        write_dat('A');    }}void init_cpu(void)         {    WDTCTL = WDTPW + WDTHOLD;   //关闭看门狗    BCSCTL1 = CALBC1_1MHZ;      //设置DCO为1MHZ    DCOCTL = CALDCO_1MHZ;   }

液晶12864

端口定义:DB0~DB7->P1.0~P1.7RS ->P2.0R/W->P2.1E  ->P2.2RST->P2.3
 #include ""lcd12864b.h""void init_lcd(void)     //初始化液晶{    delay_nms(50);      //上电等待    RST_H;    delay_nms(1);    RST_L;    delay_nms(2);    RST_H;    write_cmd(0X30);    //基本指令集    delay_nms(1);    write_cmd(0X30);        delay_nms(1);    write_cmd(0X0C);    //显示开,游标关,反白禁止    delay_nms(1);    write_cmd(0X01);    //清屏    delay_nms(10);}void set_textpos(unsigned char Xunsigned char Y)   //设定显示坐标{    unsigned char textpos;    switch (X){        case 0:            textpos = 0X80;     //X:0-3Y:0-7            break;        case 1:            textpos = 0X90;            break;        case 2:            textpos = 0X88;            break;        case 3:            textpos = 0X98;            break;        default:            break;    }    textpos = textpos + Y;    write_cmd(textpos);}void init_lcdport(void)     //定义与液晶有关的端口{    P1SEL = 0X00;    P1DIR = 0XFF;    P2SEL = 0X00;   //定义为普通IO口    P1DIR |= BIT0 + BIT1 + BIT2 + BIT3; //定义IO口为输出}void write_cmd(unsigned char wcmd){    RS_L;           //命令    RW_L;           //写    E_L;    P1OUT = wcmd;    delay_nms(2);       //等待数据稳定    E_H;    delay_nms(2);       //等待写入完毕    E_L;}void write_dat(unsigned char wdat){    RS_H;           //数据    RW_L;           //写    E_L;    P1OUT = wdat;    delay_nms(2);    E_H;    delay_nms(2);    E_L;}

解决方案

我已经找到原因了,是因为我的IO口初始化P2写成了P1,小错误让我看了2个多小时,我一直以为是时序的问题。
另外,希望有经验的前辈能看一下我的程序,不看对错,就看规范不规范就好,把做的不好的地方给我一些指点,谢谢。

 void init_lcdport(void)     //定义与液晶有关的端口{    P1SEL = 0X00;    P1DIR = 0XFF;    P2SEL = 0X00;     P1DIR |= BIT0 + BIT1 + BIT2 + BIT3;             //错在这一句,应该是P2DIR |= BIT0 + BIT1 + BIT2 + BIT3;}

解决方案二:
既然楼主解决了 那我来接个C币吧

时间: 2024-10-31 14:32:02

12864b并行-MSP430G2553并行驱动12864液晶的程序,请大家帮我看看问题出在哪里?上电无显示。的相关文章

Win7安装显卡驱动提示"NVIDIA安装程序失败"怎么解决

Win7安装显卡驱动提示"NVIDIA安装程序失败"怎么解决   解决步骤: 1.打开NVIDIA显卡驱动安装程序; 2.当出现NVIDIA许可协议这一步时,先不要进行任何操作,不要急着安装; 3.返回到桌面,按下WIN+R组合键,然后在运行对话狂中输入"services.msc"回车; 4.找到"Windows Installer",右键选择"启动"并等待服务启动; 5.回到显卡驱动安装界面,然后点击同意开始下一步安装;

12864液晶-protues 中液晶驱动问题

问题描述 protues 中液晶驱动问题 在ptotues中如果在用msp430F249单片机驱动液晶的时候: 液晶变黑了,程序哪部分出问题了啊.

PostgreSQL 10.0 preview 多核并行增强 - 并行hash join支持shared hashdata, 节约哈希表内存提高效率

标签 PostgreSQL , 10.0 , 多核并行增强 , shared hash表 , hash join 背景 PostgreSQL 9.6支持哈希JOIN并行,但是每个worker进程都需要复制一份哈希表,所以会造成内存的浪费,小表无妨,但是大表的浪费是非常大的. 因此10.0做了一个改进,使用共享的哈希表. Hi hackers, In PostgreSQL 9.6, hash joins can be parallelised under certain conditions, b

Win7安装显卡驱动提示"NVIDIA安装程序失败"怎么办

  解决步骤: 1.打开NVIDIA显卡驱动安装程序; 2.当出现NVIDIA许可协议这一步时,先不要进行任何操作,不要急着安装; 3.返回到桌面,按下WIN+R组合键,然后在运行对话狂中输入"services.msc"回车; 4.找到"Windows Installer",右键选择"启动"并等待服务启动; 5.回到显卡驱动安装界面,然后点击同意开始下一步安装;

android从应用到驱动之—camera(1)---程序调用流程

一.开篇 写博客还得写开篇介绍,可惜,这个不是我所擅长的.就按我自己的想法写吧. 话说camera模块,从上层到底层一共包含着这么几个部分: 1.apk------java语言 2.camera的java接口----java语言 3.camera的java接口的具体实现,即所谓的JNI-----(java->C++) 4.camera客户端-----C++语言 5.camera服务器----C++语言 6.camera硬件抽象层,即所谓的HAL------C++语言 7.camera驱动 如上也

使用uc1701x的12864能驱动起来,为什么换为st7567的就不显示了?

问题描述 使用uc1701x的12864能驱动起来,为什么换为st7567的就不显示了? 这两款芯片的驱动程序好像是兼容的呀,而且是按照st7567液晶屏的使用说明写的 #include #include #include #include #include "iic.h" sbit cs1=P1^1; sbit reset=P1^0; sbit rs=P3^0; sbit sclk=P3^1; sbit sid=P3^2; sbit Rom_IN=P1^2; //字库IC 接口定义:

Oracle并行原理及示例

并行:把一个工作分成几份,分给不同进程同时进行处理.进程层面 并发:多个会话同时进行访问,就是通常所说并发数.会话层面 数据库版本 LEO1@LEO1> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 -

用Hadoop进行分布式并行编程, 第1部分

Hadoop 是一个实现了 MapReduce 计算模型的开源分布式并行编程框架,借助于 Hadoop, 程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数 据的计算.本文将介绍 MapReduce 计算模型,分布式并行计算等基本概念,以及 Hadoop 的安装部署和基本运行方法. Hadoop 简介 Hadoop 是一个开源的可运行于大规模集群上的分布式并行编程框架,由于分布式存储 对于分布式编程来说是必不可少的,这个框架中还包含了一个分布式文件系统 HDFS( Hadoo

实现应用程序中的并行组件共享(一)

摘要:探讨 Microsoft(R) Windows(R) 2000 和 Windows 98 第二版本中并行共享组件的实现(如 Windows 认证规范中讨论的).包括新的并行组件的创建以及使用 DLL/COM 重定向处理相同组件的不同版本之间的不兼容性.包括编写和安装并行组件以及重新打包和测试应用程序的指南. 目录 介绍 一点背景知识 新组件共享策略 比较两种策略 创建新的并行组件 并行组件编写指南 安装并行组件 DLL/COM 重定向 使用 DLL/COM 重定向 介绍 现代操作系统和应用