Làm thế nào để xây dựng một máy tính?


15

Tôi là người mới trong ngành điện tử. Tôi đang cố gắng xây dựng một máy tính từ đầu như một dự án đơn giản và sở thích phụ để giữ cho tôi bận rộn.

Mục tiêu của tôi là xây dựng một máy tính đơn giản, không phải là máy tính khoa học hay đồ thị, mặc dù tôi không ngại nhận thông tin về cách thực hiện điều đó, chỉ vì những cú đá.

Có một hướng dẫn tốt cho việc này? Tôi nên bắt đầu như thế nào?


2
Có một bộ công cụ để xây dựng một máy tính 4 chức năng cơ bản ở đây: spikenzielabs.com/Catalog/iêu
jwygralak67

Câu trả lời:


26

Dưới đây là một ví dụ về một máy tính mà bạn có thể xây dựng mà không cần quá nhiều kiến ​​thức điện tử. Nó có đầy đủ tính năng, mặc dù không bao gồm bổ sung.

Vâng, tôi nói đùa, đừng quá nghiêm túc


cười lớn. Đó là gì? Tôi nghĩ rằng tôi đã nhìn thấy nó trước đây, mặc dù tôi không chắc chắn. Rất tò mò muốn xem liệu tôi có thể chạm tay vào một trong những thứ đó không. Bạn có tên hoặc liên kết đến một trong số đó không?
Philoxopher


điều này đã truyền cảm hứng cho câu hỏi của tôi: Electronics.stackexchange.com/questions/11263
markrages

@KerxPhilo - Hahahahahahahahahahah ...... oh thời gian thay đổi như thế nào.
Sói Connor

@markrages, danh tiếng cho câu hỏi của bạn, rất thú vị :)
Philoxopher

18

Đó không phải là một dự án tầm thường. Có rất nhiều dự án phụ giáo dục phải lo lắng. Một là các nút và gỡ lỗi. Một cách khác là viết các ký tự lên màn hình. Có một quyết định về cách bạn muốn thực hiện điều này mà bạn quan tâm đến việc làm nó từ một hộp lớn của cổng nand hoặc muốn lấy một vi điều khiển hoặc bộ xử lý khác và viết phần mềm? Bạn có thích sử dụng một fpga và thực hiện tất cả các phép toán trong RTL không? Bạn cần chia vấn đề thành các thành phần đó và làm việc / tìm hiểu từng thành phần một sau đó kết hợp chúng lại với nhau. Ví dụ, nếu công cụ toán học lõi thực sự là phần mềm trên vi điều khiển, một tác vụ sẽ bao gồm viết một số hàm C trên máy tính để bàn của bạn để bạn có thể cung cấp tổ hợp phím và các ký tự đầu ra cuối cùng sẽ hiển thị. Một nhiệm vụ không hề nhỏ nếu bạn chưa bao giờ lập trình trước đó.

Là một dự án giáo dục, những gì tôi sẽ làm là nhận được một vài bệ phóng msp430, mỗi lần dưới 5 đô la hoặc khám phá dòng giá trị STM32 (stm32 / arm không phải là một cái khác) cho khoảng 12 đô la mỗi cái. Một số người sẽ hướng bạn đến arduino, và đó cũng là một nền tảng tốt, nó có những ưu và nhược điểm, tôi sẽ không đi với nó như là vi điều khiển đầu tiên của tôi. Mua một bảng điều khiển LCD hai dòng đơn giản, màn hình LCD trái đất từng là một nơi tốt, có lẽ chỉ cần đến sparkfun. Lấy một bảng vi điều khiển móc nó lên bảng LCD và tìm hiểu cách đặt các ký tự trên màn hình. Sau đó tôi sẽ học cách sử dụng uart trên vi điều khiển thường bắt đầu bằng việc nổ byte, sau đó nhận và lặp lại. Sử dụng bộ thu uart để nhận những thứ được đưa lên màn hình sau đó sử dụng thiết bị đầu cuối câm (putty, hyperterm, minicom) từ một nguồn cấp dữ liệu máy tính vào và đảm bảo nó hoạt động. Tiếp theo, lấy một vi điều khiển khác, sử dụng kinh nghiệm vào và ra của bạn và làm việc trên công cụ toán học lõi, từ máy tính của bạn cung cấp 0 - 9, +, -, = lúc đầu, sau đó thêm bội và chia và sau đó là dấu phẩy động nếu bạn đủ can đảm cho điều đó (hoặc có một thư viện phù hợp). Đầu ra từ mô-đun toán học sẽ lặp lại các số đầu vào và in kết quả khi = được gửi vào, v.v. Sau đó tìm hiểu phải làm gì với các nút, tìm một mảng các nút, đưa chúng vào vi điều khiển thứ ba bằng cách nào đó, gỡ lỗi và biến nó thành uart ra khỏi 0 - 9, +, -, = cho vi điều khiển toán học. THEN, giảm tất cả điều này vào một vi điều khiển duy nhất mà không có công cụ uart ở giữa. sử dụng kinh nghiệm vào và ra của bạn và làm việc trên công cụ toán học cốt lõi, từ máy tính của bạn cung cấp 0 - 9, +, -, = lúc đầu, sau đó thêm nhân và chia và sau đó nổi nếu bạn đủ can đảm cho điều đó (hoặc có một thư viện phù hợp). Đầu ra từ mô-đun toán học sẽ lặp lại các số đầu vào và in kết quả khi = được gửi vào, v.v. Sau đó tìm hiểu phải làm gì với các nút, tìm một mảng các nút, đưa chúng vào vi điều khiển thứ ba bằng cách nào đó, gỡ lỗi và biến nó thành uart ra khỏi 0 - 9, +, -, = cho vi điều khiển toán học. THEN, giảm tất cả điều này vào một vi điều khiển duy nhất mà không có công cụ uart ở giữa. sử dụng kinh nghiệm vào và ra của bạn và làm việc trên công cụ toán học cốt lõi, từ máy tính của bạn cung cấp 0 - 9, +, -, = lúc đầu, sau đó thêm nhân và chia và sau đó nổi nếu bạn đủ can đảm cho điều đó (hoặc có một thư viện phù hợp). Đầu ra từ mô-đun toán học sẽ lặp lại các số đầu vào và in kết quả khi = được gửi vào, v.v. Sau đó tìm hiểu phải làm gì với các nút, tìm một mảng các nút, đưa chúng vào vi điều khiển thứ ba bằng cách nào đó, gỡ lỗi và biến nó thành uart ra khỏi 0 - 9, +, -, = cho vi điều khiển toán học. THEN, giảm tất cả điều này vào một vi điều khiển duy nhất mà không có công cụ uart ở giữa. Đầu ra từ mô-đun toán học sẽ lặp lại các số đầu vào và in kết quả khi = được gửi vào, v.v. Sau đó tìm hiểu phải làm gì với các nút, tìm một mảng các nút, đưa chúng vào vi điều khiển thứ ba bằng cách nào đó, gỡ lỗi và biến nó thành uart ra khỏi 0 - 9, +, -, = cho vi điều khiển toán học. THEN, giảm tất cả điều này vào một vi điều khiển duy nhất mà không có công cụ uart ở giữa. Đầu ra từ mô-đun toán học sẽ lặp lại các số đầu vào và in kết quả khi = được gửi, v.v. Sau đó tìm hiểu phải làm gì với các nút, tìm một mảng các nút, đưa chúng vào vi điều khiển thứ ba bằng cách nào đó, gỡ lỗi và biến nó thành uart ra khỏi 0 - 9, +, -, = cho vi điều khiển toán học. THEN, giảm tất cả điều này vào một vi điều khiển duy nhất mà không có công cụ uart ở giữa.

