专栏中心

EEPW首页 > 专栏 > MC9S08JM60 驱动 LCD1602 程序源代码

MC9S08JM60 驱动 LCD1602 程序源代码

发布人:0750long 时间:2010-02-05 来源:工程师 发布文章

 

 

/******************************************************/
/*CopyRight(C) 2010, Mr. Bean         */
/*ProjectName :           */
/*FileName  :LCD1602Driver.C        */
/*Author   :Mr. Bean         */
/*Date    :2010.01.12        */
/*Description :                   
 LCD1602 Driver
 HardWare Connection:

 MCU:MC9S08JM60
 Data  :PORTE
 RS   :PTC0   (Data:Command=H:L)
 RW   :PTC1   (Read:Write=H:L)
 LCD1 CS :PTC2
 LCD2 CS :PTC4 


1602 液晶的基本的操作分为以下四种:
状态字读操作:输入  RS="低"、RW=高、EP=高;   输出:DB0~7 读出为状态字;
数据读出操作:输入  RS="高"、RW=高、EP=高;   输出:DB0~7 读出为数据;
指令写入操作:输入  RS="低"、RW=低、EP=上升沿;   输出:无;
数据写入操作:输入  RS="高"、RW=低、EP=上升沿;   输出:无。
*/
/*Version   :
 2010.01.11  V1.0 FirstVersion   
*/
/****************************************************/


源代码:

#define RS PTCD_PTCD0
#define RW PTCD_PTCD1
#define E1 PTCD_PTCD4
#define E2 PTCD_PTCD2
#define DB0_DB7 PTED
#define BusyFlag PTED_PTED7


/******单块屏测试实验,显示“#”**************************************/
/******************************************************************/
void LCDRead1()
{
 //add
 E1=0;
 PTEDD=0X00;            //PortE Input
 PTEPE=0XFF;            //Pullup
 do
 {
  RS=0;
  RW=1;
  SysDelay(10);
  E1=1;
  SysDelay(10);
 }
 while(BusyFlag);
}

void LCDWrite1(unsigned char Data)        //COMMAND
{
 //
 E1=0;
 PTEDD=0XFF;            //PortE Output
 PTEPE=0XFF;            //Pullup
 RS=0;
 RW=0;
 DB0_DB7=Data;
 SysDelay(10);
 E1=1;
 SysDelay(20);
 E1=0;  
}
void LCDWrite2(unsigned char Data)        //COMMAND
{
 //
 E1=0;
 PTEDD=0XFF;            //PortE Output
 PTEPE=0XFF;            //Pullup
 RS=1;
 RW=0;
 DB0_DB7=Data;
 SysDelay(10);
 E1=1;
 SysDelay(20);
 E1=0;  
}
void LCDConfig1()
{
 //add
 LCDRead1();
 LCDWrite1(0X38);
 LCDRead1();
 LCDWrite1(0X06);
 LCDRead1();
 LCDWrite1(0X0F);
 LCDRead1();
 LCDWrite1(0X01);
 SysDelay(0XFF);
 LCDRead1();
 LCDWrite1(0X80);
 LCDRead1();
 LCDWrite2(0X23); 
}

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

征GG

Gao 2005-04-27

用于高端电机控制的新型瑞萨电子MCU系列

EasyARM2104开发实验板可固化的EINT1中断实验程序

iCAN教学实验开发平台简介

视频 2009-04-17

欧洲重整军备:半导体行业的关键作用

国际视野 2025-09-28

为什么 Matter 1.4.2 更新很重要?

NI PAC平台引领工业控制发展新技术

视频 2009-04-23

什么是注意力机制,它们在语音和音频处理中如何工作?

EasyARM2131 选型指南

资源下载 2007-03-30

半导体颠覆是什么样的?

EDA/PCB 2025-09-28

NEC Electronics Applilet 软件安装演示视频

视频 2009-04-16

人工智能在 EDA 工具中的作用的局限性

EDA/PCB 2025-09-28

第一次深入真正的3D-IC设计

EDA/PCB 2025-09-28

提高直接调频发生器的频率偏差和稳定性

美国国家半导体LM3445芯片的应用领域及优点介绍

视频 2009-04-17

汽车应用的同轴电缆供电基础知识

EasyARM2104开发套件功能介绍

NEC Electronics DEMO 演示视频

视频 2009-04-16

EasyARM2104开发套件快速入门和LPC2104工程模板

应对团体设计项目的挑战

更多 培训课堂
更多 焦点
更多 视频

技术专区