導航:首頁 > 操作系統 > 如何看懂單片機程序

如何看懂單片機程序

發布時間:2022-05-26 13:32:21

⑴ 跪求高手指點如何看懂單片機C語言程序,我是初學者,C語言是沒問題,對單片機知之甚少。

硬體知識要補上,否則會很吃力。首先從你的程序用到的單片機開始,下載該單片機的datasheet,可以從alldatasheet網站或該單片機官網,單片機的各個功能都在裡面介紹了,並且有示例代碼。你對照著程序看,單片機程序和應用層程序的區別是它和硬體是息息相關的,你光看代碼簡直是看天書,並且可能由你的臆斷而產生錯誤的結論。單片機程序也從來不是只是單片機,和外設也是息息相關的,同樣,找到外設的型號,下載datasheet一句句對照著看,沒有硬體知識可能不了解程序的原理,但是搞懂程序在幹嘛應該不難。

⑵ 單片機,程序看不懂啊,求解釋。

你需要先看單片機匯編,以及熟悉CPU的GPIO,還有就是看懂硬體原理圖。
其實多數匯編程序可以改寫成C程序,你可以從學51單片機C語言開發入門

⑶ 已經有c語言基礎,但是還是看不懂單片機的c編程...如何是好

根據你的問題,我把單片機的C語言程序分成3塊:
1、純粹的應用級運算或數據處理類的函數或子程序。比如獲得一個四則運算的結果等。這部分程序代碼以你的基礎肯定能讀懂,因為C51和PC機上的C語言都是一樣的。
2、針對單片機自身的硬體控製程序等。這部分軟體其實內容不多,如果了解單片機的結構及各主要模塊的功能就能理解個大概:比如定時器怎麼用、怎樣設定初值、怎樣啟動,又比如如何在單片機的埠輸出高電平或是輸出低電平等等。
3、針對單片機以外的硬體控制子程序或函數。比如8個8位的LED數碼管,如何掃描控制其顯示內容,如何採集單片機系統中的哪個按鍵被按下了等。這部份軟體就需要你去了解單片機最常用的外圍電路的工作原理後才能理解。

總之,需要有一定的硬體基礎才能讀懂單片機的C語言,至於方法:
1、系統的學習單片機的基本結構和原理。無論針對哪個應用最基本的內容都是相似的。熟悉後拿來任何一個程序都能快速的將其拆分,明白各模塊大致的用途。
2、有針對性的去了解單片機以外其它的電路的功能及實現原理。這一點可以邊應用邊學習,任何人都不敢說所有的硬體都了解,都是邊學邊用。

⑷ 如何看懂單片機C語言參數傳遞機制

因為str的定義為unsigned
char型數組,作為變數的str是指向這個數組首地址的指針,所以主程序引用str時是告訴子程序傳入數組首地址;對於子程序必須知道這是一個數組首指針,用
unsigned
char
*修飾傳入的參數或寫成unsigned
char
str[]均是可以的。

⑸ 關於51單片機的程序,雖然有注釋,但是還是看不太明白,求大神詳解

其實很簡單這個程序,就是兩個定時器,定時器1的功能就是讓聲音持續走下去,達到一定時間,恢復定時器0的中斷時間,重新開始那麼走。
關鍵是他那幾個全局變數 flag(控制進入模式即所謂頻率) ,fre(控制中斷時間),具體你哪裡不明白指出來,不可能一句一句都給你注釋了

⑹ 單片機怎樣快速入門怎樣看懂晶元手冊

晶元手冊的話
一方面你的專業英語和專業知識要有一定的積累
還有就是對一些基本概念的了解
要能夠明白晶元手冊說的是什麼
最後就是多看多比較了
看多了
你就知道晶元手冊的套路
你會知道挑著看
看重點的
到時候你會發現看晶元手冊是一種享受

單片機的快速學習的步驟

當前的單片機種類很多,但是 51 是最基礎的,因此單片機的學習最好也是從 51 開始,不僅容易上手,而且相當實用。然而 51 單片機畢竟過於基礎,後來的很多單片機在功能上都有很大的擴展,因此按照我們實驗室多數人的路線接下來大多數人會學習 AVR 單片機, AVR 單片機在功能上較 51 有很大提升,集成了 A/D 、快速 PWM 等很多實用的功能,而且和很多大型的單片機在功能上有很多類似之處,因此如果以後還想掌握其他單片機 AVR 無疑是一個很好的跳板。

學習的過程