Một cách khác là lấy một trong các bảng fpga rs-232 từ knjn.com hoặc mạng lưới (có đủ lớn không?) Hoặc một số bảng khác, sau đó làm việc trên từng khối chức năng bằng ngôn ngữ RTL. các phần của nó sẽ dễ dàng hơn nhiều so với giải pháp phần mềm tương đương, một số phần sẽ khó hơn một chút so với giải pháp phần mềm.

Nếu bạn có thể cung cấp thêm thông tin như những gì bạn đang nghĩ, một hộp cổng nand hoặc giải pháp dựa trên vi điều khiển hoặc bạn đang nghĩ về điều gì khác?


7

Máy tính điện tử đơn giản nhất bạn có thể xây dựng sẽ là máy tính nhị phân bốn chức năng. Bạn có thể xây dựng nó bằng cách sử dụng các công tắc để nhập số nhị phân và 7400 phần tử logic cơ bản của gia đình có thể xử lý các bộ cộng sẽ xử lý phần bổ sung. Bạn có thể sử dụng một trong hai đèn LED để thể hiện từng số nhị phân ở đầu ra hoặc bạn có thể sử dụng một số màn hình bảy đoạn để hiển thị số ở dạng thập lục phân. Xây dựng một máy tính nhị phân sẽ cho phép bạn tránh xây dựng một công cụ chuyển đổi thập phân sang nhị phân và sẽ giúp bạn làm quen với cách thức hoạt động của thiết bị điện tử kỹ thuật số. Nếu bạn có kế hoạch tham gia vào thiết bị điện tử kỹ thuật số như một sở thích, bạn có thể muốn xem xét nhận Logisim , một chương trình miễn phí cho phép bạn mô phỏng các mạch của mình trước khi bạn xây dựng chúng.


2
Ồ Trong thời đại của System-on-Chip, bạn muốn anh ta nối hai mươi cổng mỗi chữ số chỉ để thêm ? Ngay cả máy tính cầm tay đầu tiên cũng không làm được điều đó. Máy tính chip đơn đã được khoảng ba mươi năm.
Ron

Chà, bạn có thể sử dụng 74181 cho lát 4 bit. Điều đó sẽ dễ dàng hơn, nếu không có gì khác.
W5VO

1
Có, điều này có thể được thực hiện với một hoặc hai chip (sử dụng bộ vi xử lý như ví dụ này ), nếu anh ta muốn tạo máy tính trong phần mềm. Có lẽ việc xây dựng toàn bộ máy tính bằng các thành phần rời rạc sẽ tốn quá nhiều thời gian, nhưng nếu anh ta muốn vào phần cứng, máy tính nhị phân có thể là điểm khởi đầu tốt.
nhà phát

Đây thực sự là một ý tưởng tốt, để có được sự hiểu biết đúng đắn về toán học bit nhị phân. Tôi đã thực hiện một dự án nửa người với con gái 12 tuổi của mình, trong khi chúng tôi hết phòng trên một chiếc bánh mì - cô ấy tiếp tục "xây dựng" nó hầu như trong Minecraft. Cô "hiểu" khái niệm về cổng và thêm bit, đó là toàn bộ vấn đề.
Ron J.

Đối với những gì nó có giá trị, máy tính (thường) không hoạt động nội bộ trong hệ nhị phân và chuyển đổi, chúng hoạt động trực tiếp trong BCD. Một lát bốn bit là đủ của ALU (thực tế đó là công việc ban đầu của Intel 4004).
Spehro Pefhany

6

Đây là cách tôi đã làm nó.

Chọn thành phần:

Input Device(Bàn phím 4x4 trong trường hợp của tôi. 10 phím cho chữ số, 4 cho toán tử, một cho '=' và một cho 'đặt lại / làm mới')

Processor(AVR 8 bit)

Output device(LCD 16x2)

Power supply(Bộ điều chỉnh LM7805 với pin 9volt)

