?? lcd.c
字號:
// **************************************************************
// *** 廣 州 天 河 雙 龍 電 子 公 司 ***
// *** http://www.sl.com.cn ***
// *** 實驗:lcd靜態校驗 ***
// *** 作者:zxy@sl.com.cn ***
// *** 2006年3月28日 ***
// *** 目標MCU:MEGA169 晶振:內部(INT)8MHZ ***
// **************************************************************
//實驗效果:LCD所有的段靜態顯示
#include <iom169v.h>
#include <macros.h>
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00;
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
void lcd_init(void)
{
LCDCRA = (1<<LCDEN);
/* 晶體振蕩器*/
/* 1/3 偏置和1/4 占空比 */
LCDCRB = (0<<LCDCS) | (1<<LCDMUX0)| (1<<LCDPM2)| (1<<LCDPM1)| (1<<LCDPM0);
/* 選擇16 為預分頻因子,7 為LCD 時鐘分頻數*/
/* 得到幀速率為 Hz */
LCDFRR = (1<<LCDPS2) |(1<<LCDPS1) |(0<<LCDPS0) |(1<<LCDCD2) | (1<<LCDCD1) | (0<<LCDCD0);
/* 設置輸出電壓為3.3 V */
LCDCCR = (1<<LCDCC3) | (1<<LCDCC2) | (1<<LCDCC1) | (1<<LCDCC0);
/* 使能LCD,缺省波形并禁止所有中斷*/
LCDDR0=0x00;
LCDDR1=0x00;
LCDDR2=0x00;
LCDDR3=0x00;
LCDDR5=0x00;
LCDDR6=0x00;
LCDDR7=0x00;
LCDDR8=0x00;
LCDDR10=0x00;
LCDDR11=0x00;
LCDDR12=0x00;
LCDDR13=0x00;
LCDDR15=0x00;
LCDDR16=0x00;
LCDDR17=0x00;
LCDDR18=0x00;
LCDCRA=(1<<LCDEN);
}
void main(void)
{
port_init();
lcd_init();
while(1)
{ while ( !(LCDCRA & (1<<LCDIF)) );
LCDCRA = (1<<LCDEN)|(1<<LCDIF);
LCDDR0=0xff;
LCDDR1=0xff;
LCDDR2=0xff;
LCDDR3=0xff;
LCDDR5=0xff;
LCDDR6=0xff;
LCDDR7=0xff;
LCDDR8=0xff;
LCDDR10=0xff;
LCDDR11=0xff;
LCDDR12=0xff;
LCDDR13=0xff;
LCDDR15=0xff;
LCDDR16=0xff;
LCDDR17=0xff;
LCDDR18=0xff;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -