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

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

- Tích hợp mạch bộ dao động trên chip.
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)
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.
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)

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 đổi6. Cỏc ngừ vo b dao ng Xtal1, Xtal2:
B to dao ng c tớch hp bờn trong 89S52. Khi s dng 89S52, ngi
ta ch cn ni thờm t thch anh v cỏc t. Tn s t thch anh thng 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ớ.
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)

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;
unsigned char ma_bcd[11] =
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff}; // Common
Anode
// unsigned char ma_bcd[10] =
{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;

}
}
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;
for(i=0;i<10;i++)
{
LED1 = 0; // Enable Led 1 display
P7S = ma_bcd[ng]; // Output data led 2
delay(50); // Delay eyes see display
LED1 = 1; // Disable Led 1 display
P7S = 0xff;
LED2 = 0; // Enable Led 2 display
P7S = ma_bcd[tr]; // Output data led 2
delay(50); // Delay eyes see display
LED2 = 1; // Disable Led 1 display
P7S = 0xff;
LED3 = 0; // Enable Led 3 display
P7S = ma_bcd[ch]; // Output data led 2
delay(50); // Delay eyes see display
LED3 = 1; // Disable Led 1 display
P7S = 0xff;
LED4 = 0; // Enable Led 4 display
P7S = ma_bcd[dv]; // Output data led 2


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