Vi điều khiển 8051 có bao nhiêu cổng vào ra song song

Tìm hiểu về vi điều khiển và tinh chỉnh 8051, Vi tinh chỉnh và điều khiển 8051 là gì, cấu trúc, tổng quan, ưu điểm, ứng dụng, đồ án và nhiều thông tin hữu dụng khácVi tinh chỉnh và điều khiển có tổng thể những thành phần thiết yếu mà một bộ vi giải quyết và xử lý chiếm hữu và nó sở hữu ROM, RAM, cổng tiếp nối đuôi nhau, bộ định thời, ngắt, những cổng đầu ra nguồn vào và mạch clock. Bộ vi điều khiển và tinh chỉnh tập trung chuyên sâu vào chip và điển hình nổi bật với cổng tiếp nối đuôi nhau, bộ chuyển đổi analog – kỹ thuật số, bộ định thời, bộ đếm, bộ nhớ chỉ đọc, nguồn vào song song, điều khiển và tinh chỉnh ngắt, bộ nhớ truy vấn ngẫu nhiên và cổng đầu ra. Khái niệm về vi tinh chỉnh và điều khiển 8051 phát sinh từ đây và trong bài viết này tất cả chúng ta sẽ khám phá sâu hơn về những những góc nhìn, cách sử dụng, lập trình và những tính năng khác của vi điều khiển và tinh chỉnh 8051 .

Vi điều khiển 8051 là gì

Bạn đang đọc: Tìm hiểu vi điều khiển 8051

Vi tinh chỉnh và điều khiển 8051 được Intel phong cách thiết kế vào năm 1981. Đây là bộ vi điều khiển và tinh chỉnh 8 bit, được kiến thiết xây dựng với 40 chân DIP [ gói nội tuyến kép ], 4 kb bộ nhớ ROM và 128 byte bộ nhớ RAM, 2 bộ định thời 16 bit. Nó gồm có bốn cổng 8 bit song song, hoàn toàn có thể lập trình cũng như định địa chỉ theo nhu yếu. Một bộ xê dịch tinh thể trên chip được tích hợp trong bộ vi tinh chỉnh và điều khiển có tần số tinh thể là 12 MHz .

Lịch sử của vi điều khiển 8051

Nếu tất cả chúng ta quay ngược lại lịch sử dân tộc, bộ vi tinh chỉnh và điều khiển 8051 được ý tưởng lần tiên phong vào năm 1980 bởi gã khổng lồ vi giải quyết và xử lý Intel và từ từ nó đã được đồng ý trên toàn quốc tế và càng ngày tầm quan trọng của bộ vi tinh chỉnh và điều khiển 8051 càng tăng lên. Khi được ý tưởng bởi Intel, nó được tăng trưởng bằng công nghệ tiên tiến NMOS, nhưng không hiệu suất cao lắm .

Để tăng hiệu suất cao và hiệu suất, Intel đã sửa lại nó bằng cách vận dụng công nghệ CMOS và một phiên bản mới đã sinh ra với vần âm C trong tên để nó hoàn toàn có thể phân phối nhu yếu và hoàn toàn có thể hoạt động giải trí tối đa. Phiên bản mới của vi điều khiển và tinh chỉnh 8051 có hai bus và trong đó một bus dành cho chương trình và bus khác dành cho tài liệu để nó hoàn toàn có thể hoạt động giải trí tốt .

Vi điều khiển và tinh chỉnh 8051 là dòng vi điều khiển và tinh chỉnh 8 bit và được sử dụng trên toàn quốc tế. Hệ thống trên chip là từ đồng nghĩa tương quan của vi điều khiển và tinh chỉnh 8051 và những thành phần mà nó có gồm có 128 byte RAM, bốn cổng trên một chip, 2 bộ định thời, 1 cổng tiếp nối đuôi nhau và 4K byte ROM .

Vì nó là bộ giải quyết và xử lý 8 bit nên CPU hoàn toàn có thể hoạt động giải trí rất hiệu suất cao và nhanh gọn nếu tài liệu khoảng chừng 8 bit tại một thời gian, nếu tài liệu nhiều hơn nó phải được phân mảnh thành nhiều CPU khác nhau. Thực tế, trong thời đại ngày này, hầu hết của những nhà phân phối thích đi kèm với 4K byte ROM .

Ứng dụng của vi điều khiển 8051

Ở đây tất cả chúng ta sẽ bàn luận về những ứng dụng quan trọng khác nhau của vi tinh chỉnh và điều khiển 8051 .

Quản lý nguồn năng lượng : Vi tinh chỉnh và điều khiển 8051 được trang bị mạng lưới hệ thống đo lường và thống kê hiệu suất cao và nó giúp vi tinh chỉnh và điều khiển tiết kiệm chi phí nguồn năng lượng ở mức độ lớn .

Màn hình cảm ứng : những vi điều khiển và tinh chỉnh tân tiến có tính năng màn hình hiển thị cảm ứng và bộ vi tinh chỉnh và điều khiển 8051 cũng đi kèm với tính năng màn hình hiển thị cảm ứng. Do đó nó có một ứng dụng thoáng đãng trong điện thoại di động, máy nghe nhạc và game .

Lĩnh vực xe hơi : vi điều khiển và tinh chỉnh 8051 có một ứng dụng thoáng rộng trong nghành nghề dịch vụ xe hơi và đặc biệt quan trọng là trong quản trị xe hybrid. Ngoài ra mạng lưới hệ thống trấn áp hành trình dài và chống phanh là nghành khác mà nó có tác dụng rất lớn .

Cơ bản về vi điều khiển

Khi nói đến cơ bản của vi điều khiển và tinh chỉnh, tất cả chúng ta phải biết về những thành phần khác nhau của vi tinh chỉnh và điều khiển gồm có : bộ giải quyết và xử lý TT [ CPU ], bộ nhớ truy vấn ngẫu nhiên [ RAM ], bộ nhớ chỉ đọc [ ROM ], đầu vào / đầu ra bộ định thời cổng, bộ tinh chỉnh và điều khiển ngắt bộ đếm, bộ chuyển đổi analog sang kỹ thuật số, bộ chuyển đổi kỹ thuật số analog, cổng tiếp xúc tiếp nối đuôi nhau và mạch xê dịch .

