?? led.c
字號:
/*****************************************************
* 文件名稱:
* led.c
* 文件說明:顯示的時(shí)候首先設(shè)置要顯示的內(nèi)容
* 然后使能相應(yīng)的LED
*
*****************************************************/
#ifndef MSP430F449_H
#include <msp430x44x.h>
#endif
#define LED_IN_USE 6
/*****************************************************/
/* 數(shù)據(jù)定義 */
/*****************************************************/
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,0x00使LED不顯示
unsigned char led_Buf[LED_IN_USE]; // LED顯示緩沖區(qū) ,
// 存放要顯示數(shù)據(jù)
unsigned char led_Ctrl;
/*******************************************************
* 模塊初始化
*******************************************************/
void init_LED(void){
char tmpv;
P3DIR = 0xff; // 設(shè)置 p3 輸出
P3OUT = 0x00; // 設(shè)置 初始值為0
P4DIR |= 0x03; // 設(shè)置 p4.0,p4.1 輸出
P4OUT &= 0xfc; // 設(shè)置初始值
led_Ctrl = 0; // led_Ctrl用于控制那個(gè)LED可顯示
for(tmpv=0;tmpv<LED_IN_USE;tmpv++)
{ // 初始化緩沖區(qū)
led_Buf[tmpv] = 0;
}
}
/****************************************************
* LED 顯示 ,該函數(shù)可以放到定時(shí)器中斷中
****************************************************/
void led_Display(){
unsigned tmp ;
tmp = 0x01;
P3OUT = NUM_LED[led_Buf[led_Ctrl]]; // 設(shè)置顯示值
P4OUT |= 0x02; // 打開數(shù)據(jù)鎖存器
P4OUT &= 0XFD; // 關(guān)閉數(shù)據(jù)鎖存
P3OUT = ~(tmp<<led_Ctrl); // 設(shè)置那只LED顯示
P4OUT |= 0x01; // 打開控制鎖存
P4OUT &= 0XFE; // 關(guān)閉控制鎖存
led_Ctrl= (led_Ctrl +1) % LED_IN_USE; // 設(shè)置下一個(gè)要顯示的LED
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -