Thứ Sáu, 24 tháng 9, 2010

VI ĐIỀU KHIỂN ĐÔC LẬP

139. Stand-alone Microcontroller


VI ĐIỀU KHIỂN ĐÔC LẬP

Chip 8051 là chip máy tính đầu tiên trên thị trường và tất cả các phiên bản sau nay với việc được tích hợp trên chip (ROM, EPROM hay EEPROM) có chức năng như một chip độc lập. Nó thường là bộ máy tính bao gồm các chip và một thạch anh, như với các 87C751.


khi bạn biết rằng thời gian để lập trình (OTP) cho các phiên bản của dòng 87C750 có chi phí khoảng 4$ với dung lượng nhỏ, bạn bắt đầu xem làm thế nào để có thể tạo ra một dòng chip được tích hợp nhiều ứng dụng mới. Nó có thể thay thế một vài chip logic, nhiều PLDs và thường là một số các thiết bị tương đương. Thay vì strug-Gling với một hằng số tích hợp lớn, bạn có thể thay thế một tín hiệu điện để chuyển đổi tần số cho các truy cập trên một chip đơn. Tuy nhiên một loạt các tính năng bổ sung có sẵn sẽ tương đối vô hiệu với các cổng được sử dụng. Nó có thể được tự điều chỉnh, nó có thể được tích hợp bất kỳ một số các khả năng khác để làm cho hệ thống hiệu quả hơn, dễ dàng hơn để điều chỉnh và dễ dàng hơn để sử dụng76.

Hầu hết chip 8051 được ứng dụng ngày nay sử dụng chip bổ sung để giải mã và truyền tải, cập nhật các dữ liệu tốt hơn. Mở rộng là sự lưa chọn đơn giãn nhất nếu bạn muốn kết quả hoạt động tốt nhất. Các sơ đồ trên trang kế tiếp cho thấy một chip đơn được mở rộng thêm phần giải mã đó là điều cần thiết cho bất kỳ ứng dụng bằng cách sử dụng 8031, mà không có trên chip ROM hoặc EPROM.77 Hạn chế lớn nhất của bộ nhớ mở rộng là việc mất ít nhất hai cổng 8-bit đến chức năng bus ra chip.78
Off chip code
Mở rộng thì chip bị hạn chế bởi địa chỉ ghép / dữ liệu thông tin về thấp hơn 8-bit (P0). Xem lạ icác biểu đồ thời gian. Để giữ byte địa chỉ thấp hơn cho đến khi CPU đã chuyển dữ liệu, bạn phải đưa nó vào phần cuối của địa chỉ này vẫn không thay đổi về P2 cho toàn bộ chu kỳ và bạn có thể sử dụng nó trực tiếp để giải mã địa chỉ. Các PSEN / tín hiệu cung cấp cho việc đọc hay cho phép (OE) tín hiệu vào CPU EPROM khi các ổ đĩa dữ liệu trên bus. Trong ví dụ đầu tiên, địa chỉ giải mã là không cần thiết. Vi chỉ có một EPROM CPU nên việc PSEN / tín hiệu truy cập vào mã trên chip đó.79 Việc sử dụng chân đệm A13 để CS / là một loại cho giải mã từ các dải địa chỉ ở chân đệm A13 ở mức cao sẽ không giải quyết các EPROM (hoặc bất cứ điều gì khác). Vì thế, các dải địa chỉ giải mã từ 0.000 qua 1FFF.80


Sơ đồ mạch thứ hai hiển thị trên trang kế tiếp là giống như sơ đồ mạch đầu tiên nhưng các sơ đồ mạch sau này chỉ chú trọng đến các bus của thông tin được truyền tải ở mỗi đường truyền.

