本帖最后由 Magic_D 于 2016-11-18 10:36 編輯
Question 1:什么是單片機? Answer:單片機是一塊集成芯片,但這塊集成芯片具有一些特殊功能,而它的功能的實現要靠我們使用者自己來編程完成。我們編程的目的就是控制這塊芯片的各個引腳在不同時間輸出不同的電平(高電平或低電平),進而控制與單片機各個引腳相連接的外圍電路的電氣狀態。(摘自郭天祥的《新概念51單片機C語言教程》) 看看上面那段話,其實主要突出在最后一句:我們編程的目的就是控制這塊芯片的各個引腳在不同時間輸出不同的電平(高電平或低電平),進而控制與單片機各個引腳相連接的外圍電路的電氣狀態?赡苤v到這里,你會問什么是高電平低電平,在51的學習過程中,你只要知道高電平對應的是電壓5V低電平對應是電壓0V的意思就夠了。讓我們換種方式來復述上面那段話:單片機就是我們利用編程來控制它的引腳輸出0V或者5V的電壓到達控制外圍電路的目的。這樣說的話,是不是感覺就像你給自己的電動玩具上個電池那么簡單,其實道理是一樣的。
發光二極管 很多初學者學習51單片機的第一課都是點亮一個發光二極管。 Question2:如果告訴你發光二極管負極接了地(0V),正極接了單片機的一個引腳,那么根據你上面的學習,怎么樣才能把他點亮? Answer:將二極管正極接單片機的引腳電壓給到5V。 如果你這么說的話,那么恭喜你,你已經理解了上面的話。但是你這么做所伴隨的結果是,二極管會燒壞。所以我們在實際操作過程中會在外圍電路中加一個分流電阻(如果告訴你一個二極管導通的壓降是0.7V,電流為20mA,那么你會不會算分流電阻大小呢?)。 如果你注意到的話,我上面說的是外圍電路,結合上面的那段話你會發現,通過一個點亮發光二極管的過程,你就已經了解到了單片機的到底能夠干嘛了。但是問題又出來了,那么單片機工作(輸出高低電平)的時間基準是什么呢?或者說當你寫完代碼給單片機下載進去的時候它是立馬就執行?還是要給它一定的時間處理呢?
晶振和周期 什么是晶振?晶振是一個振動源,每振動一次所用的時間就為單片機的時鐘周期。時鐘周期為單片機的工作提供了時間基準,以便讓我們能夠在想要的時間點上操作他們。但是對于單片機來說,完成一個基本操作所用的時間是時鐘周期12倍—機器周期(不要問我為什么,我也不知道)。但是對于學好51來說,掌握這兩個周期是需要的和必要的。就像點亮一個發光二極管,你給引腳高電平的時,一個機器周期過后,它將單片機的那個引腳輸出為高電平(如果晶振頻率為12M,那么它用了多長時間將引腳輸出為高電平?)。
|