摘要:
第一個程序:數字輸出
我們知道的引腳上有數字量IO和模拟量IO。至于其中它們有什麼不同,這裡就不再闡述。
而下面将用“點亮一個燈”的簡單程序,說明的數字輸出功能。也許很好理解,在單片機的編程中“點亮一個燈”程序跟寫“Hello World”的程序,兩者有異曲同工之妙。都是占領了硬件編程和軟件編程的TEST地位。
硬件電路連接:将的第2腳引出來接上1K電阻,将發光二極管負極接電阻的另一端,正極接電源(VCC)。
基礎教程:數字輸入
在數字電子的世界中,有輸出,也會有輸入。這跟你在生活中有财務支出,也有收入類似。開關()是一種最基本的輸入形式了。通常我們按一個開關就能打開電燈,或者按一個開關打開用電器的電源。開關的功能是連接或斷開電路。
的數字IO口上能讀出兩個狀态值,一個是高電平(5V),另一個是低電平(0V)。所以我們隻要設計一個電路能讓的引腳在高低電平這兩個狀态值之間切換,就能讓分辨出開關的狀态了。
基礎教程:模拟輸入
能對數字信号進行有效的處理和識别,但是生活上很多東西,很多概念都不是一個數字量。比如說溫度值,就是一個很好的例子,它是一個連續變化的信号,不可能有0到1的突變。這也是模拟輸入存在的必要性了。
很好理解。我們隻要使用傳感器(),将模拟量有效轉換為能夠識别的形式。例如轉換成電壓。
再如,一種溫度傳感器能夠将溫度值轉換成0V到5V間的某個電壓,比如0.3V、3.27V、4.99V等等。由于傳感器表達的是模拟信号,它不會像數字信号那樣隻有簡單的高電平和低電平,而有可能是在這兩者之間的任何一個數值。至于到底有多少可能的值則取決于模數轉換的精度,精度越高能夠得到的值就會越多。
而采用的ADC( to ),稱模數轉換,每一個模數轉換器的精度都是10bit,也就是說能夠讀取1024(2^10 = 1024)個狀态。在的每一個模拟輸入管腳上,電壓的變化範疇是從0V到5V,因此能夠感知到的最小電壓變化是4.8毫伏(5/1024 = 4.8mV)。
基礎教程:模拟輸出
既然都有了模拟輸入了,當然少不了模拟輸出。還是那個例子,你總吃飯不拉怎麼行呢?!開個玩笑,禁止想象!
但也正如你想象的,現實生活中可能會遇到要輸出0和1之外的數值。有時候除了開燈,關燈之外,可能還需要調光,而調光也就是模拟的一種輸出方式。
由于的微控制器隻能産生高電平(5V)或者低電平(0V),而不能産生變化的電壓,因此必須采用脈寬度調制技術(PWM,Pulse Width )來模拟電壓變化。
基礎教程:串口輸出
先這麼理解,是個獨立的個體,可以說是一個沒有外圍設備的計算機微控制系統。而在一些應用的環境下,我們需要讓跟其他設備進行通信。在微控制領域,常見的是使用串行通信。我們将通過連接PC機進行通信,說明串行通信的一個例子:串口輸出功能。
基礎教程:串口接收
很多時候,我們需要用接收PC機下發的命令,有效的識别後,進行相應的響應。也就是通過PC機(上位機)控制(下位機)。
而實現這一功能 也是通過的串行口通信來完成的。上一篇文章講了串行口輸出,其實也就是串行口的一個發送數據功能,而這篇文章,也就是講串口通信的接收數據功能。通過.read()函數,我們可以接收到從串口發來的數據。
一樣的,将 UNO 通過USB線與PC機連接
詳情見PDF文檔(點擊PDF文檔**)
上一篇
神農架,我的神往
有話要說...