msp430g2553流水灯

点亮LED
理解代码需要知道msp430的寄存器和几个基本的逻辑运算。
寄存器说明:
① 方向寄存器(Direction Register, PxDIR) :方向寄存器的每一位控制着对应引脚的数据传输方向 。控制位数值的含义是,0 表示设置为输入方向; 1 表 示设置为输出方向,默认是输入方向。
② 输出寄存器(Output Register, PxOUT) : 当端口被配置为 IO 功能、且为输出方向时,在内部上 拉/下拉电阻被禁用的情况下,写入该寄存器中的值将 自动输出到相应的引脚上。  在使用内部上拉/下拉电阻的情况下,PxOUT 中的值指 示响应引脚使用的是上拉电阻还是下拉电阻。其中,0 表示使用的是下拉电阻; 1 表示使用的是上拉电阻。
③ 要把IO口方向先写入方向寄存器,再向输入寄存器写入管脚的电平高低情况。
运算说明:
①按位或操作符(|):|=是位操作运算符的一种,其形式为:a|=b
代表的含义为a=a|b;即把a和b做按位或(|)操作,度结果赋值给a。
②按位与运算符(&):参加运算的两个数据,按二进制位进行“与”运算。
运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
③取反运算符(~):参加运算的一个数据,按二进制位进行“取反”运算。
运算规则:~1=0; ~0=1;

#include "io430.h"
 void main(void)  
{   
P2DIR|=BIT6; // 方向输出
P2OUT&=~BIT6;  // 输出低电平 
P2DIR|=BIT5; // 方向输出
P2OUT&=~BIT5;  // 输出低电平 
} 

其仿真如下:
在这里插入图片描述

流水灯
①异或运算符(^):参加运算的两个数据,按二进制位进行“异或”运算。
运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0; 即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
②P1OUT ^= BIT5;//进行异或运算,引脚电平翻转

#include "io430.h"
void delay_ms();//函数声明

 void main(void)  
{   
P1DIR|=BIT5; // 方向输出
 while(1)      
{  
   P1OUT ^= BIT5;          
   delay_ms(100); 
}
} 

void delay_ms(int ms)
{
int i; 
while(ms--) 
{ 
for(i=0;i<80;i++); 
}
  
}
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值