當前位置:首頁 » 編程語言 » 從零學習單片機c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

從零學習單片機c語言

發布時間: 2022-05-26 17:04:17

Ⅰ 單片機學習 c語言

我給推薦本書 單片機開發技術實例教程 作者是張元良,我就是用這個入門的。
首先從最簡單的點亮一個LED燈開始搞起,慢慢就入門了。
注意,入門時候最好用c語言寫程序,盡量避免匯編,那樣會讓人反感,喪失興趣。
最好是先研究c代碼,再看理論,這樣有個好的感性認識。
當然自己也要有一定的數電基礎,還有c語言是必不可少的。
入門千萬別看匯編,也別完全看那種理論式的課本,那是沒辦法自學入門的,切記。
你說的書我沒看過,但只要是用c代碼講的就OK。
入門不難的,加油。
C語言的話,往後搞大程序開發是必須學精的。譚浩強的那本書入門可以,不過以後就別看了。看K&R的經典

Ⅱ 單片機從零開始怎麼學

第一階段:是先瀏覽教科書里的硬體部分,大至了解單片機的硬體結構。如ROM、RAM、地址、I/O口等,以及看一些廠家的MCU資料(Data Sheet),來加強MCU所提供各項資源的印象。呵呵,還是得先看書。看不懂的就問老師,問知道的人。可以理解,我以前在學校也是對單片機一點兒也不理解,其實簡單點的說單片機就是一塊集成晶元,但是不同的地方就是可以通過編程來改變其引腳的電平高低。大二學了數電沒有?學過數點你就會理解高低電平的含義。另外,大一的時候學過計算機基礎了吧。你可以用計算機的原理來理解單片機。比如說 ROM 其實就像計算機的硬碟一樣,是用來裝東西的,裝你運行的程序。

第二階段:就是了解二進位數字、十六進位數和軟體方面的內容。盡管有很多高級語言可用於單片機的編程,但我覺得初學還是以匯編語言為好,更有利於和硬體結合,掌握硬體結構。知道匯編語言、機器語言、指令、 程序等概念後,從MOV指令開始,學習匯編語言和編程,在此如51的MCU匯編語言系統有11條指令,簡單又好理解它們怎樣和硬體聯系,更有助於一般學習單片機的指令整合與運用.因此其方法可先了 解幾條基本的MOV指令和它的機器語言,大致建立起單片機的硬體和軟體概念,來知道單片機的硬體是由指令控制指揮的。

第三階段按照編程環境的使用手冊,熟悉使用編程環境。現在的編程環境一般都和電腦相連,只要具備基本電腦知識的人都可很快掌握操作步驟。

第四階段是依靠實驗板,學習掌握單片機的匯編語言指令系統和簡單編程。同時和前面所學硬體知識結合組裝,起到主學軟體,鞏固硬體的雙重作用。

開始 時可用別人編的簡單程式在實驗板上進行驗證、分析,主要是熟悉該學習方法,在應用方面主要針對單片機I/O各項介面的使用,如A/D,D/A,PWM輸出的應用,LCD與VFD的控制,以及如何規范各項串列輸出入口的通訊協定等,對其所控制的各項元器件須先分析驅動能力,如電流電壓問題等。

匯編語言熟悉後,建議盡快學習C語言的編程,畢竟C語言有功能豐富的庫函數、運算速度快、編譯效率高、有良好的可移植性,而且可以直接實現對系統硬體的控制。C語言是一種結構化程序設計語言,它支持當前程序設計中廣泛採用的由頂向下結構化程序設計技術。此外,C語言程序具有完善的模塊程序結構,從而為軟體開發中採用模塊化 程序設計方法提供了有力的保障。因此,使用C語言進行程序設計已成為軟體 開發的一個主流。用C語言來編寫目標系統軟體,會大大縮短開發周期,且明顯地增加軟體的可讀性,便於改進和擴充,從而研製出規模更大、性能更完備的系統。

另外,我覺得一開始很多的概念可能你都不怎麼理解的,光看書也難理解,還得多問人,還有找一樣好的模擬軟體,一定要會用。在學指令的時候一條一條的驗證,那樣才會理解。
就比如一個非常簡單的 REG 0000H
AJMP 30H
MOV 20H #05H
END
看看模擬軟體的寄存器,內部數據存儲器裡面的數據有什麼改變。當你看到20H單元上的值變成了5,你就知道 MOV 20H #05H 的含義。但是光看書,可能就理解不出來。

