新聞中心

匯編手記之PIC單片機(jī)

作者: 時(shí)間:2012-10-31 來(lái)源:網(wǎng)絡(luò) 收藏

pic單片機(jī)(peripheral Interface Controller)是一種控制外圍電路的集成電路(IC),是把CPU,ROM(存儲(chǔ)器),I/O等集成在一塊芯片上的特殊微型計(jì)算機(jī)。它是具有分散作用(多任務(wù))功能的CPU。

PIC(請(qǐng)一定要上網(wǎng)查相關(guān)的資料。)系列單片機(jī)是美國(guó)微型芯片(很多的詞匯都讓服務(wù)器攔住了,不讓發(fā),希望你知道。)公司生產(chǎn)的單片機(jī)系列產(chǎn)品的標(biāo)志產(chǎn)品。此公司系列單片機(jī)的特點(diǎn):一,率先使用了精簡(jiǎn)指令集(RISC 在后面我們會(huì)了解它的指令系統(tǒng))結(jié)構(gòu)的嵌入式結(jié)構(gòu)。使單片機(jī)突破傳統(tǒng)的在結(jié)構(gòu)上對(duì)PC存在的自然依賴(lài)性。二,引入哈佛總線(xiàn)的存儲(chǔ)器結(jié)構(gòu),兩級(jí)流水線(xiàn)指令結(jié)構(gòu),單周期指令等技術(shù),有效提高了系統(tǒng)的運(yùn)行效率。

PIC八位單片機(jī)的分類(lèi):現(xiàn)在的PIC系列單片機(jī)在世界單片機(jī)市場(chǎng)份額的排名逐年穩(wěn)升,尤其是八位單片機(jī)市場(chǎng)?,F(xiàn)已有三個(gè)系列多中型號(hào)的產(chǎn)品問(wèn)世,單片機(jī)從電腦外設(shè),家電控制,電信通信,智能儀器,汽車(chē)電子,各個(gè)領(lǐng)域都有應(yīng)用??梢哉f(shuō),現(xiàn)在的是世界上最有影響力的嵌入式微控制器。

基本級(jí)系列:特點(diǎn)是。如PIC16C5X,PIC12C5XX.(在百度查詢(xún)“芯片查詢(xún)網(wǎng)”,你就可以得到很多微芯片的詳細(xì)技術(shù)資料,包括引腳排列,各引腳功能等等。其中有一個(gè)芯片查詢(xún)網(wǎng)很有名,你很容易查到的,資料全部為英文。)二,中級(jí)系列。該級(jí)是PIC最豐富的品種系列,從八引腳到六十八引腳的各種封裝。如:PIC12C6XX。該級(jí)產(chǎn)品的性能很高,內(nèi)部置A/D轉(zhuǎn)換器,E*E(E的平方)PROM數(shù)據(jù)存儲(chǔ)器,比較器輸出,PWM,輸出,I*I(I平方)和SPI等接口。三,高級(jí)系列。如PIC17CXX,特點(diǎn)是速度快,所以適用于高速數(shù)字運(yùn)算的場(chǎng)合,又因?yàn)樗邆湟粋€(gè)指令周期內(nèi)(160納秒)可以完成8X8(位)二進(jìn)制乘法運(yùn)算的能力,甚至可以取代某些DSP產(chǎn)品。該系列適用于高,中檔的電子設(shè)備。(可是這系列很貴。)

這三個(gè)系列的PIC8位單片機(jī)還具有很高的代碼兼容性,用戶(hù)可以將代碼從某型號(hào)轉(zhuǎn)換到另一個(gè)型號(hào)。

PIC系列單片機(jī)的特點(diǎn):一,注重實(shí)際,性?xún)r(jià)比高。像PIC12C508,有512字節(jié)ROM,25字節(jié)RAM,1個(gè)8位定時(shí)器,1根輸入線(xiàn),5根I/O線(xiàn),價(jià)格在3~6元人民幣。這款單片機(jī)適合于摩托車(chē)自動(dòng)點(diǎn)火器的應(yīng)用。二,高效率。三,開(kāi)發(fā)環(huán)境優(yōu)越。四,抗干擾能力強(qiáng)。通過(guò)限流電阻可接220V交流電源,可直接與繼電器控制電路相連,無(wú)需光電耦合器隔離。五,絕對(duì)保密。PIC以保密熔絲來(lái)保護(hù)代碼,寫(xiě)入代碼后熔絲熔斷,除非恢復(fù)熔絲,否則不可能讀出原代碼,而PIC所采用的是熔絲深埋工藝,被恢復(fù)的可能性極小。

