📄 lcd_flash.c
字号:
/****************************************Copyright (c)**************************************************
** 太原理工大学测控技术
** 研 究 所
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: LCD_FLASH.c
**创 建 人: 贺 虎
**最后修改日期: 2005年12月12日
**描 述: LCD Driver
**
**
** Connections MSP430 -> LCD
** -------------------------
**
** T.I. T.I.
** MSP430x44x MCU STK/EVK 6.5 digit 4 mux LCD
** #T218010
** --------------- --------------
** | COM3 |-----|2 COM4 |
** | COM2 |-----|1 COM3 |
** | COM1 |-----|3 COM2 |
** | COM0 |-----|4,20 COM1 |
** | SEG0 |-----|19 |
** | SEG1 |-----|18 |
** | SEG2 |-----|17 |
** | SEG3 |-----|16 |
** | SEG4 |-----|15 |
** | SEG5 |-----|14 |
** | SEG6 |-----|13 |
** | SEG7 |-----|12 |
** | SEG8 |-----|11 |
** | SEG9 |-----|10 |
** | SEG10|-----|9 |
** | SEG11|-----|8 |
** | SEG12|-----|7 |
** | SEG13|-----|6 |
** | SEG14|-----|5 (bits C,E,H |
** | | | of digit 7)|
** | | --------------
** | |
** ---------------
**
** NOTE: Pin R03 on the MSP430 must be connected to GND
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 贺 虎
** 版 本: v1.0
** 日 期: 2005年12月12日
** 描 述: 原始版本
**
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人:
** 日 期:
** 描 述:显示码表:
** Display Memory Bit:e h f c g d b a
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#include "msp430x44x.h"
#define SEGE 0X80
#define SEGH 0X40
#define SEGF 0X20
#define SEGC 0X10
#define SEGG 0X08
#define SEGD 0X04
#define SEGB 0X02
#define SEGA 0X01
const unsigned char digit[10] = {
SEGA|SEGB|SEGC|SEGD|SEGE|SEGF, /* "0" LCD segments a+b+c+d+e+f */
0x12, /* "1" */
0x8F, /* "2" */
0x1F, /* "3" */
0x3A, /* "4" */
0x3D, /* "5" */
0xBD, /* "6" */
0x13, /* "7" */
0xBF, /* "8" */
0x3F /* "9" */
};
void main(void)
{
volatile unsigned int i; // Use volatile to prevent removal
// by compiler optimization
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
FLL_CTL0 |= XCAP14PF; // Configure load caps
for (i = 0; i < 10000; i++); // Delay for 32 kHz crystal to
// stabilize
LCDCTL = LCDON + LCD4MUX + LCDSG0_1; // LCD on, 4-Mux, segments S0-S15
//BTCTL = BTSSEL + BT_fCLK2_DIV256; // SMCLK/256
BTCTL = BT_fLCD_DIV128; // LCD clock freq is ACLK/128
P5SEL = 0xFC; // Select P5.2-7 as Com and Rxx
LCDMEM[0]=digit[6];
LCDMEM[1]=digit[5];
LCDMEM[2]=digit[4];
LCDMEM[3]=digit[3];
LCDMEM[4]=digit[2];
LCDMEM[5]=digit[1];
LCDMEM[6]=digit[0];
LCDMEM[7] |= (SEGG|SEGA|SEGD);
while(1)
{
for (i = 0; i < 60000; i++);
//LCDCTL ^= LCDSON;//在禁止和允许所有段输出之间切换
//LCDCTL ^= LCDON;//通过开关定时发生器来实现闪烁
LCDMEM[7] ^= (SEGG|SEGA|SEGH); //+ -->d
//| -->g
//| -->a
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -