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

THIẾT KẾ ĐỒNG HỒ ĐIỆN TỬ HIỂN THỊ BẰNG MÀN HÌNH TINH THỂ LỎNG (LCD)

25 758 3

Đ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 25
Dung lượng 473 KB

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

Nội dung

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, capturecompare 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.

Trang 1

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

Trang 2

A.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ụngnhấ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ácdẫ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ợpthêm các ngoại vi khác nhau (như ADC, SPI, EEPROM, capture/comparechannels…), tính năng cũng được nâng cao để phù hợp với các ứng dụngngà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àoo/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

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

Trang 3

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

Trang 4

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)

Trang 5

- 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áytí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ồmmột bộ Timer 14 bít, một bộ Timer 7 bít, thanh ghi WDTPRG( WDTprogramable) đ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épWDT, các giá trị 1EH và E1H cần phải được ghi liên tiếp vào thanh ghiWDTRST 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ẽ đượcreset Khi WDT hoạt động, ngoại trừ reset phần cứng và reset do WDT trànthì 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áclần WDT được khởi tạo lại

Trang 6

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

Trang 7

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

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 8

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 ROMtheo 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ácthiết kế dùng bộ nhớ mở rộng

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:

Trang 9

Bit Tên Chức nă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.4 T 0 Ngõ vào của Timer/Counter 0P3.5 T 1 Ngõ vào của Timer/Counter 1P3.6 WR Xung ghi bộ nhớ dữ liệu bên ngoàiP3.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ớithạ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ácthanh ghi không thay đổi

Trang 10

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ứcthấp, chương trinh chỉ được thi hành từ bộ nhớ mở rộng

8 ALE( Address Latch Enable):

Trang 11

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 để chophé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ủachương trình được đọc từ EPROM qua Bus và được chốt vào thanh ghi lệnhcủa bộ vi điều khiển để giải mã lệnh Khi thi hành chương trình trong ROMnộ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ấpqua chân 40(+) và chân 20(-)

Trang 12

unsigned char mode = 0;

unsigned char hrs,min,sec,date,month,year;

Trang 13

void display()

{

lenh(ve_dau_dong_thu_nhat);

lenh(tat_con_tro); lcd_gotoxy(2,4);

Trang 14

if(hrs==24) hrs=0;while(!up);

display();

}else if (down==0)

{hrs ;

Trang 15

display();

}display();

if(ok==0 || mode==0) goto escape;

break;

case 2://change minutes

if (up==0)

{min++;

if(min==60)min=0;

while(!up);

display();

}else if (down==0)

{if(min==0)min=60;

min ;

while(!down);

display();

}if(ok==0 || mode==0) goto escape; break;

case 3: //change seconds

Trang 16

}display();

if(ok==0 || mode==0) goto escape;

break;

case 4: // chinh ngay

if (!up)

{date ++;

if (month == 2 && date > 28 ) date = 1;

if ((month == 1 || month == 3 || month == 5 ||month == 7 || month == 8 || month == 10 || month == 12) && date > 31)date = 1;

if ((month == 4 || month == 6 || month == 9 ||month == 11 ) && date > 30) date = 1;

while(!up);

display();

}else if (!down)

{date ;

if (date == 0 && month == 2 ) date = 28;

if ((month == 1 || month == 3 || month == 5 ||month == 7 || month == 8 || month == 10 || month == 12) && date == 0)date = 31;

Trang 17

month == 11 ) && date == 0) date = 30;

while(!down);

display();

}if(ok == 0 || mode == 0) goto escape; break;

case 5://chinh thang

if (up==0)

{month ++;

if(month > 12) month =1;

while(!up);

display();

}else if (down==0)

{min ;

if(month == 0) month = 12;

while(!down);

display();

}if(ok==0 || mode == 0) goto escape;

Trang 18

case 6://chinh nam

if (up==0)

{year++;

if(year == 100 ) year = 1;

while(!up);

display();

}else if (down==0)

{year ;

if(year == 0)year = 99;

while(!down);

display();

}if(ok==0 || mode == 0) goto escape; break;

Trang 19

if(hrs==24)

{hrs=0;

date ++;

Trang 20

date = 1;

month ++;

}

if ((month == 1 || month == 3 || month == 5 || month == 7

|| month == 8 || month == 10 || month == 12) && date >31)

{date = 1;

month ++;

if(month > 12)

{month = 1;

year ++;

if(year == 100) year = 0;

}}

if ((month == 2 || month == 4 || month == 6 || month == 9

|| month == 11 ) && date >30)

{date = 1;

month ++;

}}

}}

}

}

Trang 21

void ngat_hien_thi_thoi_gian_timer_0 (void) interrupt 1{

void lenh(unsigned char LCDcmd);

void write_data(unsigned LCD_data);

void write(char *s);

void khoi_tao_LCD(void);

void write_num(unsigned int number);

void lcd_gotoxy(unsigned char row,unsigned char column);void delay(unsigned int ms)

{

unsigned int i;

Trang 23

void write_data(unsigned LCD_data){

Trang 24

void write_num(unsigned int number)

Trang 25

II Sơ Đồ Nguyên Lý và Mạch In

III.Nguyên Lý hoạt Động

Dùng timer đếm xung để định thời gian,dùng thạch anh 12MHz tức làtrong 1 giây nó sẽ tạo ra 12 triệu xung.con 89 thực hiện lệnh sau mỗi 12xung thạch anh tức là timer đếm đc 1 triệu xung thỡ sẽ được 1 giây cứ thế ta

sẽ có được thời gian cần tính trong con này có tất cả 3 timer, ta dùng 1 timer

để đếm thời gian dùng 1 timer để hiển thị timer này sẽ ngắt liên tục để đọcthời gian mà bộ timer kia làm được

C.ĐÁNH GIÁ

Ưu Điểm: Chi phí sản xuất thấp

Dể sử dụngTuy nhiên trong quá trinh thực hiện chúng em vẫn còn gặp nhiều nhữngsai sót Mong quý thầy(cô) tham gia đóng góp ý kiến để chúng em hoànthiện hơn

Chúng em xin chân thành cảm ơn!

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

HÌNH ẢNH LIÊN QUAN

Sơ đồ chân AT 89S52 - THIẾT KẾ ĐỒNG HỒ ĐIỆN TỬ HIỂN THỊ BẰNG MÀN HÌNH TINH THỂ LỎNG (LCD)
Sơ đồ ch ân AT 89S52 (Trang 4)
Sơ đồ khối của bộ vi điều khiển 89S52 - THIẾT KẾ ĐỒNG HỒ ĐIỆN TỬ HIỂN THỊ BẰNG MÀN HÌNH TINH THỂ LỎNG (LCD)
Sơ đồ kh ối của bộ vi điều khiển 89S52 (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w