NXP_LPC1114延時函數集合

2021-01-13 電子產品世界
#include "LPC11XX.h"

#include "gpio.h"

#include "timer16.h"

/*系統時鐘配置為48MHz,AHB不分頻,一次定時器時鐘為48Mhz,因此得出以下分頻值,匹配值*/

void Delay_Us(unsigned int DelayTimes)

{

/* * setup timer #1 for delay */

//LPC_SYSCON->SYSAHBCLKCTRL |= (1<<8); /*開啟定時器Timer16_1時鐘--時鐘配置中開啟該時鐘*/

LPC_TMR16B1->TCR = 0x02; /* reset timer */

LPC_TMR16B1->PR = 48; /* set prescaler to zero 根據AHB時鐘確定分頻值*/

LPC_TMR16B1->MR0 = DelayTimes; /* 所需的延時時間 */

LPC_TMR16B1->IR = 0xff; /* reset all interrrupts 復位所有的中斷*/

LPC_TMR16B1->MCR = 0x04; /* stop timer on match --達到匹配停止*/

LPC_TMR16B1->TCR = 0x01; /* start timer 啟動定時器*/

while (LPC_TMR16B1->TCR & 0x01); /*等待直到時間到*/

LPC_TMR16B1->TCR = 0x00; /* Close timer --關閉定時器*/

}

void Delay_Ms(unsigned int DelayTimes)

{

/* * setup timer #1 for delay */

//LPC_SYSCON->SYSAHBCLKCTRL |= (1<<8); //開啟定時器Timer16_1時鐘

LPC_TMR16B1->TCR = 0x02; /* reset timer */

LPC_TMR16B1->PR = 48000; /* set prescaler to zero */

LPC_TMR16B1->MR0 = DelayTimes;

LPC_TMR16B1->IR = 0xff; /* reset all interrrupts */

LPC_TMR16B1->MCR = 0x04; /* stop timer on match */

LPC_TMR16B1->TCR = 0x01; /* start timer */

while (LPC_TMR16B1->TCR & 0x01); /*等待直到時間到*/

LPC_TMR16B1->TCR = 0x00; /* Close timer */

}

void Delay_Sec(unsigned char DelayTimes)

{

/* * setup timer #1 for delay */

//LPC_SYSCON->SYSAHBCLKCTRL |= (1<<8); //開啟定時器Timer16_1時鐘

LPC_TMR16B1->TCR = 0x02; /* reset timer */

LPC_TMR16B1->PR = 48000000; /* set prescaler to zero */

LPC_TMR16B1->MR0 = DelayTimes;

LPC_TMR16B1->IR = 0xff; /* reset all interrrupts */

LPC_TMR16B1->MCR = 0x04; /* stop timer on match */

LPC_TMR16B1->TCR = 0x01; /* start timer */

while (LPC_TMR16B1->TCR & 0x01); /*等待直到時間到*/

LPC_TMR16B1->TCR = 0x00; /* Close timer */

}

