注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
dianzichina的个人空间 https://home.eeworld.com.cn/space-uid-384762.html [收藏] [复制] [分享] [RSS]
日志

51到MSP430的移植

已有 2270 次阅读2012-5-11 15:04 |个人分类:心迹|

    网友送的这个板子有段时间了,一直没空拿出来试试。
    开始可以点个LED灯试试,该板带仿真模块,一根USB线可以仿真烧录,小巧玲珑,麻省虽小,五脏俱全,吾之最爱。接了ST7565的液晶模块,该模块是串行工作模式,引脚加上电源也只有7根线即可应用。因为我是从51转过来学习MSP430的,有些思路和习惯可能一时改不过来,比如最简单的位操作,在51里就能很方便地用指令

sbit CS1=   P2^4;
sbit RES=   P2^3;

来定义CS1和RES两脚,附值语句是:

CS1=1;

RES=0;

而MSP430没有提供位操作语句,那我们如何来实现这诸如这两位的操作呢?首先要完成这两位的定义:

#define CS1_0 P1OUT&=~BIT4
#define CS1_1 P1OUT|=BIT4
#define RES_0 P1OUT&=~BIT3
#define RES_1 P1OUT|=BIT3

直接定义了CS1_0即为CS1脚输出低电平,CS1_1即为CS1脚输出高电平。

 

        串行液晶杠芯片ST7565要把一个并行的8位数据串行输出在一个口上,比如输出在P1.0口,它在51里的实现是这样的:

sbit SDA=   P1^0;

.......

   SDA=dat&0x80;

这也是一条位操作附值语句,那么在430里面如何来实现呢,我们可以这样子:

   P1DIR |= 0x1f;   //设定P1口的01234口为输出功能

。。。。。。

                if(dat&0x80)
                {
                  P1OUT|=BIT0;
                }
                else
                {
                  P1OUT&=~BIT0;
                }

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章