历史上的今天
返回首页

历史上的今天

今天是:2025年01月15日(星期三)

正在发生

2021年01月15日 | msp430g2553流水灯

2021-01-15 来源:eefocus

点亮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++); 

}

  

}


推荐阅读

史海拾趣

Electric Imp Inc.公司的发展小趣事

在电子行业的浪潮中,Electric Imp Inc.公司以其独特的物联网(IoT)解决方案崭露头角。公司创始人是一位资深的电子工程师,他敏锐地捕捉到了物联网市场的巨大潜力。在创业初期,公司面临资金短缺、技术瓶颈等挑战,但创始人带领团队夜以继日地研发,终于推出了第一款基于云计算的物联网设备管理平台。这款产品凭借其易用性、稳定性和可扩展性,迅速获得了市场的认可。

High Energy Corp公司的发展小趣事

在物联网设备管理平台的基础上,Electric Imp Inc.公司不断推动技术创新。公司研发团队经过数年的努力,成功研发出了一款基于边缘计算的物联网设备。这款设备具有更高的数据处理能力、更低的延迟和更好的安全性,能够满足更广泛的应用场景。这一技术突破使得公司在物联网领域的技术实力得到了显著提升。

Curtis Instruments Inc公司的发展小趣事

在上世纪60年代至70年代的阿波罗登月计划期间,Curtis的技术和产品被美国航空航天局(NASA)广泛应用。在每个登月舱中,NASA都装备了多个Curtis消逝时间指示器,用于监控电力系统的运行情况。同时,阿波罗月球行走车上也安装了Curtis的电子电量安培小时计,以监控电池的使用情况。这些高精度、高可靠性的产品为NASA的太空任务提供了强有力的技术支撑。

客益(Guestgood)公司的发展小趣事

在上世纪60年代至70年代的阿波罗登月计划期间,Curtis的技术和产品被美国航空航天局(NASA)广泛应用。在每个登月舱中,NASA都装备了多个Curtis消逝时间指示器,用于监控电力系统的运行情况。同时,阿波罗月球行走车上也安装了Curtis的电子电量安培小时计,以监控电池的使用情况。这些高精度、高可靠性的产品为NASA的太空任务提供了强有力的技术支撑。

Cal Test Electronics公司的发展小趣事

随着客户需求的多样化,Cal Test Electronics开始关注小批量定制型测试电缆组件的市场。公司利用自身的技术优势和生产能力,为客户提供个性化的定制服务。这些定制产品不仅满足了客户的特殊需求,也提高了公司的市场竞争力。通过这一策略,Cal Test Electronics成功打开了一个全新的市场领域,为公司的发展注入了新的动力。

FCT electronic公司的发展小趣事

在电子行业的初期,FCT electronic公司由一群富有远见和激情的工程师创立。他们看到了挠性电路板在未来电子产品中的巨大潜力,并致力于研发出更高效、更可靠的挠性电路板解决方案。经过数年的不懈努力,FCT electronic公司终于研发出了具有革命性意义的挠性电路板技术,这一技术为公司在行业中树立了良好的口碑,也为公司的后续发展奠定了坚实的基础。

问答坊 | AI 解惑

基于单片机的酒瓶自动计数系统的设计

大家好啊,在这转悠了好几天,发现大家都是高手!我是一名专升本的学生,专科没有学过单片机本科学校因为大部分人都学过所以也就没开这门课,现在要做有关单片机的毕业设计,想请大家帮帮忙,谢谢了!     昨天问了一下老师那个设计一共 ...…

查看全部问答>

Altera的用IP核设计的信号发生程序

本帖最后由 paulhyde 于 2014-9-15 09:24 编辑 Altera的用IP核设计的信号发生程序  …

查看全部问答>

如何将ucfs文件系统植入nios ii工程中?

各位大侠:    ucfs导入nios ii工程后,编译时文件一直出错。求移植的具体步骤。不胜感激!…

查看全部问答>

我的CC2430能用SmartRF Studio7监测数据,而不能用Packet Sniffer?

我的CC2430能用SmartRF Studio7监测到数据,而不能用Packet Sniffer监控数据。…

查看全部问答>

VC6++封装成exe文件的问题

一直用VC++6做编译器,虽然有人让我换了,我嫌麻烦一直没换。用它写程序调试程序一切都很正常,唯独有个问题。把写好的程序封装成exe文件。具体的操作其实挺简单(当然没有命令行下简单)首先写代码,编译看有没有错误,没错误以后封装。封装方法是 ...…

查看全部问答>

小光棍节的礼物!让QVGA屏普及吧!2.4寸 QVGA TFT屏带触摸屏15元一个!

让QVGA屏普及吧!2.4寸 QVGA TFT屏带触摸屏15元一个(5个起),全新37脚ILI9320驱动,提供程序! 单个20元一个,数量不多欢迎抢购!     [ 本帖最后由 shanyan 于 2011-11-1 23:04 编辑 ]…

查看全部问答>

msp430g2553如何使外接的ch451控制8位数码管显示?

其实就是要AD采集的电压数据显示在数码管上,可这个数码管是通过CH451外接的,该怎么编程呢? …

查看全部问答>

我自己构建了CCSV5的工程,编译后总是提示如下错误

我自己构建了CCSV5的工程,编译后总是提示如下错误,我查了很多资料,都没有解决,能给我解决和解释一下吗,谢谢 …

查看全部问答>