1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐO tần số HIỂN THỊ LED 7

19 229 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 704,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cùng với sự phát triển và đi lên của nhà trường, khoa Điện tử -Tự động hóa măc dù là một khoa mới được thành lập nhưng đã đóng góp không nhỏ vào thành công của nhà trường.. Đất nước ta đ

Trang 1

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA : ĐIỆN TỬ

ĐỒ ÁN MÔN HỌC

Đề tài: Thiết kế bộ đo tần số hiển thị bằng led 7 đoạn.

GVHD : Nguyễn Anh Dũng Sinh viên thực hiện : Nguyễn Xuân Chiến Nguyễn Ngọc Huy Nguyễn Quang Vọng

Trang 2

LỜI NÓI ĐẦU.

Trường ĐH công nghiệpHà Nội tiền thân là trường cao đẳng công nghiệp Hà Nội được hình thành và phát triển với một bề dầy lịch sử, là cái nôi đào tạo công nhân kĩ thuật cao Cùng với sự phát triển và đi lên của nhà trường, khoa Điện tử -Tự động hóa măc dù là một khoa mới được thành lập nhưng đã đóng góp không nhỏ vào thành công của nhà trường

Trong thời đại ngày nay đất nước ta đang trên đường hội nhập quốc tế đặc biệt là hội nhậpWTO Đất nước ta đang trên đà phát triển mạnh mẽ để bắt kịp thế giới chúng ta phải thực hiện chính sách đi tắt đón đầu Như chúng ta đã biết thế kỷ 21 là thế kỷ của công nghệ thông tin và tự động hóa cả hai ngành này đều liên quan mật thiết đến Điện tử.

Ngành công nghiệp Điện tử đang phát triển rất mạnh mẽ trên thế giới ở những nước công nghiệp phát triển ,ở nước ta điện tử là một ngành thực sự là mới mẻ nhưng được nhà nước quan tâm đặc biệt

Tại trường ĐH công nghiệp Hà Nội, khoa Điện tử- Tự động hóa tổ chức đào tạo ba ngành: điện tử công nghiệp , điện tử viễn thông, điện tử máy tính.

Vi Điều Khiển là môn học trực thuộc bộ môn điện tử công nghiệp, TBĐKCN đã và đang dần được số hóa Được sự phân công và hướng dẫn của thầy Nguyễn Anh Dũng, nhóm em đã nghiên cứu đề tài này Mặc dù cố gắng rât nhiều trong việc tìm hiểu tài liệu

và được sự hướng dẫn nhiệt tình của thầy giáo nhưng do còn nhiều hạn chế nên không tránh khỏi những thiếu sót về tài liệu, về ngôn ngữ, cách trình bày

Chúng em rất mong được thông cảm và góp ý của thầy.

Cuối cùng chúng em xin chân thành cảm ơn!

Hà Nội Ngày: 1/2/2010

nhóm sinh viên: Nguyễn xuân chiến

Nguyễn ngọc huy Nguyễn Quang Vọng

Trang 3

I.Giíi thiÖu tæng quan vÒ hä 8051

Vi điều khiển 8051 – M« tả phần cứng

Vi điều khiển 8051 lµ một trong những họ vi điều khiển 8bit th«ng dụng nhất trªn thế giới Vi điều khiển nµy được chế tạo lần đầu tiªn bởi h·ng Intel, sau đã được c¸c h·ng kh¸c chế tạo dưới dạng c¸c dẫn xuất kh¸c nhau C¸c dẫn xuất nµy đều cã chung một kiến tróc giống với vi điều khiển 8051 kinh điển Thªm vµo đo, tïy theo từng loại mµ c¸c chip dẫn xuất được tÝch hợp thªm c¸c ngoại vi kh¸c nhau (như ADC, SPI, EEPROM, capture/compare channels…), tÝnh năng cũng được n©ng cao để phï hợp với c¸c ứng dụng ngµy cµng phức tạp

Trước hết xin giới thiệu một số tính năng của họ vi điều khiển 8051 (lưu ý là những tính năng này là của vi điều khiển 8051 kinh điển):

- CPU 8bit được thiết kế tối ưu cho các ứng dụng điều khiển

- Co cac khả năng xử lý bit logic

- Không gian bộ nhớ chương trình 64Kbyte

- Không gian bộ nhớ dữ liệu 64 Kbyte

- Tích hợp 4Kbyte bộ nhớ chương tr×nh trªn chip

- Tích hợp 128byte bộ nhớ RAM trên chip

- Cã 32 đường vµo/ra 2 chiều có thể định địa chỉ đến từng bit

- Tích hợp 02 timer 16bit

- Tích hợp UART song song

- Cấu trúc ngắt với 06 nguồn/05 vector ở 02 mức ưu tiên khác nhau

- Tích hợp mạch bộ dao động trên chip

Trang 4

Vi điều khiển đợc giới thiệu ở đây đợc sản xuất theo công nghệ CMOS Một

số loại vi điều khiển thông dụng thuộc họ 8051 có thể kể ra nh: AT89C2051(

20 chân), AT89C4051( 20 chân), AT89C51( 40 chân), AT89C52

( 40 chân), AT89S51( 40 chân), AT89S52( 40 chân), AT89S53( 40 chân)

Sau đây là sơ đồ khối tổng quan của 8051

I-Cấu trúc phần cứng họ 8051( AT 89S52)

Trang 5

Sơ đồ chân AT 89S52

Bộ vi điều khiển AT89S52 gồm các khối chức năng chính sau đây:

CPU( Central Processing Unit) bao gồm:

- Thanh ghi tích luỹ A

- Thanh ghi tích luỹ phụ B, dùng cho phép nhân và phép chia

- Đơn vị logic học( ALU: Arithmetic Logical Unit)

- Từ trạng thái chơng trình( PSW: Progam Status Word)

- Bốn băng thanh ghi

- Con trỏ ngăn xếp

Bộ nhớ chơng trình( Bộ nhớ ROM) gồm 8Kb Flash.

Bộ nhớ dữ liệu( Bô nhớ RAM) gồm 256 bytes.

Trang 6

Bộ UART( Universal Ansynchronous Receiver and Tranmitter) làm chức

năng truyền nhận nối tiếp, nhờ khối này, AT89S52 có thể giao tiếp với máy tính qua cổng COM

3 bộ Timer /Counter 16 bít thực hiện các chức năng định thời và đếm sự kiện WDM( Watch Dog Timer) đợc dùng để phục hồi lại hoạt động của CPU khi nó

bị treo bởi một nguyên nhân nào đó WDM ở AT89S52 gồm một bộ Timer 14 bít, một bộ Timer 7 bít, thanh ghi WDTPRG( WDT programable) điều khiển Timer 7 bit và một thanh ghi chớc năng WDTRST( WDM register) Bình thờng WDT không hoạt động( bị cấm), để cho phép WDT, các giá trị 1EH và E1H cần phải đợc ghi liên tiếp vào thanh ghi WDTRST Timer 14 bit của WDT sẽ đếm tăng dần sau mỗi chu kỳ đồng hồ cho đến giá trị 16383 thì xảy ra tràn Khi xảy

ra tràn, chân RTS sẽ đợc đặt ở mức cao trong thời gian 96.Tosc (Tossc=1/Fosc)

và AT89S52 sẽ đợc reset Khi WDT hoạt động, ngoại trừ reset phần cứng và reset do WDT tràn thì không có cách nào cấm đợc WDT, vì vậy khi sử dụng WDT thì các đoạn mã chơng trình phải đợc đặt trong các khe thời gian từ khi giữa các lần WDT đợc khởi tạo lại

Trang 7

Hình: Sơ đồ khối của bộ vi điều khiển 89S52

II- Sơ đồ các chân và chức năng

Trang 8

1 Port 0(P0.0-P0.7 hay từ chân 32 đến chân 39): Gồm 8 chân, ngoài chức năng xuất nhập ra, Port 0 còn là Bus đa hợp dữ liệu và địa chỉ( AD0-AD7), chức năng này sẽ đợc sử dụng khi AT89S52 giao tiếp với thiết bị ngoài có kiến trúc Bus

Trang 9

2 Port 1( P1.0-P1,7 hay từ chân 1 đến chân 8) : Có chức năng xuất nhập theo bit và byte Ngoài ra, 3 chân P1.5, P1.6, P1.7 đợc dùng để nạp ROM theo chuẩn ISP, 2 chân P1.0 và P1.1 đợc dùng cho bộ Timer 2

3 Port 2( P2.0- P2.7 hay từ chân 21 đến chân 28): Là một port có công dụng kép: là đờng xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng

Trang 10

4 Port 3( P3.0- P3.7 hay từ chân 10 đến chân 17): Mỗi chân trên port 3 ngoài chức năng xuất nhập ra còn có một chức năng riêng:

P3.0 RXD Dữ liệu nhận cho port nối tiếp

P3.1 TXD Dữ liệu phát cho port nối tiếp

P3.2 INT0 Ngắt 0 bên ngoài

P3.3 INT1 Ngắt 1 bên ngoài

P3.6 WR Xung ghi bộ nhớ dữ liệu bên ngoài P3.7 RD Xung đọc bộ nhớ dữ liệu bên ngoài

5 RST( Reset- chân 9):

Mức tích cực của chân này là mức 1, để reset ta phải đa mức 1(5V)

đến chân này với thời gian tối thiểu 2 chu kỳ máy( tơng đơng 2uS đối với thạch anh 12MHz

Trạng thái của các thanh ghi khi reset, khi reset thì trạng thái của các thanh ghi không thay đổi

Trang 11

6 Cỏc ngừ vào bộ dao động Xtal1, Xtal2:

Bộ tạo dao động được tớch hợp bờn trong 89S52 Khi sử dụng 89S52, người

ta chỉ cần nối thờm tụ thạch anh và cỏc tụ Tần số tụ thạch anh thường là 12 Mhz-24Mhz

7 EA( External Access):

EA thờng đợc mắc lên mức cao(+5V) hoặc mức thấp( GND) Nếu ở mức cao, bộ vi điều khiển thi hành chơng trình từ ROM nội Nếu ở mức thấp, chơng trinh chỉ đợc thi hành từ bộ nhớ mở rộng

8 ALE( Address Latch Enable):

ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nửa

đầu của chu kỳ bộ nhớ Sau đó các đờng port 0 dùng để xuất hoặc nhập dữ liệu trong nửa chu kỳ sau của bộ nhớ

Trang 12

9 PSEN( Program Store Enable):

PSEN là điều khiển để cho phép bộ nhớ chơng trình mở rộng và trờng

đợc nối đến chân /OE ( Output Enable) của một EPROM để cho phép đọc các bytes mã lệnh

PSEN sẽ ở mức thấp trong thừi gian đọc lệnh Các mã nhị phân của

ch-ơng trình đợc đọc từ EPROM qua Bus và đợc chốt vào thanh ghi lệnh của bộ

vi điều khiển để giải mã lệnh Khi thi hành chơng trình trong ROM nội, PSEN sẽ ở mức thụ động( mức cao)

10 Vcc, GND:

AT89S52 dùng nguồn một chiều có dải điện áp từ 4V-5.5V đợc cấp qua chân 40(+) và chân 20(-)

Trang 13

II : NỘI DUNG:

1 đề bài và yêu cầu:

Thiết kế bộ đo tần số hiển thị bằng 4 led 7 đoạn

yêu cầu:tần số đo được hiển thị trên 4 led 7 đoạn

sai số cho phép :+ - 5%

Hệ thống có chuyển mạch đe đo 3 dải tần số khác nhau đảm bảo độ chính xác (dải 1 từ 10 Hz đén 100 Hz; dải 2 từ 100Hz dến 500 Hz,dải 3 từ

1Khz đến 5khz;

Hệ thống có kềm theo một bộ tao xung với các tần số tương ứng với 3 dải tren n«i

2 nội dung:

Với yêu cầu của bài toán ta phaỉ dung một mạch tạo xung dung ic 555 để tạo ra tần số ứng với 3 dải trên , xung này thông qua công tắc SW3 (từ đây

ta có thể chọn xung mà ta cần đo ) được đưa vào chân số 14 của ic 89s52 Sau khi qua bộ sử lý tín hiệu xuất ra led 7 thanh la giá tri của tần số mà ta cần đo

Ngoài ra các nút bấm SW1,SW2 dùng để chuyển mạch để có thể đo 3 dải tần số khác nhau

III: SƠ ĐỒ NGUYÊN LÝ:

Trang 14

IV SƠ ĐỒ MẠCH IN:

Trang 15

V LINH KIỆN SỬ DỤNG TRONG MẠCH

 Khối điều khiển trung tâm : Vi điều khiển 89S52 (1 con)

 Mạch tạo xung: 1 IC 555

 Transistor A1015 ( 4 con)

 Điện trở 1K,10K.Tụ 10uF

 Led 7 đoạn (4 con)

Trang 16

VI :MÃ NGUỒN CHƯƠNG TRÌNH

#include <at89x52.h>

#include <stdio.h>

sbit LED1 = P1^0;

sbit LED2 = P1^1;

sbit LED3 = P1^2;

sbit LED4 = P1^3;

#define P7S P0

sbit SW1 = P1^4;

sbit SW3 = P1^5;

sbit SW2 = P1^6;

unsigned int dem,dem1,i,n,j,et1;

unsigned int ng,tr,ch,dv,dp;

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; // Common Anode

{0x0A,0xFA,0x4C,0x68,0xB8,0x29,0x09,0x7A,0x08,0x28}; // Common Anode

void couter_t0(void) interrupt 3

{

et1 ++;

if (et1 > 10000)

{

TR0 = 0;

et1 = 0;

dem1 = TH0;

dem1 <<= 8;

dem1 += TL0;

dem = dem1;

TH0 = 0;

TL0 = 0;

TR0 = 1;

TR1 = 1;

Trang 17

if(SW1 == 0) // 1-100

{

if(dem > 100)dem = 101;

ng = 10;

tr = dem/100;

ch = (dem%100)/10;

dv = dem%10;

}

else if(SW2 == 0) //100- 500

{

if(dem > 500)dem = 501;

ng = 10;

tr = (dem/100)%10;

ch = (dem%100)/10;

dv = dem%10;

}

else if(SW3 == 0) // 1k-5k

{

if(dem > 5000)dem = 5001;

ng = (dem/1000)%10;

tr = (dem/100)%10;

ch = (dem%100)/10;

dv = dem%10;

}

}

}

void delay(unsigned int d)

{

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

}

// Program scan four led 7seg data output P1

void scan_7seg(void)

{

LED1 = LED2 = LED3 = LED4 = 1;

P7S = 0xff;

Trang 18

{

P7S = ma_bcd[ng]; // Output data led 2

delay(50); // Delay eyes see display LED1 = 1; // Disable Led 1 display P7S = 0xff;

P7S = ma_bcd[tr]; // Output data led 2

delay(50); // Delay eyes see display LED2 = 1; // Disable Led 1 display P7S = 0xff;

P7S = ma_bcd[ch]; // Output data led 2

delay(50); // Delay eyes see display LED3 = 1; // Disable Led 1 display P7S = 0xff;

P7S = ma_bcd[dv]; // Output data led 2

delay(50); // Delay eyes see display LED4 = 1; // Disable Led 1 display P7S = 0xff;

LED1 = LED2 = LED3 = LED4 = 1;

}

}

void main()

{

TMOD = 0x25;

TH1 = TL1 = -100;

EA = 1;

ET1 = 1;

TR1 = 1;

TR0 = 1;

Trang 19

et1 = 0;

dem = 0;

while (1)

{

scan_7seg(); }

}

Ngày đăng: 05/01/2016, 16:03

HÌNH ẢNH LIÊN QUAN

Sơ đồ chân AT 89S52 - ĐO tần số HIỂN THỊ LED 7
Sơ đồ ch ân AT 89S52 (Trang 5)

TỪ KHÓA LIÊN QUAN

w