硬件描述


两个LED灯:
P1.0接LED1(红),P4.7接LED2(绿).

IO口输出高电平时,LED亮
IO口输出低电平时,LED灭

点亮红灯

(ccs中的c语言代码,用430进行调试)

P1口八个引脚
.7 .6 .5 .4 .3 .2 .1 .0

P1.0 红色LED1
控制:P1.7 6 5 4 3 2 1 0
二进制 : 0 0 0 0 0 0 0 1
八进制 : 0x01
输出:P1DIR = 0x01;
输出寄存器:P1OUT = 0x01;

#include<msp430.h>
int main(void)
{//关闭看门狗WDTCTL=WDTPW | WDTHOLED;//设置P1.0为输出P1DIR = 0x01;//设置P1.0为高电平,点亮LED灯P1OUT = 0x01;//设置P1.0为低电平,熄灭LED灯P1OUT = 0x00;//设置P1.0为高电平,点亮LED灯P1OUT = 0x01;
}

点亮绿灯

P4口八个引脚
.7 .6 .5 .4 .3 .2 .1 .0

P4.7 绿色LED2
控制:P4.7 6 5 4 3 2 1 0
二进制 : 1 0 0 0 0 0 0 0
八进制 : 0x80
输出:P4DIR = 0x80;
输出寄存器:P4OUT = 0x80;

#include<msp430.h>
int main(void)
{//关闭看门狗WDTCTL=WDTPW | WDTHOLED;//设置P4.7为输出 P4DIR = 0x80;//设置P4.7为高电平,点亮LED灯P4OUT = 0x80;//设置P4.7为低电平,熄灭LED灯P4OUT = 0x00;//设置P4.7为高电平,点亮LED灯P4OUT = 0x80;
}

红色LED灯的闪烁

亮→灭→亮 (每个中间需要有时间延时)

#include<msp430.h>
int main(void)
{unsigned int T_deley;//关闭看门狗WDTCTL = WDTPW | WDTHOLED;//设置P1.0的方向为输出 P1DITR = 0x01;while(1){P1OUT = 0x01;//时间延时for(T_deley=0;T_deley<50000;T_deley++);P1OUT = 0x00;for(T_deley=0;T_deley<50000;T_deley++);}
}

绿色LED灯的闪烁

#include<msp430.h>
int main(void)
{unsigned int T_deley;//关闭看门狗WDTCTL = WDTPW | WDTHOLED;//设置P4.7的方向为输出 P4DIR = 0x80;while(1){P4OUT = 0x80;//时间延时for(T_deley=0;T_deley<50000;T_deley++);P4OUT = 0x00;for(T_deley=0;T_deley<50000;T_deley++);}
}

红绿灯交替闪烁

#include<msp430.h>
int main(void)
{unsigned int T_deley;//关闭看门狗WDTCTL = WDTPW | WDTHOLED;//设置P1.0的方向为输出 P1DIR = 0x01;//设置P4.7的方向为输出 P4DIR = 0x80;while(1){P1OUT = 0x01;P4OUT = 0x00;for(T_deley=0;T_deley<50000;T_deley++);P1OUT = 0x00;P4OUT = 0x80;for(T_deley=0;T_deley<50000;T_deley++);}
}

呼吸灯

亮灯频率超前,灭的频率降低就行,具体原理还未深刻理解,只会照猫画虎
注:以下代码仓促写完,未调试,可能会有小问题

#include<msp430.h>
int main(void)
{WDTCTL = WDTPW | WDTHOLD;unsigned int de1,de2,deley,i;i=0;de1=0;de2=500-de1;P1DIR=0x01;while(1){if(i==0){P1OUT=0x01;for(deley=0;deley<de1;deley++){if(de1!=500)de1++;if(de1==500)i=1;}P1OUT=0x00;for(deley=0;deley<de2;deley++);}if(i==1){P1OUT=0x01;for(deley=0;deley<de1;deley++){if(de1!=0)de1--;if(de1==0)i=0;}P1OUT=0x00;for(deley=0;deley<de2;deley++);}}
}

补作业原因

寒假老师布置作业,但只学会了控制灯的开关,没有学多少,这几天会补到老师要求的地方

【补作业】msp430单片机(一)控制LED灯的亮灭相关推荐

  1. 单片机基础:开关控制LED灯的亮灭

    (一) 单片机的初级运用.通过两个开关来控制LED灯的亮灭.首先要使用Proteus来绘制电路原理图.图中的LED灯为共阴接法.如图: (二)当单片机P3口做输入时,首要让其端口输出1.如图中的P3^ ...

  2. 红外控制LED灯的亮灭———Arduino

    Arduino的中文社区:https://www.arduino.cn/ \黑脸,今天烧坏一个二极管. 原因:正负极没反,没接电阻. 把自己头打烂了- 1. 所需硬件 开发板,led灯(多个),遥控器 ...

  3. Java 通过GPIO控制LED灯的亮灭(一)

    Java 通过GPIO控制LED灯的亮灭(Firefly-RK3399)(一) Note: 为Android 开发,开发工具AndroidStudio 什么是 GPIO ,(General-purpo ...

  4. 串口接收字符/字符串/定向printf串口发送/用串口控制led灯的亮灭

    ##usart.h//串口头文件 #include "stm32f10x.h" #include <stdio.h> void usart_init(); void U ...

  5. cc2530 按键中断实验——按键控制LED灯的亮灭

    在本次学习中,主要通过外部中断来控制LED的亮灭. 首先,先查看相关电路图.由图可知,当CC2530端口1的1号引脚输出低电平时,LED3将被点亮,当按键31按下时,端口1的1号引脚将为低电平,抬起时 ...

  6. 嵌入式开发控制LED灯的亮灭

    目录 一.创建项目 背景: 1.选好自己需要的开发板(这里使用的STM32F103C8T6的开发板) 2.引脚配置 3.EXIT配置 4.配置SYS 5.配置GPIO 6.项目配置 二.Keil配置 ...

  7. 按钮控制LED灯的亮灭

    实验通过主板自带的小灯泡和按钮实现通过按钮来控制小灯泡的亮灭. 对按钮的输入次数进行判断从而进行控制灯的亮灭. volatile int b1; volatile int b2; volatile i ...

  8. 8.利用红外遥控信号控制LED灯的亮灭

    代码实现当遥控器按下1的时候,LED 灯亮 当遥控器按下2的时候,LED 灯灭 代码如下: #include<IRremote.h> //定义接受引脚 const int irReceiv ...

  9. 【Arduino基础】倾斜开关控制led灯的亮灭

    实验现象 手拿着面包板,当倾斜到一定程度时,LED被点亮:没有倾斜时,led不亮. 理论学习 当开关一端低于水平位置倾斜,开关导通,模拟口电压值为5V左右 (数字二进制表示为1023),点亮led灯. ...

最新文章

  1. java内存栅栏_内存屏障(Memory Barriers/Fences) - 并发编程中最基础的一项技术
  2. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)
  3. 说一说为什么gethostbyname用完后不用释放内存
  4. 让我感动的经典台词(zz)
  5. 超详细的CMD文件讲解
  6. React + fetch API + 百度地图api + 跨域 填坑
  7. java设计模式之设计原则①开闭原则
  8. python三角形判断白盒测试的代码_进化的测试 软件测试,自动化测试,白盒测试,Python...
  9. rr计算机专业英语,《计算机专业英语》电子教本8.pdf
  10. Istio微服务平台集成实践
  11. HeapSort 堆排序
  12. Vant报错:[Vue warn]: Invalid prop: type check failed for prop “lazyLoad“. Expected Boolean, got String
  13. Restful/Soap风格比较
  14. 数据结构--串--KMP
  15. Redis设计与实现(导航)
  16. SAP MM供应商主数据
  17. crt和zoc7的快捷键记录
  18. 微信群如何引流最快?微信群裂变引流工具首选这款
  19. 这可能是东半球最详细的Linux下搭建Jenkins服务器实现自动打包的教程(下)
  20. 外汇天眼:外汇储备减少对新兴市场货币构成风险

热门文章

  1. Azure Information Protection信息保护(AIP)/Azure Rights Management权限管理(RMS)
  2. 洛谷P3336 [ZJOI2013]话旧 题解
  3. 分享软件测试人员必备的60个测试工具,赶紧收藏起来
  4. exlc表格怎么换行_Excel表格如何自动换行
  5. oracle load 用法,Oracle中SQL*LOADER使用方法总结
  6. 牛客小白月赛61_C-小喵觅食题解
  7. Android 9.0 SystemUI 下拉状态栏快捷开关
  8. 小赢钱包近年来的不断创新和变革,给传统金融服务机构带助力及补充
  9. 云呐|固定资产条码管理系统的应用
  10. 修改传奇私服服务器,传奇SF 肿么修改服务器时间