純輸入或純輸出口:這種IO口是由MCU硬件設計決定的,只能輸入或輸出,不能通過軟件實時設置 。
直接讀寫IO口:如MCS-51的IO口就屬于這種IO口 。執行讀取IO口的指令時,為輸入口;當執行寫IO端口指令時,它將自動成為輸出端口 。
編程設置輸入輸出方向:這類IO口的輸入或輸出由程序根據實際需要設置,應用靈活,可以實現一些總線級的應用,如I2C總線、各種LCD和LED驅動控制總線等 。
對于IO口的使用,一定要記住:對于輸入口,一定要有明確的電平信號,保證不能浮空(可以通過增加上拉或下拉電阻來實現);對于輸出端口,其輸出的狀態電平必須考慮其外部連接,要保證待機或靜態時沒有拉電流或吸電流 。
外部中斷:外部中斷也是大多數單片機的基本功能,一般用于信號的實時觸發、數據采樣和狀態檢測 。中斷模式由上升沿、下降沿和電平觸發觸發 。外部中斷一般通過輸入端口實現 。如果是IO口,其中斷功能只有設置為輸入時才會開啟 。如果是輸出口,外部中斷功能會自動關閉(ATMEL的ATiny系列有一些例外,使用輸出口時也可以觸發中斷功能) 。外部中斷的應用如下:
外部觸發信號的檢測:一是基于實時性的要求,比如可控硅的控制,突發信號的檢測,二是省電的需要 。
在測量頻率時,為了保證信號不被遺漏,外部中斷是最理想的選擇 。
數據解碼:在遙控應用領域,為了降低設計成本,往往需要使用軟件對各種編碼數據進行解碼,如曼徹斯特和PWM編碼 。
按鍵檢測和系統喚醒:一般進入睡眠狀態的MCU需要通過外部中斷喚醒,最基本的形式是按鍵,通過按鍵的動作產生電平的變化 。
通信接口:單片機提供的通信接口一般有SPI接口、UART、I2C接口等 。,分別描述如下:
SPI接口:這種接口是大多數單片機提供的最基本的通信方式,其數據傳輸受同步時鐘控制 。信號包括SDI(串行數據輸入)、SDO(串行數據輸出)、SCLK(串行時鐘)和就緒信號;在某些情況下,可能沒有就緒信號;這種接口可以在主模式或從模式下工作 。通俗點說,就是看誰提供時鐘信號 。提供時鐘的是主設備,另一個是從設備 。
UART(通用異步接收發送):屬于最基本的異步傳輸接口,信號線只有Rx和Tx ?;緮祿袷綖?起始位數據位(7位/8位)奇偶校驗位(偶數、奇數或無)停止位(1 ~ 2位) 。一位數據占用的時間稱為波特率 。
對于大多數MCU,數據長度、數據校驗模式(奇數校驗、偶數校驗或無校驗)、停止位長度和波特率可以通過編程靈活設置 。這種接口最常見的方式是與PC機的串口進行數據通信 。
接口:I2C是飛利浦公司開發的數據傳輸協議 。它也由兩個信號實現:SDAT(串行數據輸入和輸出)和SCLK(串行時鐘) 。它最大的優點是可以在這條總線上連接多個設備,并且可以通過地址來識別和訪問它們 。I2C總線最大的一個優點就是通過IO口用軟件實現非常方便 。I2C總線傳輸的數據速率完全由SCLK控制,可快可慢 。與UART接口不同,I2C總線有嚴格的速度要求 。
看門狗(看門狗定時器):看門狗也是大部分MCU的基本配置(有些4位MCU可能沒有這個功能) 。大多數MCU的看門狗只能允許程序復位它,而不能關閉它(有些是在程序燒入時設置的,比如Microchip PIC系列MCU) 。而有些MCU則以特定的方式決定是否開啟,比如三星的KS57系列 。只要程序訪問看門狗寄存器,就會自動開啟,不能再關閉 。一般來說,看門狗的復位時間可以通過程序設置 。Watchdog最基本的應用是為MCU提供因意外故障而崩潰的自我恢復能力 。
單片機的學習技巧
任何MCU的基本原理和功能都是相似的 。唯一不同的是其外圍功能模塊的配置、數量和指令系統 。
推薦閱讀
- 奧迪tt有敞篷的嗎
- 兒童室內游戲項目有哪些
- apple論壇有哪些 apple論壇
- 更新中
- 誰能告訴我 堅果手機質量有問題客服不鳥我我該怎...
- 堅果手機突然充不上電也開不了機的進來有辦法了,我的獨家黑科技絕對解決
- 已經把堅果賣掉了~
- 錘子是不是和瀏覽器有合作
- 你們最愛的大屏手機來了 2020巨屏手機有哪些
- 搭載的天璣1200跑分有點狠 紅米k40天璣1200跑分
