單片機(jī)C語(yǔ)言知識(shí)點(diǎn)全攻略_第1頁(yè)
單片機(jī)C語(yǔ)言知識(shí)點(diǎn)全攻略_第2頁(yè)
單片機(jī)C語(yǔ)言知識(shí)點(diǎn)全攻略_第3頁(yè)
單片機(jī)C語(yǔ)言知識(shí)點(diǎn)全攻略_第4頁(yè)
單片機(jī)C語(yǔ)言知識(shí)點(diǎn)全攻略_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——單片機(jī)C語(yǔ)言知識(shí)點(diǎn)全攻略單片機(jī)C語(yǔ)言學(xué)識(shí)點(diǎn)全攻略

為了讓有需要的摯友進(jìn)一步了解單片機(jī)C語(yǔ)言學(xué)識(shí),下面的文章將為大家講解單片機(jī)C語(yǔ)言的學(xué)識(shí)內(nèi)容,接待學(xué)習(xí)!

C51運(yùn)算符和表達(dá)式

運(yùn)算符,雙目運(yùn)算符和三目運(yùn)算符。單目就是指需要有一個(gè)運(yùn)算對(duì)象,雙目就要求有兩個(gè)運(yùn)算對(duì)象,三目那么要三個(gè)運(yùn)算對(duì)象。表達(dá)式那么是由運(yùn)算及運(yùn)算對(duì)象所組成的具有特定含義的式子。C是一種表達(dá)式語(yǔ)言,表達(dá)式后面加";'號(hào)就構(gòu)成了一個(gè)表達(dá)式語(yǔ)句。

賦值運(yùn)算符

對(duì)于"='這個(gè)符號(hào)大家不會(huì)目生的,在C中它的功能是給變量賦值,稱(chēng)之為賦值運(yùn)算符。它的作用不用多說(shuō)大家也明白,就是但數(shù)據(jù)賦給變量。如,x=10;由此可見(jiàn)利用賦值運(yùn)算符將一個(gè)變量與一個(gè)表達(dá)式連接起來(lái)的式子為賦值表達(dá)式,在表達(dá)式后面加";'便構(gòu)成了賦值語(yǔ)句。使用"='的賦值語(yǔ)句格式如下:

變量=表達(dá)式;例如如下

a=0xFF;//將常數(shù)十六進(jìn)制數(shù)FF賦于變量a

b=c=33;//同時(shí)賦值給變量b,cd=e;//將變量e的值賦于變量d

f=a+b;//將變量a+b的值賦于變量f由上面的例子能知道賦值語(yǔ)句的意義就是先計(jì)算出"='右邊的表達(dá)式的值,然后將得到的值賦給左邊的變量。而且右邊的表達(dá)式能是一個(gè)賦值表達(dá)式。

在一些摯友的來(lái)信中會(huì)展現(xiàn)"=='與"='這兩個(gè)符號(hào)混淆的錯(cuò)誤原碼,問(wèn)為何編譯報(bào)錯(cuò),一般就是錯(cuò)在ifa=x之類(lèi)的語(yǔ)句中,錯(cuò)將"='用為"=='。"=='符號(hào)是用來(lái)舉行相等關(guān)系運(yùn)算。

算術(shù),增減量運(yùn)算符

對(duì)于a+b,a/b這樣的表達(dá)式大家都很熟諳,用在C語(yǔ)言中,+,/,就是算術(shù)運(yùn)算符。單片機(jī)c語(yǔ)言中的算術(shù)運(yùn)算符有如下幾個(gè),其中只有取正值和取負(fù)值運(yùn)算符是單目運(yùn)算符,其它那么都是雙目運(yùn)算符:

+加或取正值運(yùn)算符

-減或取負(fù)值運(yùn)算符

*乘運(yùn)算符

/除運(yùn)算符

%取余運(yùn)算符算術(shù)表達(dá)式的形式:

表達(dá)式1算術(shù)運(yùn)算符表達(dá)式2如:a+b*10-a,x+9/y-a

除法運(yùn)算符和一般的算術(shù)運(yùn)算規(guī)矩有所不一樣,如是兩浮點(diǎn)數(shù)相除,其結(jié)果為浮點(diǎn)數(shù)。

10.0/20.0所得值為0.5,而兩個(gè)整數(shù)相除時(shí),所得值就是整數(shù),如7/3,值為2。像別的語(yǔ)言一樣C的運(yùn)算符與有優(yōu)先級(jí)和結(jié)合性,同樣可用用括號(hào)"'來(lái)變更優(yōu)先級(jí)。這些和我們小時(shí)候?qū)W的數(shù)學(xué)幾乎是一樣的,也不必過(guò)多的說(shuō)領(lǐng)略。

++增量運(yùn)算符

--減量運(yùn)算符

這兩個(gè)運(yùn)算符是C語(yǔ)言中特有的一種運(yùn)算符。在VB,PASCAL等都是沒(méi)有的。作用就是對(duì)運(yùn)算對(duì)象作加1和減1運(yùn)算。要留神的是運(yùn)算對(duì)象在符號(hào)前或后,其含義都是不一樣的,雖然同是加1或減1。如:I++,++I,I--,--I。

I++或I--是先使用I的值,再執(zhí)行I+1或I-1

++I或--I是先執(zhí)行I+1或I-1,再使用I的值。增減量運(yùn)算符只允許用于變量的運(yùn)算中,不能用于常數(shù)或表達(dá)式。先來(lái)做一個(gè)測(cè)驗(yàn)吧。學(xué)習(xí)運(yùn)算符和另外一些學(xué)識(shí)時(shí),我們還是給我們的測(cè)驗(yàn)板加個(gè)串行

