CHƯƠNG 2: TÓM TẮT PHẦN CỨNG (PHẦN 1)

0
796

2.1     TỔNG QUÁT

MCS-51 là họ vi điều khiển của Intel. Các nhà sản xuất IC khác như Siemens, Advanced Micro Devices, Fujitsu và Philips được cấp phép làm các nhà cung cấp thứ hai cho các chip của họ MCS-51.

Chương này giới thiệu về cấu trúc phần cứng của họ MCS-51. Tham khảo kỹ thuật của Intel cho các chíp của họ MCS-51 được tìm thấy ở phụ lục E. Ta cần biết thêm nhiều chi tiết trong phụ lục này, thí dụ như các đặc tính điện chẳng hạn.

Nhiều đặc trưng phần cứng được minh họa bằng các chuỗi lệnh ngắn, các mô tả vắn tắt cũng được cung cấp cho từng thí dụ còn các chi tiết đầy đủ của tập lệnh được dành lại cho chương 3. Ta có thể tham khảo phụ lục A ( tóm tắt tập lệnh của 8051 ) và phụ lục c ( các định nghĩa cho từng lệnh của 8051 ).

Vi mạch tổng quát của họ MCS-51 là chip 8051, linh kiện đầu tiên của họ này được đưa ra thị trường. Chíp 8051 có các đặc trưng được tóm tắt như sau :

– 4KB ROM

– 128 byte RAM

– 4 port xuất nhập (I/O port) 8 bit

– 1 bộ định thời 16 bit.

– Mạch giao tiếp nối tiếp.

– Không gian nhớ chương trình (mã) ngoài 64 K.

– Không gian nhớ dữ liệu ngoài 64K.

– Bộ xữ lý bit (Thao tác trên các bit riêng rẽ).

– 210 vị trí nhớ được đánh địa chỉ, mỗi vị trí 1 bit.

– Nhân/chia trong khoảng 4 micro giây.

Các thành viên khác của họ MCS-51 có các tổ hợp ROM ( EPROM ), RAM trên chip khác nhau hoặc có thêm bộ định thời thứ ba ( xem bảng 2.1). Mỗi một họ MCS-51 cũng có phiên bảng CMOS công suất thấp.

Chip Bộ nhớ chương trình trên chíp Bộ nhớ dữ liệu trên chip Các bộ định thời
8051 4 K ROM 128 byte 2
8031 0 K 128 byte 2
8751 4 K EPROM 128 byte 2
8052 8 K ROM 256 byte 3
8032 0 K 256 byte 3
8752 8 K EPROM 256 byte 3

Bảng 2.1 : So sánh các chip của họ MCS-51

 

 

Hình 2.1: Sơ đồ khối của chip 8051

 

Interrupt control : điều khiển ngắt

Other registers : các thanh ghi khác

128 bytes RAM : RAM 128 byte

Timer 2, 1, 0 : bộ định thời 2, 1, 0

CPU : dơn vị diều khiển trung tâm

Oscillator : mạch dao động

Bus control : điều khiển bus

I/O ports : các port xuất/nhập

Serial port : port nối tiếp

Address/data : địa chỉ/dữ liệu

 

Thuật ngữ  ” 8051 ” được dùng để chỉ rộng rãi các chip của họ MCS- 51. Khi việc thảo luận tập trung vào một cải tiến từ chip 8051 cơ bản, chip cải tiến được chỉ ra rõ ràng. Các đặc trưng vừa nêu trên được trình bày trong sơ đồ khối ở hình 2.1.

 

Hình 2.2 : Sơ đồ chân của 80c51

2.2     CÁC CHÂN ( PINOUT )

Hình 2.2 cho ta sơ đồ chân của chip 8051. Mô tả tóm tắt chức năng của từng chân như sau.

Như ta thấy trong hình 2.2, 32 trong số 40 chân của 8051 có công dụng xuất/nhập, tuy nhiên 24 trong 32 đường này có 2 mục đích ( công dụng ) [ 26/32 đối với 8032/8052 ]. Mỗi một đường có thể hoạt động xuất/nhập hoặc hoạt động như một đường điều khiển hoặc hoạt động như một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp.

Các đặc trưng đã đề cập ở trên được trình bày trong sơ đồ khối ở hình 2.1.

32 chân nêu trên hình thành 4 port 8-bit. Với các thiết kế yêu cầu một mức tối thiểu bộ nhớ ngoài hoặc các thành phần bên ngoài khác, ta có thể sử dụng các port này làm nhiệm vụ xuất/nhập. 8 đường cho mỗi port có thế được xử lý như một đơn vị giao tiếp với các thiết bị song song như máy in, bộ biên đổi D-A, v.v… hoặc mỗi đường có thể hoạt động độc lập giao tiếp với một thiết bị đơn bit như chuyển mạch, LED, BJT, FET cuộn dây, động cơ, loa, v.v…

2.2.1     Port 0

Port 0 ( các chân từ 32 đến 39 trên 8051 ) có 2 công dụng. Trong các thiết kế có tối thiểu thành phần, 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 [ byte thấp của bus địa chỉ nếu là địa chỉ ] ( xem 2.6 : Bộ nhớ ngoài ).

1.1.2      Port 1

Port 1 chỉ có một công dụng là xuất/nhập ( các chân từ 1 đến 8 trên 8051 ). Các chân của port 1 được ký hiệu là P1.0, P1.1, … , P1.7 và được dùng để giao tiếp với thiết bị bên ngoài khi có yêu cầu. Không có chức năng nào khác nữa gán cho các chân của port 1, nghĩa là chúng chỉ được sử dụng để giao tiếp với các thiết bị ngoại vi. [ Ngoại lệ : với 8032/8052, ta có thể sử dụng P1.0 và P1.1 hoặc làm các đường xuất/nhập hoặc làm các ngõ vào cho mạch định thời thứ ba ].

