中斷方式串口接收數(shù)據(jù)新建一個(gè)工程,結(jié)構(gòu)如下圖所示:在main.c文件中,輸入以下代碼:#include “l(fā)pc11xx.h”#include “uart.h”uint8_t rec_buf;void UART_IRQHandler(void){ uint32_t IRQ_ID; // 定義讀取中斷ID
LPC_IOCON->R_PIO1_0 &= ~0x07;LPC_IOCON->R_PIO1_0 |= 0x02;上面是設(shè)置P1.0為AD1的語句。P1.0低三位是引腳功能選擇位,所以配置低三位就可以配置引腳功能,具體什么功能可以看lpc1114用戶手冊(cè)IOCON寄存器定義部分。
LPC1114內(nèi)部一共有4個(gè)定時(shí)器,2個(gè)32位定時(shí)器,2個(gè)16位定時(shí)器,使用方式都一樣,只是要注意使用16位定時(shí)器時(shí),寄存器的值不要超出65535。給它們分別取名稱為CT16B0、CT16B1、CT32B0、CT32B1。特征:1. 可編程預(yù)分頻器
你還在為如何給LPC1114主控的電路板留程序下載接口而煩惱嗎?下面瑞生(Ration)以自己曾經(jīng)做過的項(xiàng)目為例給大家分享一下吧!1.LPC1114如何下載程序?這個(gè)當(dāng)然是你必須要知道的問題。LPC1114一共2種下載方式,一種是SW
#include\"ds18b20.h\"uint8_ttemp_sign;voiddelay_ds(uint16_tzz){uint8_txx;uint16_tyy;for(xx=0;xx
某同學(xué):你好,看了基礎(chǔ)篇SysClk、GPIO、UART的例程,在用到IOCON模塊,UART模塊在SYSAHBCLKCTRL寄存器中都需要相應(yīng)時(shí)鐘允許位置1,IOCON使能,在設(shè)置完后又禁能,UART使用時(shí)只使能,不用禁能。而使用GPIO時(shí),相應(yīng)的
32位的單片機(jī)內(nèi)部各種數(shù)據(jù)寄存器和控制寄存器都是32位的,同理,8位單片機(jī)內(nèi)部的數(shù)據(jù)和控制寄存器都是8位的。例如:AT89C51單片機(jī)的“中斷控制寄存器”IE定義如下圖所示:bit7bit6bit5bit4bit3bit2bit1bit0EA保留ET2E
新建一個(gè)工程,結(jié)構(gòu)如下圖所示:timer.h文件和timer.c文件用上一節(jié)的。在timer.h中增加兩個(gè)變量和兩個(gè)函數(shù)的聲明,如下所示:#ifndef __NXPLPC11xx_TIME_H__#define __NXPLPC11xx_TIME_H__extern uint16_t cycle;ext
LPC1114的中斷,由中斷控制模塊NVIC控制。一共32個(gè)中斷,每個(gè)中斷的優(yōu)先級(jí)可編程為 0~3 四種級(jí)別。級(jí)別越高對(duì)應(yīng)的優(yōu)先級(jí)越低。因此,級(jí)別0 是最高的中斷優(yōu)先級(jí)。設(shè)置中斷優(yōu)先級(jí)的函數(shù),CMISIS已經(jīng)寫好,并嵌入到了編
LPC1114有一個(gè)串口,具備標(biāo)準(zhǔn)9針串口的所有功能引腳:RXD、TXD、RTS、CTS、DTR、DSR、DCD、IR一般情況下,我們只用到RXD和TXD。在這一章,只對(duì)RXD和TXD的使用做介紹。可以用于程序下載。可以設(shè)置奇校驗(yàn)、偶校驗(yàn)、無校
“START位”位于AD模塊控制寄存器bit24~bit26。位符號(hào)值描述復(fù)位值7:0SEL選擇哪個(gè)引腳用作采集和轉(zhuǎn)換,當(dāng)bit0=1,用AD0;當(dāng)bit1=1,…,當(dāng)bit7=1,用AD7在軟件控制模式,當(dāng)(BURST=0),只允許選擇一個(gè)引腳,也就是說,
spi速率計(jì)算公式為:PCLK / (CPSDVSR *[SCR+1])公式出處:lpc1114用戶手冊(cè)SSP章節(jié)CR0寄存器的bit15:bit8定義的解釋里面PCLK是當(dāng)前SSP的時(shí)鐘,CPSDVSR是寄存器CPSR值,SCR是CR0寄存器bit15:bit8的值。所以spi的速率受
配置為不喂狗引起中斷,在一定時(shí)間內(nèi)沒有喂狗將不會(huì)引起單片機(jī)復(fù)位而是進(jìn)入看門狗中斷。當(dāng)引起中斷后,進(jìn)入中斷函數(shù),然后退出來繼續(xù)從剛才進(jìn)入的地方執(zhí)行。需要特別注意的是,這時(shí)候看門狗計(jì)數(shù)器不再遞減,也就是說
GPIO是每個(gè)單片機(jī)的必備功能。單片機(jī)與外圍電路的工作,大多數(shù)都是通過GPIO來控制的。學(xué)習(xí)任何一種新的單片機(jī),都需要先學(xué)會(huì)控制它的引腳電平高低以及讀取電平的高低。常用的I2C、SPI等通信協(xié)議都可以用GPIO來模擬。
在深度掉電模式,除了WAKUP引腳(P1.4),整個(gè)芯片都停止工作,而且只有4個(gè)32位的寄存器可供存儲(chǔ)用戶數(shù)據(jù),內(nèi)部SRAM中的數(shù)據(jù)都會(huì)丟失。1.怎樣進(jìn)入深度掉電模式執(zhí)行以下步驟進(jìn)入深度掉電模式:1. 設(shè)置PCON寄存器的DPD
下面,以“16位定時(shí)器0”為例,做一個(gè)實(shí)驗(yàn),在“16位定時(shí)器0”的捕獲引腳上,獲取脈沖的個(gè)數(shù)。“16位定時(shí)器0”的捕獲引腳即P0.2腳,在Ration開發(fā)板上,可以將P0.2引腳與P1.9腳相連,因?yàn)镻1.9腳是按鍵KEY1的輸入引腳,
這里以KEIL 4.60版本為例進(jìn)行說明,低于此版本,可能不適合現(xiàn)在我所講的內(nèi)容。打開啟動(dòng)代碼文件startup_LPC11xx.s,從第122行看起,代碼如下所示:Reset_Handler PROCEXPORT Reset_Handler [WEAK]IMPORT SystemInitI
為了簡單的展示一下不喂狗引起復(fù)位的效果。我們讓單片機(jī)給間隔一定時(shí)間給串口發(fā)送遞增的數(shù)據(jù),發(fā)送一次數(shù)據(jù),喂一次狗,兩次發(fā)送數(shù)據(jù)的時(shí)間小于喂狗要求的最大時(shí)間,程序?qū)⒄?zhí)行,在串口調(diào)試助手上,將看到它收到
低功耗模式,專為電池供電而生!LPC1114內(nèi)部有很多的模塊,幾乎每個(gè)模塊都可以通過相關(guān)寄存器來控制掉電與上電以及時(shí)鐘是否開啟??偟膩碚f,上電的模塊越少,就越省電。在實(shí)際的產(chǎn)品應(yīng)用中,我們首先可以根據(jù)需要,把
在單片機(jī)上,有兩個(gè)CAP引腳可以觸發(fā)ADC轉(zhuǎn)換,這兩個(gè)引腳分別是CT16B0CAP0和CT32B0CAP0。這里以CT16B0CAP0為例介紹。新建一個(gè)工程,結(jié)構(gòu)如下圖所示:文件用《cortex m0 lpc1114 adc start位控制轉(zhuǎn)換》的即可。在adc.c