📄 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<<LCDMUX1)| (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 + -