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

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
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

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 G
E A / V P P
V C CP 1 . 0
P 1 . 1
P 1 . 2
P 1 . 3
P 1 . 4

− 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 :
− 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 :
− 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 :
− 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

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
 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ủa
PSEN
được bỏ qua
trong mỗi bộ nhớ dữ liệu ngoài.
 Chân
EA
/ 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

unsigned char DATA[4]={0};
unsigned char i, LedId;
int ADvalue, congdon;
#define AD_IN P1
sbit INTR_AD = P3^2;
sbit WR_AD = P3^6;
sbit SW1 = P3^0;
sbit SW2 = P3^1;
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]];

TR1=1; //Chay timer 1
while (1)
{
Advalue= ad_convert (); //doc ADC
if (ADvalue==255) //Neu say ra tran ADC
{
DATA[3]=1; //Hien thi so 1
DATA[2]=10; //Tat cac led hien thi
DATA[1]=10;
DATA[0]=10;
}
else //Khong tran hien thi
{
DATA[0]=0;
for(i=1;i<4;i++)
{
DATA[i]=ADvalue%10;
ADvalue/=10;
}
}
}
}
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.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status