CPU : được gọi là bộ não với công dụng chính là tìm nạp và giải thuật những lệnh để những tính năng khác được triển khai trơn tru .

Bộ nhớ : khi nói đến bộ nhớ của bộ vi điều khiển và tinh chỉnh tất cả chúng ta sẽ tưởng tượng ra bộ vi giải quyết và xử lý và những bộ nhớ khác nhau được setup bên trong bộ vi tinh chỉnh và điều khiển là RAM và ROM [ EEPROM, EPROM, v.v. ] hoặc bộ nhớ flash để tàng trữ mã nguồn chương trình .

Xem thêm: Bản vẽ hoạt động – Activity Diagram

Cổng đầu ra và cổng nguồn vào song song : tiềm năng chính của những cổng này bên trong vi tinh chỉnh và điều khiển là điều khiển và tinh chỉnh những giao diện khác nhau giữa những thiết bị được liên kết .

Các cổng tiếp nối đuôi nhau : đây cũng là một bộ phận quan trọng của vi điều khiển và tinh chỉnh .

Bộ định thời và bộ đếm : số bộ định thời và bộ đếm bên trong vi tinh chỉnh và điều khiển khác nhau và đa phần chúng được sử dụng cho mục tiêu khóa công dụng, điều chế, tạo xung, đo tần số và tạo xê dịch để tác vụ hoàn toàn có thể được triển khai trong khoảng chừng thời hạn pháp luật .

Bộ chuyển đổi analog sang kỹ thuật số và bộ chuyển đổi kỹ thuật số sang analog : là bộ chuyển đổi được sử dụng bên trong vi tinh chỉnh và điều khiển để quy đổi tín hiệu từ analog sang kỹ thuật số và ngược lại .

Kiểm soát ngắt : bản thân tên gọi này đã tự lý giải và nó giúp thực thi chương trình mà không bị gián đoạn .

Khối tính năng đặc biệt quan trọng : Đây là phần bổ trợ đặc biệt quan trọng và bổ trợ cho vi điều khiển và tinh chỉnh để thực thi 1 số ít trách nhiệm đặc biệt quan trọng .

Đồ án vi điều khiển 8051

Đối với toàn bộ những sinh viên kỹ thuật, những đồ án vi điều khiển và tinh chỉnh 8051 có một tầm quan trọng lớn. Thành thật mà nói, đồ án tương quan đến vi điều khiển và tinh chỉnh 8051 rất mê hoặc và hầu hết là nó sẽ xử lý yếu tố tương quan đến trong thực tiễn .

Nếu bạn đang tìm kiếm một đồ án cho vi tinh chỉnh và điều khiển 8051 thì dưới đây là tên của 1 số ít đồ án mê hoặc và được chăm sóc nhiều nhất :

Giao tiếp dữ liệu không dây bảo đảm an toàn [ at89s52 ] Trình tạo số ngẫu nhiên sử dụng 8051 Hệ thống chấm công dựa trên RFID [ at89s52 + rf ] Giao diện bàn phím Hex đến 8051 , Đồng hồ kỹ thuật số được điều khiển và tinh chỉnh từ xa với DS1307 và AT89c2051 Hệ thống theo dõi nguồn năng lượng mặt trời [ at89c2051 ] Công cụ tìm khoanh vùng phạm vi siêu âm sử dụng 8051 Hệ thống bảo mật thông tin dựa trên RFID [ at89s52 + rfid ]

Mạch cồn kế sử dụng 8051 ,

SMS qua điện thoại [at89s8252],

Xem thêm: Hướng dẫn cách vẽ sơ đồ pert mới nhất 2020

Robot dò đường sử dụng vi điều khiển và tinh chỉnh 8051 Điều khiển từ xa dựa trên RF [ at89c2051 ]

Đọc máy đo tự động hóa dựa trên RF và nhiều đồ án khác nữa