學習單片機最終要的是當然是練,我所說的學習跟課堂上的單片機學習不同,我以前也看過一些單片機教材,有些教材講的是單片機的工作原理和內部結構,這些東西對於我們暫時並不需要,等以後開課的時候在學習好了。現在要學習的是暫時拋開內部結構原理不談,如何能用單片機寫一些簡單的小程序,是從實用性的角度出發,網上有一種說法稱之為先實踐後理論的學習方法。

因此我的觀點如下,單片機的硬體結構首先要有一個基本的了解,最起碼要知道各引腳的功能、區別,能自己動手搭一個單片機的最小系統,然後就可以直接從程序入手,程序最好還是用 C 語言編程,從簡單的跑馬燈做起,逐漸深入,陸續可以做一些數碼管、液晶、 DS1302 、 DS18B20 等電子元器件的應用,在深入就可以結合一些具體實例擴展一些中斷、串口通訊等功能。還有一點要聲明的是單片機里用到的 C 語言其實很有限,課堂上學習 C++ 的很大一部分內容在初期單片機編程中都用不到,因此沒必要因為覺的自己的 C 語言基礎不是很好而對單片機望而止步!

學習的工具

軟體方面方面, 51 單片機用的是 KEIL 軟體,這個軟體在學校圖書館軟體下載和其他網站上都有,具體用法自己查找相關資料, AVR 的軟體就比較多了,我用的是 CVAVR ,另外還有 ICCAVR 等多款編譯軟體,這要看個人喜好了,建議有了一定的 51 基礎再學。另外就是燒寫軟體,燒寫軟體的作用就是將編譯器生成的 HEX 文件燒寫至單片機里,這要配合下載線實用,如果有並口的話最好用並口下載線,軟體最好用廣州雙龍的 SLISP 軟體,如果是筆記本沒有並口的話則要自己買一個下載器了,名稱為 USBASP ,網上電子市場有賣 20 塊錢左右,軟體會隨光碟自帶。

硬體方面,首先是要有單片機,對於單片機有一點要注意, 51 單片機最好買 89S51 、 89S52 這兩種型號,上面我所說的燒寫程序是 ISP 方式,這兩種單片機支持 ISP 下載,所以如果買其他型號的燒寫程序可能會不太方便, AVR 單片機常用的就是 ATmega16L 其它型號的區別也不是很大,甚至有些兼容。至於單片機開發板,目前的價格都很貴,從一百到幾百不等,不過像上次學校里廣告的那個六十多塊錢的最好還是免了,沒什麼作用。能買一塊當然好,沒有的話也不要緊,自己動手買個電路板搭一下也很方便,引出 ISP 介面,燒寫程序十分容易,然後將 I/O 口引出擴展也很方便。

學習單片機的其它幾個注意點:

1 .理論與實踐並重
對一個初學單片機的人來說,如果按教科書式的學法,上來就是一大堆指令、名詞,學了半天還搞不清這些指令起什麼作用,也許用不了幾天就會覺得枯燥乏味以致半途而廢。所以學習與實踐結合是一個好方法,邊學習、邊演練,循序漸進,這樣用不了幾次就能將所用到的指令理解、吃透、紮根於腦海,甚至 「 根深蒂固 」 。也就是說,當你學習完幾條指令後 ( 一次數量不求多,只求懂 ) ,接下去就該做實驗了,通過實驗,使你感受到剛才的指令產生的控制效果,眼睛看得見 ( 燈光 ) 、耳朵聽得到 ( 聲音 ) ,更能深刻理解指令是怎樣轉化成信號去實現控制的,通過實驗看到自己所學的成果不僅有一種成就感也能提升你對單片機的興趣。說句實在話,單片機與其說是學出來的,還不如說是做實驗練出來的,何況做實驗本身也是一種學習過程。因此邊學邊練的學習方法,效果特別好。
2 .合理安排時間持之以恆
學習單片機不能 「 三天打魚、兩天曬網 」 ,要有持之以恆的毅力與決 4 心。學習完幾條指令後,就應及時做實驗,融匯貫通,而不要等幾天或幾個星期之後再做實驗,這樣效果不好甚至前學後忘。另外要有打 「 持久戰 」 的心理准備,不要興趣來時學上幾天,無興趣時涼上幾星期。學習單片機很重要的一點就是持之以恆。

3 .遇到問題耐心檢查

