日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

单片机小白学步系列(六) 单片机最小系统——麻雀虽小,五脏俱全

發布時間:2023/12/15 windows 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单片机小白学步系列(六) 单片机最小系统——麻雀虽小,五脏俱全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文由PurpleSword(jzj1993)原創,轉載請注明。原文網址 http://blog.csdn.net/jzj1993


  前面介紹了集成電路的管腳編號識別,這里我們簡單了解下51單片機的40個管腳具體的作用。對于沒有接觸過復雜電子元器件的讀者來說,或許會感覺非常難,但實際上完全不需要有畏懼心理。

  


  按照集成電路的管腳識別方法,缺口朝上,逆時針轉一圈,單片機的引腳編號從1到40,如圖所示。圖中同時給出了各個管腳的名稱。我們完全不需要刻意去記這些管腳順序和名稱,在需要的時候查一下就好了,如果用的比較多,后來自然就記住了。

  


  按照圖中的大括號的提示,我們把P0.0~P0.7這樣八個管腳稱為一組IO口,叫做P0,同樣有P1、P2和P3。IO口(IO = Input / Output),顧名思義,就是輸入輸出接口,它是單片機與外界進行信息交流的途徑。之后我們主要的學習內容,也是圍繞IO口進行的。另外這32個IO口又有一些在括號中標注的管腳名稱,叫做第二功能;第二功能在特定的情況下會被啟用,沒有啟用第二功能時,它們就只是起到IO口的作用。例如P3.0和P3.1又叫做RXD和TXD,它們有串口的作用,可以用來給單片機下載程序,也可以用來和電腦進行數據的收發,即串口通信。除32個IO口外,還有八個管腳:其中29~31號腳一般用得不多,暫不做介紹;40腳VCC、20腳GND、9號腳RST以及18、19號腳XTAL1、XTAL2很快就會在下面的單片機最小系統中進行詳細講解。

  什么是單片機最小系統呢?最小系統,就是指單片機能正常工作最簡單的電路。對51單片機來說,最小系統一般包括:電源、單片機、時鐘電路和復位電路。其電路圖如下:

  


  現在向大家介紹下這些電路的作用。

  電源電路:作為電子器件,51單片機當然少不了電源供電,它一般使用5V電源,我們可以從大家所熟悉的USB接口獲取5V電源。在圖中,每個VCC符號都是共同連接在5V電源正極的;而所有的GND符號連接在一起,共同接到電源負極。圖中之所以沒有把它們連接到一起,而是使用多個VCC和GND符號,是為了讓電路圖看起來更清晰簡潔(VCC = Volt Current Condenser,表示供電電壓;GND = Ground,接地的意思,可以簡單理解為連接到電源負極,并且我們以GND作為參考電壓,GND的電壓值始終為0V)。

  特別注意,一定不要把單片機接到過高的電壓上,或者將電源正負極接反,很可能燒壞單片機,甚至發生爆炸。如果單片機是插在芯片插座上的,由于VCC和GND剛好在對稱的位置,插反了剛好會出現電源接反的情況,一定要注意避免。

  這里補充一點,如果需要知道一種芯片使用的電源電壓,通常可以查官方給出的芯片手冊,后面會對芯片手冊進行介紹。

  時鐘電路:連接在引腳XTAL1、XTAL2和GND間的電路是時鐘電路(XTAL = External Crystal Oscillator,表示外接晶振)。前面的電源比較好理解,但是什么是時鐘電路呢?它有什么用處呢?時鐘電路就像是人的心臟一樣,每時每刻不斷跳動著,對于單片機來說是至關重要的。如同心臟給我們的身體不斷運輸血液和氧氣,讓身體各種器官正常工作,而時鐘電路則是單片機內部各部分電路正常工作的驅動力。

  時鐘電路由晶振和電容器組成。晶振是一種由石英制造的電子元件,在通電時,其表面會產生特定頻率的振蕩,最后通過電路可以輸出一個頻率很穩定的時鐘信號,驅動單片機工作。我們人的心臟每分鐘跳動幾十到上百次,而對于單片機來說,這實在太慢了。圖中的晶振頻率是12MHz(1MHz=1,000,000Hz),正常工作起來,每秒鐘振蕩12,000,000次!實際上,時鐘電路的晶振并非必須是12M,也可以是其他的,但是要注意STC89C51這款單片機最高工作頻率不能超過80M(這個同樣可以通過芯片手冊查找)。實際上我們使用更多的是11.0592M的晶振,為什么是這樣奇怪的頻率呢?后面講到串口的時候相信讀者就能明白了。

  時鐘電路還用到C2和C3兩個電容,如果不了解電容,可以找找常用電子元器件介紹的相關資料,這里不做介紹。這兩個電容通常用瓷片電容,容量一般取30pF即可。

  順便說一下,如果自己設計時鐘電路,晶振和單片機之間的連線不要過長,這樣可能會導致電路不能正常工作(不能起振)。

  時鐘每產生一次振蕩的時間,叫做一個時鐘周期;對于我們用的這款51單片機,每12個時鐘周期,單片機執行一步操作,稱為一個機器周期(STC也推出了1T單片機,每1個時鐘周期就執行一步操作)。如果是12M晶振,時鐘周期就是1/12 us,機器周期剛好是1 us。

  大家應該還記得前面說的上世紀古老龐大的計算機埃尼阿克吧,埃尼阿克一秒鐘能進行5000次加法運算,那在當時已經是相當高的水平了。但是和我們的51單片機比起來,實在是小巫見大巫。51單片機可以在一個機器周期里進行一次加法運算(即匯編指令ADD),用12M晶振,1秒鐘最多可以進行一百萬次加法運算,是埃尼阿克的200倍(不考慮數據在寄存器和內存之間的移動)。看到這里,大家是不是在為自己能用上這么高科技的東西而竊喜呢?^_^

  復位電路:圖中連接到RST引腳的那部分電路就是復位電路,由電阻和電容組成。復位電路的作用,就是在剛通電的時候給單片機發出一個信號(對于51單片機,是連續至少兩個機器周期的高電平),告訴單片機現在可以開始工作了。于是單片機就從初始狀態開始,不厭其煩的執行特定的程序,直到斷電,或者出現特殊情況導致程序終止。一般情況下,單片機正常工作時是不應該出現程序執行終止的情況的,有關這個問題,后文講單片機程序特點時會說明。

  復位電路的原理,是上電時通過電阻給電容充電,讓電容連接到RST管腳的電壓,從5V變為0V,也就是高電平變為低電平。電阻和電容的取值,按照圖中給出的參考值即可,如果對模擬電路有了解,也可以自行計算確定其取值。

  另外,圖中的EA/VPP管腳,是訪問內部或外部程序存儲器選擇信號和提供編程電壓的,一般用的不多。直接連接VCC就可以了。

  實際做實驗的時候,我發現單片機不接復位電路,晶振上的兩個電容省去,一般也能工作。但是為了安全起見,有條件的情況下還是應該把這些都接上。我們需要嚴謹的科學態度。

  有了最小系統,單片機就可以正常工作,不斷的執行我們讓它執行的程序了。單片機這種不怕苦不怕累的精神值得我們學習。