Off mã chip, dữ liệu, và các cổng.
Khi bạn kết nối cổng hai, đó là một bước nhỏ để kết nối RAM bên ngoài, tăng thêm 2 bit cho RD và WR.81 Các sơ đồ kế tiếp cho thấy đó là một cựu hệ thống được mở rộng với việc thêm Ram và một cổng của chip 8255.82 Để lưu một bộ giải mã địa chỉ, bộ nhớ RAM là cơ sở lưu trữ trước tiên (0000) và 8255 địa chỉ đó được lưu ở hàng đầu. Nhìn vào 6.164, CSI / là kho dữ liệu, do đó, nó được ra khỏi hình ảnh (luôn cho phép). CS2 được kết nối với A13. Vì đầu vào ở mức cao đang hoạt động, A13 phải được tích hợp ở mức cao để thích hợp với chip 8255. Trong hệ nhị phân, để hệ thống có RAM từ 00100000 000000002 00111111 111111112 đến (200016 - 3FFF16). của 8255 chọn (CS) là hoạt động ở mức thấp, do đó, A13 phải được tích hợp ở mức thấp để lựa chọn chip.83 Đối với bất kỳ địa chỉ bit khi không kết nối các bit khác thường được nhận tín hiệu ở mức thấp, do đó chip 8255 chỉ sử dụng các bit bên trong A0 và A1, sẽ có địa chỉ từ 00000000 - 000000 002 (200016 - 3FF16).84



Việc phát triển RAM chiếm 2 bit của P3 cho RD / WR tín hiệu /. Cách viết chương trình cho RAM (RD / và WR /) thì khác với viết cho EPROM (PSEN) để giãi mã và chip dữ liệu có thể quay lại tại địa chỉ số tương tự.85


Off dữ liệu mã chip, bến cảng, và A-D
Cuối cùng, trên trang trước đó, là một ví dụ về cách thêm một thiết bị đặc biệt tương tự để chuyển đổi kỹ thuật số (AD, một thiết bị cung cấp cho một mã nhị phân liên quan đến việc cấp điện áp tại đầu vào) đó là một thiết bị 10-bit thể hiện trực tiếp qua giao diện. Việc đọc RDY/86 ở trong những địa chỉ có chứa các dữ liệu (các tín hiệu điện áp dưới dạng kỹ thuật số ở đầu vào analog) tai nhiều thời điểm khác nhau.
Dữ liệu được truyền tải liên tục qua các địa chỉ giải mã. Với một chip 8 K-byte RAM (cần 13bits cho một địa chỉ), chip chỉ nhận có 3 bit của địa chỉ , do đó chỉ có 3 đường dẫn dữ liệu trong số 138 đường dẫn. Chip 8255 được kích hoạt (một từ thấp đến dòng / CS) khi 74LS138 làm cho Y 3 thấp --- 0112 on CBA (chỉ khi có 0.112 trên A15-A13). Điều đó mang lại cho địa chỉ của 01100000 00000XX2 cho 825587. RAM ở đây được đặt ở địa chỉ dưới, 00000000 000000002 - 00011111 111111112 (000016 đến 1FFF16).
Giao diện D-A có một số hữu ích. Nó là một công cụ chuyển đổi 10-bit , để dữ liệu có thể đọc tất cả 8-bit trong một lần . Để có được CNV / xung thấp đòi hỏi WR / thấp trong khi A15-A13 là 0012, do đó để bắt đầu một chuyển đổi bất cứ dữ liệu gì thì địa chỉ là 400016. Khi việc chuyển đổi được thưc hiện RDY / sẽ ở mức thấp, do đó bạn có thể nhận thấy việc lưa chọn bit của INTO pin như P3.2-- bit tại địa chỉ B216, 88. Một khi dữ liệu được đọc dưới 8 bit địa chỉ 400016 và hai bit cao như 2 bit tại địa chỉ dưới 200016, 89.
Sau đó, bạn có thể viết mở rộng thêm nhưng có nhiều phức tạp. Một vài ví dụ sau cho thấy thêm nhiều hơn về các kho dữ liệu của bộ nhớ bị gián đoạn. mạch trở nên phức tạp hơn, nhưng các nguyên tắc hoạt động vẫn như cũ.
Port-Driven Peripherrals (LCD)



Thông thường bạn sẽ kết nối thiết bị với cổng chứ không phải là bỏ 16 hoặc 18 pins cần sử dụng cho các bus off-chip. Trên trang tiếp theo là một chữ số module LCD gắn với cổng của một 87C751 (một bus off-chip là không thể) .90

