樣品申請 | 資料下載 | 替換型號咨詢

單片機的基本功能

對于大多數(shù)MCU來說,以下功能是最常見和最基本的。不同單片機的描述方法可能不同,但本質(zhì)是一樣的。


1. Timer : Timer的種類雖然很多,但可以分為兩大類。第一種是具有固定時間間隔的Timer,也就是說它的定時是由系統(tǒng)設(shè)定的,不能由用戶程序控制。系統(tǒng)僅提供幾種不同類型的定時器。給用戶程序一個固定的時間間隔,如32Hz16Hz、8Hz等。由于這種定時器在4MCU 中比較常見,可以用來實現(xiàn)時鐘、定時等相關(guān)功能。


另一種是可編程定時器。這種定時器的計時可以由用戶程序控制??刂品绞桨〞r鐘源的選擇、預(yù)分頻數(shù)的選擇、預(yù)置數(shù)的設(shè)置等。大多數(shù)MCU同時具備這三種,也有的可能具備其中一種或兩種。這種Timer應(yīng)用非常靈活,實際使用也是千變?nèi)f化的。最常見的應(yīng)用之一是使用它來實現(xiàn)PWM輸出。


由于可以自由選擇時鐘源,因此此類Timer一般與Event Counter結(jié)合使用。


2. IO口:任何MCU都有一定數(shù)量的IO口。沒有IO口,MCU將失去與外界通信的通道。根據(jù)IO口的可配置情況,可分為以下幾種:


純輸入或純輸出:這種類型的IO口由MCU硬件設(shè)計決定,只能輸入或輸出,不能通過軟件實時設(shè)置。


3.直接讀寫IO口:例如MCS-51IO口就 屬于這種IO口。執(zhí)行讀IO端口命令時,為輸入端口;當(dāng)執(zhí)行寫 IO 端口命令時,它自動成為一個輸出端口。


程序編程設(shè)置輸入輸出方向:該類IO口的輸入或輸出由程序根據(jù)實際需要設(shè)置,應(yīng)用更靈活,可實現(xiàn)一些總線級應(yīng)用,如12C總線、各種LCD、LED Driver控制總線等。


使用IO口的時候一定要牢記這一點:對于輸入口,必須有一個清電平信號,保證不能懸空(這個可以通過加上拉或下拉電阻來實現(xiàn)) ; 而對于輸出端口,輸出狀態(tài)電平必須考慮到其外部連接,應(yīng)保證Standby或靜態(tài)時沒有source currentsink current。


外部中斷:外部中斷是大多數(shù)MCU 的基本功能。它們通常用于實時信號生成、數(shù)據(jù)采樣和狀態(tài)檢測。上升沿、下降沿、電平觸發(fā)都是中斷方式。在大多數(shù)情況下,外部中斷是通過輸入端口處理的。如果是IO口,只有設(shè)置為輸入口時才會啟用中斷功能;如果設(shè)置為輸出端口,外部中斷功能會自動關(guān)閉(ATMELATiny系列有一些例外,輸出端口也可以觸發(fā)中斷功能)。外部中斷的應(yīng)用如下:


外觸發(fā)信號檢測:一種是基于實時性要求,如可控硅控制、突發(fā)信號檢測等,另一種是基于省電。


信號頻率測量:為確保不丟失信號,外部中斷是最佳選擇。


解碼數(shù)據(jù):為了降低遙控應(yīng)用領(lǐng)域的設(shè)計成本,經(jīng)常需要使用軟件對各種編碼數(shù)據(jù)進行解碼,例如曼徹斯特編碼和PWM 編碼。


按鍵檢測和系統(tǒng)喚醒:為了使MCU 進入休眠狀態(tài),必須通過外部中斷將其喚醒。最基本的形式是一個按鈕,而層次的變化是由按鈕的動作引起的。


4 、通信接口:MCU提供的通信接口一般有SPI接口、UARTI2C 接口等,描述如下:

SPI接口:這類接口是大多數(shù)MCU提供的最基本的通信方式。它的數(shù)據(jù)傳輸由一個同步時鐘控制。信號包括SDI(串行數(shù)據(jù)輸入)、SDO(串行數(shù)據(jù)輸出)、SCLK(串行時鐘)和Ready信號;在某些情況下,可能沒有 Ready 信號;這類接口可以工作在Master模式或者Slave模式,通俗的說就是看誰提供時鐘信號,提供時鐘的一方是Master,對方是Slaver。


UART:屬于最基本的異步傳輸接口。它的信號線只有兩條RxTx線?;緮?shù)據(jù)格式為:Start Bit + Data Bit(7-bits/8-bits) + Parity Bit(Even, Odd or None) + Stop Bit(1~2Bit)。一位數(shù)據(jù)所占用的時間稱為波特率。


對于大多數(shù)單片機,數(shù)據(jù)位長度、數(shù)據(jù)校驗方式(奇校驗、偶校驗或無校驗)、停止位長度和波特率都可以通過程序編程靈活設(shè)置。當(dāng)然。這類接口最常見的方式是與PC的串口通信。


I2C接口:I2C是飛利浦開發(fā)的數(shù)據(jù)傳輸協(xié)議。它還使用兩個信號來實現(xiàn):SDAT(串行數(shù)據(jù)輸入和輸出)和SCLK(串行時鐘)。最大的好處是可以在這條總線上掛接多個設(shè)備,并且可以通過地址來識別和訪問它們;I2C總線最大的優(yōu)點之一就是通過IO口使用軟件實現(xiàn)非常方便,其傳輸?shù)臄?shù)據(jù)速率完全由SCLK控制。為了控制,它可以快也可以慢,不像 UART 接口,它有嚴(yán)格的速率要求。


5 、看門狗:看門狗是大部分單片機的基本配置,只能讓程序復(fù)位不能關(guān)閉(有些是在程序燒錄時設(shè)置的,比如Microchip PIC 系列單片機),而有些單片機是由一個特定的方法,無論它是否打開。比如三星的KS57系列,只要程序訪問Watchdog寄存器,就會自動開啟,不能再次關(guān)閉。一般來說,看門狗的復(fù)位時間可以通過程序來設(shè)置。Watchdog最基本的應(yīng)用是為MCU因意外故障而死機提供自恢復(fù)能力。


温泉县| 长乐市| 农安县| 商水县| 泗洪县| 刚察县| 洪泽县| 专栏| 嘉祥县| 苏州市| 东兰县| 读书| 龙川县| 洱源县| 镇坪县| 开封县| 略阳县| 澎湖县| 卓尼县| 平利县| 宁南县| 新丰县| 平阴县| 佳木斯市| 金乡县| 镇江市| 泽州县| 云安县| 汝阳县| 保亭| 泸溪县| 文安县| 夏河县| 始兴县| 麻栗坡县| 太湖县| 博白县| 阜康市| 扎鲁特旗| 德格县| 日土县|