PIC系列單片機(jī)的開(kāi)發(fā)。單片機(jī)是把CPU,ROM,I/O集成在一塊芯片上的特殊微型計(jì)算機(jī),就其本身而言是沒(méi)有開(kāi)發(fā)能力的,要把它開(kāi)發(fā)成為一個(gè)實(shí)際應(yīng)用的產(chǎn)品,需要一定的開(kāi)發(fā)工具。其開(kāi)發(fā)工具分:硬件開(kāi)發(fā)工具和軟件開(kāi)發(fā)工具兩類(lèi)。前者指各種編程器,仿真開(kāi)發(fā)機(jī)等編程開(kāi)發(fā)設(shè)備:后者指各種編輯,匯編,模擬調(diào)試和集成開(kāi)發(fā)環(huán)境等工具軟件。

當(dāng)你拿到一片單片機(jī),它還不能用,要你寫(xiě)入程序,如何接收數(shù)據(jù)?怎樣處理?輸出又怎樣應(yīng)用?等等…這個(gè)就是應(yīng)用編程!它不像在電腦上寫(xiě)的程序,錯(cuò)了可以隨便改,因?yàn)閱纹翆?xiě)的次數(shù)多了,對(duì)程序本身的穩(wěn)定運(yùn)行不利。如果是一次性寫(xiě)入的單片,寫(xiě)入的程序錯(cuò)了,后果你知道,所以一些單片的仿真模擬軟件你務(wù)必爛熟于胸,它們不同于Word,Ecxel…它具有很高的概念性,真實(shí)性和應(yīng)用性。所以不要把它們當(dāng)做像那些小孩子都能學(xué)得來(lái)的軟件來(lái)對(duì)待,你沒(méi)真正的燒錄過(guò)單片,你就是生手,沒(méi)寫(xiě)過(guò)匯編,就算計(jì)算機(jī)等級(jí)過(guò)幾百級(jí),在“64K編程大賽”(上網(wǎng)查“64K編程大賽第一名的程序”看看64K的內(nèi)存到底能寫(xiě)出怎樣的程序?)的人看來(lái),只不過(guò)是從書(shū)堆里鉆出來(lái)的臭蟲(chóng)。技術(shù)是實(shí)踐與理論應(yīng)用的實(shí)現(xiàn),我們不需要那些清華北大的程序高手,因?yàn)槲覀儧](méi)錢(qián),請(qǐng)不起他們。但是,如果你愿意,我也相信,我們總有一天會(huì)擁有他們的技術(shù)暫時(shí)跳過(guò)基礎(chǔ)介紹,初步認(rèn)識(shí)一下指令系統(tǒng)。

由于PIC的指令系統(tǒng)和匯編的指令系統(tǒng)有相似,比較起來(lái)PIC指令系統(tǒng)的指意性更強(qiáng),所以,我先不介紹PIC的指令系統(tǒng),和你說(shuō)說(shuō)匯編語(yǔ)言的指令系統(tǒng)。

下面介紹一下pic 指令系統(tǒng):

首先,什么是指令系統(tǒng)。能被一種CPU識(shí)別并執(zhí)行的指令集合,就是基于這種CPU的指令系統(tǒng)。不同廠(chǎng)家生產(chǎn)的單片機(jī),或基于不同CPU內(nèi)核的單片機(jī),一般具有不同的指令系統(tǒng)。所以,以后我們會(huì)選擇MicroChip公司生產(chǎn)的PIC做為BV實(shí)驗(yàn)用單片?;A(chǔ)級(jí)的PIC16C5X系列芯片共有33條指令,每條指令長(zhǎng)12位;中檔級(jí)PIC16C6X/7X/8X系列芯片公有35條指令,每條指令長(zhǎng)14位:高檔PIC17CXX系列芯片共有58條指令,每條指令長(zhǎng)16位。你肯定能在網(wǎng)上搜索到各個(gè)系列PIC單片的指令,你可以打印下來(lái)備用。

一,pic指令系統(tǒng)

這里是書(shū)上的一條程序,計(jì)算函數(shù)值;Y={X+10 (X,0),30X [0,10],X-190 (10,X)}
源程序代碼:
DATA1 SEGMEMT
X DW ?
Y DW ?
DATA1 ENDS
CODE1 SEGMENT

MOV AX,X
CMP AX,0
JGE CASE23
ADD AX,10
JMP RESULT



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