Tải bản đầy đủ

Bao cao d an vxl

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

MỤC LỤC
Kết luận và hướng phát triển..............................................................18

Nguyễn Hữu Hùng

Page 1


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

MỞ ĐẦU
Ngày nay, các bộ vi điều khiển đang có những ứng dụng rộng rãi và
thâm nhập ngày càng nhiều trong các lĩnh vực đời sống và xã hội. Hầu hết,
các thiết bị kỹ thuật từ phức tạp cho đến đơn giản như thiết bị điều khiển tự
động, thiết bị văn phòng cho đến các thiết bị trong gia đình đều có dùng
các bộ vi điều khiển.
Xuất phát từ thực tế đó, môn học kỹ thuật vi điều khiển là môn học
không thể thiếu đối với bất kỳ sinh viên trường kỹ thuật nào nhất là các
sinh viên các khoa Điện tử viễn thông, Công nghệ thông tin… Không chi

cung cấp cho sinh viên kiến thức về vi điều khiển để xây dựng nên những
hệ thống thiết bị kỹ thuật hiện đại. Mà nó còn là môn học căn bản để chúng
ta hiểu rõ bản chất của việc xử lý các số liệu tính toán đang tồn tại từng
giây, từng phút trong hàng triệu triệu con vi xử lý, vi điều khiển trên khắp
thế giới này. Đem đên cái nhìn sâu sắc và hiểu biết sâu rộng về thế giới tin
học, góp phần tạo nên sự say mê sáng tạo cho mỗi sinh viên yêu thích bộ
môn khoa học kỹ thuật này.
Đồ án môn học Kỹ thuật vi xử lý dựa trên việc sử dụng vi điều khiển
8051 cũng không nằm ngoài mục đích nâng cao sự hiểu biết, củng cố lý
thuyết cho mỗi sinh viên. Tạo cho sinh viên tinh thần làm việc nhóm để đạt
được một mục đích chung: Làm một đồ án hiệu quả, chất lượng!

Nguyễn Hữu Hùng

Page 2


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

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1. GIỚI THIỆU VỀ VĐK MSP430:
Các dòng vi điều khiển msp430 này do hãng TI ( Texas Instruments) sản xuất,
ngoài ra thì TI còn sản xuất và cung cấp nhiều linh kiện điện tử và các module khác
Vi điều khiển( Micro controller unit – MCU ) là đơn vị xử lý nhỏ, nó được tích
hợp toàn bộ các bộ nhớ như ROM , RAM , các port truy xuất , giao tiếp ngoại vi trực
tiếp trên 1 con chip hết sức nhỏ gọn
-

Đây là dòng vi điều khiển 16bit có nhiều ưu điểm nổi trội :

+ Cấu trúc sử dụng nguồn thấp giúp kéo dài tuổi thọ của Pin
-

Điện áp sử dụng 3,3v

-

Duy trì 0.1µA dòng nuôi RAM.

-

Chi 0.8µA real-time clock.

-

250 µA/ MIPS.

+ Bộ AD/DA hiệu suất cao cho các phép đo chính xác
-

12 bit hoặc 10 bit ADC-200 kskp, cảm biến nhiệt độ, Vref ,

-

12 bit DAC.

-

Bộ giám sát điện áp nguồn.

+ 16 bit RISC CPU cho phép được nhiều ứng dụng, thể hiện một phần ở kích thước
Code lập trình.
-Thanh ghi lớn nên loại trừ được trường hợp tắt nghẽn tập tin khi đang làm việc.
-Thiết kế nhỏ gọn làm giảm lượng tiêu thụ điện và giảm giá thành.
-Tối ưu hóa cho những chương trình ngôn ngữ bậc cao như C, C++
-Có 7 chế độ định địa chi.
Nguyễn Hữu Hùng

