九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
UC頭條:現(xiàn)在PIC單片機還有用的嗎?
userphoto

2023.05.08 山西

關(guān)注

對于計算機學院與電子學院相關(guān)的同學來說,單片機一定不是一個陌生的概念。在大學的學習生涯中,經(jīng)常用于教學的是MCS-51系列單片機。其實,除了MCS-51單片機外,還有一類單片機——PIC單片機

01什么是PIC單片機

PIC單片機,英文名為PeripheralInterfaceController,翻譯為“開發(fā)和控制外圍設備用集成電路”,可以看作是一種高度集成化的小型計算機,擁有CPU、寄存器、內(nèi)存單元、串口并口等一系列計算機運行時需要依賴的硬件設備。

02PIC單片機與MCS-51單片機的區(qū)別

相較于51系列單片機,PIC單片機的區(qū)別主要有3點:

1總線結(jié)構(gòu)

51系列單片機采用的是經(jīng)典的“馮諾依曼體系結(jié)構(gòu)”,而PIC單片機則是采用“哈佛體系結(jié)構(gòu)”。這里簡單介紹一下兩種體系結(jié)構(gòu)的不同:馮諾依曼體系結(jié)構(gòu)是單總線結(jié)構(gòu),即數(shù)據(jù)傳輸與指令傳輸共用一條總線;而哈佛體系結(jié)構(gòu)則是雙總線結(jié)構(gòu),即數(shù)據(jù)傳輸與指令傳輸分別使用一條總線。由于采用哈佛體系結(jié)構(gòu),所以PIC單片機的數(shù)據(jù)總線和指令總線位數(shù)(寬度)可能不同。

2流水線結(jié)構(gòu)

51系列單片機采用的是單流水線結(jié)構(gòu),即在一條指令完全執(zhí)行完畢后才會執(zhí)行。而PIC單片機則有二級流水結(jié)構(gòu),可以在一定程度上實現(xiàn)指令并發(fā)(雖然不如x86/64系列CPU或者ARM系列CPU)。

3匯編指令

51系列單片機大約有一百多條匯編指令,基本包含了在程序運行中需要用到的絕大多數(shù)匯編指令。而PIC的匯編只有35條,功能較少(例如沒有常用的乘除功能,需要使用循環(huán)加/減實現(xiàn)乘除功能)。但是PIC的指令執(zhí)行較快,PIC單片機一個指令的執(zhí)行只需一個指令周期,而51系列單片機則需要2至4個指令周期。

除了以上區(qū)別,在保密性方面,PIC單片機不如51系列單片機,PIC單片機比較不能抗干擾,也很容易被解密。

點擊加載圖片

03PIC單片機環(huán)境C語言編程簡介(pic單片機c語言)

相較于其他編程語言,使用C語言開發(fā)PIC單片機程序有許多優(yōu)點:

1相較于匯編語言來說,使用C語言這類高級編程語言進行編程比較簡單方便。使用匯編語言編程需要掌握一定的CPU運行知識,而且對寄存器、運算器指令集等都需要有一定的了解,編程時也需要時刻思考匯編指令的運行流程。而使用C語言編程時則只需將精力放在程序運行邏輯即可。

2相較于C++、Java等面向?qū)ο缶幊陶Z言來說,C語言更加貼近底層運行邏輯,沒有封裝、繼承等更加高級的語法,更加純粹地關(guān)注程序的執(zhí)行流程。

04PIC單片機的C語言編程

PIC單片機環(huán)境下的C語言編程與我們平時使用的C語言在語法上大致類似,不過仍有些許不同。下面對PIC單片機的C語言編程做簡要介紹。

1編譯器配置。由于PIC單片機有獨特的CPU架構(gòu),因此不同于傳統(tǒng)的gcc或者vc++編譯器進行編譯,PIC單片機環(huán)境下的C語言有專門的C語言編譯器PICCCompiler。

2PIC單片機C語言同樣支持常見的short、int、long、float等基本數(shù)據(jù)類型。不過需要注意的是,PIC單片機C語言的int類型為16位存儲,long類型為32位存儲,float類型為24位存儲。

3除了基本數(shù)據(jù)類型外,PIC單片機C語言也同樣支持數(shù)組、結(jié)構(gòu)體和聯(lián)合體等復合數(shù)據(jù)類型。

4PIC單片機C語言有一個特殊的數(shù)據(jù)寄存器bank,該寄存器由程序員管理,在定義變量時必須指定變量存儲位置,若不指定則默認存儲在bank0中。

若定義存儲于其他bank寄存器的變量,則需要在定義變量時指定bank寄存器編號。例如:

bank1unsignedcharbuffer[32];

bank2intflag1,flag2;

5PIC單片機C語言保留volatile關(guān)鍵字,用于告知某些特殊的值可能會發(fā)生改變。(pic單片機c語言)

6使用PIC單片機C語言編程時,雖然也可調(diào)用標準庫函數(shù),不過由于PIC單片機性能有限,由于諸如scanf/printf等庫函數(shù)的代碼比較繁雜,因此在調(diào)用這些庫函數(shù)時需要額外謹慎,可能會造成程序運行時間大幅度增加甚至宕機。

7PIC單片機C語言支持C語言與匯編語言混合編程。若在C語言內(nèi)插入?yún)R編語言代碼,則需要使用asm關(guān)鍵字標識。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
AVR、51系列、PIC單片機的對比分析
AVR、51 系列、PIC 單片機的對比分析
PIC單片機學習
單片機入門 (3) 單片機的編程語言和開發(fā)環(huán)境
單片機種類介紹
51 AVR PIC 等單片機區(qū)別
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服