1075|1

6943

帖子

19

资源

纯净的硅(中级)

MSP430单片机输入与输出 [复制链接]

MSP430单片机的输入输出线绝大多数是服用的,除了个别的端口外,基本上是8为为一组,不同的型号的MSP430的端口有所不同,就msp430F5438而言,一共有11个I/O端口,其中除了第十一P11的宽度是3位以外,其他的端口全是8为宽度,为了方便使用,分别命名为PA,PB,PC,……,分别对应P1,P2P3……

image.png

值得注意的是MSP430F5438单片机的P1和P2端口还具有申请中断的功能,而其他的端口则无此功能

每个端口都有控制开关,分别可以控制端口的方向,引脚的功能,每个端口都有自己的输入输出寄存器,MSP430F5438海域中断管理寄存器,他们分别决定端口的中断使能,中断有效边沿,和中断标志位

 

示例代码:

驱动实验板上的蜂鸣器


#include<msp430x54x.h>
#include"for_5438_wjx.c"

void delayms(int x)
{
    int i,j;
    for(i=0;i<x;i++)
      for(j=0;j<110;j++);
}

void main( void )
{
  put_WDTHOLD(1);//冻结看门狗
  put_P7SEL_BIT7(0);//将P7^7引脚选择为普通的数据I/O
  put_P7DS_BIT7(1);//将P7^7引脚满驱动
  put_P7DIR_BIT7(1);//将P7^7引脚设置位输出
  
  while(1)
  {
      put_P7OUT_BIT7(0);//将P7^7输出值为0
      delayms(50);
      put_P7OUT_BIT7(1);//P7^7输出值为1
      delayms(50);
      
  }
  

}
View Code
但是这个程序在板子上没有跑起来,所以还需要今后来改正~~~

 

今天因为点亮了led,所以蜂鸣器的程序也写出来了,这个程序出现错误的原因是错以为蜂鸣器的VCC是开发板自动接上去的,结果就忘记写这条代码

  put_P5DIR_BIT4(1);      // 主电源 P5.4
  put_P5OUT_BIT4(1);      //打开外设电源

加入代码后,蜂鸣器响了

示例代码:


#include<msp430x54x.h>
#include"for_5438_wjx.c"

void delayms(int x)
{
    int i,j;
    for(i=0;i<x;i++)
      for(j=0;j<110;j++);
}

void main( void )
{
  put_WDTHOLD(1);//冻结看门狗
  put_P7SEL_BIT7(0);//将P7^7引脚选择为普通的数据I/O
  put_P7DS_BIT7(1);//将P7^7引脚满驱动
  put_P7DIR_BIT7(1);//将P7^7引脚设置位输出
   
  put_P5DIR_BIT4(1);      // 主电源 P5.4
  put_P5OUT_BIT4(1);      //打开外设电源
  
  while(1)
  {
      put_P7OUT_BIT7(0);//将P7^7输出值为0
      delayms(50);
      put_P7OUT_BIT7(1);//P7^7输出值为1
      delayms(50);
      
  }
  

}


回复

3316

帖子

0

资源

纯净的硅(高级)

适合新手入门的分享。


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

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表