📄 led.c.bak
字号:
/*****************************************************
* 文件名称:
* led1.h
* 文件说明:显示的时候首先设置要显示的内容
* 然后使能相应的LED
*
*****************************************************/
#ifndef _MSP430XF449H_
#include <msp430x44x.h>
#endif
#define LED_IN_USE 6
/*****************************************************/
/* 数据定义 */
/*****************************************************/
const unsigned char NUM_LED[17]=
{0xd7,0x14,0xcd,0x5d,0x1E, // 0 ~ 4
0x5b,0xdb,0x15,0xdf,0x5f, // 5 ~ 9
0x9f,0xda,0xc3,0xcc,0xcf, // a ~ e
0x8b,0x00}; //f,不显示
unsigned char led_Buf[LED_IN_USE]; // LED显示缓冲区 ,
// 存放要显示数据
unsigned char led_Ctrl;
/*******************************************************
* 模块初始化
*******************************************************/
void init_LED(void){
char tmpv;
P3DIR = 0xff; // set p3 output mode
P3OUT = 0x00; // set initial value 0
P4DIR |= 0x03; // set p4.0,p4.1 output mode
P4OUT &= 0xfc; // set initial value 0
led_Ctrl = 0;
for(tmpv=0;tmpv<LED_IN_USE;tmpv++){
led_Buf[tmpv] = 0;
}
}
/****************************************************
* LED 显示 ,该函数可以放到定时器中断中
****************************************************/
void led_Display(){
unsigned tmp ;
tmp = 0x01;
P3OUT = NUM_LED[led_Buf[led_Ctrl]]; // set what to be displayed
P4OUT |= 0x02; // open data choose
P4OUT &= 0XFD; // close data choose
P3OUT = ~(tmp<<led_Ctrl); // set which led is to be lit
P4OUT |= 0x01; // open control choose
P4OUT &= 0XFE; // close control choose
led_Ctrl= (led_Ctrl +1) % LED_IN_USE; // record which led to be lit
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -