패러럴 포트를 이용한 Text LCD 제어 6월 17일 20057037 허정수 20057036 나선웅.

Slides:



Advertisements
Similar presentations
마이크로 시스템 1 선 덕 한선 덕 한 lecture7. LCD 구동. 마이크로 시스템 2 강의 목표 현재 디스플레이 장치로써 가장 널리 사용되어지는 LCD 을 프로세서 에서 어떻게 제어 하는지 알아본다.
Advertisements

1 시스템및센서네트워크연구실 마이크로콘트롤러응용설계 - 2 character LCD. 2 시스템및센서네트워크연구실 ATmega128.
마이크로콘트롤러 설계 – 4 Timer 실습 2 – T1, T3
DB 프로그래밍 학기.
DB 프로그래밍 학기.
7 – 세그먼트 동작 시키기 (0~9, A, B, C, D, E, F 표시하기)
1. 신뢰할 수 있는 싸이트 등록 인터넷 익스플로러 실행 후 실행
UNIT 15 Timer & Watch Dog 로봇 SW 교육원 조용수.
AVR - Chapter 16 황 지 연.
10장 주변장치 (PIO) Slide 1 (of 28).
RnA DISPLAY 구동 Clcd 구동 Made by Bonobonobono.
08. 디바이스 드라이버의 읽기와 쓰기 김진홍
Unix Project2 <test character device 생성>
네트워크 스캔하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
Text LCD control.
ATMEG2561 & TFT-LCD를 이용한 MOBILE DEVICE 구현
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Input/Output Control.
07. 디바이스 드라이버의 초기화와 종료 김진홍
Character LCD Controller 구현
FTP 프로그램 채계화 박재은 박수민.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
WinCE Device Driver 실습 #4
DK-128 ADC 실습 아이티즌 기술연구소
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
6장. LCD 사용하기.
LCD 모듈의 특징 LCD 컨트롤러 내장으로 모든 디스플레이 기능을 명령어로 제어 8비트 혹은 4비트로 인터페이스
DK-128 실습 EEPROM 제어 아이티즌 기술연구소
타이머카운터 사용법 휴먼네트웍스 기술연구소
Sungkyunkwan University OS Project Dongkun Shin
ATmega128 FND 실습 휴먼네트웍스 기술연구소
DK-128 FND 실습 아이티즌 기술연구소 김태성 연구원
Microprocessor I/O Port & CLCD Noh Jin-Seok.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
어서와 C언어는 처음이지 제14장.
디 지 털 공 학 한국폴리텍V대학.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
Device Driver 임베디드 시스템 I.
LCD Controller Colorbar
SMART-W50의 사용 방법 ▪ 1. 서버에서의 CDMA 설정
제품명 제품설명 제품규격 CPU: STM32F103VCT6-LQFP 100 Pin 256KB FLASH 48KB RAM
DK-128 FND 실습 아이티즌 기술연구소
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
논리회로 설계 및 실험 5주차.
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
DK-128 실습 타이머카운터 사용법 아이티즌 기술연구소
10차시: 크리스털 LCD 명령어 기초 준비물 SPL-Duino 보드 개요: 크리스털 LCD의 기초 명령어를 익혀 봅니다.
패러럴 포트를 이용한 Text LCD 제어 6월 17일 허정수 나선웅.
13장 CTC and DMA Slide 1 (of 10).
클라우드 서버로 부터 값 읽어오기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
ARM Development Suite v1.2
UNIT 25 SPI 로봇 SW 교육원 조용수.
웹서버 기능으로 데이터 읽기 및 제어하기 WiFi 시리얼 보드 활용가이드 김영준
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
계산기.
WinCE Device Driver 실습 #4
LCD.
DK-128 직렬통신 실습 아이티즌 기술연구소
AT MEGA 128 기초와 응용 I 기본적인 구조.
UNIT 25 SPI 로봇 SW 교육원 조용수.
시리얼 UART 정리 정보통신•컴퓨터 공학부 송명규
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
AdcRead API 함수 분석 마이크로프로세서.
PMC-6208 Easy Manual 작성일자 : 2015년 02월 17일 INTER-M C/S팀 김성배
06. 디바이스의 등록과 해제 김진홍
제품명 제품설명 제품규격 CPU: STM32F103VCT6-LQFP 100 Pin 256KB FLASH 48KB RAM
WinCE Device Driver 실습 #4
Presentation transcript:

패러럴 포트를 이용한 Text LCD 제어 6월 17일 20057037 허정수 20057036 나선웅

