**
I.原理介绍:
** 我买的板子型号是:MFIoT-Z-001,有四个LED,TI公司的一般有三个,不过都差不多。 资料提供的二极管电路图如下: 由于二极管的单向导通性质,即只有在正向电压(二极 管的正极接正,负极接负)下才能导通发光。所以P10,P11,P12,P13,分别对应低电平时,LED点亮。高电平时熄灭。
相关寄存器表: 稍微解释下:第一列为寄存器与寄存器对应的地址。 P1寄存器就表示端口1,端口1为I/O端口。 P1SEL寄存器作用是选择P1.0到p1.7对应的功能。这里我们要用到P1.0,P1.1,P1.4端口作为LED的输出端口。所以要置位I/O端口,所以第0,1,4位分别置1.对应的P1SEL值为~0x13 P1DIR寄存器表示端口是输出端口还是输入端口,这里要显示LED为输出端口,不需要输入,所以P1DIR=0x13
II、代码
#include
#define uint unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define LED1 P1_0 //定义LED1为P10口控制
#define LED2 P1_1 //定义LED2为P11口控制
#define LED3 P1_4 //定义LED3为P14口控制
//函数声明
void Delay(uint); //延时函数
void InitIO(void); //初始化LED控制IO口函数
/****************************
//延时
*****************************/
void Delay(uint n)
{
uint i;
for(i = 0;i
InitIO(); //初始化LED灯控制IO口
while(1) //死循环
{
LED1 = !LED1; // LED1灯闪一次
Delay(10000);
LED2 = !LED2; // LED2灯闪一次
Delay(10000);
LED3 = !LED3; // LED3灯闪一次
Delay(10000);
}
}
|