Các kết nối trực tiếp của LCD để bus mở rộng trong sơ đồ mạch sau. Để bắt đầu, thời hạn của tín hiệu kỹ thuật(ENA) là quá ngắn khi được tạo thành từ các tín hiệu RD hoặc WR của 8.051. Thật ra các chip điều khiển LCD nhanh hơn nhiều so với đặc điểm kỹ thuật của nó hoặc một loại nào khác có một giới hạn worts-cases đó không đạt được ở điều kiện thường trong mọi trường hợp, kết nối trực tiếp đã được hiển thị để làm việc.91 Thứ hai giới hạn trường hợp mà ENA hoạt động đồng thời với sự hoạt động của WR / tín hiệu. Các trick tìm một nguồn cho một thời gian trễ, có lẽ là một chuỗi các biến tần hoặc một chip khác kích hoạt đầu ra của tín hiệu OSC để có được một thời gian trễ trong chu kỳ hoạt động. Bạn nên kiểm tra các chi tiết kỹ thuật cho bất kỳ yêu cầu về thời gian . Một lần nữa, chip thực sự hoạt động, nhưng bạn có thể muốn có một thời gian trễ.92

Ghi chú

76Những vấn đề này Aer thảo luận chi tiết hơn nhiều trong cuốn sách, C và 8.051: xây dựng các ứng dụng hiệu quả.

77Mục đích ban đầu cho trên các phiên bản chip EPROM như 87C51 được cho mẫu thử nghiệm trước khi cam kết một nhà máy masked (mã cụ thể của bạn thường được xây dựng vào cụ thể của bạn, chạy custum sản xuất của chip 80C51).

78Nhiều thiết kế sử dụng các phiên bản EPROM với không có ý nghĩa của nhà máy sẽ đeo mặt nạ. Nhưng giá của 87C51 như không bao giờ bỏ EPROMs thường xuyên, do đó, trừ khi bạn cần tính năng chip duy nhất, sử dụng chip EPROM off.

79Đối với các ứng dụng duy nhất chip hiện nay có một ít chi phí một thời gian lập trình (OTP) phiên bản mà không có rõ ràng xóa sổ và do đó sử dụng ít tốn kém bao bì nhựa. Atmel đã có một dòng chip với EEPROM (bộ nhớ flash) mà tai chi phí hợp lý, nhưng bạn vẫn cần phải lưu trữ mã off-chip nếu không có đủ không gian mã chip.


80Bạn mất P2 và P0 (cộng với hai bit P3 cho RD / và WR / nếu bạn truy cập tắt RAM chip). Có một tùy chọn mở rộng bộ nhớ RAM chỉ sử dụng chỉ cần P0 anh hai bit của P3. Trong lắp ráp, RAM này được truy cập với MOVX bằng cách sử dụng @ R0 hoặc @ RI như con trỏ. Trong Keil / Franklin C bộ nhớ không gian này được gọi là pdata.

81Đó không phải là để nói rằng không có giải mã địa chỉ, nhưng tất cả phần còn lại của giải mã được các mạch trong EPROM cho rằng đường truyền đọc cho byte cụ thể trong chip để nhận tín hiệu 1 và 0 trên các chân địa chỉ của chip.
82Về mặt kỹ thuật phạm vi địa chỉ sẽ hồi đáp khi A15 và A14 được bỏ qua dải địa chỉ mà mã là 0000-1FFF, 4000-5FFF, 8.000-9FFF và C000-DFFF.
83Chân RAM sẽ được gắn vào trực tiếp với các cổng logic để sử dụng RAM chung loại với một địa chỉ riêng biệt chốt mặc dù có chip intel 8.155 cung cấp các chốt và các cổng cùng với RAM. Đối với ba cổng, nó là vô cùng phổ biến để sử dụng chip 8.255 cổng 40pin. 8 bit đơn giản cho một cổng đầu ra và bit 8 tristate bộ đệm cho một trong các cảng đặt là một tùy chọn là tốt.
84Một chip 8.255 cung cấp ba cổng 8 bit bên ngoài không có các chi tiết bên trong. Thuật ngữ này được ghi chú và được hiển thị bằng một thanh công cụ hoặc trên đầu trang của các biểu tượng hoặc sau khi các biểu tượng. Các thanh công thì dễ sử dụng hơn nếu bạn tìm hiểu những chi tiết của 8255, 4 địa chỉ cho các I / O chip là: Porta = 0x0000, PortB = 0x0001, PortC = 0x0002 và CMD = 0x0003.

85Nhìn vào các mạch mở rộng được mô tả trong phụ lục A4, để thấy rằng nó có logic OR, các PSEN và RD để một chương trình có thể tải về mã dữ liệu. Bộ xử lý sau đó có thể hoạt động trên đó và tải về mã dữ liệu. Việc tải về mã dữ liệu sẽ giúp ích cho việc mở rông và sữa lỗi, nhưng nó là "gian lận" từ dữ liệu và không gian mã có nghĩa vụ phải được tách biệt và có thể nếu không chồng chéo lên nhau ở địa chỉ số.

