請51微控制器C程式設計高手解答,幫忙做一下注釋,個人初學微控制器,不是很懂

2022-02-23 17:30:07 字數 3481 閱讀 2914

1樓:匿名使用者

您好:建議您對照一下硬體電路和ad轉換晶片的時序看吧

2樓:

我來簡單解釋一下吧,這是個典型的微控制器程式例項。標頭檔案是定義,包括所用到的按鍵、顯示、a/d介面的各i/o口的定義,函式定義等。void main()是主函式,包括微控制器內部暫存器的初始化,各狀態標誌的定義,while(1)這是監控程式,簡單的說就是一個死迴圈,裡面有顯示函式、鍵盤監視函式等。

後面的a/d轉換函式和資料讀取函式,不過while(1)中的一些函式沒有寫完整,因此不好確定你這個程式是怎麼進行a/d轉換的,猜測應該是當有按鍵按下的時候就會啟動(呼叫)a/d程式。

就說這麼多吧,還有不懂得還可以再交流!

微控制器51c語言程式設計題。十二題目都看不懂,請大神幫忙解答?

3樓:thx_吳

p1.2=p1.4&&acc.0||acc.7

p1.4&&acc.0他倆做與運算得出的結果再和acc.7進行或運算,最終結果賦值給p1.2

這你都看不懂

如何快速的學會微控制器c語言程式設計

4樓:綠葉楓

重點是:多看,多寫,多練,多思考!

微控制器有很多種,每種的側重都有不同,在自己想深入的微控制器方向選擇一本經典教材,然後將心沉入教材,開始用功學習。切記不要只看書,要讀懂書中例子程式,且動手程式設計實現它。

學習程式語言最好的方法是讀程式,讀程式是學習c語言入門最快,也是最好的方法。我們大家都應該有個體驗。讀了之後就要寫,這一點來不得半點懶惰。

如果你c語言功底紮實,按照選定教材鑽研幾天便可上手開發微控制器軟體。

5樓:曹超武術

選中要學的微控制器型號後,買塊開發板,對照著開發板上的演示程式跑一遍,把每個demo看懂,自己會修改,編寫程式,就ok了

6樓:匿名使用者

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

先說說微控制器,一般我們現在用的比較多的的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.自己完全設計具有個人風格的電路,產品,。。。你已經是高手了。 。。。。

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

參考資料:

7樓:饒磊

學習16的微控制器,學習的是ti的16位msp430微控制器,然後把底層的庫自己寫一遍,這個時候就會發現其實所有的微控制器就都是大同小異了,就是讀資料手冊,配置暫存器。

最後你可以用stm32這種32位的單片做一些東西,由於前面使用16位微控制器寫過底層,這個時候調庫就比較輕鬆,做專案更多的集中在演算法和電路上,而不是微控制器上了。

學習了以上這些,就會了微控制器,進而可以學習更高階的arm晶片,進而學習嵌入式作業系統的知識了,希望對你有所幫助。

c51 微控制器 區域性變數 問題,C51 微控制器 區域性變數 問題

為了 整體的安全,還是初始化一下。有時會被編譯器初始化為0的,但不是總是。微控制器區域性變數定義 這個問題要回歸到區域性變數的定義,我翻下書給你看書上的定義 區域性變數也稱內部變數,是在函式內部定義。其作用越限於函式內,離開函式後在使用就屬於非法,因為記憶體已釋放。摘自 微控制器原理及應用設計 胡學...

51微控制器程式設計題微控制器P1 0 1 7口接發光二極體(愛心圖樣)試編寫流水燈的彙編程式使發光二極體逐個亮

啟動入口 org 0000h 復位啟動 ljmp start org 000bh t0中斷 ljmp t0int org 0100h ljmp start 主控程式 start mov sp,80h 初始堆疊值mov tmod,01h 定時器0工作於方式1,50毫秒 12.000mhz mov th...

求微控制器高手解惑,微控制器問題求解答

建議你採用定時中斷的方式實現。一般的做法舉例,比如你有20ms,30ms,50ms三種延時 1 取這些延時的最大公約數時間,此例中就是10ms,以10ms做為定時中斷的定時時間。其實這個10ms就是一個時標。2 定義3個char型全域性計數變數 uc20ms uc30ms uc50ms,初值為0。在...