單片機(jī)入門不難,這是幾年前的一篇老文章,講得通俗易懂,分享給初學(xué)者。
這個(gè)8條腿的小螃蟹就是我們的第一頓飯,只要把它吃下去,以后的大餐就好辦了。
第1、8條腿接電源 +5V 和 地線。頭兩條腿是螃蟹鉗子,好吃的很。 現(xiàn)在剩下了 6 條腿
第2、3條腿 使用時(shí)外接一個(gè)晶振的東西 我們接一個(gè) 4 MHz的。
第4條腿是復(fù)位腳,是一個(gè)信號(hào)輸入腳。單片機(jī)正常運(yùn)行時(shí)接高電平。當(dāng)有一個(gè)低電平脈沖輸入到這個(gè)腳時(shí)單片機(jī)就復(fù)位。所謂復(fù)位就是單片機(jī)內(nèi)部所有的工作部件統(tǒng)統(tǒng)回到規(guī)定的狀態(tài),程序也復(fù)位到頭一句上開始逐條運(yùn)行。例如,你設(shè)計(jì)的一個(gè)報(bào)警鎖定的 LED紅燈亮后,當(dāng)需要解除報(bào)警時(shí),用一個(gè)按鈕給這個(gè)腳瞬時(shí)接地一下,相當(dāng)于給它一個(gè)夫脈沖,系統(tǒng)就復(fù)位了,led燈就熄滅了,程序從頭開始。
以上5個(gè)腳,幾乎所有單片機(jī)都有,包括世界上最復(fù)雜的,和世界比較簡(jiǎn)單的單片機(jī)-----PIC12CE519
輪到第幾條腿啦?奧,是第5條腿,這條叫單片機(jī)的 I/O 腳。就是輸入輸出腳。你可通過(guò)程序動(dòng)態(tài)地控制它作為輸入或輸出,作為輸出時(shí)可以程序控制它的輸出電平為高1或低0。所以,他的工作狀態(tài)有四種:輸入0,輸入1,輸出0,輸出1,剩下的兩條腿和第5腳功能一個(gè)樣。
上邊我們已經(jīng)把8條腿消化掉了,其實(shí)我們要弄明白的也就3只腿,我們?cè)俸?jiǎn)單一些,先整明白兩條腿,即GP0,GP1.這兩條腿低級(jí)一點(diǎn)的用法,可以控制繼電器,LED燈,高級(jí)一些的用法可以進(jìn)行I2C總線,RS232總線的通信,作為擴(kuò)展輸入可以模擬出來(lái)A/D轉(zhuǎn)換器(6--7bit),可以測(cè)量一個(gè)電阻的粗略值。作為輸出也可以直接推動(dòng)揚(yáng)聲器奏出音樂(lè)。這是后話暫且不提。
現(xiàn)在要控制使用這兩只腿,我這個(gè)三腳貓功夫的說(shuō)書的不得不講一下軟件了,要想講明白軟件又不得不涉及到單片機(jī)的內(nèi)部結(jié)構(gòu)。那位說(shuō)啦,你可別提這軟件和結(jié)構(gòu)了,以前俺就是讓它們打敗的,現(xiàn)在聽到這個(gè)心里就打鼓。嘿嘿,不要緊,果真如你所說(shuō),那你就不妨跟著我再失敗一次, 反正嗎多一次失敗又不納稅,嘿嘿。不過(guò)你也要有思想準(zhǔn)備,徹底弄明白是個(gè)漸進(jìn)的過(guò)程。
要說(shuō)這程序和單片機(jī)內(nèi)部結(jié)構(gòu),還真是老大難,不過(guò)蟹黃蟹肉可都在里面。我現(xiàn)在要是給你說(shuō)PIC單片機(jī)是哈佛結(jié)構(gòu)的,51系列是馮-諾伊曼結(jié)構(gòu)的,恐怕你要立馬走人了。所以我得用點(diǎn)心思不讓你溜號(hào)。
好在PIC系列的制造商(microchip 微芯公司 美國(guó))理解我等苦衷,全部只有35條指令,而且有一些指令我們一般很少使用,常用的也就十幾句,用的時(shí)候查手冊(cè),無(wú)需記憶。就算我們兩天學(xué)習(xí)一句,也就兩三個(gè)月時(shí)間,總比到老了還怕它們強(qiáng)啊。廢話少說(shuō)先看下面的兩個(gè)例語(yǔ):
my_name006: movlw 02h '常數(shù)2進(jìn)入w
movwf GPIO 'W 的數(shù)進(jìn)入 寄存器GPIO
這就是我們編的程序里的兩個(gè)句子,也叫源程序。有以下特點(diǎn)
每行只能寫一句話
每句話由四部分組成:
標(biāo)號(hào): 操作指令 操作數(shù) '程序注釋
下面我結(jié)合例子把這四部分解釋一下。
第一部分 my_name006: 叫做標(biāo)號(hào),它是由字母或數(shù)字組成,由冒號(hào)結(jié)束。標(biāo)號(hào)可有可無(wú),比如第二句就沒(méi)有標(biāo)號(hào)。
第二部分movlw 叫做操作指令。它是必須有的,不能省略。PIC 系列的單片機(jī)共有 35 條指令。
第三部分02h 叫做操作數(shù)。有的指令沒(méi)有操作數(shù)或者操作數(shù)是默認(rèn)的,也不用寫。
第四部分是程序注釋,必須以單引號(hào)開頭,主要作用是提醒和備忘。注釋也是可有可無(wú)。
第二個(gè)例句中,省略了標(biāo)號(hào),當(dāng)然注釋也可以省略。他的指令是movwf, 操作數(shù)是GPIO。操作數(shù)不一定是數(shù)字,也可能是一個(gè)由字母組成的字符串。
知道了語(yǔ)句格式以后,我們下面就學(xué)習(xí)一些常用語(yǔ)句。我們先把這兩個(gè)例句弄清楚。
這兩句話的作用是把 2 這個(gè)常數(shù)寫入到 GPIO 這個(gè)寄存器里。
單片機(jī)里有一些部件需要我們使用和操作,都是通過(guò)讀寫寄存器來(lái)實(shí)現(xiàn)的。每個(gè)部件都對(duì)應(yīng)有操控它的寄存器,例如我們要控制使用的管腳GP0,GP1 這兩個(gè)管腳對(duì)應(yīng)的寄存器就叫做GPIO。對(duì)GPIO寄存器讀操作,實(shí)際等效察看管腳電平的高低;對(duì)GPIO寄存器相應(yīng)的位寫1操作,實(shí)際等校讓管腳輸出高電平。寫0,輸出低電平。
每個(gè)寄存器可以儲(chǔ)存一個(gè)八位的二進(jìn)制數(shù)。這八個(gè)位的每個(gè)位都有名稱,從左向右的名稱是:
左端第首位名稱叫D7,
左端第二位名稱叫D6,
左端第三位名稱叫D5,
左端第四位名稱叫D4,
左端第五位名稱叫D3,
左端第六位名稱叫D2,
左端第七位名稱叫D1,
最后一位叫D0,
而每一個(gè)位對(duì)應(yīng)一個(gè)管腳的電平,例如當(dāng)GPIO寄存器的D0位等于1時(shí)表示管腳GP0 的電平是高電平。D0位等于0時(shí)表示管腳GP0 的電平是低電平。常數(shù)2的八位二進(jìn)制表示是“00000010” 所以,GPIO寄存器存放的8位2進(jìn)制數(shù)的每個(gè)位的值以及管腳電平是:
D7對(duì) 應(yīng)于內(nèi)部總線管腳的電平 D7=0 內(nèi)部總線管腳輸出低電平
D6對(duì)應(yīng)于內(nèi)部總線管腳的電平 D6=0 內(nèi)部總線管腳輸出低電平
D5對(duì)應(yīng)于GP5 管腳的電平 D5=0 GP5 管腳輸出低電平
D4對(duì)應(yīng)于GP4 管腳的電平 D4=0 GP4 管腳輸出低電平
D3對(duì)應(yīng)于GP3 管腳的電平 D3=0 GP3 管腳輸出低電平
D2對(duì)應(yīng)于GP2 管腳的電平 D2=0 GP2 管腳輸出低電平
D1對(duì)應(yīng)于GP1 管腳的電平 D1=1 GP1 管腳輸出低電平
D0對(duì)應(yīng)于GP0 管腳的電平 D0=0 GP0 管腳輸出低電平
GP0---GP5管腳我們可以從上一講的圖1硬件中查出所對(duì)應(yīng)的管腳。d7 d6 對(duì)應(yīng)的內(nèi)部時(shí)鐘和數(shù)據(jù)總線我們現(xiàn)在暫且不要管它。以后本事大了在調(diào)教它們。在我們的例句中,向GPIO寄存器寫入了2,常數(shù)2的八位二進(jìn)制表示是“00000010” 因此如果此時(shí)GP0, Gp1等都已經(jīng)被定義成輸出的話,那么GP1輸出高電平(接LED燈亮),GP0 輸出低電平(所接led燈熄) 。
截止到現(xiàn)在,你已經(jīng)學(xué)會(huì)如何控制管腳的電平高低了。盡管還有一些疑問(wèn),比如怎樣定義管腳為輸出腳(以后會(huì)說(shuō)),我得說(shuō)如果事先gp1,gp0這兩個(gè)管腳處于輸入狀態(tài),這兩個(gè)例句無(wú)效,是控制不了電平的。
無(wú)論如何,這一會(huì)兒,你就學(xué)會(huì)了兩個(gè)指令,35條我看也沒(méi)啥難的。單片機(jī)的入門就是這么簡(jiǎn)單。
-
單片機(jī)
+關(guān)注
關(guān)注
6058文章
44822瀏覽量
644747 -
PIC單片機(jī)
+關(guān)注
關(guān)注
65文章
693瀏覽量
102617
原文標(biāo)題:高手講解PIC單片機(jī):從管腳到指令,一看就懂
文章出處:【微信號(hào):weixin21ic,微信公眾號(hào):21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
PIC單片機(jī)概述
PIC單片機(jī)入門與實(shí)戰(zhàn)電子書

PIC單片機(jī)教程_PIC單片機(jī)學(xué)習(xí)要點(diǎn)

PIC單片機(jī)入門與實(shí)戰(zhàn)-掃描版
51單片機(jī)、AVR單片機(jī)和PIC單片機(jī)的IO口操作

如何成為單片機(jī)高手?單片機(jī)高手的秘訣免費(fèi)下載
PIC單片機(jī)的入門

PIC單片機(jī)的清零指令詳解
PIC單片機(jī)如何進(jìn)行編程
8086匯編4位bcd碼_pic單片機(jī)編程串燒,pic單片機(jī)匯編語(yǔ)言講解上篇

PIC單片機(jī)的清零指令詳解

評(píng)論