本文主要是介绍MSP430F169(一) —— 点亮发光二极管,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- LED模块
- 1. LED灯工作原理
- 2. LED电路
- 代码分析
- 1. 位运算LED流水灯
- 2. switch LED流水灯
LED模块
1. LED灯工作原理
发光二极管的核心部分是由P型半导体和N型半导体组成的晶片,在P型半导体和N型半导体之间有一个过渡层,称为PN结。在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。
2. LED电路
代码分析
1. 位运算LED流水灯
void LED_light_By_Bit_Open()
{volatile unsigned int j;volatile unsigned int i;for (;;){for (j = 0;j < 8;j++) //从左向右依次点亮{P6OUT = P6OUT << 1;i = 5000;do(i--);while (i != 0) ;}P6OUT = 0XFF; for (j = 0;j < 8;j++) //从右向左依次点亮{P6OUT = P6OUT >> 1;i = 5000;do(i--);while (i != 0) ;}P6OUT = 0XFF;}
}
2. switch LED流水灯
void LED_Runing(unsigned char LED_NUM)
{switch(LED_NUM){case 0:LED8 &= ~(1<<0); //点亮D1灯break;case 1:LED8 &= ~(1<<1); //点亮D2灯break;case 2:LED8 &= ~(1<<2); //点亮D3灯break;case 3:LED8 &= ~(1<<3); //点亮D4灯break; case 4:LED8 &= ~(1<<4); //点亮D5灯break;case 5:LED8 &= ~(1<<5); //点亮D6灯break;case 6:LED8 &= ~(1<<6); //点亮D7灯break;case 7:LED8 &= ~(1<<7); //点亮D8灯break; default:LED8 = 0x00; //点亮所有的LED灯break;}
}
这篇关于MSP430F169(一) —— 点亮发光二极管的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!