#include "msp430x16x.h"
#include "INCLUDES.H"
#include "CONSTANTS.H"
#include "FUNCTIONS.H"
#include "GLOBALS.H"

/************************************************
函 数 名: CheckLcdBusy()
功    能:检查是否LCD忙碌
说    明:
调    用:
全局变量:
入口参数:无
出口参数:无
返 回 值:无
************************************************/
void CheckLcdBusy(void){
LCD_DATA_DIR = 0x00;
LCD_DATA_OUT = 0xFF;
LCD_CON_OUT &= ~LCD_E;        //E=0
LCD_CON_OUT |= LCD_RW;        //RW=1
LCD_CON_OUT &= ~LCD_RS;       //RS=0
while(LCD_DATA_IN & LCD_BF)
  {
  LCD_CON_OUT |= LCD_E;         //E=1
  Delay_ms( 1 );
  LCD_CON_OUT &= ~LCD_E;        //E=0
  }
LCD_DATA_DIR = 0xFF;
}
/************************************************
函 数 名: LcdWriteCommand()
功    能:写入控制命令到LCD
说    明:
调    用:
全局变量:
入口参数:command: LCD控制指令
出口参数:无
返 回 值:无
************************************************/
void LcdWriteCommand(uchar command){
CheckLcdBusy();
LCD_CON_OUT &= ~LCD_E;      //E=0
LCD_CON_OUT &= ~LCD_RW;     //RW=0
LCD_CON_OUT &= ~LCD_RS;     //RS=0
LCD_CON_OUT |= LCD_E;       //E=1
LCD_DATA_OUT = command;
LCD_CON_OUT &= ~LCD_E;      //E=0
}
/************************************************
函 数 名: LcdWriteData()
功    能:写入显示数据到LCD
说    明:
调    用:
全局变量:
入口参数:data: 显示数据
出口参数:无
返 回 值:无
************************************************/
void LcdWriteData(uchar data){
CheckLcdBusy();
LCD_CON_OUT &= ~LCD_E;      //E=0
LCD_CON_OUT &= ~LCD_RW;     //RW=0
LCD_CON_OUT |= LCD_RS;      //RS=1
LCD_CON_OUT |= LCD_E;       //E=1
LCD_DATA_OUT = data;
LCD_CON_OUT &= ~LCD_E;      //E=0
}
/************************************************
函 数 名: ClearLCD()
功    能:清除LCD文本屏幕
说    明:
调    用:
全局变量:
入口参数:无
出口参数:无
返 回 值:无
************************************************/
void ClearLcd( void ){
LcdWriteCommand( 0x01 );
}
/************************************************
函 数 名: LcdInit()
功    能:初始化LCD
说    明:
调    用:
全局变量:
入口参数:无
出口参数:无
返 回 值:无
************************************************/
void LcdInit(void){
LCD_RST0;                         //RST=0
Delay_ms( 5 );
LCD_PSB;                          //PSB=1  
LCD_RST1;                         //RST=1

LcdWriteCommand( 0x30 );          //基本指令操作
Delay_ms( 5 );
LcdWriteCommand( 0x06 );
Delay_ms( 5 );
ClearLcd();
Delay_ms( 5 );
LcdWriteCommand( 0x0C );          //开显示,关光标,不闪烁
Delay_ms( 5 );
LcdWriteCommand( 0x02 );                                 
}
/************************************************
函 数 名: DispString()
功    能:显示字符串
说    明:
调    用:
全局变量:
入口参数:X: 行(0-3)
          Y: 列(0-7)
          speed: 显示速度(毫秒)
          *msg: 字符数据
出口参数:无
返 回 值:无
************************************************/
void DispString(uchar X,uchar Y,uchar speed,uchar *msg) {
if(X == 0)
  {
  X = 0x80;
  }
else if(X == 1)
  {
  X = 0x90;
  }
else if(X == 2)
  {
  X = 0x88;
  }
else if(X == 3)
  {
  X = 0x98;
  }
Y += X;
LcdWriteCommand( Y );
Delay_ms( 5 );
while(*msg)
  {
  LcdWriteData( *msg++ );
  Delay_ms( speed );
  }
}

