freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機c語言學(xué)習(xí)心得(已修改)

2024-11-15 23:55 本頁面
 

【正文】 第一篇:單片機C語言學(xué)習(xí)心得指針的使用 在定義的時候,*ap中的‘*’是指針類型說明符;在進行指針預(yù)算時,x = *ap 中的‘*’是指針運算符。 如果在已定義好的指針變量,并引用,即int *ap, int a。ap = amp。a。則在進行指針運算的時候:(1)*ap與a是等價的,即 *ap就是a;(2)amp。*ap:由于*ap與a等價,則amp。*ap與amp。a等價(地址);(3)*amp。a:由于amp。a = ap,則*amp。a與*ap等價,即*amp。a與a等價(變量);(4)*ap++相當(dāng)于a++。 指向數(shù)組的指針變量的定義,應(yīng)用,賦值:int a[10]。int *app。則有兩種方法:app = amp。a[0]?;?app = amp。a。(1)app+I 或a+i就是數(shù)組元素a[i]的地址;(2)*(app+i)或 *(a+i)就是元素a[i]中的內(nèi)容;(3)指針變量也可以帶下表,即app[i]與*(app+i)等價。 數(shù)組和指針可以互換,但在代碼執(zhí)行的效率上卻大不相同。用數(shù)組找元素必須每次計算元素的地址,效率不高;而用指針則直接指向某個元素,不必每次計算地址,可以大大的提高運算效率。 關(guān)于指針的運算:(1)p++(或p+=1):使指針p指向下一個數(shù)組元素,地址加1;(2)*p++:先得到p指向的變量值,再執(zhí)行p加1,指向下一個數(shù)組元素;(3)*++p:先使p加1,指向下一個數(shù)組元素,再去p指向的變量值;(4)(*p)++:表示p指向的變量值加1;(5)若p指向當(dāng)前數(shù)組中的第i個元素,則:(p)與a[i] 等價:先執(zhí)行*p,然后p自減;(++p)與a[++i] 等價:先執(zhí)行p自加,再執(zhí)行*p;(p)與a[p] 等價:先執(zhí)行p自減,再執(zhí)行*p。 指向多維數(shù)組:定義一個二維數(shù)組:a[3][4]。定義一個指針變量:(*p)[4]。(注意:列數(shù)相同(第二維相同))使指針變量指向數(shù)組:p = a。此時: p與a等價:指向數(shù)組a[3][4]的第0行首地址;p+1與a+1等價:指向數(shù)組a[3][4]的第1行首地址;p+2與a+2等價:指向數(shù)組a[3][4]的第2行首地址;而:*(p+1)+3與amp。 a[1][3]等價,指向a[1][3]的地址;*(*(p+1)+3)與a[1][3]等價,表示a[1][3]的值; 一般的:對于數(shù)組a[i][j]來講,有*(p+i)+j相當(dāng)于amp。a[i][j],表示第i行第j列元素的地址; *(*(p+i)+j)相當(dāng)于a[i][j],表示第i行第j列元素的值。 指向結(jié)構(gòu)體:如果指針p指向結(jié)構(gòu)體數(shù)組msg1[0]的首地址,則:(1)(*p).flg與pflg和msg1[0].flg三者完全等價,即(*p).成員名 與p成員名 以及 結(jié)構(gòu)體數(shù)組元素成員名三種形式是等價的;(2)p+1:使指針指向結(jié)構(gòu)數(shù)組msg1[0]的下一個元素msg1[1]的首地址;(3)由于指向運算符的優(yōu)先級高于自加運算符++,則:(++p)flg:先使p自加1指向msg1[1]的地址,再指向msg1[1]的flg成員值;(p++)flg:先得到msg1[0].flg的值,再使p自加1指向msg1[1]的首地址; pflg++:先得到msg1[0].flg的值,使用完后再使msg1[0].flg的值加1; ++pflg:先將msg1[0].flg的值加1,再使用。第二篇:單片機c語言學(xué)習(xí)心得轉(zhuǎn)載單片機c語言學(xué)習(xí)心得(一)相信很多愛好電子的朋友,對單片機這個詞應(yīng)該都不會陌生了吧。不過有些朋友可能只聽說他叫單片機,他的全稱是什么也許并不太清楚,更不用說他的英文全稱和簡稱了。單片機是一塊在集成電路芯片上集成了一臺有一定規(guī)模的微型計算機。簡稱為:單片微型計算機或單片機(Single Chip Computer)。單片機的應(yīng)用到處可見,應(yīng)用領(lǐng)域廣泛,主要應(yīng)用在智能儀表、實時控制、通信、家電等方面。不過這一切都沒什么關(guān)系,因為我(當(dāng)然也包括任何人)都是從不知道轉(zhuǎn)變成知道的,再轉(zhuǎn)變成精通的。現(xiàn)在我只想把我學(xué)習(xí)單片機的經(jīng)歷,詳細(xì)地講敘給大家聽聽,可能有些大蝦會笑話我,想:那么簡單的東西還在這里賣弄。但是你錯了,我只是把我個人學(xué)習(xí)的經(jīng)歷講述一遍而已,僅僅對那些想學(xué)習(xí)單片機,但又找不到好方法或者途徑的朋友,提供一個幫助,使他們在學(xué)習(xí)過程中,盡量少走些彎路而已!首先,你必須有學(xué)習(xí)單片機的熱情,不是說今天去圖書館看了一個下午關(guān)于單片機的書,而明天玩上半天,后天就不知道那個本書在講什么東西了。還是先說說我吧,我從大二的第一個學(xué)期期末的時候才開始接觸單片機,但在這之前,正如上面所說的:我知道有種芯片叫單片機,但是具體長成什么樣子,卻一點也不知道!看到這里很多朋友一定會忍不住發(fā)笑。嘿嘿,你可千萬別笑,有些大四畢業(yè)的人也同樣不知道單片機長成什么樣子呢!而我對單片機的癡迷更是常人所不能想象的地步,大二的期末考試,我全放棄了復(fù)習(xí),每當(dāng)室友拿著書在埋頭復(fù)習(xí)的時候,我卻捧著自己從圖書館借的單片機書在那看,雖然有很多不懂,但是我還是堅持了下來,當(dāng)時我就想過,為了單片機值不值得我這樣去付出,或許這也是在一些三流學(xué)校的好處吧,考試掛科后,明年開學(xué)交上幾十元一門的補考費,應(yīng)該大部分都能過了。于是,我橫下一條心,堅持看我的單片機書和資料。當(dāng)你明白了單片機是這么一回事的時候,顯而易見的問題出來了:我要選擇那種語言為單片機編寫程序呢?這個問題,困擾了我好久。具體選擇C51還是A51呢?匯編在我們大二之前并沒有開過課,雖然看著人家的講解,很容易明白單片機的每一時刻的具體工作情況,但是一合上書或者資料,自己卻什么也不知道了,根本不用說自己寫程序了。于是,我最終還是決定學(xué)C51,畢竟C51和我們課上講的C語言,有些類似,編程的思想可以說是相通的。而且C51還有更大的優(yōu)點就是編寫大程序時的優(yōu)越性更不言而喻,當(dāng)然在那時,我并沒有想的那么深遠(yuǎn),C51的特點,還是在后來的實踐過程中,漸漸體會到的!朋友如果你選擇了C51,那么請繼續(xù)往下看,如果你選擇了A51,那么你可以不要看了!因為下面講的全是C方面的,完全在浪費你的時間!呵呵 ^_^第二,既然你想學(xué)好單片機,你必須得舍得花錢,如果不買些芯片回來自己動手焊焊拆拆的(但是在后期會介紹給大家一個很好用的硬件仿真軟件,并不需要你用實驗板和仿真器了,直接在你的PC上完成,但是軟件畢竟是軟件,從某個特定的意義上來說是并不能代替硬件的),即使你每天捧著本書,把那本書翻爛,也永遠(yuǎn)學(xué)不會單片機的!剛接觸單片機的朋友,看了資料,一定會對以下幾個詞見的比較多,但是具體的概念還是比較模糊,現(xiàn)作如下說明:(1)編程器編程器是用來燒單片機芯片的,是把HEX或者BIN文件燒到單片機ROM里的。(2)實驗板實驗板是專為初學(xué)者根據(jù)某些要求而特做的板,一般上面就有一個單片機的最小系統(tǒng),使用者只需寫好程序,燒好芯片,放到上面加以驗證的這么一個工具。有了實驗板,對與初學(xué)者來說,省去了焊個最小系統(tǒng)的麻煩。但是對于電子開發(fā)人員來說,作用并不是很大(3)仿真器仿真器是直接把HEX或者BIN文件暫時放在一個芯片里,再通過這個芯片的引腳連接到實驗板或者系統(tǒng)上工作。這樣以來,可以省去了來回插拔芯片帶來的不必要麻煩。我一開始也不知道上面3個的概念和作用,嘿嘿,原本想買個實驗板(不想焊板,因為不可能為了點亮幾個流水燈,而去焊個單片機的最小系統(tǒng))的,可是結(jié)果,確和我想的正好相反,人家出售的是編程器。等貨物寄到后,才知道自己搞錯了!汗。嘿嘿?,F(xiàn)在想想實在是又氣又笑。我花了160大樣買了個編程器(很不幸的是,這個編程器更本用不了,一燒芯片,芯片就燒壞了)把我給氣的,這個編程器,現(xiàn)在還躺在我的抽屜里呢不過,現(xiàn)在想想,唯一讓我覺得欣慰的是,那個老板每次能解答我的問題,連那種超級幼稚的問題,他也能不嫌麻煩地盡量幫我解答!這點讓我很感動!第三,想學(xué)單片機的必需品PC。因為寫程序,編譯或者是仿真都是通過PC完成的。如果沒有PC,什么也做不了!!有了PC最好還要可以上網(wǎng),因為如果你沒有可以和你交流單片機的人,遇到自己解決不了的問題,一直都想不通,那么估計你學(xué)習(xí)單片機的熱情就會隨著時間的推移而慢慢耗盡。如果你能上網(wǎng)通過論壇或者,問題就很快得到解決。這樣的學(xué)習(xí)效率一定很高!真正的高手是從論壇中泡出來的!有了上述3個條件后,你就可以開始學(xué)你的單片機了。但是,真的做起來并沒有我所說的那么簡單。你一定會遇到很多很多的問題。比如為了讓單片機實現(xiàn)某個功能,你可能不知道怎么去寫某個程序?;蚴悄憧炊速Y料上某個相似的程序,你自己卻寫不出來。遇到類似的情況,記?。呵f不要急噪,就行!(二)說了這么多了,相信你也看了很多資料了,手頭應(yīng)該也有必備的工具了吧?。ú灰松厦嬷v過幾個條件的哦)。那個單片機究竟有什么功能和作用呢?先不要著急!接下來讓我們點亮一個LED(搞電子的應(yīng)該知道LED是什么吧^_^)我們在單片機最小系統(tǒng)上接個LED,看我們能否點亮它!對了,上面也有好幾次提到過單片機最小系統(tǒng)了,所謂單片機最小系統(tǒng)就是在單片機上接上最少的外圍電路元件讓單片機工作。一般只須連接晶體、VCC、GND、RST即可,一般情況下,AT89C51的31腳須接高電平。include//頭文件定義?;蛴胕nclude其具體的區(qū)別在于:后者定義了更多的地址空間。//在Keil安裝文件夾中,找到相應(yīng)的文件,比較一下便知!sbit P1_0 = P1 ^ 0。void main(void){while(1){P1_0 = 0。//低電平有效,如果把LED反過來接那么就是高電平有效}}就那么簡單,我們就把接在單片機P1_0上的LED點亮了,當(dāng)然LED是低電平,才能點亮。因為我們把LED的正通過電阻接至VCC。P1_0 = 0。類似與C語言中的賦值語句,即把 0 賦給單片機的P1_0引腳,讓它輸出相應(yīng)的電平。那么這樣就能達(dá)到了我們預(yù)先的要求了。while(1)語句只是讓單片機工作在死循環(huán)狀態(tài),即一直輸出低電平。如果我們要試著點亮其他的LED,也類似上述語句。這里就不再講了。點亮了幾個LED后,是不是讓我們聯(lián)想到了繁華的街區(qū)上流動的彩燈。我們是不是也可以讓幾個LED依次按順序亮呢?答案是肯定的!其實顯示的原理很簡單,就是讓一個LED滅后,另一個立即亮,依次輪流下去。假設(shè)我們有8個LED分別接在P1口的8個引腳上。硬件連接,在P1_1P1_7上再接7個LED即可。例程如下:includesbit P1_0 = P1 ^ 0。sbit P1_1 = P1 ^ 1。sbit P1_2 = P1 ^ 2。sbit P1_3 = P1 ^ 3。sbit P1_4 = P1 ^ 4。sbit P1_5 = P1 ^ 5。sbit P1_6 = P1 ^ 6。sbit P1_7 = P1 ^ 7。void Delay(unsigned char a){unsigned char i。while(a!= 0){for(i = 0。i 125。i++)。//一個。表示空語句,CPU空轉(zhuǎn)。}//i 從0加到125,CPU大概就耗時1毫秒}void main(void){while(1){P1_0 = 0。Delay(250)。P1_0 = 1。P1_1 = 0。Delay(250)。P1_1 = 1。P1_2 = 0。Delay(250)。P1_2 = 1。P1_3 = 0。Delay(250)。P1_3 = 1。P1_4 = 0。Delay(250)。P1_4 = 1。P1_5 = 0。Delay(250)。P1_5 = 1。P1_6 = 0。Delay(250)。P1_6 = 1。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1