Ⅲ 如何快速的學會單片機C語言編程

很多想學單片機的人問我的第一句話就是怎樣才能學好單片機?對於這個問題我今天就我自己是如何開始學單片機,如何開始上手,如何開始熟練這個過程給大家講講。

先說說單片機,一般我們現在用的比較多的的MCS-51的單片機,它的資料比較多,用的人也很多,市場也很大。就我個人的體會怎麼樣才能更快的學會單片機這門課。單片機這門課是一項非常重視動手實踐的科目,不能總是看書,但是學習它首先必須得看書,因為從書中你需要大概了解一下,單片機的各個功能寄存器,而說明白點,我們使用單片機就是用軟體去控制單片機的各個功能寄存器,再說明白點,就是控制單片機那些管腳的電平什麼時候輸出高,什麼時候輸出低。由這些高低電平的變化來控制你的系統板,實現我們需要的各個功能。至於看書,只需大概了解單片機各管腳都是干什麼的?能實現什麼樣的功能?第一次,第二次你可能看不明白,但這不要緊,因為還缺少實際的感觀認識。所以我總是說,學單片機看書看兩三天的就夠了,看小說你一天能看五六本,看單片機你兩三天看兩三遍就夠了,可以不用仔細的看。推薦一本書,就這一本就足夠,書名是《新編MCS-51單片機應用設計》,是哈爾濱工業大學出版社出的的,作者是張毅剛。大概了解一下書上的內容,然後實踐,這是非常關鍵的,如果說學單片機你不實踐那是不可能學會的,關於實踐有兩種方法你可以選擇,一種方法:你自己花錢買一塊單片機的學習板,不要求功能太全的,對於初學者來說你買功能非常多的那種板子,上面有很多東西你這輩子都用不著,我建議有流水燈、數碼管、獨立鍵盤、矩陣鍵盤、AD或DA(原理一樣)、液晶、蜂鳴器,這就差不多了。如果上面我提到的這些,你能熟練應用,那可以說對於單片機方面的硬體你已經入門了,剩下的就是自己練習設計電路,不斷的積累經驗。只要過了第一關,後面的路就好走多了,萬事開頭難,大家可能都聽過。方法二:你身邊如果有單片機方面的高手,向他求助,讓他幫你搭個簡單的最小系統板。對於高手來說,做個單片機的最小系統板只需要一分鍾的時間,而對於初學者可就難多了,因為只有對硬體了解了,才能熟練運用。而如果你身邊沒有這樣的高手,又找不到可以幫助你的人,那我勸你最好是自己買上一塊,畢竟自己有一塊要方便的多,以後做單片機類的小實驗時都能用得上,還省事。

有了單片機學習板之後你就要多練習,最好是自己有台電腦,一天少看電影,少打游戲,把學習板和電腦連好,打開調試軟體坐在電腦前,先學會怎麼用調試軟體,然後從最簡單的流水燈實驗做起,等你能讓那八個流水燈按照你的意願隨意流動時你已經入門了,你會發現單片機是多麼迷人的東西啊,太好玩了,這不是在學習知識,而是在玩,當你編寫的程序按你的意願實現時你比做什麼事都開心,你會上癮的,真的。做電子類的人真的會上癮。然後讓數碼管亮起來,這兩項會了後,你已經不能自拔了,你已經開始考慮你這輩子要走哪一行了。就是要這樣練習,在寫程序的時候你肯定會遇到很多問題,而這時你再去翻書找,或是問別人,當得到解答後你會記住一輩子的,知識必須用於現實生活中,解決實際問題,這樣才能發揮它的作用,你自己好好想想,上了這么多年大學,天天上課,你在課堂上學到了什麼?是不是為了期末考試而忙碌呢?考完得了90分,哈哈哈好高興啊,下學期開學回來忘的一干二凈,是不是?你學到什麼了?但是我告訴你單片機一旦學會,永遠不會忘了。另外我再說說用匯編和C語言編程的問題。很多同學大一二就開設了C語言的課,我也上過,我知道那時天天就是幾乘幾,幾加幾啊,求個階乘啊。學完了有什麼用?讓你用C語言編單片機的程序你是不是就傻了?書上的東西我們必須要會運用。單片機編程用C語言或匯編語言都可以,但是我建議用C語言比較好,如果原來有C語言的基礎那學起來會更好,如果沒有,也可以邊學單片機邊學C語言,C語言也挺簡單,只是一門工具而已,我勸你最好學會,將來肯定用得著,要不你以後也得學,你一點匯編都不會根本無所謂,但你一點C語言都不會那你將來會吃苦頭。匯編寫程序代碼效率高,但相對難度較大,而且很羅嗦,尤其是遇到演算法方面的問題時,根本是麻煩的不得了,現在單片機的主頻在不斷的提高,我們完全不需要那麼高效率的代碼,因為有高頻率的時鍾,單片機的ROM也在不斷的提高,足夠裝得下你用C語言寫的任何代碼,C語言的資料又多又好找,將來可移植性非常好,只需要變一個IO口寫個溫度感測器的程序在哪裡都能用,所以我勸大家用C語言。

總結上面,只要你有信心,做事能堅持到底,有不成功不放棄的強烈意志,那學個單片機來說就是件非常容易的事。

步驟:1.找本書大概了解一下單片機結構,大概了解就行。不用都看懂,又不讓你出書的。(三天)

2.找學習板練習編寫程序,學單片機就是練編程序,遇到不會的再問人或查書。 (二十天)

3.自己網上找些小電路類的資料練習設計外圍電路。焊好後自己調試,熟悉過程。 (十天)

4.自己完全設計具有個人風格的電路,產品,。。。你已經是高手了。 。。。。

看到了嗎?下功夫一個多月你就能成為高手,我就講這么多了,學不學得會,下不下得了功夫就看你的了。
參考資料:

Ⅳ 怎麼快速學習單片機,C語言基本沒基礎

郭天祥老師的 「零基礎10天學會單片機」 這是一個很好的選擇。他的第一個視頻就是介紹簡單的C語言和單片機的一些基本知識。真的做到了零基礎都能學會單片機。(當然這里的單片機是簡單的51單片機。)看了整個視頻,就完成了初步的入門過程。以後要學習其他的單片機就容易了。
迅雷裡面就有下載。或是直接上他的網站:天祥電子。

Ⅳ 單片機C語言編程教程

單片機c語言編程入門教程說難不難,說易不易,學習單片機c語言首先就要明白這兩樣東西是啥?單片機入門編程主要是學C語言,其次就是電路跟編程語言。

單片機c語言編程學習必看的關於模電,數電,電路這三本書,為接下來的學習做鋪墊。看書的目的是因為網上的教程太多太混雜,容易帶偏,做單片機軟體開發其實只要看得懂電路原理就可以了。

簡介

單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。相當於一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。

概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。

單片機的使用領域已十分廣泛,如智能儀表、實時工控、通訊設備、導航系統、家用電器等。

從二十世紀九十年代開始,單片機技術就已經發展起來,隨著時代的進步與科技的發展,目前該技術的實踐應用日漸成熟,單片機被廣泛應用於各個領域。現如今,人們越來越重視單片機在智能電子技術方面的開發和應用,單片機的發展進入到新的時期。

無論是自動測量還是智能儀表的實踐,都能看到單片機技術的身影。當前工業發展進程中,電子行業屬於新興產業,工業生產中人們將電子信息技術成功運用,讓電子信息技術與單片機技術相融合,有效提高了單片機應用效果。

作為計算機技術中的一個分支,單片機技術在電子產品領域的應用,豐富了電子產品的功能,也為智能化電子設備的開發和應用提供了新的出路,實現了智能化電子設備的創新與發展。

以上內容參考:網路-單片機

Ⅵ 您好,陌生朋友,請問零基礎的新手想學習C語言,要從哪裡開始看哪本書比較適合