BreadBoard(tạo PCB sau khi nó bắt đầu hoạt động)

Tôi đã chọn chương trình lắp ráp (để tìm hiểu), vấn đề lựa chọn cá nhân. Tôi đã sử dụng AVR Studio 4 làm IDE và lập trình viên 'ISP' dựa trên lpt nướng tại nhà để flash hex vào AVR.

sau đó tôi viết trình điều khiển cho LCD và bàn phím. Khi có thể lấy đầu vào và tạo đầu ra, bắt đầu phân tích cú pháp bằng số thập phân và toán tử, sau đó tôi phân tích cú pháp các biểu thức và đọc về các phương thức Infix, Postfix và Prefix . Tôi đã thực hiện công việc lắp ráp của mình để không có 'Hỗ trợ kiểu dữ liệu FLOAT' và cuối cùng tôi đã thực hiện kiểu dữ liệu tùy chỉnh của mình (kiểu dữ liệu dựa trên BCD để duy trì độ chính xác thập phân 15 chữ số, mặc dù vậy, đó là một sự lãng phí rất lớn đối với RAM!).

Tất cả điều này đã được thực hiện và Voila .. máy tính của tôi đã sẵn sàng (tôi đặt tên là BUB!).

Của tôi chạy @ 1MHz và có thể đánh bại casio_991MS (về độ chính xác thập phân và phép nhân và chia).

Tôi hy vọng điều này sẽ giúp những người khác.


5

Bạn có thể sử dụng bộ công cụ phát triển với mọi thứ đã có trên bảng để cho phép bạn tập trung vào phần mềm. Ví dụ: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en024858&part=DM240001 bộ này có PIC, LCD và một vài nút. Có rất nhiều tiêu đề để thêm các nút bổ sung. Một nhược điểm là màn hình LCD lớn hơn sau đó bạn có thể muốn sử dụng ban đầu nhưng chắc chắn nó sẽ giúp bạn bắt đầu.

Nếu bạn tìm kiếm xung quanh, bạn có thể tìm thấy những cái nhỏ hơn (và rẻ hơn) mà bạn có thể bắt đầu.

Sử dụng một bộ như thế này sẽ giúp bạn bắt đầu viết mã dễ dàng hơn vì chúng sẽ là một số ví dụ và loại bỏ vấn đề về phần cứng vì tất cả đều được thiết lập chính xác. Một nhược điểm khác là bộ này sử dụng các bức ảnh cao cấp quá mức cần thiết cho một dự án máy tính, nhưng nó sẽ cho bạn chỗ để phát triển và điều chỉnh nó trong tương lai để thực hiện các nhiệm vụ khác. Nó cũng sẽ cung cấp cho bạn sơ đồ để sử dụng làm điểm khởi đầu để tạo bảng của riêng bạn trong tương lai.


5

Trên kệ của tôi, tôi có "Máy tính điện tử" của H. Edward Roberts, được chỉnh sửa bởi Forrest M. Mims III. 1974.

Nó khá giáo dục về cách mọi người sử dụng để xây dựng máy tính vào năm 1974. Nhiều bức ảnh là vòng đời hoàn chỉnh của máy tính MITS được sản xuất hàng loạt - hình ảnh của nguyên mẫu (một mớ dây spaghetti lớn), thiết kế PCB (đặt Rubylith lên một bảng soạn thảo), các bộ phận riêng lẻ, dây chuyền lắp ráp, máy hàn sóng và xử lý sự cố.

Ah, nhiều thứ đã thay đổi kể từ đó. Sách ngày nay thường tránh hiển thị mớ dây spaghetti lớn. Máy tính ngày nay tránh đặt điện áp nguồn trực tiếp vào máy tính PCB.

Nhiều thứ vẫn vậy. Mọi người vẫn thường tạo ra một mớ hỗn độn spaghetti lớn của dây trong khi tạo mẫu.


3

