智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 10895|回复: 26
打印 上一主题 下一主题

龙丘智能奉献LCD1602液晶MC9S12XS128代码一份,接口说明详细

  [复制链接]

80

主题

1045

帖子

0

精华

跨届大侠

北京龙邱智能科技有限公司

Rank: 10Rank: 10Rank: 10

积分
10332

论坛元老奖章

QQ
威望
2905
贡献
6151
兑换币
4515
注册时间
2008-6-7
在线时间
638 小时
跳转到指定楼层
1#
发表于 2010-12-8 21:24:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Code Warrior 5.0
Target : MC9S12XS128
Crystal: 16.000Mhz
busclock: 8.000MHz
pllclock:16.000MHz
============================================
液晶管脚接线定义
PIN1 GND
PIN2 5V
PIN3 10K电阻接地
PIN4 LCD1602_RS   PORTB_PB0 //Data Command Pin  1 data  0 command
PIN5 LCD1602_RW   PORTB_PB1 //Read Write Pin    1 read   0 write
PIN6 LCD1602_EN   PORTB_PB2 //LCD Enable Signal
PIN7-14 LCDIO     PORTA
------------------------------------------------------
主题函数如下图,完整工程参考附件:
#include "derivative.h"
#include "LQ1602.h"
void LcdInit(){
  DDRA = 0xff;
  DDRB = 0xff;
  LCDIO_DIR = LCDIO_DIR_OUT;
LcdDelay();
LcdCommand(CLR,0);          //clear screen
LcdCommand(DATA_MODE,1);    //set 8 bit data transmission mode
LcdCommand(INPUTMODE_CUR_R | INPUTMODE_ALL_D, 1);   // cursor right, disable moving
LcdCommand(SCREEN_OPEN | SCREEN_OPEN_CUR | SCREEN_OPEN_TWI, 1); //open display (enable lcd display)
LcdCommand(LINE1_HEAD,1);   //set lcd first display address
LcdCommand(CLR,1);          //clear screen
}
////////////////////////////////////////////////////////////////////
// write command function
//
void LcdCommand(byte command,byte BusyC){
if (BusyC) ReadStatus(); //Test it busy or not
LCDIO=command;
LCD1602_RS=0;   
LCD1602_RW=0;
LCD1602_EN=0;
LCD1602_EN=0;
LCD1602_EN=1;
}
byte ReadStatus(void)
{
  byte cRtn;
LCDIO_DIR = LCDIO_DIR_IN;
LCD1602_RS = 0;
LCD1602_RW = 1;
LCD1602_EN = 0;
LCD1602_EN = 0;
LCD1602_EN = 1;
while (LCDIO & BUSY); //Test Busy State
cRtn = LCDIO_DIR;     // if Not save the port value, it should be change
LCDIO_DIR = LCDIO_DIR_OUT;
return(cRtn);
}
void LcdDelay(void)
{
  word i, j;
  for (i = 0; i < 300; i++)
    for(j = 0; j < 3000; j++);
}
void LcdClear(void)
{
  LcdCommand(CLR,1);          //clear screen
}
////////////////////////////////////////////////////////////////////
// write data function
//
void LcdData(byte dat,byte BusyC)
{
if (BusyC) ReadStatus(); //Test it busy or not
LCDIO=dat;
LCD1602_RS=1;
LCD1602_RW=0;
LCD1602_EN=0;
LCD1602_EN=0;
LCD1602_EN=1;
}
////////////////////////////////////////////////////////////////////
// write lcd a character function
//
void LcdWriteChar( byte x,byte y,byte dat){
  LcdSetXY(x, y);
LcdData(dat,1);
}
////////////////////////////////////////////////////////////////////
// set display address function
//
void LcdSetXY( byte x, byte y ){
byte address;
if (y == LINE1)
    address = LINE1_HEAD + x;
else
    address = LINE2_HEAD + x;
LcdCommand(address,1);
}
////////////////////////////////////////////////////////////////////
// write lcd string function
//
void LcdWriteStr(byte X,byte Y,char *s)
{
    LcdSetXY( X, Y ); //set address
    while (*s)  // write character
    {
      LcdData(*s, 1);   
      s++;
    }
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

4

主题

429

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4063

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

QQ
威望
1892
贡献
1233
兑换币
1210
注册时间
2014-11-9
在线时间
469 小时
27#
发表于 2015-10-7 20:39:51 | 只看该作者
此帖仅作者可见

使用道具 举报

10

主题

141

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1876
威望
924
贡献
570
兑换币
592
注册时间
2014-7-31
在线时间
191 小时
26#
发表于 2015-3-15 17:32:34 | 只看该作者
此帖仅作者可见

使用道具 举报

0

主题

13

帖子

0

精华

高级会员

Rank: 4

积分
530
威望
262
贡献
148
兑换币
162
注册时间
2013-12-16
在线时间
60 小时
毕业学校
曲师大
25#
发表于 2015-3-7 20:10:33 | 只看该作者
此帖仅作者可见

使用道具 举报

10

主题

1956

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
10144

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章论坛元老奖章

威望
4669
贡献
2699
兑换币
2876
注册时间
2013-10-2
在线时间
1388 小时
24#
发表于 2014-7-12 15:44:39 | 只看该作者
此帖仅作者可见

使用道具 举报

0

主题

117

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
230
威望
122
贡献
70
兑换币
74
注册时间
2014-4-6
在线时间
19 小时
毕业学校
贵州大学
23#
发表于 2014-6-29 19:39:36 | 只看该作者
此帖仅作者可见

使用道具 举报

0

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
26
威望
24
贡献
2
兑换币
3
注册时间
2014-4-13
在线时间
0 小时
毕业学校
BUPT
22#
发表于 2014-4-13 17:04:26 | 只看该作者
此帖仅作者可见

使用道具 举报

11

主题

147

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1194
威望
592
贡献
344
兑换币
346
注册时间
2013-3-10
在线时间
129 小时
21#
发表于 2013-8-29 19:19:59 | 只看该作者
此帖仅作者可见

使用道具 举报

3

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1301
威望
677
贡献
420
兑换币
439
注册时间
2013-1-2
在线时间
102 小时
20#
发表于 2013-1-2 00:40:20 | 只看该作者
此帖仅作者可见

使用道具 举报

0

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
威望
119
贡献
63
兑换币
68
注册时间
2012-12-3
在线时间
17 小时
毕业学校
台州学院
19#
发表于 2012-12-17 13:39:45 | 只看该作者
此帖仅作者可见

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-21 04:27 , Processed in 0.185547 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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