Đồ án Vi điều Khiển 8051 | Xemtailieu

logo xemtailieu Xemtailieu Tải về Đồ án vi điều khiển 8051
  • doc
  • 85 trang
Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp MỞ ĐẦU Cùng với sự phát triển đi lên các doanh nghiệp thuộc nhiều thành phần, trong mọi lĩnh vực rất cần một chỗ đứng trên thị trường, đặc biệt là vấn đề quảng bá sản phẩm của mình để tăng tính cạnh tranh. Trong đó một hình thức đóng vai trò hết sức quan trọng cho sự thành công đối với doanh nghiệp chính là nhờ vào quảng cáo. Hiện nay có rất nhiều hình thức quảng cáo khác nhau như quảng cáo bằng pha nô áp phic, biển kẻ vẽ, đề can… Một trong số những hình thức có hiệu quả nhất và đang được sử dụng rộng rãi đó là thông tin quảng cáo bằng bảng điện tử. Để làm được một bảng điện tử chúng ta có thể dùng vi xử lý, dùng IC rời, dùng EPROM, dùng vi điều khiển, hay điều khiển bằng máy tính... Trong Đồ án tốt nghiệp này em xin trình bày thiết kế Hệ Thống Quảng Cáo sử dụng vi điều khiển AT89C51. Trong quá trình học tập ở trường và đặc biệt thời gian thiết kế Đồ án tốt nghiệp. Đây là dịp có điều kiện tốt nhất để em có thể tìm hiểu về vi điều khiển AT89C51 cũng như họ vi điều khiển 8051. Được sự hướng dẫn và đặc biệt quan tâm của thầy Phạm Mạnh Hùng do đó mà em đã chọn đề tài thiết kế Hệ Thống Quảng Cáo. Hoµng Quang Lý -1- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp CHƯƠNG I TỔNG QUAN VỀ HỌ VI XỬ LÝ 8051 I. NHỮNG ĐẶC ĐIỂM CƠ BẢN HỌ VI XỬ LÝ 8051 1.Tóm tắt về lịch sử của 8051. Vào năm 1981. Hãng Intel giới thiệu một số bộ vi điều khiển được gọi là 8051. Bộ vi điều khiển này có 128 byte RAM, 4K byte ROM trên chíp, hai bộ định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả được đặt trên một chíp. Lúc ấy nó được coi là một “hệ thống trên chíp”. 8051 là một bộ xử lý 8 bit có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thời điểm. Dữ liệu lớn hơn 8 bit được chia ra thành các dữ liệu 8 bit để cho xử lý. 8051 có tất cả 4 cổng vào - ra I/O mỗi cổng rộng 8 bit. Mặc dù 8051 có thể có một ROM trên chíp cực đại là 64 K byte, nhưng các nhà sản xuất lúc đó đã cho xuất xưởng chỉ với 4K byte ROM trên chíp 8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán bất kỳ dạng biến thể nào của 8051 mà họ thích với điều kiện họ phải để mã lại tương thích với 8051. Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độ khác nhau và dung lượng ROM trên chíp khác nhau được bán bởi hơn nửa các nhà sản xuất. Điều này quan trọng là mặc dù có nhiều biến thể khác nhau của 8051 về tốc độ và dung lương nhớ ROM trên chíp, nhưng tất cả chúng đều tương thích với 8051 ban đầu về các lệnh. Điều này có nghĩa là nếu ta viết chương trình của mình cho một phiên bản nào đó thì nó cũng sẽ chạy với mọi phiên bản bất kỳ khác mà không phân biệt nó từ hãng sản xuất nào. Hoµng Quang Lý -2- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp 2. Bộ ví điều khiển 8051 Bộ vi điều khiển 8051 là thành viên đầu tiên của họ 8051. Hãng Intel ký hiệu nó như là MCS51 Đặc tính Số lượng ROM trên chíp RAM 4K byte Bộ định thời 2 Các chân vào - ra 32 Cổng nối tiếp 1 Nguồn ngắt 6 128 byte Bảng 1.1. Các đặc tính của 8051 đầu tiên 3. Sơ đồ khối chung của họ vi điều khiển 8051 Interrupt control : Điều khiển ngắt. Other registers : Các thanh ghi khác. 128 Byte RAM : RAM 128 Byte. Timer 2, 1 , 0 : Bộ định thời 2 , 1 , 0 CPU : Đơn vị điều khiển trung tâm. Oscillator : Mạch dao động. Bus control: Điều khiển Bus I/O ports: Các ports vào/ ra Serial port: port nối tiếp Address/data : địa chỉ/ dữ liệu Hoµng Quang Lý -3- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp INT 1 INT 0 Timer 2 ( 8032,8052) Timer 1 T 2 EX Timer 0 Serial port Interrupt Control 128 Byte RAM (8032/8052) Other registers ROM 0K - 8031/8032 4K - 8051 8K - 8052 128 Byte RAM Timer 2 (8032/8052) T2 Timer 1 T1 Timer 0 T0 CPU Oscillator EA RST SERIAL PORT I/O Port Bus control ALE PSEN P0 P1 Address/Data P2 P3 TXD RXD Hình 1.1. Bố trí bên trong của sơ đồ khối 8051 II. THÀNH VIÊN HỌ VI XỬ LÝ 8051 1. Bộ vi điều khiển 8052: Bộ vi điều khiển 8052 là một thành viên khác của họ 8051, 8052 có tất cả các đặc tính chuẩn của 8051 ngoài ra nó có thêm 128 byte RAM và một bộ định thời nữa. Hay nói cách khác là 8052 có 256 byte RAM 3 bộ định thời. và có 8K byte ROM. trên chíp thay vì 4K byte như 8051. Hoµng Quang Lý -4- Tæng quan Vi ®iÒu khiÓn hä 8051 Đặc tính §å ¸n tèt nghiÖp 8051 8052 8031 ROM trên chíp 4K byte 8K byte RAM 128 byte 256 byte 128 byte Bộ định thời 2 3 2 Chân vào - ra 32 32 32 Cổng nối tiếp 1 1 1 Nguồn ngắt 6 8 6 Bảng 1.2. So sánh các đặc tính của các thành viên họ 8051. Như nhìn thấy từ bảng 1.2 thì 8051 là tập con của 8052. Do vậy tất cả mọi chương trình viết cho 8051 đều chạy trên 8052 nhưng điều ngược lại là không đúng. 2. Bộ vi điều khiển 8031: Một thành viên khác nữa của 8051 là chíp 8031. Chíp này thường được coi như là 8051 không có ROM trên chíp vì nó có OK byte ROM trên chíp. Để sử dụng chíp này ta phải bổ xung ROM ngoài cho nó. ROM ngoài phải chứa chương trình mà 8031 sẽ nạp và thực hiện. So với 8051 mà chương trình được chứa trong ROM trên chíp bị giới hạn bởi 4K byte, còn ROM ngoài chứa chương trinh được gắn vào 8031 thì có thể lớn đến 64K byte. Khi bổ xung cổng, như vậy chỉ còn lại 2 cổng để thao tác. Để giải quyết vấn đề này ta có thể bổ xung cổng vào - ra cho 8031. Phối phép 8031 với bộ nhớ và cổng vào - ra chẳng hạn với chíp 8255. Ngoài ra còn có các phiên bản khác nhau về tốc độ của 8031 từ các hãng sản xuất khác nhau. 3. Các bộ vi điều khiển 8051 từ các hãng khác nhau. Mặc dù 8051 là thành viên phổi biến nhất của họ 8051 nhưng chúng ta sẽ thấy nó trong kho linh kiện. Đó là do 8051 có dưới nhiều dạng kiểu bộ nhớ khác nhau như UV - PROM, Flash và NV - RAM mà chúng đều có Hoµng Quang Lý -5- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp số đăng ký linh kiện khác nhau. Phiên bản UV-PROM của 8051 là 8751 Phiên bản Flash ROM được bán bởi nhiều hãng khác nhau chẳng hạn của Atmel corp với tên gọi là AT89C51 còn phiên bản NV-RAM của 8051 do Dalas Semi Conductor cung cấp thì được gọi là DS5000. Ngoài ra còn có phiên bản OTP (khả trình một lần) của 8051 được sản xuất bởi rất nhiều hãng. 3.1. Bộ vi điều khiển 8751 Chíp 8751 chỉ có 4K byte bộ nhớ UV-EPROM trên chíp. Để sử dụng chíp này để phát triển yêu cầu truy cập đến một bộ đốt PROM cũng như bộ xoá UV- EPROM để xoá nội dung của bộ nhớ UV-EPROM bên trong 8751 trước khi ta có thể lập trình lại nó. Do một thực tế là ROM trên chíp đối với 8751 là UV-EPROM nên cần phải mất 20 phút để xoá 8751 trước khi nó có thể được lập trình trở lại. Điều này đã dẫn đến nhiều nhà sản xuất giới thiệu các phiên bản FLASH ROM và UV-RAM của 8051. Ngoài ra còn có nhiều phiên bản với các tốc độ khác nhau của 8751 từ nhiều hãng khác nhau. 3.2. Bộ vi điều khiển AT8951 từ Atmel Corporation. Chíp 8051 phổ biến này có ROM trên chíp ở dạng bộ nhớ Flash. Điều này là lý tưởng đối với những phát triển nhanh vì bộ nhớ Flash có thể được xoá trong vài giây trong tương quan so với 20 phút hoặc hơn mà 8751 yêu cầu. Vì lý do này mà AT89C51 để phát triển một hệ thống dựa trên bộ vi điều khiển yêu cầu một bộ đốt ROM mà có hỗ trợ bộ nhớ Flash. Tuy nhiên lại không yêu cầu bộ xoá ROM. Lưu ý rằng trong bộ nhớ Flash ta phải xoá toàn bộ nội dung của ROM nhằm để lập trình lại cho nó. Việc xoá bộ nhớ Flash được thực hiện bởi chính bộ đốt PROM và đây chính là lý do tại sao lại không cần đến bộ xoá. Để loại trừ nhu cầu đối với một bộ đốt PROM hãng Atmel đang nghiên cứu một phiên bản của AT 89C51 có thể được lập trình qua cổng truyền thông COM của máy tính IBM PC . Số linh kiện ROM Hoµng Quang Lý RAM Chân I/O -6- Timer Ngắt Vcc Đóng vỏ Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp AT89C51 4K 128 32 2 6 5V 40 AT89LV51 4K 128 32 2 6 3V 40 AT89C1051 1K 64 15 1 3 3V 20 AT89C2051 2K 15 2 6 3V 20 128 AT89C52 8K 256 32 3 8 5V 40 AT89LV52 8K 128 32 3 8 3V 40 Bảng 1.3: Các phiên bản của 8051 từ Atmel (Flash ROM). Chữ C trong ký hiệu AT89C51 là CMOS. Cũng có những phiên bản đóng vỏ và tốc độ khác nhau của những sản phẩm trên đây. Xem bảng 1.4. Ví dụ để ý rằng chữ “C” đứng trước số 51 trong AT 89C51 -12PC là ký hiệu cho CMOS “12” ký hiệu cho 12 MHZ và “P” là kiểu đóng vỏ DIP và chữ “C” cuối cùng là ký hiệu cho thương mại (ngược với chữ “M” là quân sự ). Thông thường AT89C51 12PC rất lý tưởng cho các dự án của học sinh, sinh viên. Mã linh kiện Tốc độ Số chân Đóng vỏ Mục đích AT89C51-12PC 42MHZ 40 DTP Thương mại Bảng 1.4: Các phiên bản 8051 với tốc độ khác nhau của Atmel 3.3. Bộ vi điều khiển DS5000 từ hãng Dallas Semiconductor. Một phiên bản phổ biến khác nữa của 8051 là DS5000 của hãng Dallas Semiconductor. Bộ nhớ ROM trên chíp của DS5000 ở dưới dạng NV-RAM. Khả năng đọc/ ghi của nó cho phép chương trình được nạp vào ROM trên chíp trong khi nó vẫn ở trong hệ thống (không cần phải lấy ra). Điều này còn có thể được thực hiện thông qua cổng nối tiếp của máy tính IBM PC. Việc nạp chương trình trong hệ thống (in-system) của DS5000 thông qua cổng nối tiếp của PC làm cho nó trở thành một hệ thống phát triển tại chỗ lý tưởng. Một ưu việt của NV-RAM là khả năng thay đổi nội dung của ROM theo từng byte tại một thời điểm. Điều này tương phản với Hoµng Quang Lý -7- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp bộ nhớ Flash và EPROM mà bộ nhớ của chúng phải được xoá sạch trước khi lập trình lại cho chúng. 405V623212 ROM RAM Chân I/O 8Mã linh kiện 40 40 40 5V 5V 5V 6 6 6 2 2 2 32 32 32 128 128 128 8K 32K 8K 32K DS5000-8 Hoµng Quang Lý -8- Timer Ngắt Vcc Đóng vỏ Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp DS5000-32 DS5000T-8 DS5000T-8 Bảng 1.5: Các phiên bản 8051 từ hãng Dallas Semiconductor. Chữ “T” đứng sau 5000 là có đồng hồ thời gian thực. Lưu ý rằng đồng hồ thời gian thực RTC là khác với bộ định thời Timer. RTC tạo và giữ thời gian l phút giờ, ngày, tháng - năm kể cả khi tắt nguồn. Còn có nhiều phiên bản DS5000 với những tốc độ và kiểu đóng gói khác nhau. Ví dụ DS5000-8-8 có 8K NV-RAM và tốc đọ 8MHZ. Thông thường DS5000-8-12 hoặc DS5000T-8-12 là lý tưởng đối với các dự án của sinh viên. Mã linh kiện NV- RAM Tốc độ DS5000-8-8 8K 8MHz DS5000-8-12 8K 12MHz DS5000-32-8 32K 8MHz DS5000T-32-12 32K 8MHz (with RTC) DS5000-32-12 32K 12MHz DS5000-8-12 8K 12MHz (with RTC) Bảng 1.6: Một số thành viên của họ 8051 3.4. Phiên bản OTP của 8051. Các phiên bản OTP của 8051 là các chíp 8051 có thể lập trình được một lần và được cung cấp từ nhiều hãng sản xuất khác nhau. Các phiên bản Flash và NV-RAM thường được dùng để phát triển sản phẩm mẫu. Khi một sản pohẩm được thiết kế và được hoàn thiện tuyệt đối thì phiên bản OTP Hoµng Quang Lý -9- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp của 8051 được dùng để sản hàng loạt vì nó sẽ hơn rất nhiều theo giá thành một đơn vị sản phẩm 3.5. Họ 8051 từ Hãng Philips Một nhà sản xuất chính của họ 8051 khác nữa là Philips Corporation. Thật vậy, hãng này có một dải lựa chọn rộng lớn cho các bộ vi điều khiển họ 8051. Nhiều sản phẩm của hãng đã có kèm theo các đặc tính như các bộ chuyển đổi ADC, DAC, cổng I/0 mở rộng và cả các phiên bản OTP và Flash. Hoµng Quang Lý -10- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp CHƯƠNG II GIỚI THIỆU VI ĐIỀU KHIỂN AT89C51 1. Sơ Đồ Khối Của Vi Điều Khiển AT89C51 P0.0 - P0.7 P2.0 - P2.7 PORT 0 DRIVE PORT 0 DRIVE Vcc GND RAM ADD REGISTER B REGISTER PORT 0 LATCH RAM PORT 2 LATCH FLASH STACK POINTER ACC BUFFER TMP1 TMP2 PROGRAM ADDRESS REGISTER PC INCREMENTER ALU INTERRUPT SERIAL PORT AND TIMER BLOCKS PROGRAM COUNTER PSW PSEN ALE/PROG EA/Vpp RST TIMING AND CONTROL OSC INTRUCTION REGISTER DPTR PORT 1 LATCH PORT 3 LATCH PORT 1 DRIVE PORT 3 DRIVE P1.0 - P1.7 P3.0 - P3.7 Hình 2.1: Sơ Đồ Khối Của Vi Điều Khiển AT89C51 Hoµng Quang Lý -11- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp 2. Đặc Tinh Của AT89C51 Chip AT89C51 chứa trên 60000 Transistor bao gồm 4Kbyte ROM, 128Byte RAM, 32 đường xuất nhập, 1 Port nối tiếp và 2 bộ định thời 16 Bit. Một số lượng mạch đáng chú ý trong IC đơn. Các thành viên mới được thêm vào cho họ MCS-51 và các biến thể này gần như có gấp đôi các đặc trưng này. Tập đoàn Seimens, nguồn sản xuất thứ hai các bộ vi điều khiển thuộc họ MCS-50 cung cấp Chip SAB80515, một cải tiến của 8051 chứa trong một vỏ 68 chân, có 6 Port xuất nhập 8-bit, 13 nguồn tạo ra ngắt và một bộ biến đổi A/D 8-bit với 8 kênh ngõ vào. Họ 8051 là một trong những bộ vi điều khiển 8-bit mạnh và linh hoạt nhất, đã trở thành bộ vi điều khiển hàng đầu trong những năm gần đây. - Cụ thể vi điều khiển 89C51 là 1 IC có tích hợp trên đó hệ vi xử lí. - IC AT98C51 có 40 chân. - 4KB ROM trong và có thể ghi xoá được 1000 lần. - Dải tần số hoạt động từ 0MHz  24MHz. - 128x8 bit RAM trong. - 4 Cổng vào ra 8 bit. - 2 Bộ định thời 16 bit. - Có 6 nguyên nhân ngắt. - Có thể lập trình được qua cổng nối tiếp. - 210 bit được địa chỉ hoá. - Giao tiếp nối tiếp. Hoµng Quang Lý -12- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp 3. Sơ đồ chân và chức năng các chân của Chíp AT89C51 1 P 1.0 Vcc 40 2 P 1.1 P 0.0 39 3 P 1.2 P 0.1 38 4 P 1.3 P 0.2 5 P 1.4 P 0.3 36 6 P 1.5 P 0.4 7 P 1.6 P 0.5 34 8 P 1.7 P 0.6 9 RST RXD 10 P 3.0 TXD 11 P 3.1 LNT 0 12 P 3.2 LNT 1 13 P 3.3 P 2.7 28 T0 14 P 3.4 P 2.6 T1 15 P 3.5 P 2.5 26 WR 16 P 3.6 P 2.4 RD 17 P 3.7 P 2.3 24 18 XTAL 2 P 2.2 19 XTAL 1 P 2.1 22 20 Vss P 2.0 Hoµng Quang Lý INTEL 89C51 -13- 37 35 33 P 0.7 32 EA 31 ALE 30 PSEN 29 27 25 23 21 Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp - PORT 0 : Nằm trên các chân từ 32 đến 39 có 2 công dụng. Trong các thiết kế có tối thiểu thành phần thì Port 0 được sử dụng làm nhiệm vụ xuất/nhập. Trong các thiết kế lớn hơn có bộ nhớ ngoài, Port 0 trở thành Bus địa chỉ và Bus dữ liệu đa hợp.. - PORT 1 : Nằm trên các chân 1 đến 8, chỉ có một cộng dụng là để gao tiếp với thiết bị ngoài khi có yêu cầu. - PORT 2 : Nằm trên các chân 21 đến 28 có 2 công dụng hoặc làm nhiệm vụ xuất/nhập hoặc là Byte địc chỉ cao của BUS địa chỉ 16 bit cho các thiết kế có nhiều hơn 256Byte bộ nhớ dữ liệu ngoài. - PORT 3 : Nằm trên các chân 10 đến 17 có 2 công dụng. một là chức năng xuất/nhập bình thường còn khi không hoạt động xuất nhập các chân của PORT 3 có nhiều chức năng riêng . Cụ thể các chức năng của các chân ở PORT 3 như sau : Bit Tên Địa chỉ Bit Chức năng P 3.0 RxD B0H Nhận dữ liệu của Port nối tiếp P 3.1 TxD B1H Phát dữ liệu của Port nối tiếp. P3.2 INT 0 B2H Ngõ vào ngắt ngoài 0 INT 1 B3H Ngõ vào ngắt ngoài 1 T1 B5H Ngõ vào của bộ định thời/đếm 1 P 3.6 WR B6H Điều khiển ghi bộ nhớ dữ liệu ngoài. P 3.7 RD B7H Điều khiển đọc bộ nhớ dữ liệu ngoài. B4HNg õ vào của bộ định thời/đếm 0.P 3.3 P 3.5T P 3.4 Bảng 2.1: Các chức năng của PORT 3 Hoµng Quang Lý -14- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp - Chân cho phép bộ nhớ chương trình PSEN 8051 Cung cấp cho ta 4 tín hiệu điều khiển BUS. Tín hiệu cho phép bộ nhớ chương trình PSEN (Program Store Enable) là tín hiệu xuất trên chân 29. Đây là tín hiệu điều khiển cho phép ta truy xuất bộ nhớ chương trình ngoài. Chân này thường được nối với chân cho phép xuất OE ( Output Enable) của EPROM hoặc ROM để cho phép đọc các Byte lệnh. Tín hiệu PSEN ở mức Logic 0 trong suất thời gian tìm nạp lệnh, các mã nhị phân của chương trình hay mã thao tác (Opcode) được đọc từ EPROM qua BUS dữ liệu và được chốt vào thanh ghi IR của 8051 để được giải mã. Khi thực thi một chương trình chứa ở ROM nội PSEN được duy trì ở mức Logic tích cực 1. - Chân cho phép chốt địa chỉ ALE. Chân này nằm trên chân 30 của 8051 là chân xuất tín hiệu cho phép chốt địa chỉ ALE (Address Latch Enable) để giải đa hợp. Bus dữ liệu và Bus địa chỉ. Khi Port 0 được sử dụng làm Bus địa chỉ/dữ liệu đa hợp chân ALE xuất tín hiệu để chôt địa chỉ ( Byte thấp của địa chỉ 16bit) vào một thanh ghi ngoài trong suốt 1/2 đầu chu kỳ bộ nhớ. Sau khi điều này đã được thực hiện các chân của Port 0 sẽ xuất nhập dữ liệu hợp lệ trong suốt 1/2 thứ 2 của chu kỳ bộ nhớ. Tín hiệu ALE có tần số bằng 1/6 tần số của mạch dao động bên trong vi điều khiển và có thể được dùng làm xung Clock cho phần còn lại của hệ thống. Nếu mạch dao động có tần số 12MHz, tín hiệu ALE có tần số 2MHz. Ngoại lệ duy nhất là trong thời gian thực thi lệnh MOVX, một xung ALE sẽ bị bỏ qua. Chân ALE còn được dùng để nhận xung ngõ vào lập trình cho EPROM trên CHIP đối với các phiên bản của 8051 có EPROM này. Hoµng Quang Lý -15- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp - Chân truy xuất ngoài EA. Ngõ vào này ở chân 31 có thể được nối với nguồn +5V (Logic 1) hoặc GND (Logic 0). Nếu chân này nối lên 5V , 8051/8052 thực thi chương trình trong ROM nội( chương trình nhỏ hơn 4K/8K). Nếu chân này nối với GND( và chân PSEN cũng ở mức Logic 0), chương trình cần thực thi chứa ở bộ nhớ ngoài. Đối với 8031/8032 chân EA phải ở mức Logic 0 vì chúng không có bộ nhớ chương trình trên CHIP. Nếu chân EA ở mức Logic 0 đối với 8051/8052, ROM nội bên trong CHIP được vô hiệu hoá và chương trình cần thực thi chứa ở EPROM bên ngoài. Các phiên bản EPROM của 8051 còn sử dụng chân EA làm chân nhận điện áp cấp nguồn 21VPP cho việc lập trình EPROM nội ( Nạp EPROM). - Chân RESET ( RST). Ngõ vào RST ở chân 9 là ngõ vào xoá chính (Master reset) của 8051 dùng để thiết lập lại trạng thái ban đầu cho hệ thống hay còn gọi tắt là Reset hệ thống. Khi ngõ vào này được treo ở mức Logic 1 tối thiểu hai chu kỳ máy , các thanh ghi bên trong của 8051 được nạp các giá trị thích hợp cho việc khở dộng lại hệ thống. - Các chân thạch anh XTAL 1 và XTAL 2. Nằm trên chân 18 và 19 của CHIP, 2 chân này được dùng để nối với thạch anh ngoài nhằm tái tạo dao động và xác định tần số làm việc cho mạch dao động ở bên trong CHIP. Kết hợp với thạch anh có thêm 2 tụ gốm để ổn định tần số dao động. Tần số danh định của thạch anh là 12MHz cho hầu hết các CHIP của họ MCS - 51. Hoµng Quang Lý -16- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp IC 1 8051 Oscillator 18 C1 30pF 19 X1 12MHz C2 30pF Hình 2.3: Mạch dao động Thạch Anh XTAL 1 và XTAL 2 Hoặc ta cũng có thể dùng một nguồn xung CLOCK TTL để tạo dao động cho 8051 như mạch sau : TTL Oscillator 18 IC 1 8051 Oscillator 19 74LS04 Hình 2.4: Mạch dao động 4. Cấu trúc của PORT In/Out. - Sơ đồ cấu trúc bên trong của chân PORT xuất/nhập như sau : Hoµng Quang Lý -17- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp 8051 Internal bus VDD Read latch Write to Latch Interrnal Pull-up Read pin Porrt pin Q D Port Latch Hình 2.5: Cấu trúc của PORT In/Out Việc ghi đến 1 chân của Port sẽ nạp dư liệu vào bộ chốt của Port, ngõ ra Q của bộ chốt điều khiển một Transistor trường và Transistor này nối với chân của Port. Khả năng phân chia đầu ra (Fan - out) của các Port 1, 2 và 3 là 4 tải vi mạch TTL loại Schottky công suất thấp (LS) còn của Port 0 là 8 tải loại LS. Lưu ý là điện trở kéo lên (Pull Up) không có ở Port 0 ( trừ khi port này làm nhiệm vụ của Port địa chỉ dữ liệu đa hợp) Do vậy phải nối thêm một điện trở kéo lên bên ngoài cho Port 0. Giá trị điện trở này phụ thuộc vào đặc tính ngõ vào của thành phần ghép nối với chân của Port. Ở đây ta thấy có 2 khả năng " Đọc bộ chốt" và "Đọc chân port". Các lệnh yêu cầu thao tác đọc - sửa - ghi, đọc bộ chốt để tránh nhầm mức điện áp do sự hiẻu nhầm điện áp do sự kiện dòng tải tăng. Các lệnh nhập một Bit của Port, đọc chân port. Trong trường hợp này bộ chốt của port phải chứa 1 nếu không FET sẽ được kích bão hoà và điều này kéo ngõ ra xuống mức thấp. Việc Reset hệ thống sẽ set tất cả các bộ chốt port. Do vậy các chân port có thể được dùng làm các ngõ nhập mà không cần phải SET các bộ chốt port một cách tường minh. Tuy nhiên nếu một bộ chốt port bị xoá (như CLR P1.5). Chân Port không thể làm nhiệm vụ tiếp theo là ngõ nhập trừ khi trước tiên ta phải SET bộ chốt ( như SETB P1.5). Hoµng Quang Lý -18- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp 5. Tổ chức bộ nhớ §Þa chØ Byte §Þa chØ Byte §Þa chØ Bit ( Bit Address ) 80 Byte 7F Vïng RAM ®a dông (General Purpose RAM) Bit addressable locations 30 2F 7F 7E 7D 7C 7B 7A 79 78 2E 77 76 75 74 73 72 71 70 2D 6F 6E 6D 6C 6B 6A 69 68 2C 67 66 65 64 63 62 61 60 2B 5F 5E 5D 5C 5B 5A 59 58 2A 56 56 55 54 53 52 51 50 29 4F 4E 4D 4C 4B 4A 49 48 28 47 46 45 44 43 42 41 40 27 3F 3E 3D 3C 3B 3A 39 38 26 37 36 35 34 33 32 31 30 25 2F 2E 2D 2C 2B 2A 29 28 24 27 26 25 24 23 22 21 20 23 1F 1E 1D 1C 1B 1A 19 18 22 17 16 15 14 13 12 11 10 21 0F 0E 0D 0C 0B 0A 09 08 20 07 06 05 04 03 02 01 00 1F BANK 3 8 BANK 2 8 BANK 1 8 Defauk register Bank for R0 - R7 8 32 Byte 18 17 10 0F 08 07 00 §Þa chØ Bit ( Bit Address ) FF F0 EF EE ED EC EB EA E9 E8 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW B8 BF BE BD BC BB BA B9 B8 IP B0 B7 B6 B5 B4 B3 B2 B1 B0 P3 A8 AF AE AD AC AB AA A9 A8 IE A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 99 98 Not bit addressable 9F 9E 9D 9C 9B 9A 99 98 SBUF SCON 90 97 96 95 94 83 92 91 90 P1 8D 8C 8B 8A 89 88 87 Not bit addressable Not bit addressable Not bit addressable Not bit addressable Not bit addressable 8F 8E 8D 8C 8B 8A 89 88 Not bit addressable TH1 TH0 TL1 TL0 TMOD TCON PCON 83 82 81 80 Not bit addressable Not bit addressable Not bit addressable 87 86 85 84 83 82 81 80 DPH DPL SP P0 RAM Thanh ghi chøc n¨ng ®Æc biÖ t (CÊu tróc RAM néi) Hình 2.6: Tổ chức bộ nhớ RAM Bộ nhớ bên trong 89C51 bao gồm ROM và RAM. Hoµng Quang Lý -19- Tæng quan Vi ®iÒu khiÓn hä 8051 §å ¸n tèt nghiÖp RAM bao gồm nhiều thành phần : Phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các thanh ghi (BANK) và các thanh ghi chức năng đặc biệt ( Special Funtion Registers). 89C50 có bộ nhớ theo cấu trúc : Có những vùng nhớ riêng biệt cho chương trình và dữ liệu. Chương trình và dữ liệu có thể chứa bên trong 89C51 nhưng 89C51 vẫn có thể kết nối với 64K Byte bộ nhớ chương trình và 64KByte bộ nhớ dữ liệu mở rộng. RAM bên trong 89C51 được phân chia như sau : - Các thanh ghi có địa chỉ từ 00H đến 1FH - RAM địa chỉ hóa từng bit có địa chỉ từ 20H đến 2FH. - RAM đa dụng từ 30H đến 7FH. - Các thanh ghi chức năng đặc biệt từ 80H đến FFH. - RAM đa dụng Mọi địa chỉ trong vùng RAM đa dụng đều có thể được truy xuất tự do dùng kiểu địa chỉ trực tiếp hay gián tiếp. Hoặc truy xuất dùng cách địa chỉ gián tiếp qua R0 hay R1. - RAM có thể truy xuất từng bit. 89C51 chứa 210 bit được địa chỉ hoá từng bit, trong đó 128 bit chứa ở các địa chỉ từ 20H đến 2FH, các bit còn lại chứa trong nhóm thanh ghi chức năng đặc biệt. Ý tưởng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của vi điều khiển nói chung. Các bit có thể được đặt, xoá, nhân, cộng... với 1 lệnh đơn. Ngoài ra các Port cũng có thể truy xuất được từng bit làm đơn giản phần mềm xuất nhập từng bit. - Các thanh ghi (BANK). Hoµng Quang Lý -20- Tải về bản full

Từ khóa » đồ án Vi điều Khiển 8051