国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩

當(dāng)前位置:IT培訓(xùn) > 華清遠(yuǎn)見教育科技集團(tuán) > 嵌入式學(xué)習(xí) > 講師博文 > pic單片機(jī)c語(yǔ)言編程
pic單片機(jī)c語(yǔ)言編程
時(shí)間:2018-04-02作者:華清遠(yuǎn)見
     一、PIC單片機(jī)簡(jiǎn)介
     對(duì)于計(jì)算機(jī)學(xué)院與電子學(xué)院相關(guān)的同學(xué)來(lái)說(shuō),單片機(jī)一定不是一個(gè)陌生的概念。在大學(xué)的學(xué)習(xí)生涯中,經(jīng)常用于教學(xué)的是MCS-51系列單片機(jī)。其實(shí),除了MCS-51單片機(jī)外,還有一類單片機(jī)——PIC單片機(jī)。
     PIC單片機(jī),英文名為Peripheral Interface Controller,翻譯為“開發(fā)和控制外圍設(shè)備用集成電路”,可以看作是一種高度集成化的小型計(jì)算機(jī),擁有CPU、寄存器、內(nèi)存單元、串口并口等一系列計(jì)算機(jī)運(yùn)行時(shí)需要依賴的硬件設(shè)備。
     二、PIC單片機(jī)與MCS-51單片機(jī)的區(qū)別
     相較于51系列單片機(jī),PIC單片機(jī)的區(qū)別主要有3點(diǎn):
     1.總線結(jié)構(gòu)。51系列單片機(jī)采用的是經(jīng)典的“馮諾依曼體系結(jié)構(gòu)”,而PIC單片機(jī)則是采用“哈佛體系結(jié)構(gòu)”。這里簡(jiǎn)單介紹一下兩種體系結(jié)構(gòu)的不同:馮諾依曼體系結(jié)構(gòu)是單總線結(jié)構(gòu),即數(shù)據(jù)傳輸與指令傳輸共     用一條總線;而哈佛體系結(jié)構(gòu)則是雙總線結(jié)構(gòu),即數(shù)據(jù)傳輸與指令傳輸分別使用一條總線。由于采用哈佛體系結(jié)構(gòu),所以PIC單片機(jī)的數(shù)據(jù)總線和指令總線位數(shù)(寬度)可能不同。
     2.流水線結(jié)構(gòu)。51系列單片機(jī)采用的是單流水線結(jié)構(gòu),即在一條指令完全執(zhí)行完畢后才會(huì)執(zhí)行。而PIC單片機(jī)則有二級(jí)流水結(jié)構(gòu),可以在一定程度上實(shí)現(xiàn)指令并發(fā)(雖然不如x86/64系列CPU或者ARM系列CPU)。
     3.匯編指令。51系列單片機(jī)大約有一百多條匯編指令,基本包含了在程序運(yùn)行中需要用到的絕大多數(shù)匯編指令。而PIC的匯編只有35條,功能較少(例如沒有常用的乘除功能,需要使用循環(huán)加/減實(shí)現(xiàn)乘除功能)。但是PIC的指令執(zhí)行較快,PIC單片機(jī)一個(gè)指令的執(zhí)行只需一個(gè)指令周期,而51系列單片機(jī)則需要2至4個(gè)指令周期。
除了以上區(qū)別,在保密性方面,PIC單片機(jī)不如51系列單片機(jī),PIC單片機(jī)比較不能抗干擾,也很容易被解密。
     三、PIC單片機(jī)環(huán)境C語(yǔ)言編程簡(jiǎn)介
     相較于其他編程語(yǔ)言,使用C語(yǔ)言開發(fā)PIC單片機(jī)程序有許多優(yōu)點(diǎn):
     1.相較于匯編語(yǔ)言來(lái)說(shuō),使用C語(yǔ)言這類高級(jí)編程語(yǔ)言進(jìn)行編程比較簡(jiǎn)單方便。使用匯編語(yǔ)言編程需要掌握一定的CPU運(yùn)行知識(shí),而且對(duì)寄存器、運(yùn)算器、指令集等都需要有一定的了解,編程時(shí)也需要時(shí)刻思考匯編指令的運(yùn)行流程。而使用C語(yǔ)言編程時(shí)則只需將精力放在程序運(yùn)行邏輯即可。
     2.相較于C++、Java等面向?qū)ο缶幊陶Z(yǔ)言來(lái)說(shuō),C語(yǔ)言更加貼近底層運(yùn)行邏輯,沒有封裝、繼承等更加高級(jí)的語(yǔ)法,更加純粹地關(guān)注程序的執(zhí)行流程。
