51與pic用c語言寫在定義上之間有什麼區別

2025-07-15 10:15:22 字數 2598 閱讀 6440

1樓:網友

首先,pic和51微控制器再暫存器上就有很大的不同,比如說51微控制器的io沒有方向性,讀io就是輸入資料,寫io就是輸出資料。而pic微控制器的io輸入資料和輸出資料需要用乙個方向暫存器來確定,比如a口要全部做輸出高電平,則需要先設定a口的方向暫存器trisa=0x00,然後給a口的資料暫存器賦值porta=0xff。

而51微控制器因為沒有方向性,如需要給p1口輸出則直接給p1=0xff.

這是因為硬體上的不同所以軟體上的較大區別。

另外pic幾乎所有暫存器和儲存器都可以位定址,比如8位高檔pic和16位pic可以直接給位賦值:,就是給c1ctrl這個暫存器的最高三個位賦值二進位數111,其他位不動。

在語法上,picc(pic的c語言編譯器,不是中國人保)不允許重入函式。51微控制器有中斷向量表,所以中斷函式可以有多個。因為8位中檔pic沒有中斷向量表,所以需要在中斷函式里判斷中斷型別(有且僅有一箇中斷函式)。

16位pic微控制器有中斷向量表,但在設定中斷型別上較為麻煩。

pic微控制器與51系列微控制器在程式編寫上有何區別

2樓:網友

不同的微控制器其硬體資源不同,各自的組合語言也不同,因此如果用匯編的話,就完全不同的東東,好象乙個是用中文,乙個用越南語。

但如果用c程式設計的話,除了在定義微控制器的引腳、暫存器上肯定是不一樣的外,如果只涉及到計算,其語言還是差別不太。

在pic中如何用c語言編寫程式?

3樓:網友

pic微控制器的開發軟體mplab沒有整合c語言編譯器。需要另外安裝。如果你用的是pic10、pic12、pic16等這些系列的微控制器,就要去microchip的**下ht-picc for pic12/16的c編譯器。

如果是pic18的話,就要下mcc18,如果是pic24和dspic系列的,就要用c30編譯器。

還有,所用的pic微控制器不同系列,c程式編寫方式也不同。你光要個程式**,誰也拿不出你要的來!

4樓:網友

哥們……我們不都是你的同學……

好歹說明下啥是pic吧?任務是什麼?

51微控制器和pic微控制器的區別

5樓:四個漢字以上

微控制器的區別沒有必要理會,我們只要知道程式設計時會有什麼不同。首先,pic的i/o口是有方向暫存器控制方向,輸入輸出由這個暫存器決定。好像只要51微控制器是沒有方向暫存器的。

pic的第二功能,第三功能腳比較多,也就是說微控制器整合了很多外設功能,例如adc,spi,iic,eeprom,ccp...很多51沒有的東西。那些東西在51裡面有些是可以用io口模擬的,在pic裡面只要設定其對應暫存器就可以實現其功能。

有的io可以複用很多功能,這些功能的選擇也是通過設定暫存器來實現。

pic 微控制器 c編譯語言的埠位操作語法

6樓:網友

暫存器設定。

定義埠為輸出。

直接賦值1或者0

比如:porta=0x00;//a埠為輸出ra0=1; //輸出高電平。

7樓:網友

或者rc0實際上取決於所用微控制器的標頭檔案,進一步說取決於picc對你應用的那款微控制器標頭檔案的定義。感興趣的話你可以在你的picc中的「inc」資料夾中找到你應用的那款微控制器的標頭檔案,這樣你就可以看到他對各類暫存器的定義,也就知道了兩者可以採取哪種書寫規範。其實在實際應用中你無須在意這兩種書寫方式,哪個能用就用哪個。

我會c語言,51微控制器,pic微控制器。能找什麼工作?

8樓:網友

樓主真會這些語言的話就不會在這裡問問題了。

9樓:匿名使用者

看你精不精。如果你精通這些的話,可以找一些有微控制器類的產品研發。

所謂的51微控制器c語言與c語言程式設計有什麼區別?

10樓:

基本上沒區別,c51是對c的拓展。。。只用了c的一部分。但語法還是一樣的。

11樓:網友

c51 基本上只用到c語言的一小部分。

用在pic的c語言能移植到51上嗎

12樓:老徐

有的東西是可以移植的,c語言源**本身就具有很強的可移植性。

但是你要修改一下暫存器的設定。比如說pic微控制器的porta口51微控制器是沒有的,只有p0,p1,p2,p3口。

還有51微控制器不像pic微控制器要定義輸入口還是輸出口的。所以你初始化的如tirsa=0xff;之類的語句就要刪除。

還有一點很重要pic的功能遠遠強於51。有很多功能51微控制器沒有的(比如a/d啊,內部rc振盪啊)而pic微控制器內部有的。這些你都要刪除或者改寫。

我個人的建議是你最好不要移植,在寫乙個算了。

13樓:網友

如果這歌pic程式涉及到用io口的技巧實現某些功能的,或者用一些51所沒有的外設功能的(比如spi、電平變化中斷等)。這程式根本沒法移植到51上,需要重新設計外圍電路和程式。

用C語言程式設計,定義字串,chara

不是的char a 10 分配10個元素的空間,char a 和 char a 是一樣的,不分配空間。c語言字串問題,求正確答案和解釋 假設已定義char a 10 和char p a,下面的賦 正確答案是d a錯誤,因為a 10 代表一個字元是吧,不能賦值字串b錯誤是因為 陣列名不能當左值,也就是...

用c語言怎麼實現與資料庫的連線,用C語言怎麼實現與資料庫的連線

使用odbc進行資料庫程式設計。1 配置odbc資料來源 2 使用sql函式進行連線。對於2 使用sql函式進行連線,這裡給個 片段,樓主 照著做就行啦。include include include void main 看上去很複雜,其實都可以直接複製。其中需要改的是資料來源名稱 資料庫使用者名稱...

怎麼用C語言編寫51微控制器測脈寬的程式跪求完整程式

p1口接8個發光二極體共陽 include unsigned char i unsigned char temp unsigned char a,b void delay void void main void for i 1 i 8 i 這個簡單,不要提問啊。你讓一個p0 0x01 然後再移的思路...