8051 và các bộ vi điều khiển bit thấp khác vẫn còn được sử dụng cho đến ngày hôm nay?
Vâng, gần như ở khắp mọi nơi. Chúng nhỏ và dễ dàng, có rất nhiều lõi nổi xung quanh mà bạn có thể đặt vào silicon tùy chỉnh của mình với chi phí thấp hoặc miễn phí, có các trình biên dịch trưởng thành. Tất cả điều này làm cho 8051 vẫn là một trong những kiến trúc cốt lõi phổ biến nhất trong số các nhà sản xuất silicon. Các lõi ARM có thể có sẵn trong các sản phẩm khác nhau, nhưng một lần nữa, khi bạn nói chuyện với ai đó đang chế tạo nhiều thiết bị với một ràng buộc về giá rất nghiêm ngặt, rất có thể anh ta sẽ thích lõi 8051 rẻ hơn / miễn phí nếu hoàn thành công việc . Chỉ để phản đối tuyên bố @ Nitro2k01 về việc sử dụng chỉ thích hợp: Mouser có gần 800 mô hình của 8051 bộ vi điều khiển trên kho . Và thực tế là những thứ này bắt đầu, ngay cả tại Mouser, với mức giá dưới 40ct có thể là một dấu hiệu cho thấy chúng được sử dụng để làm gì:
MCU chính thống, hiệu suất thấp, khối lượng lớn
do đó:
... rõ ràng, nó sẽ không được sử dụng bởi bất kỳ ngành nào để phát triển sản phẩm vì tính đơn giản của nó ...
là chất lượng cao hoàn toàn vô nghĩa. Đặc biệt là khi bạn đang cung cấp một ví dụ ngược lại chính mình
Ông chủ của tôi, người ở giữa tuổi 50, nói rằng ông ta đang sử dụng 8051 công cụ phái sinh và họ đang thực hiện công việc.
Chính xác! Chúng được sử dụng ở mọi nơi, chúng được chứng minh tốt và rẻ, và chúng là đủ ; không bao giờ đánh giá thấp lợi thế của việc có một giải pháp cho một vấn đề phổ biến trong ngăn kéo ở đâu đó!
Tất nhiên, đó thường là trường hợp bạn có thể cần một giải pháp với giả sử hai bus ô tô điển hình, giao diện tốc độ cao cho ADC, một số bộ định thời giám sát đáng tin cậy, ba đơn vị PWM ... và sau đó bạn bắt đầu ghép một cái gì đó bao gồm bốn dẫn xuất 8051 và 8080 .. uh. Đó là một tình huống xấu, và rất có thể sẽ được giải quyết nhanh hơn và đáng tin cậy hơn bằng cách sử dụng một MCU đơn lẻ, linh hoạt hơn, mạnh mẽ hơn (ví dụ như ARM). Nhưng rằng "chúng tôi có kiến thức của công ty về cách một cái gì đó hoạt động với công nghệ cũ" so với "chúng tôi là bằng chứng trong tương lai bằng cách có khả năng chạy trên phần cứng hiện đại" là một sự đánh đổi bảo mật đầu tư cổ điển. Nếu bạn gặp một trong những dự án kiểu đó, tôi sẽ cố gắng nói chuyện với ông chủ trong bối cảnh đó. Đối với công việc nhỏ dễ dàng, yeah, 8051.
Tôi có nên bận tâm tìm hiểu về kiến trúc MCU nói chung?
Đúng! Tôi nghĩ rằng @jfkowes giải thích điều đó rất tốt. Nhưng thành thật mà nói: điều này hơi giống với câu hỏi "tôi có nên học cách động cơ đốt trong hoạt động nếu tôi muốn trở thành thợ sửa xe"; câu trả lời là "bạn có thể sống tốt nếu bạn có thể thực hiện tốt các hướng dẫn sửa chữa, nhưng bạn có thể sẽ là một kỹ thuật viên tốt hơn nhiều (kỹ sư còn lại) nếu bạn hiểu phần cứng của bạn làm gì.
Ngay khi bạn đối mặt với một vấn đề không thể là google, bạn sẽ trở thành một con rùa trên lưng nếu bạn không hiểu rõ về cách thức hoạt động của bộ xử lý.
Tôi có nên bận tâm tìm hiểu kiến trúc 8051?
Chắc là không. Theo nghĩa là, vâng, miễn là chi phí không phải là trọng tâm chính của bạn, rất có thể bạn chỉ cần sử dụng các MCU mạnh mẽ và linh hoạt hơn nhiều dựa trên lõi ARM hoặc các kiến trúc hiện đại hơn khác.
Một lần nữa, lõi 8051 dễ đến mức tôi thực sự khuyên bạn nên hiểu đơn vị của nó là gì trước khi cố gắng giải quyết lõi MCU hiện đại, phức tạp hơn. Đó là một ví dụ hay.
Vì vậy, nếu 8051 không phải là cốt lõi tôi đang tìm kiếm trong một ứng dụng khối lượng thấp, những gì đang tôi đang tìm kiếm?
Vì vậy, cá nhân: đi cho ARM Cortex-M0, -M3, -M4F; Chúng có rất nhiều trong tất cả các loại vi điều khiển giá cả phải chăng, dễ lập trình (yay, hỗ trợ GCC trưởng thành, libs tiêu chuẩn CMSIS, rất nhiều HĐH nhúng chạy trên chúng) và thường đi kèm với giao diện gỡ lỗi tiêu chuẩn ( là một điểm cộng tuyệt vời).
ARM, từ bên ngoài, thường tương đối dễ hiểu, vì bạn thường ánh xạ mọi thiết bị ngoại vi vào không gian bộ nhớ, và đó là nó. Trong nội bộ, chúng có mức độ tinh vi khác nhau, và tối ưu hóa tốc độ / mạnh mẽ / kích thước, khiến chúng không hoàn toàn dễ hiểu về chi tiết, nhưng tôi đoán rằng có thể sẽ hơi khó để hỏi trừ khi bạn thiết kế CPU.
Nếu bạn thích thiết kế CPU, tôi nghĩ (đây thực sự là niềm tin cá nhân dựa trên quan sát của tôi về các hoạt động nghiên cứu và đầu tư vào ngành "đã hứa"), chúng tôi hiện đang quan sát sự trỗi dậy của một ISA quan trọng mới - RISC-V. Có nhiều cách triển khai kiến trúc này cho các đồ họa hoặc silicon, và những người như Nvidia dường như cũng chơi với việc thay thế bộ đa xử lý luồng của họ bằng các loại lõi này.
: Rất có khả năng tôi thiếu hơn một nửa số 8051 thực tế mà người anh em họ có (bởi vì, này, tôi chỉ chọn tất cả các MCU có tên cốt lõi là * 80 * 5 *). Rất có thể là nếu bạn chọn một bộ vi điều khiển 8 bit ngẫu nhiên, có khả năng lõi của nó ít nhất có nguồn gốc một phần từ 8051. Ý tôi là, chỉ cần nhìn vào
"danh sách [8051] nhà cung cấp phái sinh" của wikipedia .