PIC單片機(jī)環(huán)境下的C語(yǔ)言編程與我們平時(shí)使用的C語(yǔ)言在語(yǔ)法上大致類似,不過(guò)仍有些許不同。下面對(duì)PIC單片機(jī)的C語(yǔ)言編程做簡(jiǎn)要介紹。
     1.編譯器配置。由于PIC單片機(jī)有獨(dú)特的CPU架構(gòu),因此不同于傳統(tǒng)的gcc或者vc++編譯器進(jìn)行編譯,PIC單片機(jī)環(huán)境下的C語(yǔ)言有專門的C語(yǔ)言編譯器PICC Compiler。
     2.PIC單片機(jī)C語(yǔ)言同樣支持常見的short、int、long、float等基本數(shù)據(jù)類型。不過(guò)需要注意的是,PIC單片機(jī)C語(yǔ)言的int類型為16位存儲(chǔ),long類型為32位存儲(chǔ),float類型為24位存儲(chǔ)。
     3.除了基本數(shù)據(jù)類型外,PIC單片機(jī)C語(yǔ)言也同樣支持?jǐn)?shù)組、結(jié)構(gòu)體和聯(lián)合體等復(fù)合數(shù)據(jù)類型。
     4.PIC單片機(jī)C語(yǔ)言有一個(gè)特殊的數(shù)據(jù)寄存器bank,該寄存器由程序員管理,在定義變量時(shí)必須指定變量存儲(chǔ)位置,若不指定則默認(rèn)存儲(chǔ)在bank0中。
     若定義存儲(chǔ)于其他bank寄存器的變量,則需要在定義變量時(shí)指定bank寄存器編號(hào)。例如:
     bank1 unsigned char buffer[32];
     bank2 int flag1, flag2;
     5.PIC單片機(jī)C語(yǔ)言保留volatile關(guān)鍵字,用于告知某些特殊的值可能會(huì)發(fā)生改變。
     6.使用PIC單片機(jī)C語(yǔ)言編程時(shí),雖然也可調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),不過(guò)由于PIC單片機(jī)性能有限,由于諸如scanf()/printf()等庫(kù)函數(shù)的代碼比較繁雜,因此在調(diào)用這些庫(kù)函數(shù)時(shí)需要額外謹(jǐn)慎,可能會(huì)造成程序運(yùn)行時(shí)間大幅度增加甚至宕機(jī)。
     7.PIC單片機(jī)C語(yǔ)言支持C語(yǔ)言與匯編語(yǔ)言混合編程。若在C語(yǔ)言內(nèi)插入?yún)R編語(yǔ)言代碼,則需要使用asm關(guān)鍵字標(biāo)識(shí)。(單片機(jī)C語(yǔ)言)

發(fā)表評(píng)論

全國(guó)咨詢電話:400-611-6270,雙休日及節(jié)假日請(qǐng)致電值班手機(jī):15010390966

在線咨詢: 曹老師QQ(3337544669), 徐老師QQ(1462495461), 劉老師 QQ(3108687497)

企業(yè)培訓(xùn)洽談專線:010-82600901,院校合作洽談專線:010-82600350,在線咨詢:QQ(248856300)

Copyright 2004-2018 華清遠(yuǎn)見教育科技集團(tuán) 版權(quán)所有 ,京ICP備16055225號(hào),京公海網(wǎng)安備11010802025203號(hào)

有位老師想和您聊一聊