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

正文內容

(1小時學會c語言51單片機)c語言入門教程(已修改)

2025-09-04 16:06 本頁面
 

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