小編推薦:51單片機知識大匯總

    2013-11-14 22:33 來源:電子信息網 作者:和靜

    基于51單片機的函數信號發生器利用單片機AT89C52 采用程序設計方法產生鋸齒波、三 角波、正弦波、方波四種波形,再通過D/A 轉換器DAC0832 將數字信號轉換成模擬信號,濾波放大,最終由示波器顯示出來,能產生 10Hz—10kHz 的波形。下面就對51單片機進行詳細論述。

    1.取指譯碼執行模型:首先我們來看看單片機是如何工作的,我們拿電腦的主板來作為對比,我們買電腦時,總是追求處理器的主頻。處理器的工作原理是從存儲器上取出一條指令,然后對指令譯碼,譯碼完后執行。然后取下一條指令,譯碼,執行。它為什么能這么有序的工作?是因為它有一個工作時鐘,在這個工作時鐘的統一管理下,處理器有序的工作,這里的主頻就是工作時鐘的速度,當然,現在你可能也知道主頻越高,取指譯碼速度越快,性能越好。那么你可能會問,這跟51單片機有什么關系,OK,切入正題,單片機的工作也是這個原理,從存儲器上取指,譯碼,執行。但是單片機的存儲器在哪?在單片機的內部,對于電腦來說,是把處理器,內存集中在一塊主板上。而現在你應該很明確,對于單片機它就相當于一塊電腦主板,把處理器,存儲器集中到一塊芯片內部。從這個宏觀的角度看,所有的單片機是不是都是一個原理,服從于取指,譯碼,執行的基本模型。OK,繼續……

    2. 51單片機的外設:我們在學習單片機時,所做的第一個實驗都是一樣的,點燈。也許你已經學會了用單片機做出好看的花樣燈,或者用單片機驅動數碼管顯示出數字或字母。或者可以檢測按鍵了。不錯,我們仔細想想這些是什么,無非,你就是控制那一排排引腳輸出高低電平,我們稱這些引腳叫I/O口,輸入輸出,按鍵是輸入,點燈是輸出。其實你以為你學了三樣東西,其實,你只學了一樣東西,I/O控制。所以這些內容并不是單片機的內容,我們稱之為單片機的外設,現在你應該很明確了,所謂的LCD液晶,AD芯片什么的都是單片機的外設。但是我們為什么要學習這些單片機的外設呢?還是為了熟悉單片機,你驅動的芯片多了,自然對編程模型就熟悉了。其實,我們用單片機就是在驅動外設,然后你問那定時器,中斷,串口通信又是什么?對于中斷,現在單片機在做一件事,突然,我給個信號,現在出了一個意外,你趕快去做另一件事,做完另一件再回來,就是這樣。對于定時器,我舉個例子,現在對于一盞燈,我要他每天晚上六點打開,每天早上六點關閉,我們會怎么做?設定一個計時器,假設當前是晚上六點,現在我讓I/O口輸出高電平點燈,同時打開計時器,定12個小時,12個小時一到,給一個中斷,去把I/O口取反,關燈,是不是這樣控制的。所以中斷,定時器只是為了更好的讓單片機進行控制工作。現在你應該很熟悉了,單片機就是一款自動控制的芯片。注意,是芯片,你做的工作就是如何編程來是這款芯片工作,是這款芯片在規定的程序下干活……怎么讓單片機干活呢?五個字,配置寄存器。

    3.配置寄存器:學習51單片機,不管你是剛剛開始學,還是學習有一段時間了,你應該很熟悉的字眼,寄存器。我想說單片機的基本思想就是五個字:配置寄存器。單片機怎么工作,比如,你讓I/O口輸出高電平,怎么輸出,在C語言里,你是通過P1=0xFF來實現的,為什么這么寫,你去看看頭文件reg51.h里的內容,它定義了一個寄存器為P1,然后你向這個寄存器里寫入了8個1,于是輸出高電平。你是通過配置寄存器的內容來控制I/O口的。我們再想一下,定時器你是怎么配置的,同樣的原理,你是通過配置TMOD,TCON,TH,TL等若干個寄存器完成的吧,然后給單片機定了一個時間,當然,你說這些是簡單的,還有復雜的呢?那我就再舉個例子吧,只要是寫單片機程序,你基本都是在配置寄存器,例如,STC系列的單片機帶了PWM功能,你如何讓單片機輸出一個符合你要求的PWM信號呢,你絕對是通過給某個寄存器寫入一個值,這個值控制頻率。再給一個寄存器寫入一個值,這個值控制占空比,然后通過哪個腳輸出,你又是通過一個寄存器來控制的。所以整個過程都是控制寄存器。那么你說,51是這樣的,其他的呢?stm32,高端的單片機,工作起來也是配置寄存器,STM32時鐘信號的選擇,是通過控制RCC,I/O的控制是通過控制GPIO,當然,它采用的方式是存儲器統一編址,就是你定義某個寄存器不再是51的sfr和sbit,而是用指針直接訪問地址的方式,比如訪問某個寄存器,從器件手冊上查找該寄存器的地址為0xXXXXXXXX,那么配置時使用*(long unsigned *)(0xXXXXXXXX)=0xFFFFFFFF的方式,本質不變。這樣看來,那么msp430,PIC都是這樣的,只是他們的寄存器不同,配置方式不同,寫入的值不同而已。如果你真的懂了51單片機,真的懂了單片機配置寄存器的原理。你只要花兩個小時看懂芯片手冊,熟悉了開發環境,一天就能上手新的芯片……題外話就是,看arm等等芯片很高端,如果是裸機編程的話,那么跟也是配置寄存器,原理一樣,當然加了操作系統就不同了,操作系統的框架就是重要的了。

    4.關于通信協議:對于任何單片機來說,最為難的問題就是通信協議了,對于這個問題,我不想說的太多,畢竟不是在做通信原理,只是要說明的一點就是,“有通信就有協議,這是什么意思?就是說單片機在驅動任何芯片的時候,必須要服從這款芯片的的時序,比如先使能這個芯片,然后給出寫信號或者讀信號,然后芯片在發出響應信號,再對芯片進行操作。為什么要這樣呢?首先,對于芯片來說,它有自己的操作方式,如果沒有固定的方式,那就亂套了,其實聯想到人身上也是這樣的,中國人和美國人交流時,如果沒有翻譯,就需要打手勢,這個手勢雙方都能懂,于是就能通信。芯片協議也是這樣的,單片機和芯片都能理解,于是他們都能工作。還有一點就是像有些芯片帶了SPI的協議,IIC的協議等等,如果它自帶了,那么他協議已經設置好了,回歸到本質,使用這個協議又是配置寄存器了。比如51單片機的串口協議,你是通過配置寄存器來設置波特率,校驗位的吧……萬變不離其宗……


    51單片機

    一周熱門

    亚洲女人被黑人巨大进入| 国产成人亚洲综合一区| 亚洲免费综合色在线视频| 噜噜噜亚洲色成人网站∨| 亚洲国产精品热久久| 亚洲色最新高清av网站| 亚洲小说区图片区| 亚洲日韩区在线电影| 亚洲精品天天影视综合网| 亚洲成在人线av| 亚洲av无码不卡| 亚洲国产精品无码久久久蜜芽 | 久久久久久亚洲精品不卡| 亚洲狠狠婷婷综合久久蜜芽| 中文字幕亚洲综合小综合在线| 亚洲成a人片在线观看中文!!!| 亚洲第一精品福利| 亚洲永久永久永久永久永久精品| 亚洲综合国产精品| 亚洲狠狠综合久久| 亚洲色av性色在线观无码| 亚洲高清美女一区二区三区| 亚洲Aⅴ无码专区在线观看q| 亚洲AV电影院在线观看| 午夜亚洲国产理论秋霞| 亚洲视频中文字幕| 亚洲色偷偷偷网站色偷一区| 91嫩草亚洲精品| 亚洲日韩国产精品乱-久| 亚洲色大成网站www永久男同| 亚洲人成人伊人成综合网无码| 亚洲日韩精品A∨片无码加勒比| 亚洲欧美中文日韩视频| 国产成人亚洲毛片| 亚洲人午夜射精精品日韩| 亚洲精品成人片在线观看精品字幕 | 久久久久久a亚洲欧洲aⅴ| 国产亚洲一区二区三区在线观看| 亚洲AV日韩AV永久无码绿巨人| 久久亚洲精品无码aⅴ大香| 亚洲噜噜噜噜噜影院在线播放|