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

THIẾT KẾ MÔ HÌNH AMPEMET ĐIỆN TỬ HIỂN THỊ BẰNG LED 7 THANH

13 683 9

Đ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 13
Dung lượng 334,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

1 . Lí thuyết cơ bản 1.1 Vi điều khiển AT89C51 AT89C51 là phiên bản 8051 có ROM trên chip là bộ nhớ Flash. Phiên bản này rất thích hợp cho các ứng dụng nhanh vì bộ nhớ FLASH có thể được xoá trong vài giây. Tất nhiên là để dùng AT89C51 cần phải có thiết bị lập trình PROM hổ trợ bộ nhớ Flash nhưng không cần đến thiết bị xoá ROM vì bộ nhớ Flash được xoá bằng thiết bị lập trình PROM. Để tiện cho việc sử dụng, hiện nay hãng Atmel đang nghiên cứu một phiên bản của AT89C51 cò thể lập trình qua cổng COM của máy tính PC và như vậy sẽ không cần đến thiết bị lập trình PROM. a. Một số nét đặc trưng: Tương thích với sản phẩm MCS51 Bộ nhớ chương trình bên trong: 4KB (ROM) Bộ nhớ dữ liệu bên trong: 128 KB (RAM) Port xuất nhập (IO port) :32 2 bộ định thời 16 bit Ngắt :6 Nguồn cấp :Vcc =5V 3 vị trí khoá bộ nhớ chương trình. Mạch giao tiếp nối tiếp. Hoạt động tĩnh: từ 0 Hz đến 24 MHz Chạy không nguồn thấp và chế độ giảm nguồn. Số chân IC :40

Trang 1

BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

BÁO CÁO ĐỒ ÁN

THIẾT KẾ MÔ HÌNH AMPEMET ĐIỆN TỬ

HIỂN THỊ BẰNG LED 7 THANH

GIÁO VIÊN HƯỚNG DẪN

TS HOÀNG XUÂN BÌNH

SINH VIÊN THỰC HIỆN

Hoàng Sĩ Linh Thiều Quang Nam Trần Trung Kiên

HÀ NỘI-2014

Trang 2

NỘI DUNG

1 Lí thuyết cơ bản

1.1 Vi điều khiển AT89C51

AT89C51 là phiên bản 8051 có ROM trên chip là bộ nhớ Flash Phiên bản này rất thích hợp cho các ứng dụng nhanh vì bộ nhớ FLASH có thể được xoá trong vài giây Tất nhiên là để dùng AT89C51 cần phải có thiết

bị lập trình PROM hổ trợ bộ nhớ Flash nhưng không cần đến thiết bị xoá ROM vì bộ nhớ Flash được xoá bằng thiết bị lập trình PROM Để tiện cho việc sử dụng, hiện nay hãng Atmel đang nghiên cứu một phiên bản của AT89C51 cò thể lập trình qua cổng COM của máy tính PC và như vậy sẽ không cần đến thiết bị lập trình PROM

a Một số nét đặc trưng:

- Tương thích với sản phẩm MCS-51

- Bộ nhớ chương trình bên trong: 4KB (ROM)

- Bộ nhớ dữ liệu bên trong: 128 KB (RAM)

- Port xuất nhập (I/O port) :32

- 2 bộ định thời 16 bit

- Ngắt :6

- Nguồn cấp :Vcc =5V

- 3 vị trí khoá bộ nhớ chương trình

- Mạch giao tiếp nối tiếp

- Hoạt động tĩnh: từ 0 Hz đến 24 MHz

- Chạy không nguồn thấp và chế độ giảm nguồn

- Số chân IC :40

Trang 3

b Sơ đồ khối của chip AT89C51

c Sơ đồ chân và chức năng các chân của vi điều khiển AT89C51

U 1

A T 8 9 C 5 1

9

1 8

1 9

2 0

2 9

3 0

3 1

4 0 1

2 3 4 5 6 7 8

2 1

2 2

2 3

2 4

2 5

2 6

2 7

2 8

1 0

1 1

1 2

1 3

1 4

1 5

1 6

1 7

3 9

3 8

3 7

3 6

3 5

3 4

3 3

3 2

R S T

X T A L 2

X T A L 1

G N D

P S E N

A L E / P R O GE A / V P P

V C C

P 1 0

P 1 1

P 1 2

P 1 3

P 1 4

P 1 5

P 1 6

P 1 7

P 2 0 / A 8

P 2 1 / A 9

P 2 2 / A 1 0

P 2 3 / A 1 1

P 2 4 / A 1 2

P 2 5 / A 1 3

P 2 6 / A 1 4

P 2 7 / A 1 5