목표 및 개요 목표 개요 Text LCD를 제어 스위치를 이용한 Interrupt 패러럴 포트에 Text LCD와 Toggle switch를 이용하여 Text LCD에는 사용자가 원하는 문자를 출력하고 Toggle switch로 인터럽트를 발생하여 인터럽트가 생겼다는 것을 사용자에게 알림.

준비물 25pin 패러럴 포트 2*16 Text LCD Toggle switch USB 케이블

배선 패러럴 포트 1 1 14 Vss Vdd 가변저항 Vee Rs R/W E DB0 ~ DB7 25 14 13 V USB 전원

LCD 모듈 제어표 제어 신호 제어 명령 실행시간 Rs R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 기 능 제어 신호 제어 명령 실행시간 Rs R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Clear display 1 1.53 m Return home 1.53m Entry mode set I/D S 39u Display ON/OFFcontrol D C B display shift S/C R/L Funtion set DL N F Set CG RAM address CG RAM address Set DD RAM address DD RAM address read busy flag BF Address Counter 0u write to DD RAM write data 43u read from DD RAM read data

디바이스 드라이버 short.c shortt.c 추가 함수 void LCD_command(unsigned char) void LCD_data(unsigned char) LCD에 문자 출력 void LCD_init() LCD 초기화

Text LCD LCD의 화면 출력 LCD_init()로 초기화 LCD 초기화 LCD를 사용하려면 초기화 필요 전원입력 초기화 전에 30ms이상 기다림 Function set Display On Entry mode set DD RAM Address set

Text LCD 초기화 초기화 명령 Function set Display On Entry mode set 데이터의 길이(D/L)을 정의(1:8bit, 0:4bit) 화면 표시 행(N)의 정의 (2행 : 1 , 1행 : 0 ) 문자 폰트(F) 지정(5*11 : 1, 5*8 : 0) Display On 화면을 켬 Entry mode set 화면의 이동 설정 DD RAM address set 글자 표시 위치 지정

Text LCD 사용상 주의 사항 Enable 6번 pin인 E LCD가 일을 수행하기 위한 Trigger LCD는 PC나 Micro Controler에 비해 현저히 느림 명령어 셋을 LCD의 메모리에 넣은 다음 꼭 충분한 시간과 Enable을 On

프로그램 (1) LCD_control(unsigned char comm) LCD제어 명령어를 보냄. void LCD_control(unsigned char comm) { udelay(1000); outb(0x00, short_base + 2 ); udelay(500); outb(comm, short_base); outb(0x09, short_base + 2); outb(0x00, short_base + 2); }

프로그램 (2) LCD_data(unsigned char comm) LCD에 출력하기 위한 데이터 보냄. void LCD_data(unsigned char data) { outb(0x04, short_base+2); udelay(500); outb(data, short_base); outb(0x07, short_base+2); udelay(1000); }

프로그램 (3) LCD_init() LCD의 초기화. void LCD_init() { char chReady[] = "Ready!!"; outb(0x06, short_base+2); outb(0x04, short_base+2); LCD_command(0x38); udelay(500); udelay(1000); LCD_command(0x38); //Function seti LCD_command(0x0F); //Display On LCD_command(0x06); //Entry mode set LCD_command(0x80); // Set DD RAM Address LCD_command(0x01); // clear LCD convert_str(chReady,7); LCD_command(0xC0); LCD_data('A'); LCD_data('B'); } LCD_init() LCD의 초기화.

프로그램 (3) convert_str(const *buf, size_t count) 문자열 출력 void convert_str(const char *buf,size_t count) { int length = count; if (!buf) return; for ( count = 0 ; count < length ; count++ ) LCD_data(buf[count]); }

테스트 (1) 테스트 상의 문제점 상황 초기에는 화면에 출력이 되었음 인터럽트 실험 이후 화면에 출력 안됨 LCD의 초기화 안됨 패러럴 케이블 이상 없음 배선 문제 없음

테스트 (2) 해결을 위한 행동 케이블 변경 배선 다시 함 프로그램 처음부터 다시 코딩 결과 LCD의 오동작

결론 실험 실패 참고 자료 LCD의 초기화 불가능 LCD 제어와 패러럴 포트의 사용 8051마스터, Ohm사 윤덕용저 미쳐 알아내지 못한 중요한 사항 참고 자료 8051마스터, Ohm사 윤덕용저 LINUX Divece Driver, O’Reilly C가 미는 로봇, Ohm사