前兩篇教程中我們學習了LED、按鍵、開關的基本原理,數字輸入輸出的使用以及兩者之間的關系。我們用到了 pin_mode 、 pin_read 和 pin_write 這三個函數,實際上它們離最底層(至少是單片機制造商允許我們接觸到的最底層)就只有一步之遙了。而學單片機要是不了解一點底層 ...
本文隸屬於AVR單片機教程系列。 好久沒寫這個系列了。今天講講旋轉編碼器。 旋轉編碼器好像不是單片機玩家很常用的器件,但是我們的開發板上有,原因如下: 旋轉編碼器挺好用的。電位器能旋轉的角度有限,旋轉編碼器可以無限圈旋轉 旋轉時不連續,有卡點,適合對應離散數據。 開發板上選用的旋轉編碼器,使用起來簡單 方便。 本來旁邊的電位器 旋鈕,以后會講 一枝獨秀,挺孤單的,我就配一個高度大致相同的旋轉編碼器 ...
2019-12-19 12:53 0 1344 推薦指數:
前兩篇教程中我們學習了LED、按鍵、開關的基本原理,數字輸入輸出的使用以及兩者之間的關系。我們用到了 pin_mode 、 pin_read 和 pin_write 這三個函數,實際上它們離最底層(至少是單片機制造商允許我們接觸到的最底層)就只有一步之遙了。而學單片機要是不了解一點底層 ...
本文隸屬於AVR單片機教程系列。 中斷,是單片機的精華。 中斷基礎 當一個事件發生時,CPU會停止當前執行的代碼,轉而處理這個事件,這就是一個中斷。觸發中斷的事件成為中斷源,處理事件的函數稱為中斷服務程序(ISR)。 中斷在單片機開發中有着舉足輕重的地位——沒有中斷,很多功能就無法 ...
本文隸屬於AVR單片機教程系列。 在用DAC做了一個稍大的項目之后,我們來拿ADC開開刀。在本講中,我們將了解0.96寸OLED屏,移植著名的U8g2庫到我們的開發板上,學習在屏幕上畫直線的算法,編寫一個示波器程序,使用EEPROM加入人性化功能,最后利用示波器觀察555定時器、放大電路 ...
。 單片機是應該自學的,因為它涉及到並應用於方方面面,廣泛程度使課堂只能占學習的一小部分。單片機也是適合自學的 ...
本文隸屬於AVR單片機教程系列。 上一講中,我們實現了單片機開發板向電腦傳輸數據。在這一講中,我們將通過電腦向單片機發送指令,讓單片機根據指令控制LED。這一次,兩端的TX與RX需要交叉連接,單片機TX連接串口工具RX也是需要的,因為程序會根據指令反饋信息。 為了簡單起見,我們的程序 ...
本文隸屬於AVR單片機教程系列。 在第一期中,我們已經開始使用UART來實現單片機開發板與計算機之間的通信,但只是簡單地講了講一些概念和庫函數的使用。在這一篇教程中,我們將從硬件與軟件等各方面更深入地了解UART。 USART組件 一直在講的UART其實是USART組件的一部分 ...
本文隸屬於AVR單片機教程系列。 ADC 計算機的世界是0和1的。單片機可以通過讀取0和1來確定按鍵狀態,也可以輸出0和1來控制LED。即使是看起來不太0和1的PWM,好像可以輸出0到5V之間的電壓一樣,達到0和1之間的效果,但本質上還是高低電平。 但是,世界上終究還是有0和1無法表示 ...
本文隸屬於AVR單片機教程系列。 開發板上有4個按鍵,我們可以把每一個按鍵連接到一個單片機引腳上,來實現按鍵狀態的檢測。但是常見的鍵盤有104鍵,是每一個鍵分別連接到一個引腳上的嗎?我沒有考證過,但我們確實有節省引腳的方法。 矩陣鍵盤 這是一個4*4的矩陣鍵盤,共有16個按鍵只需要 ...