首页 > 其他分享 >msp430点灯实验

msp430点灯实验

时间:2023-04-15 18:13:54浏览次数:60  
标签:BIT0 点灯 低电平 delay 实验 寄存器 include BIT1 msp430

title: msp430点灯实验
date: 2023-04-15 15:31:25
description: 基于msp430f5529点灯实验

一、实验内容

使用开发板:msp430f5529

使用的LED灯:为开发板上自带的User LEDs(LED1、LED2)

环境:CCS (Version: 12.2.0.00009)

通过ccs编写代码,控制LED1和LED2交替闪烁

二、开发板介绍

开发板正面 与背面图

图片名称 图片名称

1、 I/O 的简介

一般情况下,P1和 P2都是具有中断能力的。从 P1和 P2接口的各个I/O 管脚引入的中断可以独立的被使能并且设置为上升沿或者下降沿触发。对应的中断向量表分别为 P1IV 和 P2IV,它们只能进行字操作,并且 PAIV 这个寄存器根本不存在。 P1、P2可合为 PA,P3、P4可合为 PB,…PC、PD。所以 P1为8位BCD 0x00,PA 为16位 BCD 0x0000。当进行字操作写入 PA 口时,所有的16位都被写入这个端口;当利用字节操作写入 PA 口的低字节时,高字节保持不变。

2、I/O 的简单配置

(1)、功能选择寄存器 PXSEL

用来声明该端口是要应用于外围电路的特殊功能(不决定输入输出方向),默认为低电平。

低电平表示通用 I/O(默认),高电平表示该引脚将有连接外围电路的特殊用途即作为外设;

如:设置P1.0和P1.1为通用 I/O的操作:

P1SEL &= ~(BIT0+BIT1); 

(2)、I/O 方向设定寄存器 PXDIR

如设定 P1.1和 P1.2为输出状态 操作为:

P1DIR |=(BIT1+BIT2); //等价于 PADIR |=(BIT1+BIT2)或  PADIR_L |=(BIT1+BIT2)

注意: 在msp430f5529.h的头文件中BITS有如下定义:

图片名称

(3)、I/O 输入设定寄存器 PXIN

如设定 P1.1和 P1.2的输入为低电平 操作为:

P1IN &= ~(BIT1+BIT2);

(4)、I/O 输出设定寄存器 PXOUT

只用为简单的输出时:

设定 P1.1和 P1.2输出高电平 操作为:

 P1OUT |= (BIT1+BIT2);

如果该引脚为正常 I/O 功能,且当前已设定为输入方向,且上拉/下拉电阻寄存器是有效地。那么 PXOUT 可以用来配置上拉和下拉电阻: 低电平为下拉电阻; 高电平为上拉电阻。

(5)、上拉/下拉电阻使能寄存器

低电平表示该寄存器为无效状态; 高电平表示该寄存器为有效状态;

三、原理图(只涉及本实验的)

图片名称由原理图可知,本实验应该设置P1.0和P4.7引脚为通用I/O,并且方向为输出方向,当P1.0和P4.7引脚为高电平时LED1和LED2点亮,为低电平时LED1和LED2熄灭。

四、代码部分

main.c

#include <msp430.h> 

#include <delay.h>//延时函数
#include <led.h>  //初始化函数

int main(void)
{
	WDTCTL = WDTPW | WDTHOLD;	// 关闭看门狗
    
	LED_Init();   //led初始化函数

    while (1)
    {
     P1OUT |= BIT0;           //亮灯
     P4OUT &= ~BIT7;          //熄灯
     delay_ms(1000);
     P1OUT &= ~BIT0;          //熄灯
     P4OUT |= BIT7;           //亮灯
     delay_ms(1000);
    }
//	return 0;
}

led.h

#ifndef GO_LED_H_
#define GO_LED_H_

#include <msp430.h>

void LED_Init(void);//初始化函数

#endif 

led.c

#include "led.h"

void LED_Init(void)//led初始化函数
{
    
    P1SEL &= ~BIT0; //设置P1.0口为通用I/O
    P4SEL &= ~BIT7; //设置p4.7口为通用I/O
   
    P1DIR |= BIT0;   //设置P1.0口为输出模式
    P4DIR |= BIT7;   //设置p4.7口为输出模式

    //初始化为熄灭
    P1OUT &=~ BIT0;   //低电平熄灯
    P4OUT &=~ BIT7;   //低电平熄灯
}

delay.h

#ifndef GO_DELAY_H_
#define GO_DELAY_H_

#include <msp430.h>

#define CPU_F ((double)1000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))//重新定义延时函数
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

#endif 

五、实验现象

点击跳转

标签:BIT0,点灯,低电平,delay,实验,寄存器,include,BIT1,msp430
From: https://www.cnblogs.com/ChaoZeng/p/17321557.html

相关文章

  • 华为认证数通高级证书实验
    实验拓扑注:代码块为各交换机路由器中的配置命令配置拓扑文件实验要求实现全网通实验配置SW3[SW3]vb1020[SW3]inte0/0/1[SW3-Ethernet0/0/1]polink-ta[SW3-Ethernet0/0/1]podev10[SW3-Ethernet0/0/1]inte0/0/2[SW3-Ethernet0/0/2]polink-ta[SW3-Ethernet0/0/2]po......
  • 实验一 密码引擎-4-国䀄算法交叉测试
    任务详情02人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名1在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码和运行结果截图2在Ubuntu中基于OpenSSL产生一对公私钥对(SM2算法)3在Ubuntu中使用OpenSSL用SM3算法计算上述文件的Hash值,然后......
  • 综合实验(六)
    核心交换机配置telent[SW1]telnetserverenable[SW1]aaa[SW1-aaa]local-userhcipprivilegelevel3passwordcipher123Info:Addanewuser.[SW1-aaa]displaythis#aaaauthentication-schemedefaultauthorization-schemedefaultaccounting-schemedefaultdo......
  • 50 kWp并网光伏实验电站的综合设计、搭建与运行 | 并网光伏发电 | 垂杨光伏
    太阳能作为新能源的重要组成部分,凭借巨大的资源优势,其应用规模日益扩大并随着光伏发电技术的快速发展,各种新型光伏器件不断问世,为太阳能的开发利用提供了更多的机遇和发展潜力。考虑到现有光伏电站选用器件较为传统单一,不能满足于对新型光伏器件的性能进行实证对比研究,从而......
  • javaweb实验二
    实验项目名称:实验二  服务器端简单程序设计 一、实验目的通过一个小型网站的开发,加深对session,request,response,cookie等对象的理解,掌握其使用方法,进一步深入掌握HTML、CSS和JavaScript等知识。二、实验内容和基本要求1)编写index.jsp文件,展示某一类物品或知识的介绍,可以......
  • 实验1
    task1_1.pyprint('hey,u')print('hey','u')x,y,z=1,2,3print(x,y,z)print('x=%d,y=%d,z=%d'%(x,y,z))print('x={},y={},z={}'.format(x,y,z))print(f'x={x},y={y},z={z}')print(x)print(y)print......
  • 华为认证DATACOM-HCIP级别实验
    路由器服务器中继实验拓扑含笔记R1<Huawei>undotm<Huawei>sy[Huawei]syR1[R1]dhcpenable[R1]ippoolhuawei1.0[R1-ip-pool-huawei1.0]gateway-list10.1.1.1[R1-ip-pool-huawei1.0]network10.1.1.0mask24[R1-ip-pool-huawei1.0]intg0/0/0[R1-GigabitEthernet0......
  • 04_HTTPS实验
    04_HTTPS实验《信息安全综合实践》实验报告HTTPS实验姓名:学号:邮箱:实验时长:分钟一、实验目的理解计算机网络基本概念;了解密码技术在网络安全中的应用;学习和掌握web服务搭建基本流程;学习和掌握https服务搭建基本流程。二、实......
  • Linux实验报告-上 海 开 放 大 学-指导: linux-1688
    上海开放大学实验名称:Linux操作系统安装配置简答题(直接打字回答在题目下方,仅完成4道题目的同学,最高30分。另外70分是加给自己搭建实验环境完成实验报告的同学):1、Linux和Windows系统有哪些不同之处?指导加VX:linux-16882、Linux系统的有哪些主要的发行版本?指导加VX:linux......
  • AWS上DevOps实验(三)--- 使用Terraform创建Web应用基础架构
    从本文档起,作者计划在AWS上做一系列DevOps/IaC相关实验,本文是第三篇,使用Terraform创建Web应用基础架构。本次实验架构图本次实验架构图如下:Terraform代码本次代码可以从下载代码结构如下:文档如下:$lltotal52-rw-r--r--1ec2-userec2-user3201Mar603:22appser......