?? hal_lcd.h
字號:
/*******************************************************************************
Filename: hal_lcd.h
Copyright 2008 Texas Instruments, Inc.
***************************************************************************/
#ifndef HAL_LCD_H
#define HAL_LCD_H
#ifndef MIN
#define MIN(n,m) (((n) < (m)) ? (n) : (m))
#endif
#ifndef MAX
#define MAX(n,m) (((n) < (m)) ? (m) : (n))
#endif
#ifndef ABS
#define ABS(n) (((n) < 0) ? -(n) : (n))
#endif
#define LCD_COMM_OUT P8OUT
#define LCD_COMM_DIR P8DIR
#define LCD_COMM_SEL P8SEL
#define LCD_BACKLIGHT_PIN BIT3
#ifdef REV_02
#define LCD_CS_RST_DIR LCD_COMM_DIR
#define LCD_CS_RST_OUT LCD_COMM_OUT
#define LCD_CS_PIN BIT1
#define LCD_RESET_PIN BIT2
#else
#define LCD_CS_RST_DIR P9DIR
#define LCD_CS_RST_OUT P9OUT
#define LCD_CS_PIN BIT6
#define LCD_RESET_PIN BIT7
#endif
#define LCD_ROW 110
#define LCD_COL 138
#define LCD_Size 3505
#define LCD_MEM_Size 110*17
#define LCD_Max_Column_Offset 0x10
#define LCD_Last_Pixel 3505
#define LCD_MEM_Row 0x11
#define LCD_Row 0x20
// Grayscale level definitions
#define PIXEL_OFF 0
#define PIXEL_LIGHT 1
#define PIXEL_DARK 2
#define PIXEL_ON 3
#define INVERT_TEXT BIT0
#define OVERWRITE_TEXT BIT2
#define UCBUSY (0x01)
#define UCB2CTL0 UCB2CTLW0_H /* USCI B2 Control Register 0 */
#define UCB2CTL1 UCB2CTLW0_L /* USCI B2 Control Register 1 */
#define UCB2BR0 UCB2BRW_L /* USCI B2 Baud Rate 0 */
#define UCB2BR1 UCB2BRW_H /* USCI B2 Baud Rate 1 */
#define UCB2TXBUF_ (0x066Eu) /* USCI B2 Transmit Buffer */
#define UCB2IFG UCB2ICTL_H /* USCI B2 Interrupt Flags Register */
#define UCB2STAT_ (0x066Au) /* USCI B2 Status Register */
#define UCTXIFG (0x0002u) /* USCI Transmit Interrupt Flag */
#define UCMST (0x08) /* Sync. Mode: Master Select */
#define UCSYNC (0x01) /* Sync-Mode 0:UART-Mode / 1:SPI-Mode */
#define UCCKPL (0x40) /* Sync. Mode: Clock Polarity */
#define UCMSB (0x20) /* Async. Mode: MSB first 0:LSB / 1:MSB */
#define UCSSEL_2 (0x80) /* USCI 0 Clock Source: 2 */
#define UCSWRST (0x01) /* USCI Software Reset */
#define UCRXIFG (0x0001u) /* USCI Receive Interrupt Flag */
#define TA0CTL_ (0x0340u) /* Timer0_A5 Control */
#define TA0CCTL3_ (0x0348u) /* Timer0_A5 Capture/Compare Control 3 */
#define TA0CCR3_ (0x0358u) /* Timer0_A5 Capture/Compare 3 */
#define TA0CCR0_ (0x0352u) /* Timer0_A5 Capture/Compare 0 */
#define OUTMOD_7 (7*0x20u) /* PWM output mode: 7 - PWM reset/set */
#define TASSEL_2 (2*0x100u) /* Timer A clock source select: 2 - SMCLK */
#define MC_1 (1*0x10u) /* Timer A mode control: 1 - Up to CCR0 */
#define MC0 (0x0010u) /* Timer A mode control 0 */
#define UCB2TXBUF_ (0x066Eu)
#define P9IN (PEIN_L) /* Port 9 Input */
#define P9OUT (PEOUT_L) /* Port 9 Output */
#define P9DIR (PEDIR_L) /* Port 9 Direction */
#define P9REN (PEREN_L) /* Port 9 Resistor Enable */
#define P9DS (PEDS_L) /* Port 9 Resistor Drive Strenght */
#define P9SEL (PESEL_L) /* Port 9 Selection */
/*-------------------------------------------------------------
* Function Prototypes
* ------------------------------------------------------------*/
void halLcdInit(void);
void halLcdShutDown(void);
void halLcdBackLightInit(void);
void halLcdSetBackLight(unsigned char BackLightLevel);
unsigned int halLcdGetBackLight(void);
void halLcdShutDownBackLight(void);
void halLcdSendCommand(unsigned char Data[]) ;
void halLcdSetContrast(unsigned char ContrastLevel);
unsigned char halLcdGetContrast(void);
void halLcdStandby(void);
void halLcdActive(void);
//Move to specified LCD address
void halLcdSetAddress(int Address);
//Draw at current segment location
void halLcdDrawCurrentBlock(unsigned int Value);
//Draw at specified location by calling
//LCD_Set_Address(Address) & LCD_Draw_Current_Block( value )
void halLcdDrawBlock(unsigned int Address, unsigned int Value);
//Read value from LCD CGRAM
int halLcdReadBlock(unsigned int Address);
//Clear LCD Screen
void halLcdClearScreen(void);
//Invert black to white and vice versa
void halLcdReverse(void);
// Draw a Pixel @ (x,y) with GrayScale level
void halLcdPixel( int x, int y, unsigned char GrayScale);
//Draw Line from (x1,y1) to (x2,y2) with GrayScale level
void halLcdLine( int x1, int y1, int x2, int y2, unsigned char GrayScale);
void halLcdCircle(int x, int y, int Radius, int GrayScale);
void halLcdImage(const unsigned int Image[], int Columns, int Rows, int x, int y);
void halLcdClearImage(int Columns, int Rows, int x, int y);
//Print String of Length starting at current LCD location
void halLcdPrint( char String[], unsigned char TextStyle) ;
//Print String of Length starting at (x,y)
void halLcdPrintXY(char String[], int x, int y, unsigned char TextStyle);
//Print String of Length starting at (x,y)
void halLcdPrintLine(char String[], unsigned char Line, unsigned char TextStyle);
void halLcdPrintLineCol(char String[], unsigned char Line, unsigned char Col, unsigned char TextStyle);
void halLcdCursor(void);
void halLcdCursorOff(void);
//Scroll a single row of pixels
void halLcdScrollRow(int y);
//Scroll a number of consecutive rows from yStart to yEnd
void halLcdHScroll(int yStart, int yEnd);
//Scroll a line of text
void halLcdScrollLine(int Line);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -