You are on page 1of 16

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Lời nói đầu

Bộ môn vi điều khiển là một môn học thú vị mà nhóm sinh viên được học trong kỳ V tại trường ĐH Hải Phòng. Đây là nền tảng hữu ích cho nhóm hiểu được cách thức hoạt động của các thiết bị điện thông minh đồng thời tăng khả năng tư duy logic hỗ trợ cho các môn học chuyên ngành khác. Để hiện thực hóa những gì đã được học, trong kỳ VI nhóm thực hiện đề tài “ Thiết kế máy đo gia tốc rơi của vật ứng dụng vi điều khiển 8051”

Đây là đề tài khá mới lạ đối với nhóm, trong quá trình thực hiện đã vấp phải nhiều khó khăn nhưng cuối cùng đã thành công.

Nhóm xin cảm ơn sự hướng dẫn tận tình của các thầy cô giáo và sự giúp đỡ của các anh khóa trên trong quá trình thực hiện đề tài.

Nhóm 11 Tạ Quốc Tuấn Vũ Duy Tường Lê Văn Hiếu Nguyễn Vinh Quang Nguyễn Văn Vượng

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Mục lục

  • I. MỞ

3

II. THIẾT KẾ SẢN PHẨM

3

  • 1. Các linh kiện chính

3

  • a. AT89C52..................................................................................................................................

3

  • b. Led 7 thanh CA

4

  • c. Led thu phát hồng ngoại

5

Sơ đồ

  • 2. lý...........................................................................................................................

nguyên

5

Mạch in

  • 3. ........................................................................................................................................

6

Sơ đồ giải thuật

  • 4. ............................................................................................................................

7

Chương trình

  • 5. ................................................................................................................................

9

III. THI CÔNG SẢN PHẨM ..........................................................................................................

14

Mạch in

  • 1. ......................................................................................................................................

14

  • 2. trình........................................................................................................................

Nạp chương

14

IV. CÁCH SỬ DỤNG, HẠN CHẾ VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN

15

Cách sử dụng

  • 1. ..............................................................................................................................

15

  • 2. Hạn chế và phương hướng phát triển

..........................................................................................

15

  • V. TÀI LIỆU THAM KHẢO ............................................................................................................

16

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
  • I. MỞ ĐẦU

“Gia tốc rơi” đây là khái niệm đã được học trong chương trình Vật Lý 10 ở bậc trung học phổ thông. Ở đây xin nêu ra một số vấn đề cần chú ý sau. Khái niệm “gia tốc rơi” của vật khác với “gia tốc rơi tự do” và “gia tốc trọng trường” -Gia tốc rơi tự do: Là gia tốc của vật chỉ chịu tác dụng của trọng lực ( tức là môi trường thí nghiệm chuẩn chân không), trong chân không mọi vật có khối lượng khác nhau đề rơi như nhau.

-Gia tốc trọng trường: Là gia tốc của vật chỉ chịu tác dụng của trọng lực đặt trên bề mặt trái đất với các điều khiển tương đối chuẩn, thông thường g=9.8m/s2 -Gia tốc rơi chúng ta xét ở đây là gia tốc rơi của một hệ vật, tức là bao gồm cả lực cản

không khí, gió, đối lưu nhiệt

...ở

một độ cao( xét với mặt đất) và quãng đường rơi tùy ý.

Ở bậc phổ thông chúng ta đã được thực hành thí nghiệm về gia tốc rơi của vật, tuy nhiên thiết bị thí nghiêm tương đối đắt tiền, hạn chế trong thao tác và chỉ có chế độ hiển thị thời gian rơi của vật. Sản phẩm “ Máy đo gia tốc” của nhóm với chi phí ban đầu nhỏ,

linh hoạt trong hoạt động và thêm chế độ hiện thị trực tiếp gia tốc tương lai có thể là sản phẩm thay thế được các máy thí nghiệm trong các trường phổ thông hiện nay.

II.

THIẾT KẾ SẢN PHẨM

  • 1. Các linh kiện chính

a. AT89C52 Năm 1981, hãng Intel cho ra mắt bộ vi điều khiển đầu tiên của họ 8051, bộ vi điều khiển này có 128byte ram, 4k byte rom, hai bộ đinh thời, một cổng nối tiếp và bốn cổng 8 bit. Cho đến nay họ 8051 đã có rất nhiều phiên bản, phục vụ các nhu cầu khác nhau.

Trong đề tài này nhóm sinh viên sử dụng vi điều khiển AT89C52 của hãng Atmel có 8k byte rom, 128 byte ram, với giá thành khá rẻ

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

AT89C52

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
  • b. Led 7 thanh CA

Sơ đồ chân AT89C52

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Led 7 thanh Anot chung

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Sơ đồ chân Led 7 thanh

  • c. Led thu phát hồng ngoại -Led phát hồng ngoại là Led phát ra ánh sáng hồng ngoại (>0,75.10 -6 m) mà mắt thường không thể nhìn thấy được -Led thu hồng ngoại là một photodiode hoạt động ở dải bước sóng hồng ngoại. Khi được chiếu ánh sáng hồng ngoại điện trở ngược của nó giảm đi nhanh chóng. Khí không chiếu sáng điện trở ngược của nó là vô cùng.

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Cặp Led thu phát hồng ngoại

  • 2. Sơ đồ nguyên lý

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
  • 3. Mạch in -Khối hiển thị

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

-Khối mạch điều khiển

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

-Khối nguồn

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

-Khối thu phát hồng ngoại

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
  • 4. Sơ đồ giải thuật -Sơ đồ tổng quan

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

-Chương trình con kiểm tra phím

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

-Chương trình con tính gia tốc. -Chương trình con tính thời gian.

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
  • 5. Chương trình #include <REGX52.H> /**********khoi tao dinh nghia cac bien va hang*************/

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

unsigned char M[10] =

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

unsigned char N[10] =

{0x40,0x79,0x24,0x18,0x19,0x12,0x02,0x78,0x00,0x10};

////////////// #define sang 0; #define tat 1; ////////////// sbit mode=P1^0; sbit tang=P1^1; sbit giam=P1^2; sbit set=P1^3; sbit ledgiatoc=P1^4; sbit ledthoigian=P1^5; sbit sansang=P1^6; /////////////// sbit led1=P2^3; sbit led2=P2^2; sbit led3=P2^0; sbit led4=P2^1; /////////////// char donvi,chuc,tram,nghin; char donvi1,chuc1,tram1,nghin1; unsigned int num,k,l,w,c; unsigned long int a; /**************cac chuong trinh con****************/ void ngattimer2 (void) interrupt 5 {

l=l+1;

TF2=0;

}

void ngatngoai0 (void) interrupt 0

{

EX1=1;

EX0=0;

ET2=1;

TR2=1;

}

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

void ngatngoai1 (void) interrupt 2 {

ET2=0;

EA=0;;

} void delay(unsigned long int t) { unsigned long int i;

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

}

void htduong () //ctc hien thi do cao vat roi { //

led4=sang;

P0=M[donvi];

delay(100);

led4=tat;

led3=sang;

P0=M[chuc];

delay(100);

led3=tat;

led2=sang;

P0=M[tram];

delay(100);

led2=tat;

led1=sang;

P0=M[nghin];

delay(100);

led1=tat;

delay(100);

//

}

void htketqua () { //

led4=sang;

P0=M[donvi1];

delay(100);

//ctc hien thi ket qua do duoc

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

led4=tat;

led3=sang;

P0=M[chuc1];

delay(100);

led3=tat;

led2=sang;

P0=N[tram1];

delay(100);

led2=tat;

led1=sang;

P0=M[nghin1];

delay(100);

led1=tat;

delay(100);

// } void ktphim () //ctc quet phim {

if (!mode) {

delay(2000);

k=k+1;

if(k%2==1){ledthoigian=sang; ledgiatoc=tat;} if(k%2==0){ledgiatoc=sang; ledthoigian=tat;} } if(!giam) {

chuc=chuc-1;

if (chuc<0) {chuc=9; tram=tram-1;} if (tram<0) {tram=9; nghin=nghin-1;} if (nghin<0) {nghin=9; tram=9; chuc=9;}

delay(2000);

} if(!tang) {

chuc=chuc+1;

if(chuc>9) {chuc=0; tram=tram+1;}

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

if(tram>9) {tram=0; nghin=nghin+1;} if(nghin>9) {nghin=0; tram=0 ;chuc=0;}

delay(2000);

}

if(!set)

{

sansang=sang;

EX0=1;

delay(2000);

}

}