Đối với người mới bắt đầu, bạn nên suy nghĩ về các thành phần chính mà bạn sẽ cần. Bạn có thể sẽ cần một bộ vi điều khiển, bàn phím và màn hình LCD. Khi bạn chọn ra các thành phần đó, nó sẽ đơn giản như việc phát triển phần sụn.


Bất kỳ chi tiết nào bạn có thể cung cấp, hãy nhớ tôi là một người mới hoàn toàn khi nói đến việc xây dựng thiết bị điện tử và tôi muốn thực hiện thử thách này như là lần đầu tiên. Với thông tin bạn cung cấp ở trên, đó là một khởi đầu tuyệt vời, tuy nhiên tôi không biết tôi cần loại vi điều khiển nào. Ngoài ra, làm thế nào để phát triển phần sụn? Bạn có viết phần sụn bằng C và tải nó lên phần sụn không, hay bạn phải viết nó trong ASM?
Philoxopher

bạn cũng có thể cung cấp một trang web tốt bán thiết bị điện tử với giá rất rẻ cho những người có sở thích không? Đánh giá cao sự hỗ trợ của bạn!
Philoxopher

Hai bộ vi điều khiển sở thích chính là PIC và AVR. Có trình biên dịch C cho cả hai thiết bị này. Một bộ vi điều khiển đơn giản sẽ hoạt động cho dự án của bạn, miễn là nó có đủ các chân Đầu vào / Đầu ra để giao tiếp với bàn phím và LCD của bạn. Một trang web tốt cho thiết bị điện tử sở thích sẽ là SparkFun
Ryan

2
@KerxPhilo: Có, phần lớn những người trong hệ thống nhúng viết phần sụn bằng C. Ladyada có hướng dẫn tốt về cách viết phần sụn trong C và tải nó lên vi điều khiển cũng như hướng dẫn về kết nối LCD và hiển thị nội dung trên đó .
davidcary

3

Tôi tin rằng đây có thể là một dự án học tập tốt đầu tiên, nhưng nó không tầm thường, và bạn sẽ phải học khá nhiều trên đường đi, cũng như kiên nhẫn vì dự án bao gồm khá nhiều dự án phụ để giải quyết đường.

Rào cản thiết kế đầu tiên bạn cần quyết định là mức độ công nghệ nào bạn muốn làm điều này tại? Có hoặc không có bộ vi điều khiển (bộ vi xử lý phần lớn tự cung cấp), logic rời rạc (ví dụ: AND, OR, cổng NOR và flip-flop) có / không có đơn vị số học (ALU), logic lập trình (CPLD, FPGA), một thứ khác tôi trú ẩn được đề cập hoặc xem xét. Đây là điều đầu tiên về công nghệ được sử dụng để thực hiện các tính toán, điều khiển đầu vào / đầu ra là các quyết định thứ cấp (màn hình bảy đoạn LED, màn hình LCD) chủ yếu bị ảnh hưởng bởi tính thẩm mỹ hoặc chi phí.

Một nơi bắt đầu hữu ích để tìm hiểu về tính toán kỹ thuật số là cuốn sách rất dễ tiếp cận, Cách máy tính làm toán (ISBN: 0471732788) của Clive Maxfield kỳ quặc. Điều này được viết ở cấp độ "mềm" - lập trình hoặc logic, mà bạn sẽ cần phải hiểu để thực sự tính toán.

Một số người khác đã đề cập đến dự án uWatch (- micro-Watch ) làm ví dụ và có các tài liệu tham khảo trên Internet cho các kỹ sư điện (hoặc sinh viên EE) đã xây dựng máy tính của riêng họ vào những năm 1970. Ngoài ra còn có một số chi tiết về việc xây dựng một máy tính dựa trên nền tảng đồ họa (lập trình logic) .

