分享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
|