PDA의 무선인터넷 기능을 이용한 LCD제어 및 서버 데이터베이스 구축
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

PDA의 무선인터넷 기능을 이용한 LCD제어 및 서버 데이터베이스 구축에 대한 보고서 자료입니다.

목차

1. 서론
1.1 보고서 구성

2. 본론
2.1 선행기술
2.2 개발 환경
2.3 구현원리

3. 결과
3.1 구현방식

4. 문제점 및 결론
5. 참고문헌
부록 프로그램 코드

본문내용

abled = False
CmdUpdate.Enabled = False
End Sub
Private Sub CmdEnd_Click()
ds.Close
db.Close
Unload Me
StartPage.Show
End Sub
3. AVR 프로그램
#include <90s8515.h>
#include
#include
#define FUNCSET0x28// Function Set
#define ENTMODE0x06// Entry Mode Set
#define ALLCLR0x01// All Clear
#define DISPON0x0c // Display On
#define LINE20xC0// 2nd Line Move
char receive=0;
char rx;
char str[5];
char cScore;
unsigned k_s;
unsigned j_s;
unsigned char led = 0xFE;
int cPacketNo=0;
// 시간 지연 함수
void Busy(void)
{delay_ms(2);// 2ms간 지연}
// 인스트럭션 쓰기 함수
void Command(unsigned char byte)
{Busy();// 시간 지연 함수 호출
// 인스트럭션 상위 바이트
PORTC = (byte & 0xF0);// 데이터
PORTC &= 0xFE;//RS = 0;
PORTC &= 0xFD;//RW = 0;
delay_us(1);
PORTC |= 0x04;//E = 1;
delay_us(1);
PORTC &= 0xFB;//E = 0;
// 인스트럭션 하위 바이트
PORTC = ((byte<<4) & 0xF0);// 데이터
PORTC &= 0xFE;//RS = 0;
PORTC &= 0xFD;//RW = 0;
delay_us(1);
PORTC |= 0x04;//E = 1;
delay_us(1);
PORTC &= 0xFB;//E = 0;}
//데이터 쓰기 함수
void Data(unsigned char byte)
{Busy();
// 데이터 상위 바이트
PORTC = (byte & 0xF0);// 데이터
PORTC |= 0x01;//RS = 1;
PORTC &= 0xFD;//RW = 0;
delay_us(1);
PORTC |= 0x04;//E = 1;
delay_us(1);
PORTC &= 0xFB;//E = 0;
// 데이터 하위 바이트
PORTC = ((byte<<4) & 0xF0); // 데이터
PORTC |= 0x01;//RS = 1;
PORTC &= 0xFD;//RW = 0;
delay_us(1);
PORTC |= 0x04;//E = 1;
delay_us(1);
PORTC &= 0xFB;//E = 0;}
// LCD 초기화
void LCD_init(void)
{ DDRC = 0xFF;// PORTC의 모든 포트를 출력으로 설정
PORTC &= 0xFB;//E = 0;
delay_ms(15);
Command(0x20);
delay_ms(5);
Command(0x20);
delay_us(100);
Command(0x20);
Command(FUNCSET);
Command(DISPON);
Command(ALLCLR);
Command(ENTMODE);}
// 아스키 값을 16진수로 변환함수
int asc2hex(char ch)
{if ( (ch >= '0') && (ch<='9')) return (ch-'0');
else if( (ch >= 'a') && (ch<='f')) return (ch-'a'+10);
else if( (ch >= 'A') && (ch<='F')) return (ch-'A'+10);
return 0;}
// 대전국 출력 함수
void LCD_String(char flash str[])
{char flash *pStr=0;
pStr = str;
while(*pStr) Data(*pStr++);}
// 스코어 출력함수
void LCD_Score(char str[])
{while(*str) Data(*str++);}
interrupt [UART_RXC] void uart_rxc(void)
{rx = UDR; // 수신된 UART 데이터 레지스터를 rx에 저장
UCR |= 0x20;// UART 데이터 레지스터 empty 인터럽트 인에이블 UDRIE = '1'
receive =1;}
interrupt [UART_DRE] void uart_dre(void)
{ UDR = rx;// 수신된 rx를 UART 데이터 레지스터에 전송
UCR &= 0xDF;// UART 데이터 레지스터 empty 인터럽트 디스에이블 UDRIE = '0'}
void main(void)
{
UCR |= 0x80;
UCR |= 0x10;// 수신 인에이블 RXEN = '1'
UCR |= 0x08;// 송신 인에이블 TXEN = '1'
UBRR = 51; // X-TAL = 8MHz 일때, BAUD = 9600
#asm ("sei")
LCD_init(); // LCD 초기화
DDRB = 0xFF; // B 포트 모든 핀을 출력으로 설정
PORTB = led;// B 포트에 초기값 출력 while(1)
{
if( receive ) // 수신된 rx DATA를 이용하여 LCD에 디스플레이
{ rx &= 0xff;
if( rx == 'H' )
{
if( cPacketNo >= 2 )
{
k_s=asc2hex(cScore[0]);
// 수신된 아스키 값을 정수 값으로 변환
j_s=asc2hex(cScore[1]);sprintf(str,"% 01u : %01u", k_s, j_s); //변환된 정수 값을 스트링으로 변환Command(0x02);
LCD_String("Korea : Japan ");
// 대전팀 디스플레이
Command(LINE2); // 두 번째 라인에 출력
LCD_Score(str);
// 스코어 디스플레이
}
cPacketNo = 0;
}
else if( rx == 'G' )
{PacketNo = 0;}
else
{cScore[cPacketNo++] = rx;}
receive=0;
}
}
}
  • 가격1,000
  • 페이지수45페이지
  • 등록일2005.12.12
  • 저작시기2017.1
  • 파일형식한글(hwp)
  • 자료번호#325783
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니