Tìm hiểu về Vi Điều Khiển 8051A. Phần cứng chip vi điều khiển 8051.I. TỔNG QUÁT1. Giới thiệu chung2. Các phiên bản của chip vi điều khiển 8051II. CÁC CHÂN CỦA CHIP 80511. Sơ đồ khối và chức năng các khối của chip 80512. Sơ đồ chân và chức năng các chân của chip 8051III. CẤU TRÚC CÁC PORT XUẤT NHẬP CHIP 8051IV. TỔ CHỨC BỘ NHỚ CỦA CHIP 80511. Bộ nhớ trong2. Bộ nhớ ngoàiB. Ứng dụng. Tài liệu tham khảo:1. Giáo trình 8051 –Tống Văn On, ĐHBK TPHCM.2. Thực tập vi xử lý- Trương Ngọc Anh, ĐHSP TPHCM.3. Vi điều khiển 8051- Nguyễn Bá Hội, ĐHBK, ĐHĐN.4. Kỹ thuật vi xử lý, Văn Thế Minh, NXB Giáo dục 1997.5. Kỹ thuật vi xử và Lập trình Assembly cho hệ vi xử lý, Đỗ Xuân Tiến, NXB Khoa Học & Kỹ Thuật, 2001A. PHẦN CỨNG CHIP VI ĐIỀU KHIỂN 8051 I. TỔNG QUÁT: 1. Giới thiệu chung: MCS-51 là họ vi điều khiển của hãng Intel. Vi mạch tổng quát của họ MCS-51 là chip 8051. Chip 8051 có một số đặc trưng cơ bản sau:• Bộ nhớ chương trình bên trong: 4 KB [ROM]. • Bộ nhớ dữ liệu bên trong: 128 byte [RAM]. • Bộ nhớ chương trình bên ngoài: 64 KB [ROM].• Bộ nhớ dữ liệu bên ngoài: 64 KB [RAM]. • 4 port xuất nhập [I/O port] 8 bit. • 2 bộ định thời 16 bit. • Mạch giao tiếp nối tiếp.• Bộ xử lý bit [thao tác trên các bit riêng lẻ]. • 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bit.• Nhân / Chia trong 4 µs. Ngoài ra, trong họ MCS-51 còn có một số chip vi điều khiển khác có cấu trúc tương đương như2. Các phiên bản của chip vi điều khiển 8051:2.1 Bộ vi điều khiển 8031: 8031 là một phiên bản khác của họ 8051. Chip này thường được coi là 8051 không có ROM trên chip. Để có thể dùng được chip này cần phải bổ sung thêm ROM ngoài chứa chương trình cần thiết cho 8031. 8051 có chương trình được chứa ở ROM trên chip bị giới hạn đến 4KB, còn ROM ngoài của 8031 thì có thể lên đến 64KB. Tuy nhiên, để có thể truy cập hết bộ nhớ ROM ngoài thì cần dùng thêm hai cổng [Port 0 và Port 2] , do vậy chỉ còn lại có hai cổng [Port 1 và Port 3] để sử dụng. Nhằm khắc phục vấn đề này, chúng ta có thể bổ sung thêm cổng vào/ra cho 8031. 2.2 Bộ vi điều khiển 8052: 8052 là một phiên bản của họ 8051. 8052 có tất cả các thông số kỹ thuật của 8051, ngoài ra còn có thêm 128 byte RAM, 4KB ROM và một bộ định thời nữa. Như vậy, 8052 có tổng cộng 256 byte RAM, 8KB ROM và ba bộ định thời. Đặc tính kỹ thuật 8031 8051 8052ROM trên chip[KB] 0 4 8RAM trên chip[byte] 128 128 256Bộ định thời 2 2 3Chân vào/ra 32 32 32Cổng nối tiếp 1 1 1Nguồn ngắt 5 5 6Như bảng thông số trên ta thấy 8051 là một trường hợp riêng của 8052. Mọi chương trình viết cho 8051 đều có thể chạy được trên 8052 nhưng điều nguợc lại có thể là không đúng. 2.3 Bộ vi điều khiển 8751: Chip 8751 chỉ có 4KB bộ nhớ UV-EPROM trên chip. Để sử dụng chip này cần phải có thiết bị lập trình PROM và thiết bị xoá UV-EPROM. Do ROM trên chip của 8751 là UV-EPROM, nên cần phải mất khoảng 20 phút để xoá 8751 truớc khi được lập trình. Vì đây là quá trình mất nhiều thời gian nên nhiều nhà sản xuất đã cho ra phiên bản Flash ROM và UV-RAM. 2.4 Bộ vi điều khiển AT8951 của Atmel Corporation: AT8951 là phiên bản 8051 có ROM trên chip là bộ nhớ Flash. Phiên bản này rất thích hợp cho các ứng dụng nhanh vì bộ nhớ Flash có thể được xóa trong vài giây. Dĩ nhiên là để dùng AT8951 cần phải có thiết bị lập trình PROM hỗ trợ bộ nhớ Flash nhưng không cần đến thiết bị xóa ROM vì bộ nhớ Flash được xóa bằng thiết bị lập trình PROM. Để tiện sử dụng, hiện nay hãng Atmel đang nghiên cứu một phiên bản của AT8951 có thể được lập trình qua cổng COM của máy tính PC và Như vậy sẽ không cần đến thiết bị lập trình PROM.Ký hiệu ROM RAM I/O Timer Ngắt Vcc Số chân ICAT89C51 4KB 128 32 2 5 5V 40AT89LV51 4KB 128 32 2 5 3V 40AT89C1051 1KB 64 15 1 3 3V 20AT89C2051 2KB 128 15 2 5 3V 20AT89C528KB 256 32 3 6 5V 40AT89LV528KB 256 32 3 6 3V 402.5 Bộ vi điều khiển DS5000 của 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 chip của DS5000 là NV-RAM. DS5000 có khả năng nạp chương trình vào ROM trên chip trong khi nó vẫn ở trong hệ thống mà không cần phải lấy ra. Cách thực hiện là dùng qua cổng COM của máy tính PC. Đây là điểm mạnh được ưa chuộng,Ngoài ra NV-RAM còn có nhiều ưu việt là cho phép thay đỏi nội dung RAM theo từng byte mà không phải xóa hết trước khi lập trình như bộ nhớ EPROM.Ký hiệu ROM RAM I/O Timer Ngắt Vcc Số chân ICDS5000-88KB 128 32 2 6 5V 40DS5000-3232KB 128 32 2 6 5V 40DS5000T-88KB 128 32 2 6 5V 40DS5000T-3232KB 128 32 2 6 5V 40Đây là một phiên bản cải tiến sử dụng CPU là bộ vi điều khiển 80C51 với nhiều tính năng vuợt trội: dung lượng ROM/RAM trên chip rất lớn, 3 Timer 16 bit + 1 Watch-dog Timer, 2 thanh ghi DPTR, 8 nguồn ngắt, PWM [Pulse Width Modulator], SPI [Serial Peripheral Interface] và đặc biệt là bộ nhớ chương trình trên chip có tính năng ISP [In-System Programming] và IAP [In-Application Programming],…II. CÁC CHÂN CỦA CHIP 8051:1. Sơ đồ khối và chức năng các khối của chip 8051:SƠ ĐỒ KHỐI CỦA CHIP 8051- CPU [Central Processing Unit]: Đơn vị xử lý trung tâm −> tính toán và điều khiển quá trình hoạt động của hệ thống. - OSC [Oscillator]: Mạch dao động −> tạo tín hiệu xung clock cung cấp cho các khối trong chip hoạt động. - Interrupt control: Điều khiển ngắt −>nhận tín hiệu ngắt từ bên ngoài [INT0\, INT1\], từ bộ định thời [Timer 0, Timer 1] và từ cổng nối tiếp [Serial port], lần luợt đua các tín hiệu ngắt này đến CPU để xử lý. - Other registers: Các thanh ghi khác −> Lưu trữ dữ liệu của các port xuất/nhập, trạng thái làm việc của các khối trong chip trong suốt quá trình hoạt động của hệ thống. - RAM [Random Access Memory]: Bộ nhớ dữ liệu trong chip −> lưu trữ các dữ liệu. - ROM [Read Only Memory]: Bộ nhớ chương trình trong chip −> lưu trữ chương trình hoạt động của chip. - I/O ports [In/Out ports]: Các port xuất/nhập −> điều khiển việc xuất nhập dữ liệu duới dạng song song giữa trong và ngoài chip thông qua các port P0, P1, P2, P3. - Serial port: Port nối tiếp −> điều khiển việc xuất nhập dữ liệu duới dạng nối tiếp giữa trong và ngoài chip thông qua các chân TxD, RxD. - Timer 0, Timer 1: Bộ định thời 0, 1 −> dùng để định thời gian hoặc đếm sự kiện [đếm xung] thông qua các chân T0, T1. - Bus control: Điều khiển bus −> điều khiển hoạt động của hệ thống bus và việc di chuyển thông tin trên hệ thống bus. - Bus system: Hệ thống bus −> liên kết các khối trong chip lại với nhau.2. Sơ đồ chân và chức năng các chân của chip 8051:SƠ ĐỒ CHÂN CHIP 80512.1. Port 0: - Port 0 [P0.0 – P0.7] có số chân từ 32 – 39. - Port 0 có hai chức năng: • Port xuất nhập dữ liệu [P0.0 - P0.7] −> không sử dụng bộ nhớ ngoài. • Bus địa chỉ byte thấp và bus dữ liệu đa hợp [AD0 – AD7] −> có sử dụng bộ nhớ ngoài. Lưu ý: Khi Port 0 đóng vai trò là port xuất nhập dữ liệu thì phải sử dụng các điện trở kéo lên bên ngoài. - Ở chế độ mặc định [khi reset] thì các chân Port 0 [P0.0 - P0.7] được cấu hình là port xuất dữ liệu. Muốn các chân Port 0 làm port nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi mức logic cao [mức 1] đến tất cả các bit của port truớc khi bắt đầu nhập dữ liệu từ port [vấn đề này được trình bày ở phần kế tiếp]. - Khi lập trình cho ROM trong chip thì Port 0 đóng vai trò là ngõ vào của dữ liệu [D0 – D7]. 2.2. Port 1: - Port 1 [P1.0 – P1.7] có số chân từ 1 – 8. - Port 1 có một chức năng: − Port xuất nhập dữ liệu [P1.0 – P1.7] −> sử dụng hoặc không sử dụng bộ nhớ ngoài. - Ở chế độ mặc định [khi reset] thì các chân Port 1 [P1.0 – P1.7] được cấu hình là port xuất dữ liệu. Muốn các chân Port 1 làm port nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi mức logic cao [mức 1] đến tất cả các bit của port truớc khi bắt đầu nhập dữ liệu từ port [vấn đề này được trình bày ở phần kế tiếp]. - Khi lập trình cho ROM trong chip thì Port 1 đóng vai trò là ngõ vào của địa chỉ byte thấp [A0 – A7]. 2.3. Port 2: - Port 2 [P2.0 – P2.7] có số chân từ 21 – 28. - Port 2 có hai chức năng: • Port xuất nhập dữ liệu [P2.0 – P2.7] − >không sử dụng bộ nhớ ngoài. • Bus địa chỉ byte cao [A8 – A15] − có sử dụng bộ nhớ ngoài. - Ở chế độ mặc định [khi reset] thì các chân Port 2 [P2.0 – P2.7] được cấu hình là port xuất dữ liệu. Muốn các chân Port 2 làm port nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi mức logic cao [mức 1] đến tất cả các bit của port truớc khi bắt đầu nhập dữ liệu từ port [vấn đề này được trình bày ở phần kế tiếp]. - Khi lập trình cho ROM trong chip thì Port 2 đóng vai trò là ngõ vào của địa chỉ byte cao [A8 – A11] và các tín hiệu điều khiển. 2.4. Port 3: - Port 3 [P3.0 – P3.7] có số chân từ 10 – 17. - Port 3 có hai chức năng: • Port xuất nhập dữ liệu [P3.0 – P3.7] −> không sử dụng bộ nhớ ngoài hoặc các chức năng đặc biệt. • Các tín hiệu điều khiển −> có sử dụng bộ nhớ ngoài hoặc các chức năng đặc biệt. - Ở chế độ mặc định [khi reset] thì các chân Port 3 [P3.0 – P3.7] được cấu hình là port xuất dữ liệu. Muốn các chân Port 3 làm port nhập dữ liệu thì cần phải lập trình lại, bằng cách ghi mức logic cao [mức 1] đến tất cả các bit của port truớc khi bắt đầu nhập dữ liệu từ port [vấn đề này được trình bày ở phần kế tiếp].- Khi lập trình cho ROM trong chip thì Port 3 đóng vai trò là ngõ vào của các tín hiệu điều khiển [xem sách “Họ vi điều khiển 8051” trang 333-352]. - Chức năng của các chân Port 3:Bit Tên Địa chỉ bit Chức năngP3.0 RxD B0H 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 INT0\ B2H Ngõ vào ngắt ngoài 0.P3.3 INT1\ B3H Ngõ vào ngắt ngoài 1.P3.4 T0 B4H Ngõ vào của bộ ñịnh thời/ñếm 0.P3.5 T1 B5H Ngõ vào của bộ ñịnh thời/ñếm 1.P3.6 WR\ B6H ðiều khiển ghi vào RAM ngoài.P3.7 RD\ B7H ðiều khiển ñọc từ RAM ngoài.2.5. Chân PSEN\: - PSEN [Program Store Enable]: cho phép bộ nhớ chương trình, chân số 29. - Chức năng: • Là tín hiệu cho phép truy xuất [đọc] bộ nhớ chương trình [ROM] ngoài. • Là tín hiệu xuất, tích cực mức thấp. PSEN\ = 0 −> trong thời gian CPU tìm - nạp lệnh từ ROM ngoài. PSEN\ = 1 −> CPU sử dụng ROM trong [không sử dụng ROM ngoài]. - Khi sử dụng bộ nhớ chương trình bên ngoài, chân PSEN\ thường được nối với chân OE\ của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài. 2.6. Chân ALE: - ALE [Address Latch Enable]: cho phép chốt địa chỉ, chân số 30. - Chức năng: • Là tín hiệu cho phép chốt địa chỉ để thực hiện việc giải đa hợp cho bus địa chỉ byte thấp và bus dữ liệu đa hợp [AD0 – AD7].• Là tín hiệu xuất, tích cực mức cao. ALE = 0 −> trong thời gian bus AD0 - AD7 đóng vai trò là bus D0 - D7. ALE = 1 −> trong thời gian bus AD0 - AD7 đóng vai trò là bus A0 - A7. - Khi lập trình cho ROM trong chip thì chân ALE đóng vai trò là ngõ vào của xung lập trình [PGM\]. Lưu ý: fALE=fOSC/6 −>có thể dùng làm xung clock cho các mạch khác. [MHz]: tần số xung tại chân ALE. f [MHz]: tần số dao động trên chip [tần số thạch anh]. - Khi lệnh lấy dữ liệu từ RAM ngoài [MOVX] được thực hiện thì một xung ALE bị bỏ qua. 2.7. Chân EA\: - EA [External Access]: truy xuất ngoài, chân số 31. - Chức năng: • Là tín hiệu cho phép truy xuất [sử dụng] bộ nhớ chương trình [ROM] ngoài.• Là tín hiệu nhập, tích cực mức thấp. EA\ = 0 −> Chip 8051 sử dụng chương trình của ROM ngoài. EA\ = 1 − >Chip 8051 sử dụng chương trình của ROM trong. - Khi lập trình cho ROM trong chip thì chân EA đóng vai trò là ngõ vào của điện áp lập trình[Vpp = 12V – 12,5V cho họ 89xx; 21V cho họ 80xx, 87xx]. Lưu ý: Chân EA\ phải được nối lên Vcc [nếu sử dụng chương trình của ROM trong] hoặc nối xuống GND [nếu sử dụng chương trình của ROM ngoài], không bao giờ được phép bỏ trống chân này. 2.8. Chân XTAL1, XTAL2:- XTAL [Crystal]: tinh thể thạch anh, chân số 18-19. - Chức năng: • Dùng để nối với thạch anh hoặc mạch dao động tạo xung clock bên ngoài, cung cấp tín hiệu xung clock cho chip hoạt động.• XTAL1 − ngõ vào mạch tạo xung clock trong chip. • XTAL2 − ngõ ra mạch tạo xung clock trong chip. Lưu ý: fTYP=12MHz fTYP [MHz]: tần số danh định. 2.9. Chân RST: - RST [Reset]: thiết lập lại, chân số 9. - Chức năng: • Là tín hiệu cho phép thiết lặp [đặt] lại trạng thái ban đầu cho hệ thống.• Là tín hiệu nhập, tích cực mức cao. RST = 0 −> Chip 8051 hoạt động bình thường. RST = 1 −> Chip 8051 được thiết lặp lại trạng thái ban đầu. Lưu ý: tReset≥2×TMachine TMachine=12/fOSC. tRESET[µs]:thời gian reset. fOSC=[MHz]:tần số thạch anh.TMACHINE[µs]:chu kỳ máy.2.10. Chân Vcc, GND: - Vcc, GND: nguồn cấp ñiện, chân số 40 và 20. - Chức năng: • Cung cấp nguồn điện cho chip 8051 hoạt động.• Vcc = +5V ± ±± ± 10% và GND = 0V.III. CẤU TRÚC CÁC PORT XUẤT NHẬP CHIP 8051:Khả năng fanout [số luợng tải đầu ra] của các từng chân port chip 8051 là: • Port 0: 8 tải TTL. • Port 1: 4 tải TTL.• Port 2: 4 tải TTL. • Port 3: 4 tải TTL. Lưu ý: Khi Port 0 đóng vai trò là port xuất nhập thì sẽ không có điện trở kéo lên bên trong −>do đó nguời sử dụng cần thêm vào điện trở kéo lên bên ngoài [xem Hình III.1]. Ở chế độ mặc định [khi reset] thì tất cả các chân của các port [P0 – P3] đuợc cấu hình là port xuất dữ liệu. Muốn các chân port của chip 8015 làm port nhập dữ liệu thì ta cần phải đuợc lập trình lại, bằng cách ghi mức logic cao [mức 1] đến tất cả các bit [các chân] của port truớc khi bắt đầu nhập dữ liệu từ port [vấn đề này đuợc trình bày ở phần kế tiếp].Các chân trong cùng một port không nhất thiết phải có cùng kiểu cấu hình [port xuất hoặc port nhập]. Nghĩa là trong cùng một port có thể có chân dùng để nhập dữ liệu, có thể có chân dùng để xuất dữ liệu. Điều này là tùy thuộc vào nhu cầu và mục đích của nguời lập trình.Quá trình ghi chân port [xuất dữ liệu ra chân port]. Hình III.3 Thao tác ghi chân port.Quá trình đọc chân port [nhập dữ liệu từ chân port]. Hình III.2 Thao tác đọc chân port.Quá trình đọc bộ chốt [kiểm tra dữ liệu tại chân port]. Hình III.2 Thao tác đọc bộ chốt.Lưu ý: Việc đọc dữ liệu của bất kỳ một port nào có thể cho ta hai giá trị khác nhau tùy thuộc vào lệnh mà ta sử dụng để đọc dữ liệu từ port [xem thêm trong phần tập lệnh]. Xảy ra hiện tượng không mong muốn này là do quá trình đọc dữ liệu của chip 8051 gồm hai quá trình khác nhau: quá trình đọc chân port và quá trình đọc bộ chốt. Quá trình đọc chân port: Khi ta sử dụng các lệnh MOV, ADD,… Dữ liệu nhận đuợc sau khi thực hiện quá trình đọc là dữ liệu hiện tại ở các chân port. Quá trình đọc bộ chốt: Khi ta sử dụng các lệnh ANL, ORL, XRL, CPL, INC, DEC, DJNZ, JBC, CLR bit, SETB bit, MOV bit. Dữ liệu nhận được sau khi thực hiện quá trình đọc là dữ liệu hiện tại ở các bộ chốt [là các dữ liệu đã được ghi ra port tại thời điểm truớc đó bởi quá trình ghi chân port], chứ không phải là dữ liệu hiện tại ở các chân port. Cho nên, nếu tại thời điểm thực hiện quá trình đọc mà dữ liệu tại các chân port có bị thay đổi đi chăng nữa thì dữ liệu đọc về cũng không được cập nhật.IV. TỔ CHỨC BỘ NHỚ CỦA CHIP 8051: - Bộ vi xử lý −>có không gian bộ nhớ chung cho dữ liệu và chương trình.−>chương trình và dữ liệu nằm chung trên RAM truớc khi đưa vào CPU để thự c thi. - Bộ vi điều khiển −> có không gian bộ nhớ riêng cho dữ liệu và chương trình.−>chương trình và dữ liệu nằm riêng trên ROM và RAM truớc khi đưa vào CPU để thực thi. - Tổ chức bộ nhớ của chip 8051: Không gian bộ nhớ trong chip 8051 RAM SFR [SPECIAL FUNCTION REGISTER: Thanh ghi chức năng đặc biệt]. Bộ nhớ dữ liệu trên chip 80511. Bộ nhớ trong:1.1. Bộ nhớ chương trình [ROM]: - Dùng để lưu trữ chương trình điều khiển cho chip 8051 hoạt động. - Chip 8051 có 4 KB ROM trong, địa chỉ truy xuất: 000H – FFFH. 1.2. Bộ nhớ dữ liệu [RAM]: - Dùng để lưu trữ các dữ liệu và tham số. - Chip 8051 có 128 byte RAM trong, địa chỉ truy xuất: 00H – 7FH.- RAM trong của chip 8051 được chia ra: • RAM đa chức năng:• RAM định địa chỉ bit: −>cho phép xử lý từng bit dữ liệu riêng lẻ mà không ảnh hưởng đến các bit khác trong cả byte. Lưu ý: Nếu trong chương trình không sử dụng các bit trong vùng RAM định địa chỉ bit này, ta có thể sử dụng vùng nhớ 20H – 2FH cho các mục đích khác của ta. Ngược lại, ta phải viết chương trình cẩn thận khi sử dụng vùng nhớ 20H – 2FH vì nếu sơ suất ta có thể ghi dữ liệu đè lên các bit đã được sử dụng.  Ví dụ: Viết lệnh làm cho 8 bit trong ô nhớ có địa chỉ 20H thuộc RAM nội có giá trị là 1 [xét truờng hợp địa chỉ byte và địa chỉ bit]. • Các dãy thanh ghi: −> cho phép truy xuất dữ liệu nhanh, lệnh truy xuất đơn giản và ngắn gọn. Bảng số liệu duới đây minh họa địa chỉ của các ô nhớ trong một dãy và các ký hiệu thanh ghi R0 – R7 được gán cho từng ô nhớ trong dãy tích cực.  Lưu ý:  Ở chế độ mặc định thì dãy thanh ghi tích cực [đang được sử dụng] là dãy 0 và các thanh ghi trong dãy lần lượt có tên là R0 - R7. Có thể thay đổi dãy tích cực bằng cách thay đổi các bit chọn dãy thanh ghi RS1 và RS0 trong thanh ghi PSW [xem phần thanh ghi PSW].  Nếu chương trình của ta chỉ sử dụng dãy thanh ghi đầu tiên [dãy 0] thì ta có thể sử dụng vùng nhớ 08H – 1FH cho các mục đích khác của ta. Nhưng nếu trong chương trình có sử dụng các dãy thanh ghi [dãy 1, 2 hoặc 3] thì phải rất cẩn thận khi sử dụng vùng nhớ từ 1FH trở xuống vì nếu sơ suất ta có thể ghi dữ liệu đè lên các thanh ghi R0 – R7 của ta.  Ví dụ 1: Quan hệ giữa ký hiệu thanh ghi R4 với các ô nhớ có địa chỉ tương ứng trong dãy thanh ghi tích cực?  Nếu dãy 0 tích cực: Thanh ghi R4 Ô nhớ 04H RAM nội.  Nếu dãy 1 tích cực: Thanh ghi R4 Ô nhớ 0CH RAM nội.  Nếu dãy 2 tích cực: Thanh ghi R4Ô nhớ 14H RAM nội.  Nếu dãy 3 tích cực: Thanh ghi R4 Ô nhớ 1CH RAM nội.  Ví dụ 2: Khi chip 8051 thực hiện lệnh MOV R4, #1AH thì giá trị “1AH” sẽ được nạp vào trong ô nhớ có địa chỉ là bao nhiêu thuộc RAM nội. Xét tương ứng cho từng trường hợp dãy thanh ghi tích cực là Dãy 0 và Dãy 3?1.3. Thanh ghi chức năng đặc biệt: Lưu ý:  Không được phép đọc hay ghi dữ liệu vào các địa chỉ SFR mà nó chưa được đăng ký [nghĩa là các địa chỉ SFR chưa được đặt tên]. Vì việc đọc hay ghi dữ liệu vào các nơi này có thể làm phát sinh những hoạt động không mong muốn và đó có thể là nguyên nhân làm cho chương trình của ta không tương thích với các phiên bản sau của chip MCS-51 [có thể ở các phiên bản đó các địa chỉ SFR này được sử dụng cho một vài mục đích khác].  Chỉ được truy xuất các SFR bằng kiểu định địa chỉ trực tiếp [tuyệt đối không sử dụng kiểu định địa chỉ gián tiếp trong truờng hợp này].  Ví dụ: Cho biết truớc [R0]=90H. Viết lệnh dùng để xuất [ghi] giá trị 5AH ra Port1 như sau . Sử dụng kiểu định địa chỉ trực tiếp:MOV P1, #5AH hoặc MOV 90H, #5AH  Sử dụng kiểu định địa chỉ gián tiếp: MOV @R0, #5AH -> SAI  -> Điều này không hợp lệ đối với chip 8051 vì phương pháp định địa chỉ gián tiếp nhu trên chỉ sử dụng cho vùng nhớ RAM nội. Trong khi đó RAM nội của chip 8051 chỉ có 128 byte [00H – 7FH], cho nên khi thực hiện lệnh này nó sẽ trả về kết quả không xác định. [Lưu ý: nếu ta dùng phiên bản chip 8052 thì sẽ tránh được điều này]. 1.3.1. Thanh ghi A: 1.3.2 Thanh ghi B:- Phép nhân 2 số 8 bit không dấu -> kết quả là số 16 bit. • Byte cao -> chứa vào thanh ghi B.• Byte thấp -> chứa vào thanh ghi A. - Phép chia 2 số 8 bit -> thương số và số dư là số 8 bit.• Thương số -> chứa vào thanh ghi A.• Số dư -> chứa vào thanh ghi B. Ví dụ: Thực hiện phép tính 12H x 2AH. Hỏi [A]=?, [B]=? Ví dụ: Thực hiện phép tính A6H : 21H. Hỏi [A]=?, [B]=? Ví dụ: Thực hiện phép tính FDH : 0CH. Hỏi [A]=?, [B]=?1.3.3. Thanh ghi từ PSW:- Cờ CY [Carry Flag]: cờ nhớ → báo có nhớ/muợn tại bit 7. • CY = 0: nếu không có nhớ từ bit 7 hoặc không có muợn cho bit 7. • CY = 1: nếu có nhớ từ bit 7 hoặc có muợn cho bit 7. - Cờ AC [Auxiliary Carry]: cờ nhớ phụ → báo có nhớ/muợn tại bit 3.• AC = 0: nếu không có nhớ từ bit 3 hoặc không có muợn cho bit 3. • AC = 1: nếu có nhớ từ bit 3 hoặc có muợn cho bit 3. - Cờ F0 [Flag 0]: cờ zero → có nhiều mục đích dành cho các ứng dụng khác nhau của nguời lập trình [dự trữ cho các phiên bản chip trong tương lai].- Bit RS0, RS1 [Register Select]: bit chọn dãy thanh ghi → cho phép xác định dãy thanh ghi tích cực [hay dãy thanh ghi mà các thanh ghi có tên là R0-R7].- Cờ OV [Overflow]: cờ tràn → báo kết quả tính toán của phép toán số học [phép toán có dấu] có nằm trong khoảng từ -128 đến +127 hay không. • OV = 0: nếu -128 = kết quả = +127.• OV = 1: nếu kết quả < -128 hoặc kết quả > +127. Nói cách khác là: Đối với phép cộng thì OV=1 nếu có nhớ từ bit 7 nhưng không có nhớ từ bit 6 hoặc nếu có nhớ từ bit 6 nhưng không có nhớ từ bit 7. Đối với phép trừ thì OV=1 nếu có mượn cho bit 7 nhưng không có mượn cho bit 6 hoặc nếu có mượn bit 6 nhưng không có mượn bit 7.Biểu diễn toán hạng 8bit có dấu Bảng liệt kê các số 8bit có dấu- Cờ P [Parity]: cờ chẵn lẻ → báo số chữ số 1 trong thanh ghi A là số chẵn hay số lẻ [trong chip 8051 sử dụng chế độ parity chẵn]. • P = 0: nếu số chữ số 1 trong thanh ghi A là số chẵn [parity chẵn]. • P = 1: nếu số chữ số 1 trong thanh ghi A là số lẻ [parity chẵn]. Ví dụ: Minh họa cách 8051 biểu diễn số -5. Giải : Các buớc thực hiện: B1: 0000 0101 Biểu diễn số 5 dạng nhị phân 8 bit. B2: 1111 1010 Lấy bù 1. B3: 1111 1011 Lấy bù 2. Vậy số FBH là biểu diễn số có dấu dạng bù 2 của số -5. Ví dụ: Minh họa cách 8051 biểu diễn số -34H.Các bước thực hiện: B1: 0011 0100 Biểu diễn số 34H dạng nhị phân 8 bit. B2: 1100 1011 Lấy bù 1. B3: 1100 1100 Lấy bù 2. Vậy số CCH là biểu diễn số có dấu dạng bù 2 của số -34H.Ví dụ: Minh họa cách 8051 biểu diễn số -128. Các buớc thực hiện: B1: 1000 0000 Biểu diễn số -128 dạng nhị phân 8 bit. B2: 0111 1111 Lấy bù 1. B3: 1000 0000 Lấy bù 2. Vậy số 80H là biểu diễn số có dấu dạng bù 2 của số -128. Ví dụ: Minh họa trạng thái hoạt động của các cờ CY, AC, OV và P khi thực hiện phép cộng/trừ số học hai giá trị với nhau. Các ký hiệu: • Cờ nhớ [CY]: Minh họa hoạt động của cờ CY trong trường hợp CY = 1:Xét cờ CY trong hai trường hợp “7AH+28H” và 9AH-5DH”:Xét cờ CY trong hai truờng hợp “95H+86H” và “00H-A6H”:Cờ nhớ phụ [AC]:Minh họa hoạt động của cờ AC trong trường hợp AC = 1Xét cờ AC trong hai trường hợp “92H+28H” và “4AH-E3H”:Xét cờ AC trong hai trường hợp “7AH+59H’ và “97H-5DH”Cờ tràn [OV]:Minh họa hoạt động của cờ trong trường hợp OV= 1Xét cờ OV trong các trường hợp “B3H+25H”, “BBH-96H”” và “4BH-F3H’:Xét cờ OV trong các trường hợp “ 53H+45H”, “82H+BAH”, “9AH-3EH” và “66H-DAH”Cờ Parity [P]:Xét cờ P trong các trường hợp “[A]=45H”, “[A]=E7H”, “[A]=00H”:Ví dụ: Xác định nội dung các ô nhớ thuộc RAM nội của đoạn chương trình sau:Ví dụ: Xác định nội dung các ô nhớ thươọc RAM nội của đoạn chương trình sau:1.3.4 Thanh ghi SP:- Ngăn xếp là vùng nhớ dùng để lưu trữ tạm thời các dữ liệu. - Đối với chip 8051 thì vùng nhớ đuợc dùng để làm ngăn xếp được giữ trong RAM nội. - Để sử dụng ngăn xếp thì ta phải khởi động thanh ghi SP [nghĩa là nạp giá trị cho thanh ghi SP] → vùng nhớ của ngăn xếp có địa chỉ bắt đầu: [SP]+1 và địa chỉ kết thúc: 7FH. - Nếu không khởi động SP→vùng nhớ của ngăn xếp có địa chỉ bắt đầu: 08H và địa chỉ kết thúc: 7FH [chế độ mặc định]. Lưu ý: Trong trường hợp không khởi động SP [chế độ mặc định] thì dãy thanh ghi 1 [và có thể là dãy 2 và dãy 3] sẽ không còn hợp lệ vì khi đó vùng nhớ này đã đuợc sử dụng để làm ngăn xếp. Điều này có nghia là nếu ta sử dụng các dãy thanh ghi này và lưu trữ dữ liệu vào đó thì có khả năng sẽ bị mất do tác động cất dữ liệu vào ngăn xếp của các lệnh [PUSH, ACALL, LCALL, …].Ví dụ: Hãy cho biết tầm địa chỉ của vùng nhớ ngăn xếp trong hai truờng hợp sau: [SP]=5FH và [SP]=49H. Theo qui định thì vùng nhớ của ngăn xếp có địa chỉ bắt đầu: [SP]+1 và địa chỉ kết thúc: 7FH.  ♦Truờng hợp [SP]=5FH: tầm địa chỉ của vùng nhớ ngăn xếp là 60H - 7FH.  ♦Truờng hợp [SP]=49H: tầm địa chỉ của vùng nhớ ngăn xếp là 4AH - 7FH. Ví dụ: Hãy cho biết giá trị cần phải nạp cho thanh ghi SP để vùng nhớ ngăn xếp có tầm địa chỉ trong hai trường hợp sau: 62H – 7FH và 50H – 7FH. Theo qui định thì vùng nhớ của ngăn xếp có địa chỉ bắt đầu: [SP]+1 và địa chỉ kết thúc: 7FH.  ♦Truờng hợp 62H – 7FH: giá trị cần nạp cho thanh ghi SP là 61H.  ♦Truờng hợp 50H – 7FH: giá trị cần nạp cho thanh ghi SP là 4FH. Ví dụ: Minh họa vùng nhớ ngăn xếp trong truờng hợp không khởi động SP [chế độ mặc định] và có khởi động SP [với [SP] = 3FH].  ♦Nếu nguời sử dụng không khởi động thanh ghi SP [chế độ mặc định] thì: [xem hình bên duới, phía trái]  ♦Nếu nguời sử dụng muốn vùng nhớ ngăn xếp [chế độ tùy định] có tầm địa chỉ là 40H–7FH thì: [xem hình bên trên, phía phải] 1.3.5. Thanh ghi DPTR: Ví dụ: Khi ta muốn truy xuất [ghi/đọc] dữ liệu từ một ô nhớ thuộc RAM ngoài có địa chỉ là 0123H thì ta phải làm sao nạp đuợc giá trị 0123H vào thanh ghi DPTR và sau đó thực hiện lệnh truy xuất MOVX [xem giải thích lệnh trong “Chương 3: Tập lệnh của 8051.”]. [DPTR] = 0123H ↔ [DPH] = 01H và [DPL] = 23H Ví dụ: Khi ta muốn truy xuất [đọc] byte mã từ một ô nhớ thuộc ROM trong có địa chỉ là 0ABCH thì ta phải làm sao nạp đuợc giá trị 0ABCH vào thanh ghi DPTR và sau đó thực hiện lệnh truy xuất MOVC [xem giải thích lệnh trong “Chương 3: Tập lệnh của 8051.”]. [DPTR] = 0ABCH ↔ [DPH] = 0AH và [DPL] = BCH 1.3.6. Thanh ghi port xuất nhập: Lưu ý: • Trong truờng hợp phần cứng có sử dụng ROM hoặc RAM bên ngoài thì ta không thể sử dụng Port 0 và Port 2 để xuất nhập dữ liệu. Vì khi đó chip 8051 sẽ sử dụng hai port này để xác định địa chỉ và dữ liệu cho bộ nhớ ngoài. Khi đó, ta chỉ có thể sử dụng Port 1 và Port 3 để xuất nhập dữ liệu. • Ở chế độ mặc định [khi reset] thì tất cả các chân của các port [P0 – P3] đuợc cấu hình là port xuất dữ liệu. Muốn các chân port của chip 8015 làm port nhập dữ liệu thì ta cần phải đuợc lập trình lại, bằng cách ghi mức logic cao [mức 1] đến tất cả các bit [các chân] của port truớc khi bắt đầu nhập dữ liệu từ port. Ví dụ 1: Hoạt động xuất [ghi] và nhập [đọc] dữ liệu tại các chân port [Port 0] của chip 8051 [xem hình minh họa bên duới]. • Hình phía trái: Minh họa trạng thái hoạt động của port khi thực hiện lệnh xuất [ghi] dữ liệu ra Port 0 của chip 8051. • Hình phía phải: Minh họa trạng thái hoạt động của port khi thực hiện lệnh nhập [đọc] dữ liệu từ Port 0 của chip 8051.

Video liên quan

Chủ Đề