로또복권추첨장치만들기프로그램
- 최초 등록일
- 2008.06.17
- 최종 저작일
- 2008.06
- 16페이지/ 한컴오피스
- 가격 1,000원
소개글
로또복권 추첨 장치 만들기 프로그램입니다.
마프로 프로그램을 하였습니다. (AVR 프로그램)
컴파일 실행환경
Atmaga128 Vusual C
본문내용
마이크로프로세서 및 실습 I
Term Project : 로토복권 추첨장치 만들기
1. 수행과제
7-세그먼트, 도트메트릭스, LCD를 사용하여 다음 작동을 하는 4자리 로또 복권 추첨장치를 만든다.
▸기본 작동
(1)(10점) 프로그램이 시작되면 4개의 7-세그먼트 둘레가 하나씩 점등되고(적당한 시간지연을 줄 것) LCD에는 “Lotto Ready"라고 표시한다.
(2)(30점) 로토번호는 낮은 자리 수부터 추첨을 하게 된다.
- 스위치를 처음 누르면 우선 LCD에 “First Ballot"이라고 표시하고 도트메트릭스에 숫자가 0부터 9까지 돌면서 표시되고(50msec 시간간격으로) 스위치를 떼면 멈춘다. 멈출 때 번호가 첫자리의 당첨번호이다. 당첨번호를 7-세그먼트의 첫 자리에 표시한다.
- 스위치를 두 번째 누르면 LCD에 “Second Ballot"이라고 표시하고 도트메트릭스에 숫자가 역시 0부터 9까지 돌면서 표시되고(50msec 시간간격으로) 스위치를 떼면 멈춘다. 멈출 때 번호가 첫자리의 당첨번호이다. 당첨번호를 7-세그먼트의 두 번째 자리에 표시한다.
- 같은 방법으로 4번에 걸쳐 번호를 추첨한다.
(3)(20점) 번호 4개가 모두 당첨이 되면 7-세그먼트에 각 번호를 하나씩 각자의 자리에 표시한 후 모든 자리를 표시하고 깜빡인다. 동시에 LCD에는 당첨번호를 쓴 후 좌우로 이동한다. 이 때 스위치를 누르게 되면 (1)로 되돌아간다.
(4) 보고서 (20점)
▸추가 기능
(5)(20점) (2)에서 스위치를 떼면 점점 천천히 돌면서 멈추고 한 번 깜빡이도록 한다. 이 때 스위치를 떼고 천천히 도는 회수는 스위치를 누른 시간에 따라, 1초 이내는 6번, 2초 이내는 8번, 3초 이상은 10번 돈다.
(6)(10점) (3)에서 당첨번호가 확정된 후 도트메트릭스에도 축하 이벤트를 표시한다.
① Term.c
#include <avr/io.h>
#include <util/delay.h>
#include<avr/interrupt.h>
#include "Iseg7.h"
#include "lcd.h"
static char ch[5][20] = {"Lotto Ready","First Ballot","Second Ballot","Third Ballot","Fourth Ballot"};
static char code[] ={`0`, `1`, `2`, `3` ,`4`, `5`, `6`, `7`, `8`, `9`};
#define PUSHING ~PIND & 0x01
#define DEBOUNCING_DELAY 20
unsigned char dot_num[11][8] = {0x00,0x3c,0x7e,0x66,0x66,0x7e,0x3c,0x00,
0x18,0x38,0x18,0x18,0x18,0x18,0x3c,0x00,
참고 자료
없음