86RDY / có thể là một tín hiệu vào vi điều khiển cho biết khi chuyển đổi, một quá trình có thể mất hàng chục hàng trăm micro giây, được thực hiện. Bằng văn bản cho pin / các CNV kể AD để bắt đầu quá trình chuyển đổi.
87the số 0 nghiêng là dành cho tôi không quan tâm, mà không được giải mã và chỉ cũng có thể là số 1. trong 8.255 địa chỉ ưa thích là: Porta = 0x6000, PortB = 0x6001, PortC = 0x6002, và CMD = 0x6003.
88you cũng có thể sử dụng, làm gián đoạn thảo luận sau này. Với 8.051 gia đình, làm gián đoạn có thể được thực hiện cạnh tiêu cực gây ra, do đó, đây là phân cực phải.
89This có thể không có giao diện thân thiện cho chương trình nhưng, một khi bạn đã figured nó ra, bạn có thể chôn vùi các chi tiết trong một hàm và có được dữ liệu mà không có một ý nghĩ thứ hai.
90The phần mềm để sử dụng màn hình LCD như thể hiện được trên trang 177

91Trong một ứng dụng thương mại, tôi sẽ không muốn dựa vào tình hình như vậy mà không cần biết thêm thông tin từ các nhà sản xuất.

92Phần mềm để sử dụng màn hình LCD được hiển thị trên trang 177.



Đọc và tiềm hiểu thêm:

1. Cho ví dụ về một chỉ dẫn C, hướng dẫn một hội đồng, và hướng dẫn một máy.
2. phác thảo một sơ đồ chung của kiến trúc của máy tính hiển thị bộ nhớ, I / O, CPU, và busses.
3. Điều gì làm cho một 8.051 một "8-bit micro"?
4. sử dụng các kỹ thuật của chương này, bạn có thể tìm ra địa chỉ của các PU552 và Ban MCB520 tại Phụ lục A5? Vì bạn không thể anter các PLD vào thứ hai, bạn có thể tìm thấy manh mối gì cho các địa chỉ?
5. trong bộ giải mã địa chỉ khác nhau bằng cách sử dụng 74.138, những gì sẽ là địa chỉ bốn nếu bạn đảo ngược các connectons đến chân 1 và 2? Nó sẽ được xấu để không đặt tại địa chỉ 0.000 EPROM?
6. tại sao là năng động RAM ít khi được sử dụng với vi điều khiển?
7. Là một đăng ký khác nhau từ một vị trí nhớ? Giải thích.
8. quy tắc hồng y khi sử dụng một cổng 8.051 iternal cho đầu vào là những gì?
9. Làm thế nào để bạn chuyển đổi một số bổ sung của 1 đến 2 của bổ sung?
10. tối thiểu tuyệt đối bạn cần để thêm vào một vi điều khiển "" single-chip để có nó làm việc là gì?
11. Miêu tả hai sử dụng cho các tín hiệu ALE.
12. Với một tinh thể 12 MHz, làm thế nào lâu để thực hiện nhanh nhất 8.051 hướng dẫn?
13. các "chi phí lớn" mở rộng bộ nhớ RAM của 8.051 là gì?
14. Có bất kỳ hướng dẫn bạn phải ra trước khi sử dụng hai chân của P3 là RD / và WR /?
15. Với off chip RAM thuộc, những gì sẽ xảy ra nếu bạn viết một byte toàn bộ ra cổng P3?
16. Căn cứ theo biểu đồ thời gian trên trang 29, khi là P0 đưa ra địa chỉ và khi nào là nó hendling dữ liệu hoặc mã?
17. tại sao bạn có thể sử dụng các thành viên khác của gia đình 8.051? Những tính năng nổi bật trong tâm trí của bạn?
18. tại sao bạn sẽ sử dụng một ban thương mại với hơn 8.051 dây lên của riêng bạn? Khi có bạn không làm như vậy? Tại sao?

http://soundandlightvn.blogspot.com
sưu tầm và biên tập từ nhiều nguồn, mọi ý kiến về kỹ thuật xin vui long liên hệ
soundandlightvn@gmail.com – 0906 715 077 rất mong được đóng góp của các độc giả.

Không có nhận xét nào:

Đăng nhận xét

Lưu trữ Blog