Đối với người mới làm quen với thiết bị điện tử (hoặc điện tử kỹ thuật số) tôi sẽ đề nghị sử dụng bộ vi điều khiển làm điểm khởi đầu trong thiết kế của bạn, hãy xem qua trang web của cuốn sách được đề cập để cảm nhận sự phức tạp trong lập trình (không nhiều nếu bạn có bất kỳ kinh nghiệm lập trình nào) cho vi điều khiển và đi từ đó.



0

yêu cầu phần cứng

  • Bàn phím cho người dùng nhập liệu
  • Một màn hình LCD để hiển thị đầu vào và kết quả của nó
    Trong một sản phẩm máy tính thực, bạn cần một màn hình LCD tùy chỉnh để hiển thị các ký tự đặc biệt như =, -M(đối với MC , MRMS hoạt động ). Một thiết kế LCD tùy chỉnh có giá lên tới 3000 đô la, nhưng sau đó các LCD được thiết kế tùy chỉnh trở nên kinh tế hơn các mục đích chung khác. Vì dự án của bạn chỉ dành cho sở thích, tôi khuyên bạn nên sử dụng màn hình LCD đa năng, với bộ điều khiển KS0108.
  • Một bộ vi điều khiển rất rẻ và không có tính năng
    Bạn cần một bộ điều khiển rất cơ bản vì bạn sẽ thực hiện các tác vụ rất đơn giản. Bạn có thể sử dụng một vi điều khiển PIC giá rẻ.

Các bước thiết kế

  • Lái xe LCD
    Quản lý lái LCD của bạn. Viết một số chữ số trên đó. Viết giao diện phần mềm cho nó.
  • Kiểm tra bàn phím của bạn
    Thực hiện các bước tương tự như bạn đã làm với LCD. Hãy chắc chắn rằng bạn có quyền kiểm soát phần mềm trên bàn phím của bạn.
  • Viết các thuật toán thực hiện các phép toán số học
    Nếu bạn sử dụng một vi điều khiển có thể nhân và chia, bạn không cần phải tự thực hiện các thao tác đó; nhưng bạn phải trả nhiều tiền hơn cho vi điều khiển, mặt khác, bạn học ít hơn và thu được ít kinh nghiệm hơn trong dự án của bạn.

Nếu bạn muốn thêm các tính năng số học nâng cao hơn, (như root vuông, tính toán sin / cos, v.v.), bạn cần thực hiện các thuật toán tính toán có liên quan bằng Phương pháp mở rộng của Newton hoặc Phương pháp mở rộng Taylor Series .

Nếu không, nó là một dự án đơn giản. Thử thách chính của bạn sẽ là lái LCD và bàn phím, nếu bạn không có nhiều kinh nghiệm trước đó.


Tùy thuộc vào mức độ tham vọng của một người, người ta có thể sử dụng một vài thanh ghi thay đổi và một chút logic rời rạc, cùng với "ROM" (có thể là EPROM hoặc flash song song), để xây dựng một vi điều khiển rất thô sơ. Một máy tính đơn giản có thể có thể sử dụng 20 chip hoặc ít hơn, đặc biệt. nếu ai đó sử dụng ROM khá lớn. Một lệnh thông thường sẽ là "đầu ra X trên thanh ghi thay đổi 1, Y trên thanh ghi thay đổi 2, đặt trạng thái đầu ra thành Z và sau đó tìm nạp lệnh tiếp theo từ địa chỉ được hình thành bằng cách nối các giá trị của một số thanh ghi vào hằng số A".
supercat

Người ta sẽ không cần phải có bất kỳ mạch nào để thực hiện bổ sung BCD - tất cả có thể được xử lý trong mã. Nếu một có hai thanh ghi dịch chuyển điều khiển riêng biệt, hãy nâng cao chúng khi cần để các toán hạng nguồn và đích được xếp thành hàng, sau đó sử dụng bốn lệnh để đặt CPU vào một trong 20 trạng thái dựa trên các giá trị của bốn bit được lấy từ mỗi giá trị; bốn hướng dẫn tiếp theo có thể lấy bốn bit tiếp theo từ mỗi thanh ghi thay đổi trong khi ghi đè một trong số chúng bằng bốn bit đầu tiên của kết quả được tính toán.
supercat

