Buzzer 제어

Download Report

Transcript Buzzer 제어

컴퓨터 프로그래밍
Buzzer&LCD제어
SWITCH 제어
• 과제2 – 두 개의 스위치를 이용하여 SW1을 누르면 업카운트를 하고
SW2를 누르면 다운카운트 하여 7-Segment에 표시하는 프로그램
을 작성하시오. (단 이 때, 키를 계속 누르고 있어도 한번만 카운트
되어야 한다.)
SW1
SW2
2
본체
LCD 단자
전원 On/Off Sw
ATTiny2313
Enable Sw
buzzer
3
Buzzer 제어
4
Buzzer 제어
5
Buzzer 제어
6
Buzzer 제어
7
Buzzer 제어
<buzzer 회로도>
buzzer
• PORTB의 3번에 연결 되어 있다.
• 1 – on, 0 - off 으로 인식
8
Buzzer 제어
한 주기 내에서 On 이 되는 시간의
비율 조절하여 소리의 크기 조절
• 펄스의 폭을 조절 함으로 소리의 크기가
조절 가능하다.
9
Buzzer 제어
스위치를 누르면 펄스의
비율이 증가 한다.
<프로그램 예>
10
Buzzer 제어
• 과제 – 스위치 두 개를 사용하여 부저의 소리세기(펄스 폭)를 조절
하는 프로그램을 작성하시오.
SW1
SW2
11
LCD 제어
• LCD [liquid crystal display]
•
•
4비트와 8비트로 인터페이스 가능
최대 16글자씩 2줄을 표시 가능
• CodeVisionAVR을 사용하면 간단하게 초기화 및 출력이 가능
•
alcd.h 헤더파일에 LCD제어에 유용한 함수가 존재
–
•
lcd_gotoxy() LCD 자리 이동
–
•
LCD의 x축과 y축 좌표의 이동하는 함수
lcd_puts(“문장”) 문장 출력
–
•
lcd_gotoxy(), lcd_puts()등
printf()함수와 비슷한 LCD출력 함수
lcd_clear()
–
LCD화면의 내용을 모두 지우는 함수
12
LCD 제어
13
LCD 제어
14
LCD 제어
<LCD 회로도>
15
LCD 제어
16
LCD 제어
welcome
computer program
<프로그램 예>
17
LCD 제어
• 과제1 – LCD를 이용하여 첫번째 줄에는 학번, 두번째 줄에는 자신
의 이름을 나타내는 프로그램을 작성하시오.
xx471xxx
so min hyeok
LCD 제어
•
•
•
•
•
과제2 – 스위치를 이용하여 다음의 프로그램을 작성하시요
SW1을 누르면 학번과 이름
SW2를 누르면 생년월일
SW3를 누르면 0부터 숫자 업카운드
SW4를 누르면 9부터 숫자 다운 카운드
SW1
xx471xxx
so min hyeok
SW2
yymmdd
SW3
0123456789
SW4
9876543210
19