iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
自我挑戰組

如何從 AVR 當中探索計算機的本質 系列

現代生活中,舉凡微波爐到交通工具,都有電腦(或微控制器)的存在,但我們卻對事物的運作原理越來越陌生。這是一段學習感謝電;感謝半導體;感謝 Assembly;感謝 C 語言;感謝現代電腦發展的旅程。
AVR 單晶片相當便宜,也很容易取得,只要插在麵包板上即可開始。本系列文會從 AVR 出發,介紹一連串關於計算機架構的基本原理。

參賽天數 4 天 | 共 7 篇文章 | 6 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day1 — 前言:為什麼是 AVR?

或許看到本系列文章會產生的第一個疑問大概就是:「為什麼是 AVR?」。的確,現在潮潮都用 x86,不然就是 ARM,怎麼有人會想要講老掉牙的 AVR? 以下是筆...

2021-09-14 ‧ 由 愷開 分享
DAY 2

Day2 — 前導:電是如何產生的?從交流到直流

電的產生方式來自於一個簡單的事實:電磁感應。在感應線圈裡如果磁通量發生變化就會產生電。 雖然在現代這被視為理所當然的事情,但法拉第也花了相當長的時間做實驗,才發...

2021-09-15 ‧ 由 愷開 分享
DAY 3

Day3 — 前導:電晶體如何組成邏輯閘

如果用非常概括性的說法來描述 CPU 的組成,其實就是數以億計的電晶體組合而成的。那麼電晶體又是怎麼組成的呢? 一切來自於沙子 沙子的主要成分為二氧化矽,經由提...

2021-09-16 ‧ 由 愷開 分享
DAY 4

Day4 — 邏輯組合電路與序向邏輯電路

有了邏輯閘當作建構的基本要素之後,接下來要來探討幾個 CPU 的基本結構,我們需要讓它們能夠做基本運算以及儲存資料。 這部分可以分為兩大電路:組合邏輯電路以及序...

2021-09-17 ‧ 由 愷開 分享
DAY 4

Day5 — 前導:使用工具介紹

(因前幾天有其他事情要處理因此斷賽,不過在可能範圍內還是會將內容補齊) 要撰寫 AVR 程式碼並編譯它及上傳到 chip 上有幾個方法: 用 Arduino...

2021-09-29 ‧ 由 愷開 分享
DAY 4

Day6 — 組合語言淺談

對於組合語言,最大的迷思在於:「有了編譯器,為什麼我還要學組合語言?」,關於學習組合語言的好處我認為可以分成幾點討論。 1. 知道處理器(MCU)是如何運作的...

2021-10-02 ‧ 由 愷開 分享
DAY 4

Day7 — GPIO 功能

GPIO 全文為 General purpose input/output,在微控制器當中通常具有控制引腳輸出或輸入的功能,可以透過程式控制某一腳位的輸出為高電...

2021-10-09 ‧ 由 愷開 分享