ƯỜ Ạ Ọ TR Ộ NG Đ I H C BÁCH KHOA HÀ N I
Ệ Ử
Ệ
Ễ
VI N ĐI N T VI N THÔNG
Ồ
BÁO CÁO Đ ÁN 2
ệ ộ ộ ẩ
: Đo nhi
t đ , đ m khí ga.
ề Đ Tài
ề
ườ
Giao ti p qua Module Bluetooth HC05 ặ c v đi n tho i ho c PC. Báo cho ng
i
ế ượ ề ệ ỉ
ạ ộ
ầ Yêu c u Đ Tài: ề ữ ệ truy n d li u đo đ ự ố ế dùng bi
t có s c khi có rò r khí đ c.
ướ
ị
ẫ : Cô Đinh Th Nhung
Giáo viên h
ng d n
ọ
H và tên:
ễ
Nguy n Vũ Tùng Giang 20101438 ĐTVT08 K55
ố
ệ
Phan Qu c Vi
t 20102782 ĐTVT08 K55
ữ
ễ
ể
Nguy n H u Hi n 20101532 ĐTVT08 K55
Ờ
Ầ
L I NÓI Đ U
ệ ấ ự ử ề ể ề ậ ấ ọ ỹ K thu t vi x lý và đi u khi n đã xu t hi n r t nhi u trong m i lĩnh v c
ọ ỹ ớ ự ẽ ủ ệ ể ệ ề ậ ạ khoa h c k thu t hi n nay. V i s phát tri n m nh m c a công ngh , nhi u
ữ ử ề ể ệ ấ ớ ớ ọ h vi x lý và đi u khi n cùng v i nh ng tính năng m i xu t hi n ngày càng đa
ề ệ ể ọ ượ ứ ấ ộ ụ ạ d ng. Trong đó h vi đi u khi n MSP430 hi n đang đ c ng d ng r t r ng rãi
ự ễ ự ề trong nhi u lĩnh v c th c ti n.
ướ ụ ứ ủ ể ề ể ể ừ Đ t ng b ọ c làm ch và có th áp d ng h vi đi u khi n này vào các ng
ự ễ ằ ả ộ ố ụ ể ế ụ d ng th c ti n, nh m gi i quy t các bài toán c th trong cu c s ng, trong
ự ệ ề ể ạ ị ph m vi Project II, nhóm chúng em đã th c hi n đ tài: “Đo và hi n th nhi ệ ộ t đ ,
ườ ờ ư ủ ả ồ ồ ộ ủ ộ ẩ đ m, c a môi tr ng đ ng th i đ a ra c nh báo khi n ng đ khí gas c a môi
ườ ượ ớ ạ ủ ầ ớ ướ tr ng v t quá gi ế i h n cho phép”. V i ý ki n đóng góp c a th y giáo h ng
ầ ự ứ ư ể ượ ẫ d n cùng tinh th n t tìm hi u, nghiên c u nhóm chúng em đã đ a ra đ ộ c m t
ự ế ạ ẩ ươ ố ầ ủ ầ ượ ư ả s n ph m ch y th c t ứ đáp ng t ng đ i đ y đ các yêu c u đ c đ a ra
ề trong đ tài.
ƯƠ
Ả Ề
CH
NG I: MÔ T Đ TÀI
1.1. Yêu c u ch c năng
ứ ầ
ượ ệ ộ ộ ẩ ủ ườ Đo đ c nhi t đ , đ m c a môi tr ng.
ượ ồ ộ ườ ư ả Đo đ c n ng đ khí gas trong môi tr ng và đ a ra c nh báo.
ị ượ ị ệ ộ ộ ẩ ủ ườ ể Hi n th đ c giá tr nhi t đ , đ m c a môi tr ng.
ứ ầ 1.2. Yêu c u phi ch c năng
ạ ộ ạ ố ườ ệ M ch ho t đ ng t t ngay trong môi tr ắ ng kh c nghi t.
ế ế ỏ ọ ể ế ắ ặ ạ M ch thi ể ễ t k nh g n đ có th d dàng ti n hành l p đ t.
ự ệ ạ ấ Chi phí th c hi n m ch th p.
ụ ử ụ 1.3. Các công c s d ng
ạ ả ị IAR Embedded Workbench: trình biên d ch so n th o code.
ề ầ ế ế ạ ạ Altium Designer : ph n m m thi t k m ch nguyên lý, m ch in.
ơ ồ ố ủ ệ ố 1.4. S đ kh i c a h th ng
ƯƠ
Ế
Ầ
Ứ
Ặ
Ế
Ể
CH
NG II: THI T K PH N C NG – PHÂN TÍCH Đ C ĐI M,
Ệ Ố
Ứ
Ố CH C NĂNG CÁC KH I TRONG H TH NG
ơ ồ
ự
ữ
ứ
ứ
ầ
ố ủ ệ D a vào nh ng yêu c u ch c năng, phi ch c năng cùng s đ kh i c a h
ư
ả
ố
ế ế ơ ồ
ạ
th ng, nhóm chúng em đã đ a ra b n thi
ư t k s đ nguyên lý m ch nh
ể
ề
ẽ
ố
ể ử ụ hình v , trong đó kh i đi u khi n s d ng KIT phát tri n LaunchPad
ạ
MSP430, ch y trên MSP430G2553.
ệ ố
ơ ồ
Hình 1: S đ nguyên lý h th ng
ụ ể ơ ồ ặ ứ ủ ể Sau đây, nhóm chúng em xin trình bày c th s đ , đ c đi m và ch c năng c a
ệ ố ố ừ t ng kh i trong h th ng.
Ố Ể Ề 2.1 KH I ĐI U KHI N – KIT LAUNCHPAD MSP430
ử ụ ụ ứ ể ề ạ Trong ng d ng này, nhóm s d ng vi đi u khi n MSP430G2553 ch y trên KIT
ể phát tri n LaunchPad MSP430
ể Hình 2: Kit phát tri n LaunchPad MSP
ấ ồ Kit LaunchPad MSP do hãng ST cung c p, trên Kit bao g m:
ồ ử ụ ố ồ Kh i ngu n s d ng ngu n DC 5V.
ợ ẵ ạ ạ ố ườ ử ụ ể ự ế ạ Kh i m ch n p tích h p s n giúp ng i s d ng có th tr c ti p n p và
ươ debug ch ng trình ngay trên Kit.
ế ố ớ ủ ế ề ể ắ ồ ố Kh i vi đi u khi n g m đ chíp và các jump c m k t n i v i I/O c a vi
ề ườ ử ụ ở ộ ứ ể ắ ụ ể đi u khi n giúp ng i s d ng có th c m bo m r ng ng d ng ra bên
ngoài.
ư ệ ấ ơ Các linh ki n khác nh : Led đ n, nút b m …
ử ụ ể ạ ạ ươ Trong ph m vi Project II, nhóm chúng em s d ng Kit đ n p ch ng trình và
ứ ủ ể ế ố ớ k t n i v i các chân I/O c a MSP430G2553 ra bo ch c năng bên ngoài đ giao
ể ả ể ề ế ề ế ả ớ ị ể ti p v i các c m bi n, đi u khi n hi n th , đi u khi n c nh báo.
Ố Ể Ị 2.2 KH I HI N TH
ị ử ụ ể ể ử ụ ể ố ị ị ệ ộ ộ ẩ Kh i hi n th s d ng LCD16x2, s d ng đ hi n th giá tr nhi t đ , đ m
ườ ả ề ừ ế ủ c a môi tr ng tr v t ả các c m bi n.
ố ị ể Hình 3: Kh i hi n th LCD16x2
ể ỉ ử ụ ộ ươ ế ở ả ủ Bi n tr VR1 10K s d ng đ ch nh đ t ng ph n c a màn hình LCD16x2.
Ố Ả 2.3 KH I C NH BÁO
ố ả ử ụ ồ ộ ườ ượ Kh i c nh báo s d ng còi chíp 5V, khi n ng đ khí gas trong môi tr ng v t
ớ ạ ể ẽ ể ế ề ệ ề ố ố quá gi i h n cho phép, kh i đi u khi n s phát tín hi u đi u khi n đ n kh i
ẽ ằ ộ ồ ớ ạ ả c nh báo và còi chíp s kêu. Khi n ng đ khí gas n m trong gi i h n an toàn,
ể ẽ ể ắ ề ề ệ ố kh i đi u khi n s phát tín hi u đi u khi n t t còi chíp.
ố ả Hình 4: Kh i c nh báo
Ế Ố Ả 2.4 KH I C M BI N
ể ượ ệ ộ ộ ẩ ộ ồ ườ Đ đo đ c nhi t đ , đ m và n ng đ khí gas trong môi tr ng, nhóm chúng
ạ ả ử ụ ế em s d ng 2 lo i c m bi n:
ế ả ệ ộ C m bi n nhi ộ ẩ t đ và đ m DHT11.
ế ả C m bi n khí gas MQ2.
ắ ạ ượ ế ế ể ễ ế ố ớ ả Trên bo m ch, các jump c m đ c thi t k đ d dàng k t n i v i các c m
bi n.ế
ế ố ả ế Hình 5: Jump k t n i c m bi n
ế ả ệ ộ 2.4.1 C m bi n nhi ộ ẩ t đ và đ m DHT11
ế ệ ộ ả Hình 6: C m bi n nhi ộ ẩ t đ và đ m DHT11
ế ả ồ C m bi n DHT11 g m 4 chân:
ạ ộ ế ả ấ ồ VCC: C p ngu n 5V cho c m bi n ho t đ ng.
ố ấ GND: Chân n i đ t.
ữ ệ ể ả ế ể ề ế ớ DATA: Chân d li u đ c m bi n giao ti p v i vi đi u khi n.
ế ố NC: chân không k t n i.
ộ ố ố ỹ ậ M t s thông s k thu t:
Đo đ m: 20%95%.
ộ ẩ
Nhi
ệ ộ t đ : 050ºC.
ố ộ ẩ Sai s đ m ±5%.
Sai s nhi
ố ệ ộ t đ : ±2ºC.
ạ ộ Nguyên lý ho t đ ng:
ơ ồ ế ố ử S đ k t n i vi x lý:
ơ ồ ế ố ể ề ớ Hình 7: S đ k t n i DHT11 v i vi đi u khi n
ạ ộ Nguyên lý ho t đ ng:
ử ự ể ệ ế ể ẩ ớ Đ có th giao ti p v i DHT11 theo chu n 1 chân vi x lý th c hi n theo 2
b c:ướ
G i tin hi u mu n đo (Start) t
ử ệ ố ớ ậ ạ i DHT11, sau đó DHT11 xác nh n l i.
Khi đã giao ti p đ
ế ượ ớ ế ẽ ử ạ ữ ệ ả c v i DHT11, C m bi n s g i l i 5 byte d li u và
ệ ộ ượ nhi t đ đo đ c.
ướ ệ ử B c 1: g i tín hi u Start
ử ừ ể ề ệ Hình 8: Tín hi u START g i t vi đi u khi n
(cid:0) MCU thi
ế ậ ố t l p chân DATA là Output, kéo chân DATA xu ng 0 trong
ả ờ kho ng th i gian >18ms.
(cid:0) MCU đ a chân DATA lên 1, sau đó thi
ư ầ ế ậ ạ t l p l i là chân đ u vào.
(cid:0) ẽ ế ả ấ ố Sau kho ng 2040us, DHT11 s kéo chân DATA xu ng th p. N u >40us
ượ ế ượ ớ ấ ố mà chân DATA ko đ c kéo xu ng th p nghĩa là ko giao ti p đ c v i
DHT11.
(cid:0) Chân DATA s
ẽ ở ứ ấ ượ m c th p 80us sau đó nó đ c DHT11 kéo nên cao trong
ể ế ượ ệ ằ ế 80us. B ng vi c giám sát chân DATA, MCU có th bi t đ c có giao ti p
ượ ớ ệ ế ượ đ c v i DHT11 ko. N u tín hi u đo đ c DHT11 lên cao, khi đó hoàn
ế ủ ệ ớ thi n quá trình giao ti p c a MCU v i DHT.
B c 2: đ c giá tr trên DHT11
ướ ọ ị
ị ệ ộ ề ướ ạ ẽ ả DHT11 s tr giá tr nhi ộ ẩ t đ và đ m v d i d ng 5 byte. Trong đó:
(cid:0) Byte 1: giá tr ph n nguyên c a đ m (RH%)
ủ ộ ẩ ầ ị
(cid:0) Byte 2: giá tr ph n th p phân c a đ m (RH%) ậ
ủ ộ ẩ ầ ị
(cid:0) Byte 3: giá tr ph n nguyên c a nhi ầ
ủ ị ệ ộ t đ (TC)
(cid:0) Byte 4 : giá tr ph n th p phân c a nhi ầ
ủ ậ ị ệ ộ t đ (TC)
(cid:0) Byte 5 : ki m tra t ng. ể
ổ
ị ộ ẩ ế N u Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá tr đ m và nhi ệ t
ế ế ả ộ đ là chính xác, n u sai thì k t qu đo không có nghĩa.
Đ c d li u: Sau khi giao ti p đ
ọ ữ ệ ế ượ ớ ẽ ử ế c v i DHT11, DHT11 s g i liên ti p
ề ặ ươ ứ ả ủ ế ệ 40 bit 0 ho c 1 v MCU, t ng ng chia thành 5 byte k t qu c a Nhi t
(cid:0) Bit 0:
(cid:0) Bit 1:
ộ ẩ ộ đ và đ m.
ệ ượ ư ề ủ ợ ượ Sau khi tín hi u đ c đ a v 0, ta đ i chân DATA c a MCU đ c DHT11 kéo
ế ồ ạ ế ả lên 1. N u chân DATA là 1 trong kho ng 2628 us thì là 0, còn n u t n t i 70us
ắ ườ ậ ủ là 1. Do đó trong l p trình ta b t s n lên c a chân DATA, sau đó delay 50us.
ế ị ượ ọ ượ ế ị ượ N u giá tr đo đ c là 0 thì ta đ c đ c bit 0, n u giá tr đo đ ị c là 1 thì giá tr
ượ ứ ư ế ế ọ đo đ c là 1. C nh th ta đ c các bit ti p theo.
Ố Ả Ế 2.4.2 KH I C M BI N KHÍ GAS MQ2
ệ ể ế ể ả ượ ấ c c u MQ2 là c m bi n khí, dùng đ phát hi n các khí có th gây cháy. Nó đ
ạ ả ẫ ấ ấ ạ ớ ạ ừ ấ t o t ộ ch t bán d n SnO2. Ch t này có đ nh y c m th p v i không khí s ch.
ư ườ ộ ẫ ủ ấ ổ Nh ng khi trong môi tr ng có ch t ngây cháy, đ d n c a nó thay đ i ngay.
ờ ặ ể ườ ể ế ạ Chính nh đ c đi m này ng ơ i ta thêm vào m ch đ n gian đ bi n đ i t ổ ừ ộ đ
ệ ạ nh y này sang đi n áp.
ườ ủ ả ị ệ ệ ế ạ ầ ấ ầ Khi môi tr ng s ch đi n áp đ u ra c a c m bi n th p, giá tr đi n áp đ u ra
ồ ộ càng tăng khi n ng đ khí gây cháy xung quang MQ2 càng cao.
ấ ố ườ ấ ỏ ạ ộ MQ2 ho t đ ng r t t t trong môi tr ng khí hóa l ng LPG, H2, và các ch t khí
ượ ử ụ ụ ệ ộ gây cháy khác. Nó đ c s d ng r ng rãi trong công nghi p và dân d ng do
ả ấ ạ ơ m ch đ n gi n và chi phí th p.
ơ ồ ế ả Hình 9: S đ chân c m bi n MQ2
Chân 1,3 là A
Chân 2,5 là B
Chân 4,6 là C
Trong đó:
ơ ồ ế ố S đ k t n i MQ2
ơ ồ Hình 10: S đ module MQ2
ạ ầ Trong m ch có 2 chân đ u ra là Aout và Dout. Trong đó:
Aout: đi n áp ra t
ệ ươ ự ạ ừ ụ ộ ồ ng t . Nó ch y t ộ 0.3 4.5V, ph thu c vào n ng đ
khí xung quanh MQ2.
Dout: đi n áp ra s , giá tr 0,1 ph thu c vào đi n áp tham chi u và n ng
ụ ệ ế ệ ố ộ ồ ị
ượ ộ đ khí mà MQ2 đo đ c.
Vi c có chân ra s Dout r t ti n cho các ng d ng đ n gi n, không c n
ấ ệ ụ ứ ệ ả ầ ố ơ
ị ế ỉ ầ ở ớ ề ể ỉ ị ồ ế đ n vi đi u khi n. Khi đó ta ch c n ch nh giá tr bi n tr t i giá tr n ng
ố ả ộ ồ ượ ấ ơ ộ đ ta mu n c nh báo. Khi n ng đ MQ2 đo đ ứ c th p h n m c cho phép
ắ ồ ộ ượ ớ ơ thì Dout = 1. Đèn Led t t. Khi n ng đ khí đo đ ồ c l n h n n ng khí cho
phép, Dout =0, đèn led sáng.
ử ụ ể ả ủ ề Trong đ tài này, nhóm chúng em s d ng chân Dout c a module đ c nh báo
ồ ộ ườ ẽ ượ ế ố ớ ầ khi có n ng đ khí gas trong môi tr ng. Chân Dout s đ c k t n i v i 1 đ u
ọ ề ứ ủ ắ ệ in c a MSP430G2553, khi tín hi u đ c v là m c logic 1 thì cho t t còi chíp, khi
ọ ề ể ả ệ tín hi u đ c v là 0 thì cho còi chíp kêu đ c nh báo.
ế ế ơ ồ ẽ ạ ế ể Sau khi thi t k s đ nguyên lý, nhóm đã ti n hành đi dây và v m ch in đ có
ể ượ ằ ạ th làm đ c m ch in b ng tay:
ủ ệ ố ơ ồ ạ Hình 11: S đ m ch in c a h th ng
ƯƠ
Ấ
Ậ
Ề
CH
NG II: L P TRÌNH PH N M M
ươ ủ ệ ố ế ị Ch ng trình c a h th ng vi t trên trình biên d ch IAR Embedded Workbench,
ể ề ạ ch y trên vi đi u khi n MSP430G2553.
ồ Code g m các file:
ứ ươ ủ ề ậ Main.c:Ch a ch ng trình chính, nêu rõ thu t toán c a đ tài.
ư ệ ứ ế ị Main.h: Ch a các khai báo th vi n, đ nh nghĩa các chân I/O giao ti p.
ươ Các file driver: dht11, lcd16x2,…đây là các file nêu rõ ph ứ ng th c giao
ữ ể ề ế ớ ti p gi a vi đi u khi n v i các driver.
#include "main.h"
void Buzz_On()
{
P2OUT |= SPEAK;
}
void Buzz_Off()
{
P2OUT &= ~SPEAK;
}
void main(void)
{
uint8_t temp=2;
uint8_t humi=12;
uint8_t str[16];
WDTCTL = WDTPW + WDTHOLD;
// Stop watchdog timer, Tan so Clock 1MHz
Hàm main.c:
P1DIR = 0xff;
// Cau hinh PORT1 là Output
P1OUT = 0x00;
P2DIR |= BIT0|BIT1;
// Cau hinh PORT2.0, PORT2.1 là Output
P2DIR &= ~BIT2;
// Cau hinh PORT2.2 là Input
P2REN &= ~BIT2;
// Cau hinh khong tro treo cho PORT2.2
Buzz_Off();
LCD_Init ();
LCD_Gotoxy(0,0);
sprintf(str," PROJECT II ");
LCD_Puts(str);
_delay_cycles(2000000);
// 2s
LCD_Clear();
while(1)
{
if(DHT_GetTemHumi (&temp,&humi))
{
sprintf(str,"Temp: %d%cC",temp,'\xdf');
LCD_Gotoxy(0,0);
LCD_Puts(str);
sprintf(str,"Humi: %d%c",humi,'%');
LCD_Gotoxy(0,1);
LCD_Puts(str);
}
if(P2IN & MQ2)Buzz_On();
else Buzz_Off();
}
}
#ifndef MAIN_H_
#define MAIN_H_
/* Kieu So Nguyen Co Dau */
typedef signed char int8_t;
Hàm main.h:
typedef signed int int16_t;
typedef signed long int int32_t;
/* Kieu So Nguyen Khong Dau */
typedef unsigned char uint8_t;
typedef unsigned int uint16_t;
typedef unsigned long int uint32_t;
/* Kieu So Thuc */
typedef float float32_t;
#include
#include
#include
#include
#include
// Khai bao chan cho LCD16x2 PORT1
#define LCD_RS
BIT0
#define LCD_RW
BIT1
#define LCD_EN
BIT2
// Khai bao cho DHT11 PORT2
#define DHT_DDR_DATABIT0
#define DHT_DATA_OUT BIT0
#define DHT_DATA_IN
BIT0
// Khai bao Speak PORT2
#define SPEAK
BIT1
// Khai bao MQ2 PORT2
#define MQ2
BIT2
#define DHT_ER
0
#define DHT_OK
1
#endif /*MAIN_H_*/
/*********************************** VI DU ************************************
uint8_t dht_nhiet_do,dht_do_am,dht_Ok;
dht_Ok = DHT_GetTemHumi(&dht_nhiet_do,&dht_do_am);
*******************************************************************************/
#include "main.h"
/*******************************************************************************
Noi Dung : MCU gui yeu cau chuyen doi den DHT11.
Tham Bien : Khong.
Tra Ve : Khong.
********************************************************************************/
uint8_t DHT_GetTemHumi (uint8_t *tem,uint8_t *humi)
{
uint8_t buffer[5]={0,0,0,0,0};
uint8_t ii,i,checksum;
P2DIR |= DHT_DDR_DATA;
P2OUT |= DHT_DATA_OUT;
//delay_us(60);
_delay_cycles(60);
P2OUT &= ~DHT_DATA_OUT;
//delay_ms(25); // it nhat 18ms
_delay_cycles(25000);
P2OUT |= DHT_DATA_OUT;
P2DIR &= ~DHT_DDR_DATA;
//delay_us(60);
_delay_cycles(60);
if(P2IN & DHT_DATA_IN)return DHT_ER ;
else while(!(P2IN & DHT_DATA_IN));
//Doi DaTa len 1
//delay_us(60);
_delay_cycles(60);
if(!(P2IN & DHT_DATA_IN))return DHT_ER;
else while(P2IN & DHT_DATA_IN);
//Doi Data ve 0
//Bat dau doc du lieu
Driver dht11.c:
for(i=0;i<5;i++)
{
for(ii=0;ii<8;ii++)
{
while(!(P2IN & DHT_DATA_IN));//Doi Data len 1
//delay_us(50);
_delay_cycles(50);
if(P2IN & DHT_DATA_IN)
{
buffer[i]|=(1<<(7ii));
while(P2IN & DHT_DATA_IN);//Doi Data xuong 0
}
}
}
//Tinh toan check sum
checksum=buffer[0]+buffer[1]+buffer[2]+buffer[3];
//Kiem tra check sum
if((checksum)!=buffer[4])return DHT_ER;
//Lay du lieu
*tem = buffer[2];
*humi = buffer[0];
return DHT_OK;
}
#include "lcd16x2\lcd_16x2.h"
void LCD_Enable(void)
{
P1OUT |= LCD_EN;
//delay_us(3);
_delay_cycles(3);
P1OUT &= ~LCD_EN;
//delay_us(50);
_delay_cycles(50);
}
Driver lcd16x2.c:
//Ham Gui 4 Bit Du Lieu Ra LCD
void LCD_Send4Bit( uint8_t Data )
{
P1OUT &= 0x0F;
P1OUT |= ((Data<<4)&0xF0);
}
// Ham Gui 1 Lenh Cho LCD
void LCD_SendCommand (uint8_t command )
{
LCD_Send4Bit ( command >>4 ); /* Gui 4 bit cao */
LCD_Enable () ;
LCD_Send4Bit ( command ); /* Gui 4 bit thap*/
LCD_Enable () ;
}
// Ham Khoi Tao LCD
void LCD_Init ( void )
{
LCD_Send4Bit(0x00);
//delay_ms(20);
_delay_cycles(20000);
P1OUT &= ~LCD_RS;
P1OUT &= ~LCD_RW;
LCD_Send4Bit(0x03);
LCD_Enable();
//delay_ms(5);
_delay_cycles(5000);
LCD_Enable();
//delay_us(100);
_delay_cycles(100);
LCD_Enable();
LCD_Send4Bit(0x02);
LCD_Enable();
LCD_SendCommand( 0x28 ); // giao thuc 4 bit, hien thi 2 hang, ki tu 5x8
LCD_SendCommand( 0x0c); // cho phep hien thi man hinh
LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh
LCD_Clear(); // xoa toan bo khung hinh
}
//Ham Thiet lap vi tri con tro
void LCD_Gotoxy(uint8_t x, uint8_t y)
{
uint8_t address;
if(!y)
address = (0x80+x);
else
address = (0xC0+x);
delay_ms(1);
LCD_SendCommand(address);
//delay_ms(5);
_delay_cycles(5000);
}
// Ham Xoa Man Hinh LCD
void LCD_Clear()
{
LCD_SendCommand(0x01);
//delay_ms(5);
_delay_cycles(5000);
}
// Ham Gui 1 Ki Tu Len LCD
void LCD_PutChar ( uint8_t Data )
{
P1OUT |= LCD_RS;
LCD_SendCommand( Data );
P1OUT &= ~LCD_RS;
}
//Ham Gui Mot Chuoi Ki Tu Len LCD
void LCD_Puts (uint8_t *s)
{
while (*s)
{
LCD_PutChar(*s);
s++;
}
}
ẩ ạ ậ ả ả Hình nh s n ph m m ch th t:
ƯƠ
Ậ
CH
Ế NG III: K T LU N
ử
ị ễ ả
ể ồ
ờ ự ế ả ế ậ ệ ệ ả ơ Qua Project II, nhóm chúng em xin c m n Vi n Đi n T Vi n Thông cùng cô ự ễ ơ ộ ệ Đinh Th Nhung đã giúp chúng em có c h i th c ti n, tăng kh năng làm vi c ộ ấ ứ ự tìm hi u nghiên c u m t v n đ m i, đ ng th i giúp theo nhóm, kh năng t ự ự ế ữ chúng em ti p c n nh ng khó khăn th c t ề ớ khi th c hành ngoài th c t …