Page 316 - MDP2020-3
P. 316
310
| 인천전자마이스터고등학교 ·············································································································
2. 소프트웨어
- 기존의 엘리베이터 코드를 이용하여 RFID 태그를 서버에 연동하는 코드를 작성했습니다.
#include <mega2560.h>
#include <stdio.h>
#include <delay.h>
#include <lcd.h>
#include <string.h>
#asm
.equ __lcd_port = 0x15 //PORTC로 lcd를 사용하기 위해 선언
#endasm
eeprom unsigned char status[7] = {0,0,0,0,0,0,0};
//B1,B2,B3,W1,W2,W3 주차상태
//전원을 껏다가 켜도 원래의 상태를 저장 해 놓기 위해서 eeprom 변수를 사용
unsigned char place = 0; //현재 주차중인 장소
unsigned char c,i; //USART 수신 시 배열 값을 증가시켜 주는 변수
unsigned char vb[2] = {0, }; //vb에서 받은 값을 저장하는 배열
unsigned char data[9] = " "; //RFID 태그를 읽은 값을 저장하는 배열
unsigned char pressed_key = 0; //주차 위치를 담는 변수 B1,B2,B3,W1,W2,W3 =
7,2,3,4,5,6
unsigned char lcd = 0; //메인 while에서 lcd함수를 한번만 실행시키기 위한 변수
interrupt [USART0_RXC] void recdat0(void) //USART0의 수신 인터럽트
{
vb[i] = UDR0; //UDR0에 있는 문자를 vb 배열의 i 위치에 저장
i++; //i 값을 증가
}
interrupt [USART1_RXC] void recdat1(void) //USART1의 수신 인터럽트
{
data[c] = UDR1; //UDR1에 있는 문자를 data 배열의 c위치에 저장
c++; //c값을 증가
}
void USART0_Tx(unsigned char send) //USART0 송신 함수
{