51單片機(jī)自學(xué)教程 請問大佬們,學(xué)習(xí)單片機(jī)需要把C語言學(xué)好,再學(xué)單片機(jī)嗎?
請問大佬們,學(xué)習(xí)單片機(jī)需要把C語言學(xué)好,再學(xué)單片機(jī)嗎?你好!作為一個(gè)學(xué)過供應(yīng)鏈管理的人,我可以回答你的問題。首先,可以肯定的是,學(xué)習(xí)單片機(jī)并不需要先學(xué)習(xí)C語言再學(xué)習(xí)單片機(jī),而是可以在學(xué)習(xí)單片機(jī)的過程中
請問大佬們,學(xué)習(xí)單片機(jī)需要把C語言學(xué)好,再學(xué)單片機(jī)嗎?
你好!作為一個(gè)學(xué)過供應(yīng)鏈管理的人,我可以回答你的問題。首先,可以肯定的是,學(xué)習(xí)單片機(jī)并不需要先學(xué)習(xí)C語言再學(xué)習(xí)單片機(jī),而是可以在學(xué)習(xí)單片機(jī)的過程中促進(jìn)C語言的學(xué)習(xí)
!當(dāng)我學(xué)習(xí)SCM時(shí),我只知道C語言。在學(xué)習(xí)單片機(jī)的過程中,我對C語言的理解逐漸加深。通過編寫一個(gè)簡單的小程序來慢慢驗(yàn)證C語言語句的執(zhí)行情況,例如,在學(xué)習(xí)for loop語句時(shí),我們可以用水燈的loop來驗(yàn)證;在學(xué)習(xí)數(shù)組時(shí),我們可以用數(shù)碼管來驗(yàn)證;在學(xué)習(xí)C語言指針時(shí),我們可以用LCD1602液晶來顯示字符串來驗(yàn)證等等。即使是C語言的復(fù)句表達(dá),也可以用一兩個(gè)LED燈來驗(yàn)證句子的邏輯關(guān)系。
因此,可以同時(shí)學(xué)習(xí)MCU和C語言。它們相互促進(jìn)、相互補(bǔ)充。單片機(jī)本身及其外圍設(shè)備可以通過C程序進(jìn)行控制,而單片機(jī)及其外圍設(shè)備的C程序控制使我們對硬件有了進(jìn)一步的了解。在學(xué)習(xí)兩者的同時(shí),我們也鍛煉了程序調(diào)試的能力,也就是說提高了我們發(fā)現(xiàn)問題和解決問題的能力!所以我建議學(xué)習(xí)單片機(jī)的朋友在學(xué)習(xí)C語言的同時(shí)應(yīng)該進(jìn)行單片機(jī)的選擇,以上是我學(xué)習(xí)單片機(jī)時(shí)的體會,希望能給朋友們一個(gè)參考
!歡迎大家來討論這個(gè)問題,請收看電子工業(yè)控制技術(shù)
個(gè)人電腦如何控制單片機(jī)?
計(jì)算機(jī)(computer)定義為上位機(jī),MCU定義為下位機(jī);兩者可以通過串口或USB進(jìn)行通信;老一點(diǎn)的計(jì)算機(jī)有并口,現(xiàn)在基本沒有了。
MCU一般都有UART接口,可以與計(jì)算機(jī)的串口通信。
轉(zhuǎn)換后的信號可以通信。計(jì)算機(jī)串口的接收端接單片機(jī)的發(fā)送端,計(jì)算機(jī)串口的發(fā)送端接單片機(jī)的接收端。
USB到UART模塊的RX連接到單片機(jī)的TX;TX連接到單片機(jī)的RX;
計(jì)算機(jī)和單片機(jī)需要運(yùn)行適當(dāng)?shù)某绦騺砘ハ喟l(fā)送和接收數(shù)據(jù)。就像水管連接好一樣,也需要水的配合。
請問用易語言可以編寫單片機(jī)程序嗎?
問題1,不需要用C語言來表示MCU語言(機(jī)器語言)。當(dāng)你用相應(yīng)的軟件編譯你的程序時(shí),編譯軟件會把你的程序“翻譯”成“機(jī)器語言”(也就是你所說的MCU語言),然后燒成MCU。C語言是C語言,但它比以前的機(jī)器語言更容易讀寫,單片機(jī)的開發(fā)采用匯編語言。在燒單片機(jī)之前,你應(yīng)該根據(jù)“單片機(jī)機(jī)器語言表”把你的程序翻譯成“機(jī)器語言”,這個(gè)表里滿是數(shù)字串。這就是時(shí)鐘的痛苦?,F(xiàn)在有編譯器軟件來做這件事。例如,用KEIL編譯后,點(diǎn)擊simulation,可以看到相應(yīng)的匯編語句和machine語句,machine語句在單片機(jī)問題2中。并非所有的單片機(jī)都支持位運(yùn)算。例如,51支持位操作。在C語言中,如果定義位運(yùn)算,編譯器在“翻譯”時(shí)會把它翻譯成相應(yīng)的機(jī)器語言。此時(shí),由于51支持操作,生成的代碼較少。如果使用不支持位運(yùn)算的單片機(jī),編譯器會將標(biāo)準(zhǔn)C語言原來不支持的位定義,它只能以位域的方式定義。像“位”這樣的定義是從KEIL擴(kuò)展而來的,KEIL專門用于51這樣支持位定義的MCU。這樣的C語言稱為非標(biāo)準(zhǔn)C語言,keil中使用的C語言稱為keil C語言,之所以使用C來開發(fā)是為了方便,之所以在開發(fā)中允許使用位定義,是因?yàn)榧嫒荩ㄒ驗(yàn)?1支持)使用C語言來開發(fā),要充分發(fā)揮C語言的優(yōu)勢,如何將這些語言轉(zhuǎn)換成單片機(jī),是編譯器的問題。記住“只要支持使用,這就是優(yōu)化”,但是這個(gè)優(yōu)化程序不是方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方方。不明白,給我留言