/************************************************
제목 :TEXT LCD 구동
보드 : STM3210B
LCD : Dr.Kim TEXT LCD Module MLCD-100
최초작성일 : 2011.06.28
작성자 : 부산직업능력개발원 정보기술 ***
핀연결
1(DB5) : PA5
2(DB4) : PA4
3(DB6) : PA6
4(DB3) : PA3
5(DB7) : PA7
6(DB2) : PA2
8(DB1) : PA1
9(E) : PB0
10(DB0) : PA0
11(RS) : PE7
19(VCC) : 5V
20(GND) : GND
*************************************************/
#include "stm32f10x.h"
#include <string.h>
#define LCD_E GPIO_Pin_0 //b
#define LCD_RS GPIO_Pin_7 //e
void lcdw(void);
void lcdc(unsigned char data);
void lcdd(unsigned char data);
void lcdcc(void);
void lcds(void);
void delay(u32 d1, u32 d2);
int main(void){
char mytext[]="why?! hooooo.";
char mytext2[]="Hahaha*&^^";
GPIO_InitTypeDef GPIO;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE);
GPIO.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO.GPIO_Speed=GPIO_Speed_2MHz;
GPIO.GPIO_Pin=0xff;
GPIO_Init(GPIOA, &GPIO);
GPIO.GPIO_Pin=GPIO_Pin_0;
GPIO_Init(GPIOB, &GPIO);
GPIO.GPIO_Pin=GPIO_Pin_7;
GPIO_Init(GPIOE, &GPIO);
delay(1000,1000);
lcdw();
for(u8 a=0; a<strlen(mytext); a++) lcdd(mytext[a]);
lcdc(0x80 | 0x40); //set ddram address
for(u8 a=0; a<strlen(mytext2); a++) lcdd(mytext2[a]);
lcdd(0xa6);
while(1){
}
}
void lcdw(void){
lcdc(0x38);
lcdc(0x02);
lcdc(0x01);
lcdc(0x06);
lcdc(0x0f);
}
void lcdc(unsigned char data){
GPIOA->ODR &= ~0xff;
GPIOA->ODR |= data;
GPIOE->ODR &= ~(LCD_RS);
GPIOB->ODR |= (LCD_E);
lcds();
GPIOB->ODR &= ~(LCD_E);
GPIOE->ODR &= ~(LCD_RS);
lcdcc();
}
void lcdd(unsigned char data){
GPIOA->ODR &= ~0xff;
GPIOA->ODR |= data;
GPIOE->ODR |= (LCD_RS);
GPIOB->ODR |= (LCD_E);
lcds();
GPIOB->ODR &= ~(LCD_E);
GPIOE->ODR &= ~(LCD_RS);
lcds();
}
void lcdcc(void){
delay(1000,100);
}
void lcds(void){
delay(1000,10);
}
void delay(u32 d1, u32 d2){
vu32 i,j;
for(i=0;i<d1;i++) {
for(j=0;j<d2;j++);
}
}
'컴퓨터 > Cortex-M3(STM32F103)' 카테고리의 다른 글
[STM3210B]GLCD 만능달력 (0) | 2011.07.12 |
---|---|
[STM3210B]RTC를 이용하여 TEXT LCD에 날짜가 표시되는 시계 (0) | 2011.06.30 |
myCortex(LM3S8962)에서 광전자도트매트릭스 테스트 프로그램 (0) | 2011.05.13 |
STM3210E보드에 있는 LED점멸하기(GPIO) (1) | 2011.05.04 |
H-JTAG 개발환경 구축 (2) | 2011.05.03 |