182|0

4817

帖子

0

资源

纯净的硅(中级)

分享MSP430控制发光二极管和流水灯源编程实例 [复制链接]

分享MSP430单片机的2个小程序:
1、二极管的闪烁程序
2、流水灯程序
单片机源程序如下:


//所有教程一律免费下载
/************************************************************************************
工程名称:   LED
功能描述:  使用单片机P10口做输出口控制LED,使该位发光二极管闪烁。
硬件连接:  用1位杜邦线将J8_0与J13_1连接。
************************************************************************************/
#include "io430.h"
#include "nbc430.h"

#define uchar unsigned char
#define uint  unsigned int

//***********************************************************************************
//延时
//***********************************************************************************
void delay(uint time)
{
        uint i,j;
        for(i = 0;i < time; i++)
        {
          for(j = 0;j < 30; j++);
            }
}
//***********************************************************************************
//IO初始化操作
//***********************************************************************************
void IO_init(void)
{
        P1DIR0=1;                  //设置P10口为同相低电平输出
        P10=1;                    //设置P10初始化数据为高电平
}
//***********************************************************************************
//主函数
//***********************************************************************************
void main ()
{         
    WDTCTL = WDTPW + WDTHOLD;     //禁止看门狗复位
    IO_init();                    //IO初始化
        while(1)                  //死循环
         {
……………………

//所有教程一律免费下载
/************************************************************************************
工程名称:   LED_liushui
功能描述:  使用单片机的P1口做输出口,控制8位发光二极管实现流水灯。
硬件连接:  用8位杜邦线将J8与J13连接。
************************************************************************************/
#include "io430.h"
#include "nbc430.h"

#define uchar unsigned char
#define uint  unsigned int
//***********************************************************************************
//延时
//***********************************************************************************
void delay(uint time)
{
        uint i,j;
        for(i = 0;i < time; i++)
        {
          for(j = 0;j < 30; j++);
            }
}
//***********************************************************************************
//IO初始化操作
//***********************************************************************************
void IO_init(void)
{
        P1DIR=0xff;          //设置P1口为同相低电平输出
        P1=0x00;          //设置P1初始化数据为高电平
}
//***********************************************************************************
//主函数
//***********************************************************************************
void main ()
{         
uchar  i,j;              //定义变量i,j;
WDTCTL = WDTPW + WDTHOLD;//禁止看门狗复位
IO_init();               //IO初始化         
while(1)                 //进入while死循环
  {                     
   j=0x01;                //0x01即为二进制0000 0001,即最低位为1,其他位为0
   for(i=0;i<8;i++)       //进入for循环,循环8次
     {
      P1=~j;              //依次循环点亮8位LED的1位
      delay(1000);        //延时,修改延时即可修改时间间隔
      j<<=1;              //j左移1位,j<<=1等效于j=j<<1
 


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

关闭
站长推荐上一条 1/1 下一条

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

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

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

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