[开源]430驱动的12864图形点阵LCD相关推荐

  1. 【点阵液晶编程连载三/B】点阵LCD 的驱动与显控

    3.6. 字符显示原理 3.6.1. 字符与字模 驱动程序当中,字符库(也就是字模的集全)的数据采用了与一般的单色点阵LCD 的数据组成方式,即字模当中的一个位代表LCD 显示中的一个像素点,取点方式 ...

  2. 汉字点阵与图形点阵提取方法及在LCD图形点阵液晶屏显示

    在单片机驱动LCD点阵小液晶屏应用中,除了显示英文字母外,还需要显示汉字或图形,以丰富显示内容,在单色LCD点阵小液晶屏中,英文字母.汉字.图形均是以亮点暗点不同的组合来显示不同的内容,由于在单片机类 ...

  3. 【点阵液晶编程连载三】点阵LCD 的驱动与显控

    3. 点阵LCD 的驱动与显控 在适当的硬件的基础介绍之后,这里将以MzDesign 所提供的针对MzL02 的通用版LCD 驱动程序为对像介绍一种LCD 驱动程序的设计思想:将以在LCD 上的绘点功 ...

  4. 点阵LCD的显示原理

    点阵LCD的显示原理 在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果.对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可.而对于中文,常 ...

  5. STM32 FSMC接口驱动4.3寸TFT LCD屏

    STM32 FSMC接口驱动4.3寸TFT LCD屏 STM32的FSMC接口是并行总线接口,可以用于驱动存储芯片如FLASH/SRAM等,也可以用于驱动并口LCD屏. 这里以STM32F103VET ...

  6. linux源码网址,可以在这里找到很多开源的驱动

    linux源码网址,可以在这里找到很多开源的驱动 网址:https://elixir.bootlin.com/linux/latest/source

  7. 谷歌X最新开源任务驱动的类级别机器人抓取CaTGrasp!

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨bowen 来源丨计算机视觉life 大家好,今天给大家介绍谷歌X最新开源任务驱动的类级别机器人 ...

  8. Nouveau——第三方开源NVIDIA驱动

    转载自:http://tech.sina.com.cn/s/s/2006-12-26/2028201444.shtml 作者:Zzyq Nouveau是一个由爱好者组织的针对NVIDIA显卡开发第三方 ...

  9. STM32 驱动4.3寸TFT LCD 触摸屏

    STM32 驱动4.3寸TFT LCD 触摸屏 STM32的FSMC接口是并行总线接口,可以用于驱动存储芯片如FLASH/SRAM等,也可以用于驱动并口LCD屏.触摸屏是在显示屏上覆盖一层触摸感应的外 ...

最新文章

  1. 解决ubuntu中vi不能正常使用方向键与退格键的问题
  2. CodeForces Round #280 (Div.2)
  3. 基于udp的服务器消息转发(群发)
  4. Cadence学习之路:寻找优秀的封装资源以及3D封装设置
  5. Using SVN with Ant
  6. APP测试:禁止APP登录页面截图解决方法
  7. 解读阿里云是干什么的?
  8. gevent和requests同时使用报requests.exceptions.ReadTimeout:HTTPSConnectionPool(host='www.baidu.com', port=4
  9. 北京元阔装饰安徽分公司 装修过后两年不到的墙面 及 相关
  10. 苹果的福利被“羊毛党”薅废了
  11. Android Q中通知的设置
  12. 全国计算机技术与软件专业技术资格(水平)考试【软件评测师】-考试内容总结(六)程序设计语言知识...
  13. mti杂波抑制仿真 matlab,杂波抑制
  14. 中华英才网java在线笔试_牛客网校招全国统一模拟笔试(三月场)- Java方向
  15. python plt.show_python plt.show 关闭
  16. MyBatis-- 分页插件
  17. vnc启动失败时候的解决方案
  18. linux网络爬虫代码,简单爬虫思路
  19. 【Android App】人脸识别中借助摄像头和OpenCV实时检测人脸讲解及实战(附源码和演示 超详细)
  20. 【c++】龟兔赛跑问题

热门文章

  1. Links about 技术大牛Joseph Yiu ...姚文祥(Joseph Yiu)
  2. java数据导出ex_Java高级特性注解:注解实现Excel导出功能
  3. 面临重重挑战 华为造车之路任重道远
  4. 京东物流:将连续第10年春节也送货 为坚守岗位一线员工补贴近4亿元
  5. iPhone 14 Pro渲染图曝光 网友:冲这个外观就可以买了
  6. 苹果iPad mini 6更多细节曝光:全面屏加持 搭载A14/A15芯片
  7. Alphabet旗下自动驾驶部门Waymo将在匹兹堡设立办公室
  8. 揭秘了!小米透明电视所用处理器为联发科定制
  9. 红魔5S将配备320Hz游戏肩键:让小白瞬间成为操控高手
  10. 壕!腾讯再公布股权激励:2.97万员工 人均49万港元