- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本文作者:林子木
本人学历有限,如有纰漏请见谅!
本文是针对,百度文章是针对:
/wolinxuebin/blog/item/48bff5dbb38e452332fa1ce4.html
的补充,是基于 430 的实现,很简单的可以移植到 51 上去
如果想具体的实现,请先看上面网址的文章
以下是Lcd_12664.h 声明代码,注意一定需要,或者也可以写在.c 的前面或者,后
者函数不能调用前者的函数
void Delay_1ms(void);
void Delay(unsigned int n);
void Write_Cmd(unsigned char cod);
void Write_Data(unsigned char dat);
void Ini_Lcd(void);
void Disp_HZ(unsigned char addr,const unsigned char * pt,unsigned char num);
void Disp_ND(unsigned char addr,unsigned int thickness);
void Draw_TX(unsigned char Yaddr,unsigned char Xaddr,const unsigned char * dp) ;
void Draw_PM(const unsigned char *ptr);
void Draw_PM_CLR(void);
void Draw_Point(unsigned char x,unsigned char y);
unsigned char Read_Data(void);
unsigned int Read_Add(unsigned char x,unsigned char y);
Lcd_12664.c
以下标注为红色的,是我们需要注意的地方
#include msp430x14x.h
#include subfuncs.h
typedef unsigned char uchar;
typedef unsigned int uint;
extern const unsigned char shuzi_table[];
#define LCD_DataIn P4DIR=0x00 //数据口方向设置为输入
#define LCD_DataOut P4DIR=0xff //数据口方向设置为输出
#define LCD2MCU_Data P4IN
#define MCU2LCD_Data P4OUT
#define LCD_CMDOut P3DIR|=0x07 //P3 口的低三位设置为输出
#define LCD_RS_H P3OUT|=BIT0 //P3.0
#define LCD_RS_L P3OUT=~BIT0 //P3.0
#define LCD_RW_H P3OUT|=BIT1 //P3.1
#define LCD_RW_L P3OUT=~BIT1 //P3.1
#define LCD_EN_H P3OUT|=BIT2 //P3.2
#define LCD_EN_L P3OUT=~BIT2 //P3.2
/*******************************************
函数名称:Delay_1ms
功 能:延时约 1ms 的时间
参 数:无
返回值 :无
********************************************/
void Delay_1ms(void)
{
uchar i;
for(i = 150;i 0;i--) _NOP();
}
/*******************************************
函数名称:Delay_Nms
功 能:延时 N 个 1ms 的时间
参 数:n--延时长度
返回值 :无
********************************************/
void Delay_Nms(uint n)
{
uint i;
for(i = n;i 0;i--) Delay_1ms();
}
/*******************************************
函数名称:Write_Cmd
功 能:向液晶中写控制命令
参 数:cmd--控制命令
返回值 :无
********************************************/
void Write_Cmd(uchar cmd)
{
uchar lcdtemp = 0;
LCD_RS_L;
LCD_RW_H;
LCD_DataIn;
do //判忙
{
LCD_EN_H;
_NOP();
lcdtem
文档评论(0)