如果我們對數位電路和模擬電路沒有任何基礎,但是我們還是很想學微控制器怎麼辦?
密密麻麻的電路以及一些不知道什麼的線和焊針,可能直接把你勸退。
本文是我的第一篇部落格,以下是我對微控制器的總結,我初學微控制器的時候跟大家是一樣的,什麼都不懂,就會一點點c語言。我經過乙個月的學習,把微控制器(開發板)的硬體資源全部整了一遍,到現在差不多可以靈活運用上面的所有硬體資源了以及外接資源。
以下是我入門的經歷,以及解決辦法。
我入門開發板為普中51 a2開發板點亮第乙個小燈,是我們有微控制器之後的乙個任務。
首先請保證你已經會c語言到迴圈語句之前了。
第乙個可能讓你產生不適的概念 :高電平、低電平。
這裡高電平代表的是1,低電平代表的是0。
這裡我們將高電平和低電平可以當作正負極。
這裡看以下原理圖:
現在我們需要知道第乙個概念:暫存器
其實p2就是乙個8bit的暫存器,這裡我們可以這樣理解:
我們可以通過c語言來控制每個小盒子讓他變換0和1,注意0和1分別是低電平和高電平,也就是負極和正極。
比如我們讓p20這個小盒子變成0也就是負極,這個 led0就可以亮了,因為另一端都都連線著正極。
程式如下:
#include
sbit led0 = p2^0;
//此處sbit就是微控制器中用於定義乙個暫存器中乙個bit用的變數
void
main()
這樣乙個小燈就成功點亮了。
我們也可以不定義led0,直接用p2=0xfe,代表的也是p20=0,而其他盒子都是1.
據說流水燈困擾了一些人很長時間。
#include
#include
#define uint unsigned int
#define uchar unsigned char
void
delayms
(uint z)
void
main()
}
左移的情況大概是這個樣子:
總之就是這個迴圈的樣子,讓這8個盒子迴圈移動
這段**中用到了乙個延時函式,說一下延時函式的原理。
其實上面用的延時函式就是拖微控制器執行的時間,在51微控制器中執行一條指令大概要用19微秒,
就是說執行乙個i++,或者p2=0xfe 耗時19微秒可以記住上面用的延時函式,經過測試大概令z=1,用時1毫秒左右。
51微控制器入門了解
一 微控制器的基礎知識 1 微控制器的電平特性 數位電路中只有兩種電平 高和低 本課程中 定義微控制器為ttl電平 高 5v 低0v。rs232電平 計算機的串列埠,高 12v 低 12v。所以微控制器與計算機之間進行通訊時需要加電平轉換晶元max232。2 微控制器的進製 微控制器的內部進製 二進...
51微控制器入門(三)
數碼管顯示,定時器中斷 鍵盤檢測 1.數碼管 分共陽極和共陰極數碼管。我的實驗板是共陰極,多位數碼管的公共端叫做 位選線 連線在一起的段線叫做 段選線 位選是獨立控制的,而段選是連線在一起的。段選資料由p0口傳送,位選由p2口的2.3.4控制。消影用p0 0x00 2.中斷 為使微控制器具有對外部或...
51微控制器學習歷程(二)快速入門51微控制器
首先開啟看51微控制器的管腳分布,51微控制器是8個引腳一組,為什麼是8個一組呢?因為它是8位微控制器,正好乙個位元組8位可以控制它 51微控制器有4組 p1,p2,p3,p4 通用管腳,所以51微控制器有4 8 32個通用管腳 其實通用管腳不就類似於開關,初學者先當開關用 看下原理圖,看開發板上的...