Tôi sẽ tranh chấp yêu cầu "LCD tùy chỉnh". Máy tính LCD cung cấp cho mỗi lần xuất hiện các mặt hàng là hàng hóa chỉ với một vài biến thể - cao độ pad, đơn giản so với khoa học (thường ngụ ý 8 so với 10 chữ số). Trong một lựa chọn nhất định ở trên, sẽ có hàng tá nếu không phải hàng trăm mục tương đương về chức năng, ngay cả khi chúng hơi khác nhau về kích thước hoặc kiểu phông chữ.
Chris Stratton

@ChrisStratton: Nếu một người muốn có màn hình 8 chữ số mà không có phụ kiện, các bộ phận ngoài giá có sẵn sẽ đáp ứng mô tả đó. Tôi không nghĩ rằng tôi đã thấy bất kỳ màn hình ngoài kệ nào có chức năng tương đương với các màn hình trong một máy tính thông thường. Lưu ý rằng máy tính có thể sử dụng các kết nối dải ngựa vằn, rẻ hơn so với chân để sản xuất, nhưng khó hơn để làm việc trong một dự án DIY.
supercat

@supercat - LCD được sử dụng trong máy tính giá rẻ có xu hướng sử dụng ruy băng có chất kết dính kích hoạt nhiệt, không phải là dải ngựa vằn. Và họ mục off-the-shelf phần lớn tiêu chuẩn có thể được trao đổi giữa sản xuất chạy.
Chris Stratton

0

Cách dễ nhất để thực hiện một máy tính có thể là sử dụng một vi điều khiển. Nếu bạn quyết định đi theo con đường đó, bước đầu tiên sẽ là tìm một số mã để thực sự tính toán. Bạn cần một chương trình chấp nhận toán hạng và toán tử và đưa ra kết quả. Điều này mô-đun máy tính tương đối đơn giản viết bằng csẽ cung cấp cho bạn một ý tưởng về những gì cần thiết. Nó có thể cộng, trừ, nhân và chia cũng như một số thao tác bitwise và, nếu bạn sử dụng Ký hiệu đảo ngược như trong máy tính khoa học, nó có thể giải các biểu thức con trong ngoặc đơn. Vì vậy, bạn sẽ đọc những nút nào được nhấn, thu thập từng "mã thông báo" trong bộ đệm chuyển đổi bất kỳ chữ số nào thành giá trị số thực và sau đó khi bạn nhận được nút "=", bạn cung cấp danh sách mã thông báo cho mã eval này để giảm và giải quyết biểu thức dẫn đến một giá trị duy nhất.


0

Đối với người mới bắt đầu, đây là BOM được đề xuất của tôi cho dự án của bạn:

  • 1x bo mạch Arduino Uno hoặc Leonardo, có vi điều khiển cần thiết trên đó
  • HD44780LCD dựa trên 1x , giống như màn hình 16x2 có mặt khắp nơi
  • Bàn phím ma trận 1x

Điều này sẽ cho phép một máy tính cơ bản được xây dựng.

Đối với các mục đích nâng cao hơn, đây là BOM được đề xuất của tôi:

  • 1x Arduino Mega 2560 hoặc Arduino Do (chương trình này sẽ rất lớn trong trường hợp này)
  • ST7920LCD ma trận dựa trên 1x , hỗ trợ cả ký tự và đồ họa
  • 1x Khiên bảo vệ máy chủ USB Arduino (chỉ dành cho Mega 2560, Do có tính năng máy chủ USB gốc) cho bàn phím

Điều này sẽ cho phép bạn xây dựng một máy tính vẽ đồ thị phức tạp như các dòng TI-83 Plus hoặc TI-nSpire.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.