Tải bản đầy đủ - 0 (trang)
THIẾT KẾ MẠCH VÀ THUẬT TOÁN:

THIẾT KẾ MẠCH VÀ THUẬT TOÁN:

Tải bản đầy đủ - 0trang

Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID



CHƯƠNG 3: CODE HOÀN CHỈNH

File lcd16.h

#ifndef LCD16_H_

#define LCD16_H_

#include

#define EN BIT4

#define RS BIT5

void lcdinit(void); // = hàm khởi tạo cấu hình lcd với chế độ 4 bít

void lcdData(unsigned char l); //= hàm gửi dữ liệu qua lcd

void prints(char *s); //= hàm gửi 1 xâu ký tự qua lcd

void gotoXy(unsigned char x,unsigned char y); //= hàm di

chuyển con trỏ của lcd

#endif



File lcd16.c

#include "lcd16.h"

void lcdcmd(unsigned char Data)

{

P2OUT &= ~RS;

P2OUT &=~EN;

Nguyễn Hữu Hùng



Page 13



Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID



P2OUT &= 0xF0;

P2OUT |= ((Data >> 4) & 0x0F);

P2OUT |=EN;

waitlcd(2);

P2OUT &=~EN;

P2OUT &= 0xF0;

P2OUT |= (Data & 0x0F);

P2OUT |=EN;

waitlcd(2);

P2OUT &=~EN;

}

void lcdData(unsigned char l)

{

P2OUT |=RS;

P2OUT &=~EN;

P2OUT &= 0xF0;

P2OUT |=((l >> 4) & 0x0F);

P2OUT |=EN;

waitlcd(2);

P2OUT &=~EN;

P2OUT &= 0xF0;

P2OUT |= (l & 0x0F);

P2OUT |=EN;

waitlcd(2);

P2OUT &=~EN;

}

void lcdinit(void)

{

P2OUT &=~RS;

P2OUT &=~EN;

P2OUT |= 0x3;

waitlcd(40);

P2OUT |=EN;

P2OUT &=~EN;

waitlcd(5);

P2OUT |=EN;

P2OUT &=~EN;

Nguyễn Hữu Hùng



Page 14



Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID

waitlcd(5);

P2OUT |=EN;

P2OUT &=~EN;

waitlcd(2);

P2OUT &= 0xF2;

P2OUT |=EN;

P2OUT &=~EN;

lcdcmd(0x28);

waitlcd(250);

lcdcmd(0x0E);

lcdcmd(0x01);

waitlcd(250);

lcdcmd(0x06);

waitlcd(250);

lcdcmd(0x80);

waitlcd(250);

}

void prints(char *s)

{

while (*s)

{

lcdData(*s);

s++;

}

}

void gotoXy(unsigned char x,unsigned char y)

{

if(x<40)

{

if(y) x |= 0x40;

x |=0x80;

lcdcmd(x);

}

}

File main.c

#include

Nguyễn Hữu Hùng



Page 15



Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID

#include "lcd16.h"

#define LED_1 0x40

// BIT6

char data[12];

char data_tag[10];

int j=0;

int i;

// hàm kiểm tra 2 xâu

unsigned int arrayCompare(char a[], char b[])

{

char i;

for(i=0; i<10; i++)

{

if (a[i]!=b[i]) return 0;

}

return 1;

}

void main(void)

{

WDTCTL = WDTPW + WDTHOLD;

P2DIR = 0xFF;

P2OUT = 0x00;

lcdinit();

prints("Welcome!");

BCSCTL1 = CALBC1_1MHZ;

// Set DCO

DCOCTL = CALDCO_1MHZ;

P1SEL = BIT1 + BIT2 ;

// P1.1 = RXD, P1.2=TXD

P1SEL2 = BIT1 + BIT2;

UCA0CTL1 |= UCSSEL_2;

// SMCLK

UCA0BR0 = 104;

//

UCA0BR1 = 0;

// 1MHz 115200

UCA0MCTL = 0;

UCA0CTL1 &= ~UCSWRST;

// **Initialize USCI state

machine**

IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt

__bis_SR_register(LPM0_bits+GIE); //Enable nngat ngoai vi

}

// ngắt Khi chân RX của chíp được nhận dữ liệu

#pragma vector=USCIAB0RX_VECTOR

__interrupt void USCIA0RX_ISR(void)

Nguyễn Hữu Hùng



Page 16



Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID

{



if(IFG2&UCA0RXIFG)

{



//UART Character received



data[j++] = UCA0RXBUF;

if (j==12) //Transfer complete

{

j=0;

for (i=1; i<11;i++)

{

data_tag[i-1]=data[i];

}

lcdinit();

if(arrayCompare(data_tag,"0008657431"))

{

P1DIR = 0x40;

P1OUT |= 0x40;

prints("hop le!");

_delay_cycles(2000000);

lcdinit();

prints("Welcome!");

P1OUT &= ~0x40;

}

else

{



P1DIR = 0x01;

P1OUT |= 0x01;

prints("the sai!");

_delay_cycles(2000000);

lcdinit();

prints("Welcome!");

P1OUT &= ~0x01;



}

}

}

}



Nguyễn Hữu Hùng



Page 17



Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID



Nguyễn Hữu Hùng



Page 18



Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID

CHƯƠNG 4: Kết luận và hướng phát triển

1. ƯU ĐIỂM:

- Chương trình chạy trên nền msp430 kít launchpad nên tiết kiệm nguồn, dùng lcd

ở chế đợ 4 bít có thể tiết kiệm chân chíp vào công việc khác.

2. KHUYẾT ĐIỂM:

- Vì mỗi lần xóa lcd thì phải cấu hình lại cho lcd nên sinh ra 1 độ trễ nhất định

của chương trình.

- Chương trình chi hiển thị kết quả cho người quan sát. Khơng tự đợng hóa được

mợt cơng việc khi khơng có người.

3. Hướng Phát triễn

- có thể dùng PWM để tạo xung khởi đợng đợng cơ để đóng mở cửa khi quét thẻ

đúng => tạo được cửa tự động.



Nguyễn Hữu Hùng



Page 19



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

THIẾT KẾ MẠCH VÀ THUẬT TOÁN:

Tải bản đầy đủ ngay(0 tr)

×