相關焦點

  • NXP_LPC1114_LED燈程序
    }int main(void){SystemInit(); //系統初始化--主要是設置主時鐘GPIOInit(); //IO口初始化--主要是開啟GPIO時鐘//GPIOSetDir( 0, 3, 1 ); //設置P0.3為輸出(LPC1114
  • 基於LPC1114的學習型紅外遙控器
    然後打開11XX的例程,正常安裝路徑在C:\nxp \lpcxpresso_3.1\Examples\LPC1000\LPC11xx下  文件名字 LPCXpresso1114_v1.00.zip
  • LPC1114外部中斷
    下面就來討論一下LPC1114外部中斷的使用情況。LPC1114的每一個引腳都可以響應一個外部中斷,所以有多少個引腳就有多少個外部中斷。但LPC1114的中斷系統非常強大,外部中斷只是它其中的一小部分。因此,要用好外部中斷,就必須先來了解LPC1114的整個中斷系統。下面就來看一下它的中斷系統。
  • LPC1114系統定時器(SysTick)
    在LPC1114內部有一個特殊的定時器——系統定時器(SysTick),它位於Cortex-M0內核裡面,是ARM內核的一部分,主要用來給作業系統提供時間片輪轉的定時,一般固定為10ms的定時,所以中文也稱它為「嘀噠」定時器。
  • LPC1114時鐘配置
    要讓LPC1114正常工作,首先要對它的時鐘源進行配置。LPC1114的最高工作頻率為50MHz,因此給它的主時鐘頻率最大不能超過50MHz。實際上,通常都是使用頻率較低的晶振,以降低外部電磁幹擾,然後再通過內部倍頻的方式把主時鐘頻率提高。
  • LPC1114外中斷應用
    LPC1114微處理器每一個GPIO都可以中斷,不過在設計中斷時需要注意,下面就舉例說明:/*************************************************************************************** global variable*******************
  • LPC1114/LPC11U14和LPC1343對比學習(三)SysTick
    對於SysTick的控制有兩種方法,由於SysTick是內核的一部分,所以在ARM公司推出的Cmsis文件中已經提供了對SysTick控制的API函數。為了方便可以直接調用此函數;當然我們也可以直接控制寄存器,兩種控制的代碼如下:本文引用地址:http://www.eepw.com.cn/article/201611/322522.htm
  • LPC1114/LPC11U14和LPC1343對比學習(六)I2C
    寄存器和結構在這裡就不介紹了,網友可以自行查閱手冊,下面是I2C的初始化函數:I2C的控制函數比較多,這裡就不一一介紹了,需要注意的是在使用I2C寫EEPROM時,要延時毫秒級,否則可能會不成功;在按頁寫輸入時,需要注意也大小和頁地址。
  • LPC1114的簡易數碼相框設計
    摘要:以NXP公司基於ARM Cortex—M0的LPC1100系列MCU LPC1114為控制核心,配合SD存儲卡、外圍電路和TFT液晶顯示屏,提出了一種簡易數碼相框的設計方案。
  • DS18B20延時函數版
    0xA2, 0x62, 0x74, 0x61, 0x21, 0x7A, 0x20, 0x60}; //數碼管整數sbit dec=P0^5;//數碼管小數位sbit Dq=P3^4; //DS18B20讀寫口sbit alarm=P3^3; //喇叭報警位uint warning=0;//報警溫度變量//----void rst() //看門狗系統復位函數晶振是
  • LPC1114/LPC11U14和LPC1343對比學習(八)USB
    LPC1114沒有USB功能,所以這裡只能針對LPC1343和LPC11U14進行說明。對於這兩種有USB功能的晶片其還是區 別,LPC1343內部集成了USB驅動,而LPC11U14沒有此功能,所以LPC1343USB開發比較簡單一點,價格也要貴一點。
  • 基於LPC1114的智能節能LED檯燈控制器設計
    摘要:本設計採用NXP基於ARM Cortex M0的MCU--LPC1114作為核心控制器,利用其豐富的片內外設,通過環境光線傳感器和超聲波測距傳感器實時採集環境光線強度和用戶到LED檯燈的使用距離,並與通過用戶按鍵設置的
  • LPC1114如何使用MDK與JLINK連接使用問題
    在前不久我應用LPC1114做了個MP3開發板,在使用JLINK工具下的SWD方式下載非常完美。但在在最近在用LPC1114做另外一個項目時,發現,用JLINK工具的SWD方向調試,總是會提示如下(mdk4.13),很多網友也遇到了這個問題:
  • 用C51編寫單片機延時函數
    參考了51單片機 Keil C 延時程序的簡單研究,自己也親身測試和計算了一些已有的延時函數。這裡假定單片機是時鐘頻率為12MHz,則一個機器周期為:1us.
  • LPC1114通用輸入/輸出埠(GPIO)續
    雖然DIR寄存器也是32位結構,但由於LPC1114每組只有12個引腳,所以只用了其中的低12位。當位為0 時做輸入,為1時做輸出,12位與12個引腳一一對應,每位設置對應一個引腳。在默認狀態下DIR的值為全0,所以在默認狀態下所有的引腳為輸入狀態。要改變引腳狀態,可通過寫DIR寄存器對應的位來實現。
  • 高一數學集合與函數綜合練習
    解析,對於這種求子集個數的,同學可以記住公式2^n(n為元素個數),此題集合中有3個元素,則答案為8.解析:同一個函數即定義域相同,函數形式相同,A定義域不同,不存在0的0次冪。(2)錯誤,{-1}表示集合,集合與集合用包含於表示,(3)正確,集合與集合之間關係。(4)正確,集合與集合。所以正確答案3個。
  • AVR單片機微秒級和毫秒級延時函數
    在用單片機IO口模擬總線時序時老是碰到問題,自己總結了一下大多數是因為我們的延時不準確造成的,所以自己調了兩個延時函數>,我板子上用的是AT Mega128的單片機和16MHz的晶振,用示波器看了這兩個函數產生的波形還挺準確的,希望大家能用得上 ^_^本文引用地址:http://www.eepw.com.cn/article/201611/321603.htm//16MHz晶振
  • 過程(Sub)、函數(Function)、集合(Collection)的作用範圍
    大家好,今天繼續講解類和類模塊應用,今日講解第3講內容:過程(Sub)、函數(Function)、集合(Collection)對象的作用範圍域。一過程(Sub)、函數(Function)也有作用範圍(或者叫作用域)。
  • 《成語小秀才》第1114關答案是什麼 第1114關答案介紹
    導 讀 【九遊攻略】成語小秀才第1114關答案是什麼?很多小夥伴都不知道,下面九遊網小編就為大家帶來成語小秀才第1114關答案介紹,一起和小編來看看吧!
  • 單片機兩大延時方法總結
    2.1 短暫延時可以在C文件中通過使用帶_NOP_( )語句的函數實現,定義一系列不同的延時函數,如Delay10us( )、Delay25us( )、Delay40us( )等存放在一個自定義的C文件中,需要時在主程序中直接調用。