=======================================================

《單片機小白學步》系列教程(原名《單片機入門指南》)介紹

本系列教程從最基本的入門知識開始,逐步深入介紹單片機系統設計,內容包括:
1、入門篇:單片機等基本概念、各種電子設計基本知識
2、思想篇:單片機/計算機系統設計的工程思想
3、學習篇:單片機學習過程、方法和技巧,以51單片機為例介紹,并推廣到其他單片機
4、應用篇:遵循規范的工程方法,設計單片機系統實例(計劃設計的系統有:計算器、電子表、密碼鎖、簡易手機,具體看有沒有時間再確定)
5、原理篇:從模擬電路、數字電路開始,逐步深入介紹單片機/計算機系統原理,并自行設計簡易的CPU(由于個人水平有限,這部分沒有把握寫好,具體內容視情況而定)

教程特點

1、技術知識點全面,從入門到精通

包含了各種基本知識,尤其是對單片機基本概念的介紹、為什么要用單片機等,在很多同類書籍教程中都被忽略了。同時也包含了一些深入的知識,包括原理篇考慮對單片機的基本原理進行介紹,有助于深入理解單片機。

本系列教程以51單片機為例進行介紹。通過51介紹完單片機的基本知識,我會再把430進行簡要介紹,尤其是對比兩者之間的優缺點,讓大家很快感受到430的巨大優勢,而學習51正好為快速了解430打下了堅實的基礎。

2、除了單片機知識,還有思想、方法、技巧的介紹

本系列教程中,介紹單片機各種模塊編程知識的主要是學習篇,而學習篇只是整個教程的一部分。在學習篇中我會貫穿各種方法技巧,如何理解一些模塊功能,怎么看時序圖,嚴格遵守工程思想進行編程,程序發生了錯誤怎么調試等等。而在思想篇中會總體介紹很多重要的思想,為后面的學習做好準備工作。

3、知識先后順序的設計

單片機學習過程中,涉及大量的知識,而且很多知識之間相互依賴,關聯很強。

本系列教程對知識的先后順序進行比較明確的規劃,盡最大可能符合人的認知過程。但是實際規劃時發現,無論怎么調整知識的順序,總有一些知識之間相互依賴,關系復雜。例如開始講IO口的時候肯定會提到寄存器,而寄存器這個詞的理解,需要深厚的背景知識。但是這些背景知識在沒有進行實踐的時候也很難理解。

初學者常常就會在這樣的地方感覺疑惑不解,不知所措。而每次遇到類似這樣的知識,我會向初學者指出,應該如何對待。這個知識是應該自己去學習補充,還是等到學完原理篇再做理解,而現在又應該怎么去看待這個名詞。

另外,在整個教程的學習前,需要掌握一定的C語言等基礎知識,具體可參考教程第〇篇《序》中的相關說明
http://www.hainter.com/mcu-primer-0

4、語言通俗易懂

本系列教程力求語言通俗易懂,而不會用一堆新手不懂的詞語去解釋另一個不懂的詞語。但是受限于個人語言表達能力,可能有些地方表述的比較繁瑣,或者不清楚,希望大家能夠幫忙指出。

其他問題

如果覺得我寫的對你有幫助,歡迎多多反饋,包括寫的不正確、不合理、不太明白都可以指出來,這樣方便我對其進行完善。

更多可參見:《如何以學習單片機為契機,逐步成為優秀的工程師》
http://www.hainter.com/mcu-engineer

本系列教程首發于我的個人主頁,歡迎訪問(由于是國外服務器,速度稍微有點慢):
http://www.hainter.com/category/hacker/mcu-primer

同時會將其轉發到CSDN、電子發燒友等站點,歡迎關注。
CSDN專欄網址?http://blog.csdn.net/column/details/mcu-introduction.html
電子發燒友論壇?http://bbs.elecfans.com/zhuti_mcu_1.html

本文首發自我的個人主頁,轉載請注明來源:http://www.hainter.com/mcu-primer-6

總結

以上是生活随笔為你收集整理的单片机小白学步系列(六) 单片机最小系统——麻雀虽小,五脏俱全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。