2.2.3 Port 2

Port 2 ( các chân từ 21 đến 28 trên 8051 ) có 2 công dụng, hoặc làm nhiệm vụ xuất/nhập hoặc là byte địa chỉ cao của bus địa chỉ 16-bit cho các thiết kế có bộ nhớ chương trình ngoài hoặc các thiết kế có nhiều hơn 256 byte bộ nhớ dữ liệu ngoài.

2.2.4 Port 3

Port 3 (các chân từ 10 đến 17 trên 8051) có 2 công dụng. 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 ( mỗi chân có chức năng riêng liên quan đến các đặt trưng cụ thể của 8051)

Bảng 2.2 dưới đây cho ta chức năng của các chân của port 3 và 2 chân P1.0, P1.1 của port 1.

Bit Tên Địa chỉ bit Chức năng
P3.0 RxD BOH 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.j? INT1 B3H Ngõ vào ngắt ngoài 1
P3.4 TO B4H Ngõ vào của bộ định thời/đếm 0
P3.5 TI B5H Ngõ vào của bộ định thời/đếm 1
P3.6 WR B6H Điều khiển ghi bộ nhớ dữ liệu ngoài
P3.7 RD B7H Điều khiển đọc bộ nhớ dữ liệu ngoài
Pl.o T2 90H Ngõ vào của bộ định thời / đếm 2
Pl.l T2EX 91H Nạp lại/thu nhận của bộ đinh thời 2

 

Bảng 2.2 : Chức năng của các chân của port 3 và port 1

 

2.2.5  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 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 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/ ở 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 opcode ( mã thao tác ) được đọc từ EP- ROM, qua bus dữ liệu và được chốt vào thanh ghi lệnh 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ì ở logic không tích cực ( logic 1 ).

 

2.2.6  Chân cho phép chốt địa chỉ ALE

8051 sử dụng chân 30, chân xuất. tín hiệu cho phép chốt địa chỉ ALE ( address latch enable ) để giải đa hợp ( demultiplexing ) 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ỉ 16-bit ) vào một thanh ghi ngoài trong suôt 1/2 đầu của chu kỳ bộ nhớ ( memory cycle ). 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 hệ trong suốt 1/2 thứ hai 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 chip 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ố 12 MHz, tín hiệu ALE có tần số 2 MHz. Ngoại hệ duy nhất, là trong thời gian thực thi lệnh MOVX, một xung ALE sẽ bị bỏ qua ( xem hình 2.10 ). 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.

2.2.7  Chân truy xuất ngoài EA/

Ngõ vào này ( chân 31 ) có thể được nối với 5 V ( logic 1 ) hoặc với GND ( logic 0 ). Nếu chân này nối lên 5 V, 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 ớ 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 ở logic 0 vì chúng không có bộnhwos chương trình trên chíp. Nếu chân EA/ ở logic 0 đối với 8051/8052.Rom nội bên trong chip được vô hiệu hóa 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 điện 21V (Vpp ) cho việc lập trình EPROM nội ( nạp EPROM ).

2.2.8      Chân RESET ( RST )

Ngõ vào RST ( chân 9 ) là ngõ vào xóa 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 gọi tắt. là reset hệ thống. Khi ngõ vào này được treo ở 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ới động lại hệ thống ( xem mục 2.8 ).

2.2.9     Các chân XTAL1 và XTAL2

Như được vẽ trên hình 2.2. mạch dao động bên trong chip 8051 được ghép với thạch anh bên ngoài ở hai chân XTAL1 và XTAL2 ( chân 18 và 19 ). Các tụ ổn định cũng được yêu cầu như trên hình này. Tần số danh định của thạch anh là 12 MHz cho hầu hết các chíp của họ MCS-51 ( 80C31BH-1 sử dụng thạch anh 16 MHz bên trong, mạch dao động trong chip không cần thạch anh bên ngoài ). Ở hình 2.3, 1 nguồn xung clock TTL có thế được nối với các chân XTAL1 và XTAL2.


TTL oscillator: mạch dao động ở TTL

2.3 CẤU TRÚC CỦA PORT XUẤT/NHẬP:

 

Sơ đồ mạch bên trong cho các chân của port xuât/nhập được vẽ đơn giản như ở hình 2.4. 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 fanout, 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 ( xem thêm chi tiết ở phụ lục E ).

Lưu ý là điện trở kéo lên ( pull up ) sẽ không có ở port0  (trừ khi port này làm nhiệm vụ của bus địa chỉ/dữ liệu đa hợp ), do vậy một điện trở kéo lên bên ngoài phải được cần đến.

Giá trị của đ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,.

8051 internal bus : bus nội của 8051

Read latch : đọc bộ chốt

Intemal pull up : kéo lên bên trong

Read pin : đọc chân port

Port pin : chân port

Port latch : bộ chốt của port

Write to latch : ghi vào bộ chốt

 

Ớ đây ta thấy có 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 ( như lệnh CPL P1.5 ) đọc bộ chốt đế tránh sự hiểu nhầm mức điện áp do sự kiện dòng tải tăng. Các lệnh nhập 1 bit của port ( như MOV C, P1.5 ) đọ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 hòa 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ị xóa ( 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 ).

Hình 2.4 không trình bày mạch cho các chức năng khác của các port 0, 2 và 3. Khi các chức năng khác được sử dụng, các mạch kích ngõ ra được chuyển đến một địa chỉ nội (port 2 ), địa chỉ/dữ liệu (port 0 ) hoặc tín hiệu điều khiển (port 3 ) tương ứng.

Leave a Reply