原创 【Cortex-M0】9 定時器控制器與系統定時器

  9.1 定時器控制器 9.1.1 概述   定時器是單片機中最基本的接口之一,它的用途非常廣泛,常用於計數、延時、提供定時脈衝信號等。在實際應用中,對於轉速、位移、速度、流量等物理量的測量,通常也

原创 【Cortex-M0】19.4功耗控制

    生活上有很多東西都搭載着單片機而進行工作的,而且有相當一部分的設備、儀器、產品都是靠蓄電池來提供電源的,往往這些靠蓄電池供電的設備、儀器、產品都能夠用上一大段時間。例如我們經常接觸到的遙控器,假若MCU一直不停地運行,不出一段時間

原创 【Cortex-M0】19.5系統復位

    用戶應用程序在運行過程當中,有時會有特殊需求,需要實現單片機系統軟復位(熱啓動之一),傳統的單片機由於硬件上未支持此功能,用戶必選用軟件模擬實現,實現起來比較麻煩。NuMicro M051微控制器實現了此功能,用戶只需簡單的控制I

原创 【Cortex-M0】19.8欠壓電壓值設定(BOD)

    NuMicro M051系列微控制器本身有對系統電壓進行檢測的功能,一旦系統電壓低於設定的門限電壓後,將自動停止正常運行,並可設置進入復位狀態。當系統電壓穩定恢復到設定的門限電壓之上,將再次啓動運行,即相當於一次掉電再上電的復位。

原创 【Cortex-M0】19.7 USER配置

    USER配置支持XT1時鐘濾波器使能、復位後CPU時鐘選擇、欠壓檢測使能、欠壓電壓選擇、欠壓復位使能、配置啓動選擇、安全鎖等功能。   ………………   書籍名稱:ARM Cortex-M0原理與應用實踐 書籍下載地址:htt

原创 【Cortex-M0】19.2 LIB的生成與使用

  什麼是LIB文件呢?LIB文件(*.lib)實質就是C文件(*.c)的另一面,不具可見性,卻能夠在編譯時提供調用,如圖19.2-1。LIB文件在實際應用中很大的作用就是當集成商使用自家開發的設備,向其提供的是LIB文件,而不是C文件,

原创 【Cortex-M0】11串口控制器

    RS232是目前最常用的一種串行通訊接口。它是在1970年由美國電子工業協會(EIA)聯合貝爾系統、 調制解調器廠家及計算機終端生產廠家共同制定的用於串行通訊的標準。它的全名是“數據終端設備(DTE)”和“數據通訊設備(DCE)之

原创 【Cortex-M0】8 通用輸入輸出口

   NuMicro M051微控制器共有40個通用I/O口,並可複用爲特殊功能引腳,如串行口輸入輸出接口、外部中斷觸發、PWM輸出等功能。這40個引腳分別分配在P0、P1、P2、P3、P4這五個端口上,每個端口最多有8個引腳,且各引腳

原创 【Cortex-M0】10 PWM發生器和捕捉定時器

  10.1 概述    PWM是脈衝寬度調製的簡稱。實際上,PWM波也是連續的方波,但在一個週期中,其高電平和低電平的佔空比是不同的,一個典型的PWM波如圖10.1-1。T是PWM波的週期; t1是高

原创 【Cortex-M0】18 RTX Kernel實時系統

  18.1實時系統與前後臺系統 1. 實時系統 實時系統簡稱RTOS,能夠運行多個任務,並且根據不同任務進行資源管理、任務調度、消息管理等工作,同時RTOS能夠根據各個任務的優先級來進行任務調度,以達到保證實時性的要求。RTOS能夠使

原创 【Cortex-M0】15 I2C總線控制器

  15.1 概述     I2C爲雙線,雙向串行總線,爲設備之間的數據通訊提供了簡單有效的方法。標準I2C是多主機總線,包括衝突檢測和仲裁機制以防止在兩個或多個主機試圖同時控制總線時發生的數據衝突。  數據在主機與從機間同步於SCL時鐘

原创 【Cortex-M0】19.1 詳解startup_M051.s

  在Keil新建的所有工程中,毫無例外地都包含startup_M051.s,如圖19.1-1。   圖19.1-1 startup_M051.s   該文件主要作用於上電時初始化單片機的硬件堆棧、初始化RAM、分配內存空間和跳轉到主函

原创 【Cortex-M0】13看門狗

    13.1 概述   在由單片機構成的微型計算機系統中,由於單片機的工作常常會受到來自外界電磁場的干擾,造成程序的跑飛,而陷入死循環,程序的正常運行被打斷,由單片機控制的系統無法繼續工作,會造成整個系統的陷入停滯狀態,發生不可預料