附表1-1 ANSIC標準關(guān)鍵字附表1-2 C51編譯器的擴展關(guān)鍵字
建立了第一個單片機C語言項目,但為了讓編譯好的程序能通過編程器寫入51芯 片中,要先用編譯器生成HEX文件,下面來看看如何用KEIL uVISION2來編譯生成用于燒寫 芯片的HEX文件。HEX文件格式是Intel公司提出的按地址排
指針就是指變量或數(shù)據(jù)所在的存儲區(qū)地址。如一個字符型的變量 STR 存放在內(nèi)存單元DATA 區(qū)的 51H 這個地址中,那么 DATA 區(qū)的 51H 地址就是變量 STR 的指針。在 C 語言中 指針是一個很重要的概念,正確有效的使用指針類
數(shù)組不過就是同一類型變量的有序集合。形象的能這樣去理解,就像一個 學校在操場上排隊,每一個級代表一個數(shù)據(jù)類型,每一個班級為一個數(shù)組,每一個學生就是 數(shù)組中的一個數(shù)據(jù)。數(shù)據(jù)中的每個數(shù)據(jù)都能用唯一的下標來確
其實一直出現(xiàn)在例子中的 main()也算是一個函數(shù),只不過它比較特殊,編譯時以它做為程序的開始段。有了函數(shù)C 語言就有了模塊化的優(yōu)點,一般功能較多的程序,會在編寫程序時把每項單獨的功能分成數(shù)個子程序模塊,每個子
單片機C語言教程:C51數(shù)組的使用
一個指針變量內(nèi)部可以存儲一個值,這個值是另外一個對象的地址,所以我們說一個指針變量可以指向一個普通變量,同樣這個指針變量也有一個地址,也就是 說有一個東西可以指向這個指針變量,然后再通過這個指針變量指向
指針數(shù)組一個指針數(shù)組是指一個數(shù)組中的每個元素都是一個指針,例如:int *p[10];//而不能是int (*p)[10]或者char *p[10];此時p是一個指針(數(shù)值上和&p[0]一樣);在前面有int t[10];int * pt=t;//使用pt指向t那么這里我
多維數(shù)組對于二維數(shù)組a[4][6];由于數(shù)組名代表數(shù)組的起始地址,所以a(第一層)和第一個元素a[0][0]地址的數(shù)字是相同的,但是意義卻是不同的。 對于該數(shù)組我們可以理解為:a的一維數(shù)組(第一層),它有四個元素a[0]、a[1]
在c和c++中數(shù)組的指針就是數(shù)組的起始地址(也就第一個元素的地址),而且標準文檔規(guī)定數(shù)組名代表數(shù)組的地址(這是地址數(shù)值層面的數(shù)組表示)。例如:int a[10];int *p;p=&a[0]//和p=a是等價的。因為a是數(shù)組名,所以他是該
AVR單片機C語言編程技巧1、選擇合適的算法和數(shù)據(jù)結(jié)構(gòu)應該熟悉算法語言,知道各種算法的優(yōu)缺點,具體資料請參見相應的參考資料,有很多計算機書籍上都有介紹。將比較慢的順序查找法用較快的二分查找或亂序查找法代替,
PORTX和PINX的使用區(qū)別AVR單片機每組I/O口有3個8位寄存器,分別是DDRx、PORTx和PINx;DDR用于控制I/O口的輸入輸出方向:DDRx=1時,I/O口輸出,PORTx=1時輸出高電平,PORTx=0時輸出低電平,DDRx=0時,I/O口輸入,這時要讀
將C向MCU(俗稱單片機)8051上的移植始于80年代的中后期??陀^上講,C向8051 MCU移植的難點不少。如:·8051的非馮·諾依慢結(jié)構(gòu)(程序與數(shù)據(jù)存儲器空間分立),再加上片上又多了位尋址存儲空間;·
學習一種編程語言,最重要的是建立一個練習環(huán)境,邊學邊練才能學好。Keil軟件是目前最流行開發(fā)80C51系列單片機的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方
循環(huán)語句是幾乎每個程序都會用到的,它的作用就是用來實現(xiàn)需要反復進行多次的操 作。如一個 12M 的 51 芯片應用電路中要求實現(xiàn) 1 毫秒的延時,那么就要執(zhí)行 1000 次空語句 才能達到延時的目的(當然能使用定時器來做
學習了條件語句,用多個條件語句能實現(xiàn)多方向條件分支,但是能發(fā)現(xiàn)使用過多的 條件語句實現(xiàn)多方向分支會使條件語句嵌套過多,程序冗長,這樣讀起來也很不好讀。這個時候 使用開關(guān)語句同樣能達到處理多分支選擇的目的
曾經(jīng)在BBS上有朋友問過我{}是什么意思?什么作用?在 C 中是有不少的括號,如{},[],()等,確實會讓一些初入門的朋友不解。在 VB 等一些語言中同一個()號會有不一樣的 作用,它能用于組合若干條語句形成功能塊,能用
前面學習了大部分的基本語法,以下所要學習的各種基本語句的語法能說是組成程序的靈魂。在前面的課程中的例子里,也簡單理解過一些語句的使用方法,能看出C語言是一種結(jié)構(gòu)化的程序設(shè)計語言。C 語言供給了相當豐富的程
我們學習數(shù)據(jù)類型時,學習過指針類型,知道它是一種存放指向另一個數(shù)據(jù)的地址的變量類型。指針是單片機C語言中一個十分重要的概念,也是學習單片機C語言中的一個難點。對于指針將會在第九課中做詳細的講解。在這里我
學過匯編的朋友都知道匯編對位的處理能力是很強的,但是單片機C語言也能對運算對象進行按位操作,從而使單片機C語言也能具有一定的對硬件直接進行操作的能力。位運算符的作用是按位對變量進行運算,但是并不改變參與