單片機有軟硬體兩方面的內容,有時一個程序怎麼調都不出效果,然而從理論分析卻又是對的,這是就要仔細找原因了,學習單片機經常碰到很多問題,有時一兩天都不能解決,這是就要有耐心,從底層找起,相信每找出一個錯誤都會有一個新的收獲。切不可輕言放棄!!!
4 .對只短暫學過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是過一段時間後 (1-2 個月 ) 再重新學一遍,學過的知識要經常運用,這樣反復循環幾次就能徹底弄懂消化,永不忘卻。
5 .要進行適當投資購買實驗器材及書籍資料
單片機技術含金量高,一旦學會後,給你帶來的效益當然也高,無論是應聘求職還是自起爐灶開廠辦公司,其前景都光明無限。因此在學習時要捨得適當投資購買必要的學習、實驗器材。另外還要經常去科技圖書店看看,購買一些適合自己學習、提高的書籍。一本好的書籍真的很重要,可以隨時翻閱,隨時補充不懂或遺忘的知識。

⑺ 會C語言 但 看不懂單片機C語言程序!

會C語言的話就容易多啦,但要看你的C語言到哪個層次,另外對於單片機程序這種和硬體連接緊密的程序,僅有C語言是不夠的,還需要了解單片機的硬體,用C語言編程相對匯編容易,可以簡單看看PIC16F716的使用手冊,然後從最簡單的程序開始,慢慢就行了,如果還是吃力的話建議可以先了解最簡單的51單片機。了解單片機硬體原理,再會C語言,就可以寫
單片機程序了

⑻ 怎樣讀好單片機程序

過了C語言二級!
我給你的建議————C語言是簡單
單片機編程也用不到多深度的編程,問題是你的C語言弄明白了嗎,就是一些簡單的程序。我說得明白是:知道程序的編寫思路,並不是你能否看懂這個程序,否則C語言算是什麼也不是
就是算是知道有英語一樣。
對單片機的內部結構比較了解!
…………告訴你,其實內核才是最要的,應為他才是基礎。至於一個內核,你首先要知道他都有些什麼,這些資源你能明白多少。初次看,肯定是一知半解,對於這些資源你首先能想到你能做些什麼。你也許寫不出來程序,但是你能想到用這些資源做什麼。例子我不說了。當你把內核都了解了(建議了解三四遍——也許還要多),你才算是做到了第一步,這個時候你就可以鍛煉你的思路。這個是最最重要的。思路的好壞決定了你以後在這方面的發展
,不要拘泥於課本。
也許初學時你並看不懂一些C語言程序。那是應為你所看的是你沒有見過的,並且你現在看到的程序並不是一個難度循序漸漸的。看不懂不要緊,先看內核,知識學習程序中的方法,自己考錄其中的思路。
要想學好單片機……一定要動手,光考慮沒有用。別拍花錢,再說了也花不多少~··~

⑼ 別人已經在單片機內寫好程序,我該如何去看呢需要用什麼軟體呢

一般單片機程序都是加密的,需要讀出來必須先解密,有專門解密的廠家。讀出來之後也是16進制的機器碼。雖然現在反匯編軟體很多。但是把機器碼反匯編之後,內容很亂,不容易讀懂。
如果你想抄襲別人的產品,破解完直接寫進去就算了。如果想學習,還是自己查查資料,按照他的功能,自己寫

⑽ 怎麼能看懂單片機程序

  1. 學習C語言.通常單片機的編程語言是C

  2. 學會看懂單片機的數據手冊,通常單片機的編程需要頻繁操作其IO埠, 定時器這些資源,這就需要仔細閱讀其數據手冊,了解這些硬體的操作方法.

閱讀全文

與如何看懂單片機程序相關的資料

熱點內容
移動端微信商城源碼 瀏覽:442
編程貓下一個背景在哪裡 瀏覽:354
javaclasstype 瀏覽:234
樂高編程和樂高課的延伸 瀏覽:354
蘋果手機怎麼切換app美國賬號 瀏覽:861
編譯程序輸入一個字元串 瀏覽:407
圓命令畫法 瀏覽:308
如果給電腦e盤文件加密 瀏覽:801
javaswing項目 瀏覽:778
androidsdksetup 瀏覽:1005
pdf怎麼設置中文 瀏覽:128
安卓手機用什麼軟體看倫敦金 瀏覽:966
魅族文件夾無名稱 瀏覽:792
蘇黎世無人機演算法 瀏覽:876
核桃編程和小碼王的融資 瀏覽:686
微積分教材pdf 瀏覽:727
寫python給微信好友發消息 瀏覽:340
蚊帳自營米加密 瀏覽:422
學校推薦核桃編程 瀏覽:807
湖南農信app怎麼導明細 瀏覽:475