接口吧。借助電腦轉(zhuǎn)件直觀的看單片機(jī)的輸出結(jié)果,假設(shè)你用的是成品測(cè)驗(yàn)板或仿真器,那你就能跳過(guò)這一段了。

在制作電路前我們先來(lái)看看要用的MAX232,這里不去概括議論它,只要知道它是TTL和RS232電平相互轉(zhuǎn)換的芯片和根本的引腳接線(xiàn)功能就行了。通常我會(huì)用兩個(gè)小功率晶體管加少量的電路去替換MAX232,能省一點(diǎn),效果也不錯(cuò)如有興趣能查看網(wǎng)站中的相關(guān)資料。下圖就是MAX232的根本接線(xiàn)圖。

圖6-1MAX232

在上兩課的電路的根基上按圖6-3加上MAX232就能了。串行口座用DB9的母頭,這樣就能用買(mǎi)來(lái)的PC串行口延長(zhǎng)線(xiàn)舉行和電腦相連接,也能直接接到電腦com口上。

圖6-2DB9接頭

圖6-3加上了MAX232的'測(cè)驗(yàn)電路做好后,就先用回前面的"HelloWorld!'程序,用它來(lái)和你的電腦說(shuō)聲Hello!把程序

燒到芯片上,把串行口連接好。嘿嘿,這個(gè)時(shí)候要開(kāi)啟你的串行口調(diào)試軟件,沒(méi)有就趕快到網(wǎng)上DOWN一個(gè)了。你會(huì)用Windows的超級(jí)終端也行,不過(guò)我從不用它。我用的comdebug,它是個(gè)不錯(cuò)的軟件,我熱愛(ài)它是由于它功能好而且還有"線(xiàn)路狀態(tài)'功能,這對(duì)

我制作小玩意時(shí)很有用。串行口號(hào),波特率調(diào)好,開(kāi)啟串行口,單片機(jī)上電,就能在接收區(qū)看到不斷展現(xiàn)的"HelloWorld!'。確定要先開(kāi)啟軟件的串行口,再把單片機(jī)上電,不然可能因字符不對(duì)齊而看到亂碼哦。

運(yùn)算符和表達(dá)式關(guān)系運(yùn)算符

關(guān)系運(yùn)算符,同樣我們也并不目生。單片機(jī)C語(yǔ)言中有六種關(guān)系運(yùn)算符,這些東西同樣是在我們小時(shí)候?qū)W算術(shù)時(shí)就已經(jīng)學(xué)習(xí)過(guò)了的:

大于

小于

=大于等于

=小于等于

==等于

!=等于

或者你是個(gè)非C語(yǔ)言程序員,那么對(duì)前四個(gè)確定是再熟諳不過(guò)的了。而"=='在VB或PASCAL等中是用"=',"!='那么是用"not'。

小學(xué)時(shí)的數(shù)學(xué)課就教授過(guò)運(yùn)算符是有優(yōu)先級(jí)別的,計(jì)算機(jī)的語(yǔ)言也不過(guò)是人類(lèi)語(yǔ)言的一種擴(kuò)展,這里的運(yùn)算符同樣有著優(yōu)先級(jí)別。前四個(gè)具有一致的優(yōu)先級(jí),后兩個(gè)也具有一致的優(yōu)先級(jí),但是前四個(gè)的優(yōu)先級(jí)要高于后2個(gè)的。

當(dāng)兩個(gè)表達(dá)式用關(guān)系運(yùn)算符連接起來(lái)時(shí),這個(gè)時(shí)候就是關(guān)系表達(dá)式。關(guān)系表達(dá)式通常是用來(lái)判別某個(gè)條件是否得志。要留神的是用關(guān)系運(yùn)算符的運(yùn)算結(jié)果只有0和1兩種,也就是規(guī)律的真與假,當(dāng)指定的條件得志時(shí)結(jié)果為1,不得志時(shí)結(jié)果為0。

表達(dá)式1關(guān)系運(yùn)算符表達(dá)式2如:I

借助我們?cè)谏弦徽n做好的電路和學(xué)習(xí)了的相關(guān)操作。我們來(lái)做一個(gè)關(guān)系運(yùn)算符相關(guān)的實(shí)例程序。為了增加學(xué)習(xí)的趣味性和生動(dòng)性,不妨我們來(lái)假設(shè)在做一個(gè)會(huì)做算術(shù)的機(jī)器人,當(dāng)然真正會(huì)斟酌對(duì)話(huà)的機(jī)器,我想我是做不出來(lái)的了,這里的程序只是用來(lái)學(xué)習(xí)關(guān)系運(yùn)算符的根本應(yīng)用。

#include《AT89X51.H》

#include《stdio.h》

voidmainvoid

intx,y;

SCON=0x50;//串行口方式1,允許接收TMOD=0x20;//定時(shí)器1定時(shí)方式2

TH1=0xE8;//11.0592MHz1200波特率TL1=0xE8;

TI=1;

TR1=1;//啟動(dòng)定時(shí)器

while1

printf"您好!我叫Robot!我是一個(gè)會(huì)做算術(shù)的機(jī)器人!';//顯示

printf"請(qǐng)您輸入兩個(gè)int,X和Y';//顯示

scanf"%d%d',x,y;//輸入

ifx《y

printf"X《Y';//當(dāng)X小于Y時(shí)

else//當(dāng)X不小于Y時(shí)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論