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