• MSP430单片机输入与输出


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

    值得注意的是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);
          
      }
      
    
    }
    View Code

    版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3391684.html

  • 相关阅读:
    C#基础之事件
    C#中IQueryable和IEnumerable的区别(2)
    读取不到appsettings.json的值
    【PHP】 延时跳转
    【canvas】 绘制七巧板
    小程序项目编译失败问提解决
    windows下安装node.js
    deskgenius分区失败,分区消失,解决的过程
    IOS:重写UISlider大小解决UISlider滑动不灵敏的问题
    IOS:reason: 'invalid nib registered for identifier (PhotoCellID)
  • 原文地址:https://www.cnblogs.com/fengdashen/p/3391684.html
Copyright © 2020-2023  润新知