P 3 0 / R X D

P 3 1 / T X D

P 3 2 / I N T 0

P 3 3 / I N T 1

P 3 4 / T 0

P 3 5 / T 1

P 3 6 / W R

P 3 7 / R D

P 0 0 / A D 0

P 0 1 / A D 1

P 0 2 / A D 2

P 0 3 / A D 3

P 0 4 / A D 4

P 0 5 / A D 5

P 0 6 / A D 6

P 0 7 / A D 7

Trang 4

Vcc:nguồn cấp (chân số 40)

 Port 0 (P0.0 – P0.7) có số chân từ 32- 39

 Port 0 là port xuất nhập 8bit 2 chiều Port 0 được định hình làm bus địa chỉ (byte thấp) và làm bus dữ liệu đa hợp trong khi truy xuất bộ nhớ

dữ liệu ngoài và bộ nhớ chương trình ngoài Port 0 nhận các byte mã trong khi lập trình cho Flash và xuất các byte mã trong khi kiểm tra chương trình

 Port 1 (P1.0 – P1.7) có số chân từ 1 – 8

 Port 1 là một port xuất nhập 8bit có các điện trở kéo lên bên trong.khi các logic 1 được đặt lên các chân của port 1, các chân này được kéo lên mức cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào Khi thực hiện là các port nhập, các chân của port 1 được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng cho các điện trở kéo lên bên trong

 Port 2 (P2.0 – P2.7) có số chân từ 21 -28

 Port 2 là port xuất nhập 8bit 2 chiều có các điện trở kéo lên bên trong Khi các logic 1 được đặt lên các chân của port 2, các chân này được sử dụng như là các ngõ vào Khi thực hiện chức năng port nhập, các chân port 2 được kéo xuống mức thấp do tác động bên ngoài sẽ cấp dòng do có các điện trở kéo lên bên trong Port 2 tạo ra byte cao của bus địa chỉ trong thời gian tìm nạp lệnh từ bộ nhớchương trình ngoài và trong thời gian truy xuất bộ nhớ dữ liệu ngoài sử dụng các địa chỉ 16 bit

 Port 3 (P3.0 - P3.7) có số chân từ 10 – 17

 Port 3 là port xuất nhập 8 bit 2 chiều có các điện trở kéo lên bên trong Khi các logic 1 được đặt lên các chân của port 3 các chân này được đưa lê mức cao bởi các điện trở kéo lên bên trong và có thể được sử dụng như là các ngõ vào Khi làm chức năng port nhập, các chân port 3 được kéo xuống mức thấp do tác động bên ngoài cấp dòng do có các điện trở kéo lên bên trong Port 3 còn được sử dụnglàm các chức năng khác của AT89C51

Trang 5

Chức năng của các chân được mô tả qua bảng sau :

bit

Chức năng

P3.0 RxD B0H Chân nhận dữ liệu của port nối tiếp P3.1 TxD B1H Chân phát dữ liệu của port nối tiếp P3.2 INTO\ B2H Ngõ vào ngắt ngoài 0

P3.3 INT1\ B3H Ngõ vào ngắt ngoài 1

P3.4 T0 B4H Ngõ vào của bộ định thời/đếm 0

P3.5 T1 B5H Ngõ vào của bộ định thời/đếm 1

P3.6 WR\ B6H Điều khiển ghi vào RAM ngoài

P3.7 RD\ B7H Điều khiển đọc từ RAM ngoài

máy trong khi bộ dao động đang hoạt động sẽ Reset AT89C51

Mạch Reset tự động khi khởi động máy

Ở đây chúng ta thực hiện Reset bằng cách nối chân 9 của 8951 với nguồn 5V

Là một xung ngõ ra cho phép chốt địa chỉ, cho phép chốt byte thấp của địa chỉ trong thời gian truy xuất bộ nhớ ngoài Chân này cũng được dùng làm ngõ vào xung lập trình (PROG) trong thời gian lập trình cho Flash Khi hoạt động bình thường, xung của ngõ ra ALE luôn luôn có tần số bằng 1/6 tần số của mạchdao động trên chip, có thể được sử dụng cho các mục đích định thời từ bên ngoài và tạo xung Clock Tuy nhiên cần lưu ý

là một xung ALE sẽ bị bỏ qua trong mỗi chu kì truy xuất của bộ nhớ dữ liệu ngoài Khi cần hoạt động cho phép chốt byte thấp của địa chỉ sẽ được

vô hiệu hoá bằng cách set bit 0 của thanh ghi chức năng đặc biệt (SFR) có địa chỉ byte là 8EH Khi bit này được set, ALE chỉ tích cực trong thời gian thực hiện lệnh MOVX hoặc MOVC Ngược lại chân này sẽ được đưa lên mức cao Việc set bit không cho phép hoạt động chốt byte thấp của địa chỉ sẽ không có tác dụng nếu bộ điều khiển đang ở chế độ thực thi chương trình ngoài

Trang 6

Chân PSEN (Program Store Enable):cho phép đọc bộ nhớ chương trình, chân số 29

Khi 8951 thực thi mã từ bộ nhớ chương trình ngoài, PSEN được hoạt động 2 lần trong mỗi chu kỳ máy ngoại trừ hoạt củaPSEN được bỏ qua trong mỗi bộ nhớ dữ liệu ngoài

ChânEA/ V pp (External Access): truy xuất ngoài , chân số 31

EA phải đươc nối với GND cho phép xuất mã từ vị trí bộ nhớ chương trình ngoài bắt đầu tại 0000H đến FFFFH

Chú ý:cho dù thế nào, nếu khoá bit 1 được lập trình, EA sẽ được chốt bên trong lúc Reset

EA nối Vcc để thực hiện chương trình bên trong

Chân này nhận điện áp cho phép lập trình là 12V (Vpp) trong khi lập trình Flash

Ngõ vào mạch khuếch đại đảo của mạch dao động và ngõ vào mạch tạo xung Clock bên trong chip

Ngõ ra mạch khuếch đại đảo của mạch dao động

Để tạo dao động cho vi điều khiển AT89C51 hoạt động, chúng em chọn mạch dao động như hình vẽ sau với các giá trị của linh kiện:

C1= C2=33pF

Trang 7

2 Sơ đồ nguyên lý và mạch in

MACH RESET

MACH TAO DAO DONG

KHOI HIEN THI

Trang 8

KHOI ADC

Trang 9

KHOI PHAN AP DAU VAO MACH DO

KHOI XU LY TRUNG TAM (VI DIEU KHIEN 89S52)

Trang 10

3 Chương trình:

#include<reg52.h>

#include<stdio.h>

#define LED_DATA P0 //Port xuat du lieu ra led 7 thanh

unsigned char CTRL[] = {0xfe, 0xfd, 0xfb, 0xf7};

//Bang ma Led 7 thanh A chung

unsigned char M[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; unsigned char DATA[4]={0};

unsigned char i, LedId;

int ADvalue, congdon;

Trang 11

sbit INTR_AD = P3^2;

void delay(unsigned long int d)

{

int n;

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

}

int ad_convert(void)

{

unsigned char temp;

AD_IN=0xff;

WR_AD = 0;

delay(3);

WR_AD = 1; //Bat dau chuyen doi

while(!INTR_AD); //Cho chuyen doi xong

return (temp=AD_IN); //Doc du lieu AD vao;

}

void hienthi(void)

{

/*Tat led */

LED_DATA = 0xFF;

LED_CTRL |= 0x0f;

/*Bat Led */

LED_DATA = M[DATA[LedId]];

LED_CTRL &= CTRL[LedId];

//

if (((SW1==0)&&(SW2==0))&&(LedId==3))

LED_DATA &= 0x7f;

if (((SW1==0)&&(SW2==1))&&(LedId==2))

LED_DATA &= 0x7f;

if (((SW1==1)&&(SW2==0))&&(LedId==2))

LED_DATA &= 0x7f;

if (((SW1==1)&&(SW2==1))&&(LedId==1))

LED_DATA &= 0x7f;

//

LedId++;

if(LedId == 4) LedId = 0;

}

void ngat_Timer_1(void)interrupt 3

{

hienthi();

}

void main()

{

EA=0; //Cam cac ngat

{

Trang 12

DATA[1]=10;

DATA[0]=10;

}

{ DATA[0]=0;

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

{ DATA[i]=ADvalue%10;

ADvalue/=10;

} }

}

}

Trang 13

4 KẾT LUẬN

- Từ những nền tảng sẵn có chúng ta có thể nghĩ ra những ý tưởng khác nữa, tùy vào mục đích sử dụng mà tìm những thiết bị phù hợp cho ý tưởng của mình Mong rằng rồi đây sẽ còn có nhiều sản phẩm điện tử mới được ra đời đáp ứng được nhu cầu của con người và tiến dần đến tự động hóa trong tất cả các lĩnh vực

Ngày đăng: 16/08/2014, 12:50

HÌNH ẢNH LIÊN QUAN

2. Sơ đồ nguyên lý và mạch in - THIẾT KẾ MÔ HÌNH AMPEMET ĐIỆN TỬ HIỂN THỊ BẰNG LED 7 THANH
2. Sơ đồ nguyên lý và mạch in (Trang 7)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w