1.[C和指針].(美)Kenneth.A.Reek。,C primer plus第六版 都是外國的C語言名著,但由於翻譯後和原著有一定語義差距再加上中西方文化差異,其實我個人覺得不適合初學者!
2.譚浩強的《C語言程序設計》是清華大學的老教授寫的一本大學教程,確實比較適合中國學生,特別是初學者的學習!(不要怕網上的一些對此書的負面的評論,畢竟這本書剛成書的中國國情決定的,但畢竟這本書成就了現在的很多C語言大咖,從書的版次和銷量也說明了這本書的當時暢銷程度),反正從一個C語言熟手或高手來看這本書可能會有一些問題
3.但是,譚浩強的《C語言程序設計》的有一些地方確實也存在欠妥的地方,比如變數的表示很多用a,b,c,這一點如果初學者學了後成了習慣,那以後用C++等語言編寫大型程序會出大問題,還有由於是一本入門教材對一些C語言的深入探究也不夠,真正實際應用的實訓例子也欠缺。等等
4.建議如果學完譚浩強的《C語言程序設計》後再好好看看.[C和指針].(美)Kenneth.A.Reek。,C primer plus第六版這兩本書,然後有機會好好研究C語言代碼的匯編調試代碼,最好對內存的分配,代碼區,數據區,數據區的全局變數區,棧區,堆區(全局變數,靜態變數,局部變數在上述內存中的存儲結構以及作用域,最好還要了解數組,結構體,共用體,位域的內存中的存儲結構也知道);以及函數調用的匯編實現過程(棧實現過程)等知識到網上深入學習一下。有機會還可以用keilC進行單片機編程或學c++。

Ⅶ 初學者學單片機C語言是從0到1開始寫代碼還是修改別人的代碼學習更好

如果是學習,建議從0到1,但也不是完全閉門造車,要學會參考別人的思想,代碼的細節實現一定要親自去實現,我就是這么過來的,雖然前期比較難比較辛苦,但是後面會感覺比別人更輕松;而且感覺自己越學越容易,我上學時很多人都是從改別人程序開始,發現到後面他們還是只能去改別人代碼,沒能力自己從頭去實現一個功能;主要是在這樣一個學習過程中,不斷遇到問題,查找資料,解決問題,對於單片機的運行原理會理解更加深入;始終去修改別人代碼是無法對底層原理有更加深入理解的;
做單片機就要做到寫一條C語言能夠知道最後大概被轉化成了什麼樣的匯編代碼,單片機又是如何運行這些代碼;只有對底層有了足夠的了解,你寫出的代碼才能高效;

Ⅷ 怎樣學好單片機和C語言

多看幾遍郭天祥的十天學會單片機,多看看別人的程序,從簡單的或是修改別人的程序開始,練得多了自然就熟悉了

Ⅸ 怎樣學習單片機c語言

1,樓主,你首先要學習C語言基礎,就相當於80%會單片機了,因為現在所有8/16/32位(51系列,MSP430系列,ARM系列)都是使用C語言。
2,先看內核8051的單片機:台灣宏晶的STC89C51-DIP40/或其它如新茂,到網上買一個開發板,價格不會超過200元。
3,看一下單片機功能:包換內部FLASH、RAM、TIMER、INT、ADC、USB、ISP/IAR等。
4,編譯環境、編程軟體KEIL。
5,打開開發板的例子程序,在KEIL編譯,下載到板,看結果和說明是不是相符,達到這樣效果時,你心裡肯定很秀激動,這時你真正學會了單片機,你成功了!!!!!。
6,單片機C語言舉例:
sbit SPEAK = P1^5; //IO口定義為蜂鳴器控制
如果蜂鳴器正極接電源,SPEAK =0;蜂鳴器就會響,你看就是這么簡單。
unsiggne char temp;//定義TEMP為單位元組變數。
sfr PORTA P1;//將P1口定義為PORTA
總結:多做開發板上的實驗,你要多參與這樣的項目開發,慢慢就會了。

Ⅹ 怎麼學習單片機和C語言

首先,,買一塊開發板,,其實應該自己做,但是那樣入門太慢了,,
然後,看懂一些基本的層序,一些簡單的,類似於跑馬燈、串口等等。
有了感性的認識之後,
在針對你用的單片機的型號,去看他的硬體是怎麼工作,了解寄存器等等。
這樣,對硬體有一定了解之後,建議自己做一些有趣的實物玩玩,
最後,自己畫板子,做板子,做一塊開發板。
這樣子,你對單片機的了解就差不多了。
但是要做到專業,還要多看看別人的代碼和代碼的風格,這個很重要,最開始都是從看別人的代碼開始的了。

祝好!