|
怎么可能嘛兄弟
單片機和C語言是兩個知識點,兩個都要學(xué)的
學(xué)習(xí)單片機最忌諱的就是把別人的一堆代碼下載下來,想看一下效果,都驗證點什么
單片機不是這樣學(xué)的,要一步一個腳印,一點一點來的至于你想"移植",那是受了C語言簡介中的"C語言可移植性好"影響
8051和PIC是兩個不同指令的單片機的,端口名稱都中不一樣的
8051叫P0,P1...........
PIC叫PA,PB............
兩者中斷機制也是不一樣的
8051有各個中斷對應(yīng)的中斷入口的,中斷程序只要觸發(fā)了就會直接執(zhí)行對應(yīng)的中斷
而PIC只有一個中斷入口,中斷觸發(fā)之后要先查詢中斷標(biāo)志位,用來判斷是哪個中斷,然后才執(zhí)行對應(yīng)的中斷
8051的端口是雙向的,只要釋放了端口,直接就是可以讀取電平也可以輸出電平
而PIC在讀取的時候要先把端口設(shè)定成數(shù)據(jù)輸入模式才能讀取到端口的電平狀態(tài)
如果要輸出高低電平,那就要把端口設(shè)定成數(shù)字輸出模式,才能輸出電平
8051只要安裝了KEIL和STC下載器就可以開始學(xué)習(xí)了,可以用232下載
PIC就不一樣了,你要先安裝JAVA運行環(huán)境,安裝MPLAB,還得安裝編譯器,而PIC的又有好幾個編譯器,每個編譯器的函數(shù)都是不一樣的,完還得用專用的PICKIT下載器才能下載程序
是不是對我上面的話一臉的蒙,這就對了,在你還沒有真正入門之前,不要學(xué)PIC,除非有人帶,或者是學(xué)校教材是這樣的,又或者是工作需要
給你看一下我的第一個8051C程序,別想著一下子就能飛,你得先學(xué)會爬,然后再學(xué)會走路,走得快了,你自然就能飛了
#include<reg52.h> //包含頭文件,頭文件中有8051單片機的特殊寄存器地址的定義
sbit LED=P0^0; //用sbit關(guān)鍵字來定義LED這個端口的地址,LED方便記憶,P0這個已經(jīng)在reg52.h中聲明過了,可以直接P0這個名稱
void main ()
{
P0=0x00; //P0端口先低電平,因為默認(rèn)上電為高電平
LED=1; //LED為高電平,LED亮或者滅要看硬件電路
while(1) //while循環(huán)為真,一直循環(huán)
{
}
}
|
|