Page 3


Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID
-Khả năng ngắt theo véc tơ lớn.
+ Trong lập trình cho bộ nhớ Flash cho phép thay đổi Code một cách linh hoạt, phạm
vi rộng, bộ nhớ Flash còn có thể lưu lại như nhật ký của dữ liệu.
+ Tần số nội (Internal Frequencies lên đến 16MHZ với 4 mức tần số 1Mhz, 8Mhz,
12Mhz, 16Mhz trong chương trình chúng ta mún sử dụng tần số nào thì chi cần khai
báo tần số đó
+Hai timer 16 bit ( có khả năng đếm lên và xuống )
+Các kiểu chân đóng gói :
TSSOP : 20pin,28pin
PDIP : 20 pin
QFP : 32pin
a. Sơ đồ chân:

+Ở dòng MSP430G2553 ta thấy có 2 port : Port 1 và Port2 . Mỗi port có 8 chân
Port 1: có 8 chân từ P1.0 đến P1.7 tương ứng với các chân từ 2-7 và 14 , 15.
Port 2 : cũng gồm có 8 chân P2.0 – P2.7 ứng với các chân 8 – 13, 18,19.
+Ngoài chức năng I/O bình thường thì trên mỗi pin của các port đều là những chân đa
chức năng, ta thể thấy rõ trong bảng sau:
Nguyễn Hữu Hùng

Page 4


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 5


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

Ví dụ ở chân P1.0 ta thấ ngoài chức năng I/O bình thường thì nó còn có các chức năng
đặc biệt như :
Timer0_A, clock signal TACLK : input tính hiệu xung clock đầu vào của TACLK
ADC10 analog input A0: Ngõ vào A0 của kênh ADC10 bit
Chú ý : Vi điều khiển của chúng ta là vi điều khiển sử dụng nguồn không giống như đa
số các nguồn của những vi điều khiển như 8051 ,pic ,avr ..Nó là vi điều khiển tiết kiệm
năng lượng (Low Supply-Voltage Range) sử dụng dãi điện áp từ 1,6-3,3v ..Các bạn nên
chú ý ở điểm đây nếu không sẽ gây hỏng chíp
Nguyễn Hữu Hùng

Page 6


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

b.Mạch nguồn :
Trên mạch có sử dụng 7805 để tạo điện áp 5 volt để sử dụng cho các ngoại vi khác như
ds 1307 ,ds18b20….
LM 1117 là ic tạo nguồn 3,3 volt để cấp cho con vi điều khiển MSP430G2553
SW2 dùng để ngắt nguồn của vi điều khiển trong trường hợp cần thiết
c.Chân Reset:
Chính là chân số 16 RST chân reset có ký hiệu là MCLR , các bạn để ý thấy dấu gạch
ngang trên có nghĩa là chân này tích cực ở mức thấp . Mục đích của việc reset là nhằm
cho chương trình chạy lại từ đầu

d.Mạch dao động :
Cũng giống như những dòng vi điều khiển khác thì Msp430 cũng hỗ trợ người dùng
thạch anh ngoài ( external crystal ), nhưng thạch anh ngoại vi cho phép chi có thể lên
tới 32,768 kHz mà thôi, và tín hiệu này được mắc trên 2 chân 18 và 19. Nhưng msp430
lại hỗ trợ thạch anh nội có thể lên đến 16Mhz, tùy vào cách khai báo trong lập trình
e. Port I/O :
Port 1 : có 8 chân từ P1.0 đến P1.7 tương ứng với các chân từ 2-7 và 14 , 15.
Port 2 : cũng gồm có 8 chân P2.0 – P2.7 ứng với các chân 8 – 13 , 18,19.
Trong chế độ nhập (input) thì cả 2 port đều có 1 mạch điều khiển điện trở kéo dương –
gọi là PULL UP nhưng giá trị của điện trở này rất lớn khoảng 47K nên gọi là WEAK
PULL UP RESISTAN. Việc điều khiển PULL UP sẽ được tiến hành thông qua lập trình
tác động lên thanh ghi PxREN sẽ được đề cập ở chương sau .
Nguyễn Hữu Hùng

Page 7


Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID
2.Giới thiệu cơ bản về LCD 16x2

a. Hình dáng và kích thước:
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau, trên
hình 1 là loại LCD 16x2.

Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong lớp
vỏ và chi đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ tự và đặt tên
như hình 2 :

Hình 2 : Sơ đồ chân của LCD

Nguyễn Hữu Hùng

Page 8


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

b. Chức năng các chân :
Châ
n
1
2
3
4

5
6

714

15
16


hiệu
Vss

Mô tả

Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển
VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển
VEE Điều chinh độ tương phản của LCD.
RS
Chân chọn thanh ghi (Register select). Nối chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD
(ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chi của LCD (ở
chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên
trong LCD.
R/W Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic
“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để
LCD ở chế độ đọc.
E
Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus
DB0-DB7, các lệnh chi được chấp nhận khi có 1 xung cho phép
của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp
nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low
transition) của tín hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát
hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ
ở bus đến khi nào chân E xuống mức thấp.
DB0 - Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU.
DB7 Có 2 chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB
là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới
DB7, bit MSB là DB7
Nguồn dương cho đèn nền
-

GND cho đèn nền
Bảng 1 : Chức năng các chân của LCD

Nguyễn Hữu Hùng

Page 9


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

2.CÔNG NGHỆ RFID:
Đó là một kỹ thuật nhận dạng sóng vô tuyến từ xa, cho phép dữ liệu trên một con
chíp được đọc một cách "không tiếp xúc" qua đường dẫn sóng vô tuyến ở khoảng
cách từ 50 cm tới 10 mét, tùy theo kiểu của thẻ nhãn RFID.
Hệ thống RFID gồm hai thành phần: thứ nhất là những chiếc thẻ nhãn nhỏ (cỡ vài
cm) có gắn chip silicon cùng ăng ten radio và thành phần thứ hai là bộ đọc cho
phép giao tiếp với thẻ nhãn và truyền dữ liệu tới hệ thống máy tính trung tâm.
Bộ nhớ của con chip có thể chứa từ 96 đến 512 bit dữ liệu, nhiều gấp 64 lần so với
một mã vạch. Ưu việt hơn, thông tin được lưu giữ trên con chíp có thể được sửa đổi
bởi sự tương tác của bộ đọc. Dung lượng lưu trữ cao của những thẻ nhãn RFID
thông minh này sẽ cho phép chúng cung cấp nhiều thông tin đa dạng như thời gian
lưu trữ, ngày bày bán, giá và thậm chí cả nhiệt độ sản phẩm.
"Bằng việc gắn thẻ RFID lên các vật dụng và mở bộ đầu đọc trên máy tính, các
công ty có thể tự động biết được rất nhiều thông tin", Kevin Ashton, Phó chủ tịch
hãng Thing Magic, một nhà cung cấp lớn giải pháp RFID, cho biết.
Với công nghệ RFID, các sản phẩm ngay lập tức sẽ được nhận dạng tự động.
Chip trên thẻ nhãn RFID được gắn kèm với một ăngten chuyển tín hiệu đến một
máy cầm tay hoặc máy đọc cố định. Các máy này sẽ chuyển đổi sóng radio từ thẻ
RFID sang một mã liên quan đến việc xác định các thông tin trong một cơ sở dữ
liệu máy tính do cơ quan quản lý kiểm soát.
Thẻ RFID, có thể đính lên bất cứ sản phẩm nào, từ vỏ hộp đồ uống, đế giày, quần
bò cho đến trục ôtô. Các công ty chi việc sử dụng máy tính để quản lý các sản phẩm
từ xa. RFID có thể thay thế kỹ thuật mã vạch hiện nay do RFID không chi có khả
năng xác định nguồn gốc sản phẩm mà còn cho phép nhà cung cấp và đại lý bán lẻ
biết chính xác hơn thông tin những mặt hàng trên quầy và trong kho của họ. Các
công ty bán lẻ sẽ không còn phải lo kiểm kho, không sợ giao nhầm hàng và thống
kê số lượng, mặt hàng sản phẩm đang kinh doanh của các cửa hàng. Hơn nữa họ
còn có thể biết chính xác bên trong túi khách hàng vào, ra có những gì.
Khi một RFID được gắn vào một sản phẩm, ngay tức khắc nó sẽ phát ra các tín hiệu
vô tuyến cho biết sản phẩm ấy đang nằm ở chỗ nào, trên xe đẩy vào kho, trong kho
lạnh hay trên xe đẩy của khách hàng. Do thiết bị này được nối kết trong mạng vi
Nguyễn Hữu Hùng

Page 10


Thiết bị hỗ trợ thực thi lệnh đa năng hóa dùng RFID
tính của cửa hàng nên nhờ vậy các nhân viên bán hàng có thể biết rõ sản phẩm ấy
được sản xuất khi nào, tại nhà máy nào, màu sắc và kích cỡ của sản phẩm; để bảo
quản sản phẩm tốt hơn thì phải lưu trữ nó ở nhiệt độ nào.
Nhờ RFID sẽ giảm được rất nhiều thời gian và chi phí quản lý, lợi nhuận sẽ cao
hơn. Bởi: RFID là một công nghệ đang nổi.
Bạn hãy nói chuyện với những công ty đang ứng dụng RFID và sẽ thấy rõ ràng
chúng ta chưa hiểu nhiều về công nghệ mới này. Những gì chúng ta biết đã và đang
thay đổi từng ngày.
Về lâu dài, nhiều chuyên gia RFID tin tưởng rằng RFID sẽ phổ biến như việc sử
dụng các máy tính cá nhân trong kinh doanh ngày nay.
Có thể thấy, quyết định ứng dụng RFID trong các công ty chi còn phụ thuộc vào
vấn đề thời gian. Tuy nhiên, dù thế nào đi nữa, RFID vẫn là một khoản đầu tư về
thời gian và tiền bạc rất mới mẻ cũng như là một công nghệ hết sức tiềm năng.
Hãy kiên nhẫn nếu bạn có thể. Nếu các đối tác kinh doanh của bạn không đề nghị
RFID, "bạn có thể dành thêm thời gian để tìm hiểu và quan sát thêm về công nghệ
RFID. Chắc chắn thời gian tới sẽ có rất nhiều thay đổi".

Nguyễn Hữu Hùng

Page 11


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

CHƯƠNG 2: THIẾT KẾ MẠCH
1.THIẾT KẾ MẠCH VÀ THUẬT TOÁN:
a.Thiết kế mạch
- Msp430  LCD 16x2

- Msp430 RFID

Nguyễn Hữu Hùng

Page 12


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ề

Tải bản đầy đủ ngay

×

×