void giatoc () {

//ctc hien thi gia toc

a=((num*2*100)/(l*l))*100;

nghin1=a/1000;

tram1=(a%1000)/100;

chuc1=((a%1000)%100)/10;

donvi1=(((a%1000)%100)%10);

while(1)

{ htketqua(); } } void thoigian ()

//ctc hien thi thoi gian

{ c=l;

nghin1=c/1000;

tram1=(c%1000)/100;

chuc1=((c%1000)%100)/10 ; donvi1=(((c%1000)%100)%10) ;

while(1)

{

htketqua();

}

}

void hienthi()

{

char b;

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

b=k%2;

switch (b) { case 0:{giatoc(); break;} case 1:{thoigian(); break;} } } /****************chuong trinh chinh***************/ void main(void) {

ledgiatoc=sang;

T2CON=0x00;

RCAP2L = TL2 = 0Xf0; RCAP2H = TH2 = 0XD8;

//khoi tao tre 10ms TIMER2 che do auto reload

EA=1;

IP=0x05;

while(1)

{

htduong();

ktphim();

num=1000*nghin+100*tram+10*chuc+donvi;

while (EA==0)

{

hienthi();

}

}

}

III.

THI CÔNG SẢN PHẨM

  • 1. Mạch in Mạch in toàn bộ sản phẩm được làm thủ công bằng phương pháp tẩy đồng truyền

thống. Độ chính xác không cao tuy nhiên có thể đáp ứng nhu cầu của đề tài

  • 2. Nạp chương trình Chương trình được nạp bằng Kit51L

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

IV.

CÁCH SỬ DỤNG, HẠN CHẾ VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN

  • 1. Cách sử dụng

Trên mạch điều khiển có 5 nút: MODE,TANG,GIAM,SET,RESET. -MODE: dùng để thay đổi chế độ đo gia tốc hay đo thời gian. Nếu đo thời gian Led màu

cam sẽ sáng.Nếu đo gia tốc Led màu đỏ sẽ sáng. Mặc định là đo gia tốc nên khi bấm RESET Led màu đỏ sẽ sáng. -TANG: Mỗi lần bấm TANG độ cao của vật tăng 10 cm. -GIAM: Mỗi lần bấn GIAM đọ cao của vật giảm 10cm Ứng với độ cao của vật trong thực tế mà nhập vào giá trị tương ứng

-SET: Sau khi đinh chế độ và xác đinh độ cao chính xác của vật ta bấm SET để cho máy đo bắt đầu hoạt động. Lúc này Led Xanh biếc sẽ sáng -RESET: Sau mỗi lần đo bấm RESET để bắt đầu một lần đo mới.

  • 2. Hạn chế và phương hướng phát triển

Đề tài có thể tính toán thời gian chính xác đến 10ms nhưng phần tính toán gia tốc còn hạn chế ở một số khâu làm tròn trong chương trình. Thêm vào đó còn thừa khá nhiều chân tài nguyên của vi điều khiển nên tương lai nhóm sẽ nghiên cứu thêm để tính toán chuẩn gia tốc tới 2 con số phần thập phân đồng thời chọn một chip khác của họ 8051 tối ưu hơn thay thế.

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên

Đề tài: Máy đo Gia tc

Ging viên: Hoàng Tú Uyên

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên
  • V. TÀI LIỆU THAM KHẢO [1] Nguyễn Tăng Cường-Phan Quốc Thắng (2004), Cấu trúc và lập trình họ vi điều khiển 8051, Nhà xuất bản khoa học kỹ thuật [2] Nguyễn Mạnh Giang (2009) Cấu trúc lập trình ghép nối và ứng dụng vi điều khiển , Nhà xuất bản giáo dục [3] Tống Văn On-Hoàng Đức Hải (2000), Họ vi điều khiển 8051, Nhà xuất bản lao động– xã hội [4] Kiều Xuân Thực( Chủ biên) (2009), Vi điều khiển,cấu trúc lập trình và ứng dụng Nhà xuất bản giáo dục [5] Datasheet 89C52 Atmel http://www.datasheetcatalog.com/

Đ ề tài: Máy đo Gia t ố c Gi ả ng viên: Hoàng Tú Uyên