51 LPC系列单片机芯片课件_第1页
51 LPC系列单片机芯片课件_第2页
51 LPC系列单片机芯片课件_第3页
51 LPC系列单片机芯片课件_第4页
51 LPC系列单片机芯片课件_第5页
已阅读5页,还剩151页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章51LPC系列单片机芯片6.1内部结构和引脚功能

6.2I/O端口输出模式

6.3键盘中断功能

6.4模拟比较器

6.5定时/计数器新增功能6.6时钟及复位电路

6.7电源管理及复位电路6.8看门狗定时器6.9中断控制系统

6.10硬件配置信息6.11A/D与D/A转换器第6章51LPC系列单片机芯片6.1内部结1表6-1P87LPC76X系列芯片的主要性能指标表6-1P87LPC76X系列芯片的主要性能指标26.1内部结构和引脚功能6.1.1内部结构图6-1P87LPC76X内部结构6.1内部结构和引脚功能6.1.1内部结构图6-3图6-2存储器地址空间分配图6-2存储器地址空间分配4在P87LPC76X中,程序存储器容量为1~4KB,占用了0000H~03FFH。FCE0H~FCFFH之间的32字节存储空间是用户代码区,可用于存放产品系列号、产生日期等信息,编程时随程序代码一起写入片内的OTPROM存储器,例如:ORGFCE0HDB31H,32H,33H,34H,35H,36H ;在FCE0H处放置了31H、32H、 33H、34H、35H、 ; 36H(即ASCII的123456)作为 产品的系列号这32字节信息可通过“MOVCA,A+@DPTR”指令读出。在P87LPC76X中,程序存储器容量为156.1.2引脚排列图6-3P87LPC76X系列DIP封装引脚排列6.1.2引脚排列图6-3P87LPC76X系列D6图6-3P87LPC76X系列DIP封装引脚排列图6-3P87LPC76X系列DIP封装引脚排列7表6-2DIP封装P87LPC762/4引脚功能描述

表6-2DIP封装P87LPC762/4引脚功能描述8表6-2DIP封装P87LPC762/4引脚功能描述

表6-2DIP封装P87LPC762/4引脚功能描述9可见:P87LPC759、P87LPC760、P87LPC761引脚兼容,即P87LPC760(14引脚封装)是P87LPC761(16引脚封装)的简化版(少了一个模拟比较,没有P0.0、P0.1两根引脚),而P87LPC759(14引脚封装)又是P87LPC760的简化版(没有模拟比较器、I2C总线和串行接口;内部RAM容量只有64字节)。P87LPC762/4引脚完全兼容,实际上P87LPC762与P87LPC764之间只是OTPROM容量不同(P87LPC762程序存储器容量为2KB,而P87LPC764程序存储器容量为4KB)。可见:10P87LPC762/4/7/8/9引脚也兼容,实际上P87LPC767硬件资源比基本型P87LPC764只多了4通道8位A/D转换器;而P87LPC768比P87LPC767多了4路10位PWM脉宽调制输出;P87LPC769比P87LPC767多了两路8位DAC转换器。因此了解基本型P87LPC762/4的硬件资源、使用方法也就基本掌握了P87LPC76X系列硬件特征、使用规则。因此,本章主要介绍762/764硬件资源和使用方法。P87LPC762/4/7/8/9引脚也兼116.1.3特殊功能寄存器表6-3P87LPC762/4特殊功能寄存器

6.1.3特殊功能寄存器表6-3P87LPC76212表6-3P87LPC762/4特殊功能寄存器

表6-3P87LPC762/4特殊功能寄存器13表6-3P87LPC762/4特殊功能寄存器

表6-3P87LPC762/4特殊功能寄存器146.2I/O端口输出模式表6-4I/O引脚输出方式与输出模式控制寄存器位对应关系

PxM2.yPxM1.yI/O引脚输出模式备注00准双向(标准MCS-51输出模式),缺省状态P1.2、P1.3、P1.5除外01仅为输入

10上拉(互补推挽输出)P1.2、P1.3、P1.5除外11漏极开路P1.5除外6.2I/O端口输出模式表6-4I/O引脚输出方式156.2.1准双向输出结构图6-4准双向输出结构6.2.1准双向输出结构图6-4准双向输出结构166.2.2漏极开路输出结构图6-5漏极开路输出结构6.2.2漏极开路输出结构图6-5漏极开路输出结构17图6-6上拉输出结构

6.2.3上拉(互补推挽)输出结构图6-6上拉输出结构6.2.3上拉(互补推挽)输出186.2.4输入方式图6-7P2M1寄存器各位含义6.2.4输入方式图6-7P2M1寄存器各位含义196.3键盘中断功能图6-8键盘中断控制6.3键盘中断功能图6-8键盘中断控制20例如,键盘中断KBI寄存器内容为00000111B,且P0.0、P0.1、P0.2引脚被定义为准双向输入方式,则当P0.0、P0.1、P0.2之一为低电平时,或门输出高电平,如果中断允许寄存器IEN1的EKB(键盘中断允许)位为1,键盘中断标志KBF置位。如果中断开放(EA为1)并满足中断响应条件,将进入键盘中断服务程序(入口地址为003BH)。例如,键盘中断KBI寄存器内容为000001121【例6.1】某应用系统键盘接口电路如图6-9所示,写出中断监控方式下的键盘监控程序(键码存放在30H单元中,当有按键被按下时,按键编码存放在30H单元)。;---------键盘接口初始化--------MOVA,P0M1ANLA,#01111000BMOVP0M1,A ;将P0M1的b7、b2、b1、b0位清零MOVA,P0M2ANLA,#01111000BMOVP0M2,A ;将P0M2的b7、b2、b1、b0位清零 ;使P0.0、P0.1、P0.2、P0.7引脚处于准双 向输出(以便利用上拉电阻)【例6.1】某应用系统键盘接口电路如图6-922MOVA,P2M1ORLA,#00100000B ;为了提高抗干扰能力,避免减少按键抖 动造成的干扰,P0口采用施密特 ;输入MOVP2M1,A

SETBP0.0SETBP0.1SETBP0.2SETBP0.7 ;使P0.0、P0.1、P0.2、P0.7位锁存器为1, 即处于输入状态SETBEKB ;允许键盘中断SETBEA ;开中断 ;根据需要设置中断优先级MOVA,P2M123ORG003BHLJMPKBIN ;键盘中断服务程序入口地址

;----------键盘中断服务程序-------PROCKBINKBIN: MOV30H,#55H ;无按键标志55H送30H单元 LCALLDELAY10ms ;延迟10ms MOVA,P0 ;读P0口 ANLA,#10000111B ;屏蔽无关位 XRLA,#10000111B JZRETURN ;为0,说明本次按键输入无效,退出;判别哪一按键被按下ORG003BH24MOVC,P0.0 JCK1 MOV30H,00H ;如果P0.0引脚为0,则说明是K0键有输入 SJMPEXITK1: MOVC,P0.1 JCK2 MOV30H,01H ;如果P0.1引脚为0,则说明是K1键有输入 SJMPEXITK2: MOVC,P0.2 JCK3 MOV30H,02H ;如果P0.2引脚为0,则说明是K2键有输入 SJMPEXITMOVC,P0.025K3: MOVC,P0.7 JCRETURN ;P0.0~P0.2、P0.7均为高电平,按键输入无效 MOV30H,03H ;如果P0.7引脚为0,则说明是K3键有输入EXIT: MOVA,P0 ANLA,#10000111B ;屏蔽无关位 XRLA,#10000111B JNZEXIT ;不为0,说明按键未释放,循环等待RETURN: MOVA,#AUXR1 ANLA,#01111111B MOVAUXR1,A ;清除中断标志KBF RETI ;返回ENDK3:26第6章51LPC系列单片机芯片课件276.4模拟比较器6.4.1比较器结构图6-10模拟比较器6.4模拟比较器6.4.1比较器结构图6-1028图6-11比较器控制寄存器CMPn各位含义图6-11比较器控制寄存器CMPn各位含义29表6-5比较器8种连接方式

表6-5比较器8种连接方式306.4.2比较器初始化比较器属于模拟电路,为了获得精确结果,在启动比较器前应先禁止引脚的数字输入/输出功能;启动后必须延迟10μs,待比较器输出稳定后方可读取比较结果。下面是比较器初始化特例:假设待比较信号从CIN1A(P0.4)引脚输入,接比较器1正向输入端,参考电压为Vref(1.23V),比较结果输出到CMP1(P0.6)引脚,当比较器结果发生变化时产生中断。6.4.2比较器初始化31MOVA,PT0ADORLA,#00010000B MOVPT0AD,A ;禁止CIN1A(P0.4)引脚数字输入功能MOVA,P0M1ORLA,#00010000BMOVP0M1,A ;将P0M1的b4位置1MOVA,P0M2ANLA,#11101111BMOVP0M2,A ;将P0M2的b4位清零。使CIN1A(P0.4)引脚 仅为输入MOVCMP1,#00101100B ;启动比较器1,选择CIN1A引脚作为正向输入 端;Vref作为反向输入端;比较结果输出到 CMP1引脚LCALLDELAY10U ;调用延迟程序,延迟10μs,等待比较结果ANLCMP1,#11111110B ;清除比较器1中断标志SETBEC1 ;允许比较器1中断SETBEA ;开中断RET ;返回MOVA,PT0AD326.5定时/计数器新增功能图6-12定时器T0方式1结构6.5定时/计数器新增功能图6-12定时器T0方式33图6-13P87LPC759/760/761定时器T1结构(a)方式0;(b)方式1;(c)方式2图6-13P87LPC759/760/761定时器T1结346.6时钟及复位电路图6-14P87LPC76X振荡器控制电路6.6时钟及复位电路图6-14P87LPC76X振35图6-15外部晶振连接图6-15外部晶振连接36图6-16外部时钟信号连接方式图6-16外部时钟信号连接方式376.7电源管理及复位电路6.7.1掉电检测功能掉电检测由下列寄存器位控制:AUXR1.6(BOD)——允许/禁止掉电检测功能。当BOD=1时,禁止掉电检测功能(即掉电时既不复位,也不产生掉电中断);当BOD=0时,允许掉电检测。AUXR1.5(BOI)——掉电复位/中断选择。当BOI位置1时,禁止掉电复位,但允许掉电产生中断。6.7电源管理及复位电路6.7.1掉电检测功能38当AUXR1寄存器BOD、BOI位为01时,则电源电压下降到特定值时,不产生掉电复位信号,而是触发掉电中断。在这种情况下,BOD位含义也不再是“允许/禁止掉电检测”,而是作为掉电中断标志。但CPU是否查询掉电中断标志BOD,受掉电中断允许EBO(IE0.5)和中断开关EA控制。此外,掉电发生时(无论是选择掉电复位还是掉电中断),PCON寄存器的掉电标志BOF置1。另外,上电时BOF也置1。当AUXR1寄存器BOD、BOI位为01时,则39P87LPC76X系列掉电保护电压可通过位于EPROM存储器区内配置寄存器UCFG1的BOV位选择。未编程时,BOV=1,掉电保护电压为2.5V(适合低电源电压,如2.7 ~4.0V);当BOV=0时,掉电保护电压为3.8V(适合电源电压大于4.0V情况)。为了保证CPU正确检测到掉电状态,VDD下降速率不得高于50mV/μs;为保证上电时CPU正确复位,VDD上升沿不得高于2mV/μs。可通过加大电源滤波电容容量,使VDD下降、上升速率变慢。P87LPC76X系列掉电保护电压可通过位于EPR406.7.2上电检测上电检测与掉电检测类似,即首次上电时,当电源电压大于掉电保护电压时,PCON寄存器的上电标志POF置1。6.7.2上电检测416.7.3空闲模式和掉电操作模式当PCON寄存器的IDL置1时,即CPU进入空闲操作模式。任一中断发生或复位均可结束空闲模式。这与标准80C51空闲模式完全相同。当PCON寄存器的PD位置1时,CPU进入掉电运行模式(与VDD下降掉电不同)。进入掉电操作模式后,CPU内振荡器停止工作(看门狗振荡器除外,只要电源电压VDD存在,看门狗振荡器就能继续工作)。复位或特定中断(参考表6-7)发生时,可使CPU退出掉电运行模式。6.7.3空闲模式和掉电操作模式426.7.4复位电路图6-17P87LPC76X系列复位源6.7.4复位电路图6-17P87LPC76X系列43图6-18典型外部复位电路图6-18典型外部复位电路446.8看门狗定时器图6-19看门狗定时器结构6.8看门狗定时器图6-19看门狗定时器结构45图6-20WDTE为1时的内部结构图6-20WDTE为1时的内部结构46图6-21WDTE为0时的内部结构图6-21WDTE为0时的内部结构47看门狗计数器是一个具有8个溢出输出端的20位计数器,由看门狗控制寄存器WDCON的WDS2~WDS0位控制,例如当WDS2~WDS0位为000时,8选1多路开关与13位计数器溢出端相连,计数长度为213,即8192个时钟;当WDS2~WDS0位为001时,8选1多路开关与14位计数器溢出端相连,计数长度为214,即16 384个时钟;依次类推,当WDS2~WDS0位为111时,8选1多路开关与20位计数器溢出端相连,计数长度为220,即1 048 576个时钟。由于RC振荡器输出时钟信号周期为1/500K(2μs),因此看门狗计数器溢出时间为2μs×8192周期~2μs×1048576周期,即16ms~2.1s。看门狗计数器是一个具有8个溢出输出端的20位48图6-22看门狗控制寄存器WDCON各位含义图6-22看门狗控制寄存器WDCON各位含义49WDCLK——看门狗计数脉冲选择。当WDTE为0(把看门狗计数器作为一个普通计数器使用,溢出时不输出看门狗复位信号,但看门狗中断标志有效)时,通过WDCLK位(相当于通用定时器的位)选择看门狗计数脉冲的来源。当WDCLK为0时,计数脉冲来自看门狗RC振荡器;当WDCLK为1时,计数脉冲是CPU状态时钟,在6时钟/机器下,状态时钟频率为晶振频率的1/6,即看门狗计数器也是机器周期计数器。但需要注意的是:当WDTE位为1(允许看门狗工作)时,计数脉冲一定来自RC振荡器,即当WDTE位为1时,WDCLK位强制为0。WDCLK——看门狗计数脉冲选择。当WDTE为0(50但需要注意的是:当WDTE位为1(允许看门狗工作)时,计数脉冲一定来自RC振荡器,即当WDTE位为1时,WDCLK位强制为0。WDRUN——看门狗运行控制位。当WDTE为0(看门狗计数器是一个普通计数器)时,WDRUN是看门狗计数器运行/停止计数控制位。当WDRUN=0时,与门输出为0,即看门狗停止计数;当WDRUN=1时,与门解锁,处于允许计数状态。即当WDTE为0时,WDRUN位作用类似于定时器T0的启动控制位TR0。但需要注意的是:当WDTE位为1(允许看门狗工作)51注意:当WDTE为1(处于硬件看门狗工作方式)时,计数器总是处于允许计数状态,WDRUN没有意义,即WDRUN位被强制置1。WDOVF——看门狗溢出标志位。看门狗计数器溢出(无论WDTE为1还是0)时置位,复位(看门狗复位除外)或看门狗计数器被清零时,WDOVF位为0。注意:当WDTE为1(处于硬件看门狗工作方式)时,52表6-6看门狗定时器溢出时间

WDS2~WDS0状态编码计数溢出周期溢出时间(计数脉冲来自RC振荡器)最小值(-37%)典型值最大值(+37%)0008 192 (13位计数器)10.321ms16.384ms22.446ms00116 384 (14位计数器)20.642ms32.768ms44.892ms01032 768 (15位计数器)51.284ms65.536ms89.784ms01165 536 (16位计数器)102.568ms131.072ms179.568ms100131 072 (17位计数器)205.136ms262.144ms359.136ms101262 144 (18位计数器)410.272ms524.288ms718.272ms110524 288 (19位计数器)820.544ms1.048 576s1.436 544s1111 048 576 (20位计数器)1.641088s2.097 152s2.873 088s表6-6看门狗定时器溢出时间WDS2~WDS0计数溢出536.8.1硬件看门狗状态从图6-20中看出,只要WDTE位为1,复位后看门狗计数器即处于计数状态,且没有任何办法停止其计数,一旦溢出将迫使CPU复位。为了避免看门狗计数器溢出复位,必须在看门狗计数器溢出前顺序向看门狗复位寄存器WDRST写入立即数1EH和0E1H,使看门狗计数器清零:MOV WDRST,#1EH MOV WDRST,#0E1H ;看门狗计数器清零,同时清看门 狗定时器溢出中断WDOVF为防止CPU复位后,未完成WDCON控制寄存器初始化前,看门狗溢出。因此初始化WDCON寄存器前,先执行看门狗计数器清零操作,然后再初始化WDCON。6.8.1硬件看门狗状态从图6-20中看出,只546.8.2通用定时器方式看门狗计数器溢出中断WDOVF有效时,CPU是否响应受看门狗中断允许EWD(IEN0.6)位、中断开关EA控制。中断服务程序入口地址为0053H。通用定时器工作方式的看门狗初始化顺序为:MOV WDRST,#1EH MOV WDRST,#0E1H ;看门狗计数器清零,同时清看门 狗定时器溢出中断WDOVF…… ;初始化看门狗中断的优先级别MOV WDCON,#XX ;初始化看门狗计数器计数长度、 计数脉冲来源、启动计数 ;允许看门狗中断、开中断6.8.2通用定时器方式看门狗计数器溢出中断W556.9中断控制系统图6-23P87LPC762/764中断控制及掉电唤醒逻辑6.9中断控制系统图6-23P87LPC762/756表6-7P87LPC762/4中断源

中断源中断标志位中断允许控制位优先级控制位查询顺序入口地址自动清除掉电唤醒外中断0IE0EX0(IEN0.0)IP0H.0,IP0.01(最高)0003HY(边沿)YESN(电平)定时器T0TF0ET0(IEN0.1)IP0H.1,IP0.14000BHYESNO外中断1IE1EX1(IEN0.2)IP0H.2,IP0.260013HY(边沿)YESN(电平)定时器T1TF1ET1(IEN0.3)IP0H.3,IP0.39001BHYESNO串行口中断TI,RIES(IEN0.4)IP0H.4,IP0.4110023HNONO掉电中断BODEBO(IEN0.5)IP0H.5,IP0.52002BHNOYESI2C中断ATNEI2(IEN1.0)IP1H.0,IP1.050033HNONO键盘中断KBFEKB(IEN1.1)IP1H.1,IP1.17003BHNOYES比较器2中断CMF2EC2(IEN1.2)IP1H.2,IP1.2100043HNOYES看门狗中断WDOVFEWD(IEN0.6)IP0H.6,IP0.630043HNOYES比较器1中断CMF1EC1(IEN1.5)IP1H.5,IP1.590063HNOYES定时器I中断-ETI(IEN1.7)IP1H.7,IP1.712(最低)0073H-NO表6-7P87LPC762/4中断源中断源中断中断允许576.10硬件配置信息图6-24硬件配置寄存器UCFG1各位含义6.10硬件配置信息图6-24硬件配置寄存器UCF58FOSC2~FOSC0——晶振类型、频率范围选择位,对应关系如下:FOSC2、FOSC1、FOSC0编码 晶振类型及频率范围111 外部时钟(缺省时)011 内部RC振荡器(6MHz±25%)010 低频晶振(20kHz~100kHz)001 中频晶振(100kHz~4MHz)000 高频晶振(4MHz~20MHz)此外的状态为非法。FOSC2~FOSC0——晶振类型、频率范围选择位,对应关系59图6-25硬件配置寄存器UCFG2各位含义当SB2、SB1为11时,允许对EPROM编程和校验;当SB2、SB1为10时,表示编程被禁止(仍允许校验);当SB2、SB1为00时,表示编程、校验均被禁止。图6-25硬件配置寄存器UCFG2各位含义606.11A/D与D/A转换器6.11.1A/D转换器图6-26四通道8位A/D转换器6.11A/D与D/A转换器6.11.1A/D转换611. A/D转换控制寄存器A/D转换器工作过程由A/D转换控制寄存器ADCON控制,各位含义如图6-27所示。(1) AADR1,AADR0——选择A/D转换模拟量输入通道。当AADR1,AADR0=00时,选择通道0,模拟量从AD0(P0.3)引脚输入;当AADR1,AADR0=01时,选择通道1,模拟量从AD1(P0.4)引脚输入;当AADR1,AADR0=10时,选择通道2,模拟量从AD2(P0.5)引脚输入;而AADR1,AADR0=11时,选择通道3,模拟量从AD3(P0.6)引脚输入。1. A/D转换控制寄存器62图6-27A/D转换控制寄存器ADCON各位含义图6-27A/D转换控制寄存器ADCON各位含义63(2) RCCLK——A/D转换器时钟源选择。当RCCLK=0时,选择MCU时钟作为A/D转换器的时钟源,转换时间为31个机器周期。例如,在“6时钟/机器周期”模式下,当晶振频率为20MHz时,A/D转换时间为:31(机器周期)×(1/20)×6,即9.3μs。为了保证A/D转换的精度,当使用MCU时钟作为A/D转换器的时钟源时,MCU时钟不能小于1MHz。当RCCLK=1时,选择CPU内的RC振荡器输出信号(6MHz±25%)作为A/D转换器的时钟源。在这种情况下,需要3~4个MCU机器周期来同步A/D转换器,转换时间范围在3个MCU机器周期+108RC时钟周期~4个MCU机器周期+112RC时钟周期之间。(2) RCCLK——A/D转换器时钟源选择64使用RC时钟源的好处在于:当MCU时钟频率较低时,A/D转换精度仍然很高(因为RC时钟频率为6MHz);A/D转换启动后,即可进入空闲或掉电运行状态,以减少CPU固有噪声对A/D转换结果的影响(因为A/D转换器属于模拟电路,只要电源电压VDD大于3.0V,在空闲或掉电运行状态中依然继续工作)。但当MCU时钟频率大于4MHz时,不能使用RC振荡器输出信号作为A/D转换器的时钟源。使用RC时钟源的好处在于:当MCU时钟频率较低时,A65(3) ENADC——A/D转换器使能。当ENADC=1时,A/D转换器处于使用状态。该位作用类似于外置A/D转换器的片选信号。ENADC位置1到A/D转换器准备就绪时间约为10μs(即ENADC位置1后,必须经过10μs后才能启动A/D转换操作)。(3) ENADC——A/D转换器使能。当66(4) ADCS——A/D转换启动控制位。当ADC处于准备就绪状态,且ADCI为0时,ADCS位置1将启动A/D转换操作过程。在A/D转换过程中,ADCS位为1,待A/D转换结束后,ADCS位自动清零,同时将A/D转换完成标志ADCI位置1。因此,启动后,可通过查询ADCS位状态确定A/D转换是否结束,也可以通过中断方式确定A/D转换是否完成。A/D转换结束后转换结果在寄存器DAC0(地址为0C5H)中。由于在P87LPC76X系列中,使用VDD和VSS作为A/D转换的参考电位,因此理想的A/D转换结果为:(4) ADCS——A/D转换启动控制位。67(5) ADCI——A/D转换结束中断标志。A/D转换完成后,ADCI自动置1,作为A/D转换结束标志。CPU是否查询ADCI标志受A/D中断允许EAD(IEN1.4)位控制。A/D中断资源分配如下:A/D中断标志位:ADCI(不自动清除)。即退出A/D中断服务程序时,不会自动清除ADCI标志。A/D中断允许/禁止控制位:EAD(IEN1.4)。A/D中断服务程序入口地址:005BH。A/D中断优先级控制位:IP1H.4(高位)、IP1.4(低位)。另外,A/D中断可使CPU退出掉电状态。(5) ADCI——A/D转换结束中断标68表6-8ADCI、ADCS位与转换器状态关系

ADCI、ADCS位状态A/D转换器的状态ADCIADCS00A/D转换器处于空闲状态,可以将ADCS位置1,启动A/D转换过程01A/D转换正在进行中,DAC0内容无效,尚不能启动下一轮转换10A/D转换已完成,结果保存在DAC0中。启动下一轮A/D转换操作前,必须先将ADCI标志位清零11这是A/D转换完成后出现的瞬时状态,表明A/D转换已完成,再经过一个机器周期后,就会回到ADCI,ADCS=10状态表6-8ADCI、ADCS位与转换器状态关系ADCI、692.A/D转换初始化(1)禁止模拟量输入引脚的数字输入/输出功能。(2)选择A/D转换结束查询方式,如果选择中断方式,则必须初始化A/D中断。(3)使能A/D转换器(即将ENADC位置1)。(4)延迟10μs,使ADC处于准备就绪状态。(5)初始化ADCON寄存器,选择A/D转换器输入通道、A/D转换时钟源。(6)启动A/D转换过程。即将ADCS位置1,启动转换进程。(7)根据使用A/D时钟及精度要求,必要时可强迫CPU进入空闲或掉电状态。(8)等待转换结果。当ADCI位为1时,读DAC0寄存器取出本轮A/D转换结果。2.A/D转换初始化70

【例6.2】假设在P87LPC767应用系统中,需要两个通道的A/D转换器,MCU时钟频率为1MHz。分析:由于需要两个通道,必然占用了比较器1的引脚,因此可选择AD0(P0.3)、AD1(P0.4)作为模拟量输入端。由于MCU时钟频率只有1MHz,可考虑使用RC时钟作为A/D时钟源;采用查询方式确定转换过程是否结束。参考程序如下:MOVA,P0M1ORLA,#00011000 B ;使P0M1.4、P0M1.3位为1MOVP0M1,AMOVA,P0M2ANLA,#11100111B ;使P0M2.4、P0M2.4位为0MOVP0M2,A

71 ; AD0(P0.3)、AD1(P0.4)引脚仅为输入MOVPT0AD,#18H ;禁止P0.4、P0.3引脚数字输入功能MOVADCON,#10000100SETBENADC ;启动ADC,选择了RC时钟,通道0NOP ;由于晶振频率只有1MHz,一个机器周期 为6μsNOP ;执行两条空操作指令,相当于延迟了12μsADC: ; AD转换子程序MOVA,ADCONADDA,CHAN ;假设通道号存放在CHAN变量中,取值为00 或01MOVADCCON,ASETBADCS ;启动A/D转换JNBADCI,$ ;等待A/D转换结果RET ; AD0(P0.3)、AD1(P0.4)引脚仅为输726.11.2D/A转换器图6-28D/A转换器结构(a)DAC0转换器;(b)DAC1转换器6.11.2D/A转换器图6-28D/A转换器结构73图6-29P87LPC769中ADCON寄存器含义图6-29P87LPC769中ADCON寄存器含义74在理想状态下,输出电压大于与输入寄存器DACn(n=0或1)内容有关:其中 n=0,1。在理想状态下,输出电压大于与输入寄存器DACn75由于A/D转换结果寄存器与DAC0输入寄存器共用同一寄存器DAC0(地址为0C5H),因此在P87LPC769中不能同时使用A/D转换器和DAC0转换器,即ENADC(A/D转换允许)和ENDAC0(DAC0转换允许)位不能同时为1。当ADCI、ADCS位均为0(即A/D转换器处于空闲状态)时,可将ENDAC0位置1,启动DAC0。但当系统中同时需要进行A/D转换和D/A转换时,可使用DAC1转换器。由于A/D转换结果寄存器与DAC0输入寄存器共用同76【例6.3】试编写D/A转换程序将存放在内部RAM中的一串数码转换为模拟信号(假设仅使用DAC1转换器)。参考程序:MOVA,P1M1ORLA,#10000000 B ;使P1M1.7位为1MOVP1M1,AMOVA,P1M2ANLA,#7FH ;使P1M2.7位为0MOVP1M2,A ;将DAC1(P1.7)引脚仅为输入,即 禁止了数字输出功能 ; D/A转换子程序【例6.3】试编写D/A转换程序将存放在内部RAM中77DAOUT:MOVR7,#OUTNO ;假设输出字节数存放在OUTNO变量中DECR7MOVR0,#OUTDAT ;假设输出数据缓冲区首址为OUTDATMOVDAC1,@R0 ;把第一个数送DAC1转换器寄存器SETBENDAC1 ;启动D/A转换,在P1.7引脚输出第一个 数值对应的模拟电压LOOP:INCR0 ; R0+1,指向下一单元MOVDAC1,@R0 ;把下一数据送DAC1寄存器DJNZR7,LOOP ; R7不为0就继续RETDAOUT:78第6章51LPC系列单片机芯片6.1内部结构和引脚功能

6.2I/O端口输出模式

6.3键盘中断功能

6.4模拟比较器

6.5定时/计数器新增功能6.6时钟及复位电路

6.7电源管理及复位电路6.8看门狗定时器6.9中断控制系统

6.10硬件配置信息6.11A/D与D/A转换器第6章51LPC系列单片机芯片6.1内部结79表6-1P87LPC76X系列芯片的主要性能指标表6-1P87LPC76X系列芯片的主要性能指标806.1内部结构和引脚功能6.1.1内部结构图6-1P87LPC76X内部结构6.1内部结构和引脚功能6.1.1内部结构图6-81图6-2存储器地址空间分配图6-2存储器地址空间分配82在P87LPC76X中,程序存储器容量为1~4KB,占用了0000H~03FFH。FCE0H~FCFFH之间的32字节存储空间是用户代码区,可用于存放产品系列号、产生日期等信息,编程时随程序代码一起写入片内的OTPROM存储器,例如:ORGFCE0HDB31H,32H,33H,34H,35H,36H ;在FCE0H处放置了31H、32H、 33H、34H、35H、 ; 36H(即ASCII的123456)作为 产品的系列号这32字节信息可通过“MOVCA,A+@DPTR”指令读出。在P87LPC76X中,程序存储器容量为1836.1.2引脚排列图6-3P87LPC76X系列DIP封装引脚排列6.1.2引脚排列图6-3P87LPC76X系列D84图6-3P87LPC76X系列DIP封装引脚排列图6-3P87LPC76X系列DIP封装引脚排列85表6-2DIP封装P87LPC762/4引脚功能描述

表6-2DIP封装P87LPC762/4引脚功能描述86表6-2DIP封装P87LPC762/4引脚功能描述

表6-2DIP封装P87LPC762/4引脚功能描述87可见:P87LPC759、P87LPC760、P87LPC761引脚兼容,即P87LPC760(14引脚封装)是P87LPC761(16引脚封装)的简化版(少了一个模拟比较,没有P0.0、P0.1两根引脚),而P87LPC759(14引脚封装)又是P87LPC760的简化版(没有模拟比较器、I2C总线和串行接口;内部RAM容量只有64字节)。P87LPC762/4引脚完全兼容,实际上P87LPC762与P87LPC764之间只是OTPROM容量不同(P87LPC762程序存储器容量为2KB,而P87LPC764程序存储器容量为4KB)。可见:88P87LPC762/4/7/8/9引脚也兼容,实际上P87LPC767硬件资源比基本型P87LPC764只多了4通道8位A/D转换器;而P87LPC768比P87LPC767多了4路10位PWM脉宽调制输出;P87LPC769比P87LPC767多了两路8位DAC转换器。因此了解基本型P87LPC762/4的硬件资源、使用方法也就基本掌握了P87LPC76X系列硬件特征、使用规则。因此,本章主要介绍762/764硬件资源和使用方法。P87LPC762/4/7/8/9引脚也兼896.1.3特殊功能寄存器表6-3P87LPC762/4特殊功能寄存器

6.1.3特殊功能寄存器表6-3P87LPC76290表6-3P87LPC762/4特殊功能寄存器

表6-3P87LPC762/4特殊功能寄存器91表6-3P87LPC762/4特殊功能寄存器

表6-3P87LPC762/4特殊功能寄存器926.2I/O端口输出模式表6-4I/O引脚输出方式与输出模式控制寄存器位对应关系

PxM2.yPxM1.yI/O引脚输出模式备注00准双向(标准MCS-51输出模式),缺省状态P1.2、P1.3、P1.5除外01仅为输入

10上拉(互补推挽输出)P1.2、P1.3、P1.5除外11漏极开路P1.5除外6.2I/O端口输出模式表6-4I/O引脚输出方式936.2.1准双向输出结构图6-4准双向输出结构6.2.1准双向输出结构图6-4准双向输出结构946.2.2漏极开路输出结构图6-5漏极开路输出结构6.2.2漏极开路输出结构图6-5漏极开路输出结构95图6-6上拉输出结构

6.2.3上拉(互补推挽)输出结构图6-6上拉输出结构6.2.3上拉(互补推挽)输出966.2.4输入方式图6-7P2M1寄存器各位含义6.2.4输入方式图6-7P2M1寄存器各位含义976.3键盘中断功能图6-8键盘中断控制6.3键盘中断功能图6-8键盘中断控制98例如,键盘中断KBI寄存器内容为00000111B,且P0.0、P0.1、P0.2引脚被定义为准双向输入方式,则当P0.0、P0.1、P0.2之一为低电平时,或门输出高电平,如果中断允许寄存器IEN1的EKB(键盘中断允许)位为1,键盘中断标志KBF置位。如果中断开放(EA为1)并满足中断响应条件,将进入键盘中断服务程序(入口地址为003BH)。例如,键盘中断KBI寄存器内容为000001199【例6.1】某应用系统键盘接口电路如图6-9所示,写出中断监控方式下的键盘监控程序(键码存放在30H单元中,当有按键被按下时,按键编码存放在30H单元)。;---------键盘接口初始化--------MOVA,P0M1ANLA,#01111000BMOVP0M1,A ;将P0M1的b7、b2、b1、b0位清零MOVA,P0M2ANLA,#01111000BMOVP0M2,A ;将P0M2的b7、b2、b1、b0位清零 ;使P0.0、P0.1、P0.2、P0.7引脚处于准双 向输出(以便利用上拉电阻)【例6.1】某应用系统键盘接口电路如图6-9100MOVA,P2M1ORLA,#00100000B ;为了提高抗干扰能力,避免减少按键抖 动造成的干扰,P0口采用施密特 ;输入MOVP2M1,A

SETBP0.0SETBP0.1SETBP0.2SETBP0.7 ;使P0.0、P0.1、P0.2、P0.7位锁存器为1, 即处于输入状态SETBEKB ;允许键盘中断SETBEA ;开中断 ;根据需要设置中断优先级MOVA,P2M1101ORG003BHLJMPKBIN ;键盘中断服务程序入口地址

;----------键盘中断服务程序-------PROCKBINKBIN: MOV30H,#55H ;无按键标志55H送30H单元 LCALLDELAY10ms ;延迟10ms MOVA,P0 ;读P0口 ANLA,#10000111B ;屏蔽无关位 XRLA,#10000111B JZRETURN ;为0,说明本次按键输入无效,退出;判别哪一按键被按下ORG003BH102MOVC,P0.0 JCK1 MOV30H,00H ;如果P0.0引脚为0,则说明是K0键有输入 SJMPEXITK1: MOVC,P0.1 JCK2 MOV30H,01H ;如果P0.1引脚为0,则说明是K1键有输入 SJMPEXITK2: MOVC,P0.2 JCK3 MOV30H,02H ;如果P0.2引脚为0,则说明是K2键有输入 SJMPEXITMOVC,P0.0103K3: MOVC,P0.7 JCRETURN ;P0.0~P0.2、P0.7均为高电平,按键输入无效 MOV30H,03H ;如果P0.7引脚为0,则说明是K3键有输入EXIT: MOVA,P0 ANLA,#10000111B ;屏蔽无关位 XRLA,#10000111B JNZEXIT ;不为0,说明按键未释放,循环等待RETURN: MOVA,#AUXR1 ANLA,#01111111B MOVAUXR1,A ;清除中断标志KBF RETI ;返回ENDK3:104第6章51LPC系列单片机芯片课件1056.4模拟比较器6.4.1比较器结构图6-10模拟比较器6.4模拟比较器6.4.1比较器结构图6-10106图6-11比较器控制寄存器CMPn各位含义图6-11比较器控制寄存器CMPn各位含义107表6-5比较器8种连接方式

表6-5比较器8种连接方式1086.4.2比较器初始化比较器属于模拟电路,为了获得精确结果,在启动比较器前应先禁止引脚的数字输入/输出功能;启动后必须延迟10μs,待比较器输出稳定后方可读取比较结果。下面是比较器初始化特例:假设待比较信号从CIN1A(P0.4)引脚输入,接比较器1正向输入端,参考电压为Vref(1.23V),比较结果输出到CMP1(P0.6)引脚,当比较器结果发生变化时产生中断。6.4.2比较器初始化109MOVA,PT0ADORLA,#00010000B MOVPT0AD,A ;禁止CIN1A(P0.4)引脚数字输入功能MOVA,P0M1ORLA,#00010000BMOVP0M1,A ;将P0M1的b4位置1MOVA,P0M2ANLA,#11101111BMOVP0M2,A ;将P0M2的b4位清零。使CIN1A(P0.4)引脚 仅为输入MOVCMP1,#00101100B ;启动比较器1,选择CIN1A引脚作为正向输入 端;Vref作为反向输入端;比较结果输出到 CMP1引脚LCALLDELAY10U ;调用延迟程序,延迟10μs,等待比较结果ANLCMP1,#11111110B ;清除比较器1中断标志SETBEC1 ;允许比较器1中断SETBEA ;开中断RET ;返回MOVA,PT0AD1106.5定时/计数器新增功能图6-12定时器T0方式1结构6.5定时/计数器新增功能图6-12定时器T0方式111图6-13P87LPC759/760/761定时器T1结构(a)方式0;(b)方式1;(c)方式2图6-13P87LPC759/760/761定时器T1结1126.6时钟及复位电路图6-14P87LPC76X振荡器控制电路6.6时钟及复位电路图6-14P87LPC76X振113图6-15外部晶振连接图6-15外部晶振连接114图6-16外部时钟信号连接方式图6-16外部时钟信号连接方式1156.7电源管理及复位电路6.7.1掉电检测功能掉电检测由下列寄存器位控制:AUXR1.6(BOD)——允许/禁止掉电检测功能。当BOD=1时,禁止掉电检测功能(即掉电时既不复位,也不产生掉电中断);当BOD=0时,允许掉电检测。AUXR1.5(BOI)——掉电复位/中断选择。当BOI位置1时,禁止掉电复位,但允许掉电产生中断。6.7电源管理及复位电路6.7.1掉电检测功能116当AUXR1寄存器BOD、BOI位为01时,则电源电压下降到特定值时,不产生掉电复位信号,而是触发掉电中断。在这种情况下,BOD位含义也不再是“允许/禁止掉电检测”,而是作为掉电中断标志。但CPU是否查询掉电中断标志BOD,受掉电中断允许EBO(IE0.5)和中断开关EA控制。此外,掉电发生时(无论是选择掉电复位还是掉电中断),PCON寄存器的掉电标志BOF置1。另外,上电时BOF也置1。当AUXR1寄存器BOD、BOI位为01时,则117P87LPC76X系列掉电保护电压可通过位于EPROM存储器区内配置寄存器UCFG1的BOV位选择。未编程时,BOV=1,掉电保护电压为2.5V(适合低电源电压,如2.7 ~4.0V);当BOV=0时,掉电保护电压为3.8V(适合电源电压大于4.0V情况)。为了保证CPU正确检测到掉电状态,VDD下降速率不得高于50mV/μs;为保证上电时CPU正确复位,VDD上升沿不得高于2mV/μs。可通过加大电源滤波电容容量,使VDD下降、上升速率变慢。P87LPC76X系列掉电保护电压可通过位于EPR1186.7.2上电检测上电检测与掉电检测类似,即首次上电时,当电源电压大于掉电保护电压时,PCON寄存器的上电标志POF置1。6.7.2上电检测1196.7.3空闲模式和掉电操作模式当PCON寄存器的IDL置1时,即CPU进入空闲操作模式。任一中断发生或复位均可结束空闲模式。这与标准80C51空闲模式完全相同。当PCON寄存器的PD位置1时,CPU进入掉电运行模式(与VDD下降掉电不同)。进入掉电操作模式后,CPU内振荡器停止工作(看门狗振荡器除外,只要电源电压VDD存在,看门狗振荡器就能继续工作)。复位或特定中断(参考表6-7)发生时,可使CPU退出掉电运行模式。6.7.3空闲模式和掉电操作模式1206.7.4复位电路图6-17P87LPC76X系列复位源6.7.4复位电路图6-17P87LPC76X系列121图6-18典型外部复位电路图6-18典型外部复位电路1226.8看门狗定时器图6-19看门狗定时器结构6.8看门狗定时器图6-19看门狗定时器结构123图6-20WDTE为1时的内部结构图6-20WDTE为1时的内部结构124图6-21WDTE为0时的内部结构图6-21WDTE为0时的内部结构125看门狗计数器是一个具有8个溢出输出端的20位计数器,由看门狗控制寄存器WDCON的WDS2~WDS0位控制,例如当WDS2~WDS0位为000时,8选1多路开关与13位计数器溢出端相连,计数长度为213,即8192个时钟;当WDS2~WDS0位为001时,8选1多路开关与14位计数器溢出端相连,计数长度为214,即16 384个时钟;依次类推,当WDS2~WDS0位为111时,8选1多路开关与20位计数器溢出端相连,计数长度为220,即1 048 576个时钟。由于RC振荡器输出时钟信号周期为1/500K(2μs),因此看门狗计数器溢出时间为2μs×8192周期~2μs×1048576周期,即16ms~2.1s。看门狗计数器是一个具有8个溢出输出端的20位126图6-22看门狗控制寄存器WDCON各位含义图6-22看门狗控制寄存器WDCON各位含义127WDCLK——看门狗计数脉冲选择。当WDTE为0(把看门狗计数器作为一个普通计数器使用,溢出时不输出看门狗复位信号,但看门狗中断标志有效)时,通过WDCLK位(相当于通用定时器的位)选择看门狗计数脉冲的来源。当WDCLK为0时,计数脉冲来自看门狗RC振荡器;当WDCLK为1时,计数脉冲是CPU状态时钟,在6时钟/机器下,状态时钟频率为晶振频率的1/6,即看门狗计数器也是机器周期计数器。但需要注意的是:当WDTE位为1(允许看门狗工作)时,计数脉冲一定来自RC振荡器,即当WDTE位为1时,WDCLK位强制为0。WDCLK——看门狗计数脉冲选择。当WDTE为0(128但需要注意的是:当WDTE位为1(允许看门狗工作)时,计数脉冲一定来自RC振荡器,即当WDTE位为1时,WDCLK位强制为0。WDRUN——看门狗运行控制位。当WDTE为0(看门狗计数器是一个普通计数器)时,WDRUN是看门狗计数器运行/停止计数控制位。当WDRUN=0时,与门输出为0,即看门狗停止计数;当WDRUN=1时,与门解锁,处于允许计数状态。即当WDTE为0时,WDRUN位作用类似于定时器T0的启动控制位TR0。但需要注意的是:当WDTE位为1(允许看门狗工作)129注意:当WDTE为1(处于硬件看门狗工作方式)时,计数器总是处于允许计数状态,WDRUN没有意义,即WDRUN位被强制置1。WDOVF——看门狗溢出标志位。看门狗计数器溢出(无论WDTE为1还是0)时置位,复位(看门狗复位除外)或看门狗计数器被清零时,WDOVF位为0。注意:当WDTE为1(处于硬件看门狗工作方式)时,130表6-6看门狗定时器溢出时间

WDS2~WDS0状态编码计数溢出周期溢出时间(计数脉冲来自RC振荡器)最小值(-37%)典型值最大值(+37%)0008 192 (13位计数器)10.321ms16.384ms22.446ms00116 384 (14位计数器)20.642ms32.768ms44.892ms01032 768 (15位计数器)51.284ms65.536ms89.784ms01165 536 (16位计数器)102.568ms131.072ms179.568ms100131 072 (17位计数器)205.136ms262.144ms359.136ms101262 144 (18位计数器)410.272ms524.288ms718.272ms110524 288 (19位计数器)820.544ms1.048 576s1.436 544s1111 048 576 (20位计数器)1.641088s2.097 152s2.873 088s表6-6看门狗定时器溢出时间WDS2~WDS0计数溢出1316.8.1硬件看门狗状态从图6-20中看出,只要WDTE位为1,复位后看门狗计数器即处于计数状态,且没有任何办法停止其计数,一旦溢出将迫使CPU复位。为了避免看门狗计数器溢出复位,必须在看门狗计数器溢出前顺序向看门狗复位寄存器WDRST写入立即数1EH和0E1H,使看门狗计数器清零:MOV WDRST,#1EH MOV WDRST,#0E1H ;看门狗计数器清零,同时清看门 狗定时器溢出中断WDOVF为防止CPU复位后,未完成WDCON控制寄存器初始化前,看门狗溢出。因此初始化WDCON寄存器前,先执行看门狗计数器清零操作,然后再初始化WDCON。6.8.1硬件看门狗状态从图6-20中看出,只1326.8.2通用定时器方式看门狗计数器溢出中断WDOVF有效时,CPU是否响应受看门狗中断允许EWD(IEN0.6)位、中断开关EA控制。中断服务程序入口地址为0053H。通用定时器工作方式的看门狗初始化顺序为:MOV WDRST,#1EH MOV WDRST,#0E1H ;看门狗计数器清零,同时清看门 狗定时器溢出中断WDOVF…… ;初始化看门狗中断的优先级别MOV WDCON,#XX ;初始化看门狗计数器计数长度、 计数脉冲来源、启动计数 ;允许看门狗中断、开中断6.8.2通用定时器方式看门狗计数器溢出中断W1336.9中断控制系统图6-23P87LPC762/764中断控制及掉电唤醒逻辑6.9中断控制系统图6-23P87LPC762/7134表6-7P87LPC762/4中断源

中断源中断标志位中断允许控制位优先级控制位查询顺序入口地址自动清除掉电唤醒外中断0IE0EX0(IEN0.0)IP0H.0,IP0.01(最高)0003HY(边沿)YESN(电平)定时器T0TF0ET0(IEN0.1)IP0H.1,IP0.14000BHYESNO外中断1IE1EX1(IEN0.2)IP0H.2,IP0.260013HY(边沿)YESN(电平)定时器T1TF1ET1(IEN0.3)IP0H.3,IP0.39001BHYESNO串行口中断TI,RIES(IEN0.4)IP0H.4,IP0.4110023HNONO掉电中断BODEBO(IEN0.5)IP0H.5,IP0.52002BHNOYESI2C中断ATNEI2(IEN1.0)IP1H.0,IP1.050033HNONO键盘中断KBFEKB(IEN1.1)IP1H.1,IP1.17003BHNOYES比较器2中断CMF2EC2(IEN1.2)IP1H.2,IP1.2100043HNOYES看门狗中断WDOVFEWD(IEN0.6)IP0H.6,IP0.630043HNOYES比较器1中断CMF1EC1(IEN1.5)IP1H.5,IP1.590063HNOYES定时器I中断-ETI(IEN1.7)IP1H.7,IP1.712(最低)0073H-NO表6-7P87LPC762/4中断源中断源中断中断允许1356.10硬件配置信息图6-24硬件配置寄存器UCFG1各位含义6.10硬件配置信息图6-24硬件配置寄存器UCF136FOSC2~FOSC0——晶振类型、频率范围选择位,对应关系如下:FOSC2、FOSC1、FOSC0编码 晶振类型及频率范围111 外部时钟(缺省时)011 内部RC振荡器(6MHz±25%)010 低频晶振(20kHz~100kHz)001 中频晶振(100kHz~4MHz)000 高频晶振(4MHz~20MHz)此外的状态为非法。FOSC2~FOSC0——晶振类型、频率范围选择位,对应关系137图6-25硬件配置寄存器UCFG2各位含义当SB2、SB1为11时,允许对EPROM编程和校验;当SB2、SB1为10时,表示编程被禁止(仍允许校验);当SB2、SB1为00时,表示编程、校验均被禁止。图6-25硬件配置寄存器UCFG2各位含义1386.11A/D与D/A转换器6.11.1A/D转换器图6-26四通道8位A/D转换器6.11A/D与D/A转换器6.11.1A/D转换1391. A/D转换控制寄存器A/D转换器工作过程由A/D转换控制寄存器ADCON控制,各位含义如图6-27所示。(1) AADR1,AADR0——选择A/D转换模拟量输入通道。当AADR1,AADR0=00时,选择通道0,模拟量从AD0(P0.3)引脚输入;当AADR1,AADR0=01时,选择通道1,模拟量从AD1(P0.4)引脚输入;当AADR1,AADR0=10时,选择通道2,模拟量从AD2(P0.5)引脚输入;而AADR1,AADR0=11时,选择通道3,模拟量从AD3(P0.6)引脚输入。1. A/D转换控制寄存器140图6-27A/D转换控制寄存器ADCON各位含义图6-27A/D转换控制寄存器ADCON各位含义141(2) RCCLK——A/D转换器时钟源选择。当RCCLK=0时,选择MCU时钟作为A/D转换器的时钟源,转换时间为31个机器周期。例如,在“6时钟/机器周期”模式下,当晶振频率为20MHz时,A/D转换时间为:31(机器周期)×(1/20)×6,即9.3μs。为了保证A/D转换的精度,当使用MCU时钟作为A/D转换器的时钟源时,MCU时钟不能小于1MHz。当RCCLK=1时,选择CPU内的RC振荡器输出信号(6MHz±25%)作为A/D转换器的时钟源。在这种情况下,需要3~4个MCU机器周期来同步A/D转换器,转换时间范围在3个MCU机器周期+108RC时钟周期~4个MCU机器周期+112RC时钟周期之间。(2) RCCLK——A/D转换器时钟源选择142使用RC时钟源的好处在于:当MCU时钟频率较低时,A/D转换精度仍然很高(因为RC时钟频率为6MHz);A/D转换启动后,即可进入空闲或掉电运行状态,以减少CPU固有噪声对A/D转换结果的影响(因为A/D转换器属于模拟电路,只要电源电压VDD大于3.0V,在空闲或掉电运行状态中依然继续工作)。但当MCU时钟频率大于4MHz时,不能使用RC振荡器输出信号作为A/D转换器的时钟源。使用RC时钟源的好处在于:当MCU时钟频率较低时,A143(3) ENADC——A/D转换器使能。当ENADC=1时,A/D转换器处于使用状态。该位作用类似于外置A/D转换器的片选信号。ENADC位置1到A/D转换器准备就绪时间约为10μs(即ENADC位置1后,必须经过10μs后才能启动A/D转换操作)。(3) ENADC——A/D转换器使能。当144(4) ADCS——A/D转换启动控制位。当ADC处于准备就绪状态,且ADCI为0时,ADCS位置1将启动A/D转换操作过程。在A/D转换过程中,ADCS位为1,待A/D转换结束后,ADCS位自动清零,同时将A/D转换完成标志ADCI位置1。因此,启动后,可通过查询ADCS位状态确定A/D转换是否结束,也可以通过中断方式确定A/D转换是否完成。A/D转换结束后转换结果在寄存器DAC0(地址为0C5H)中。由于在P87LPC76X系列中,使用VDD和VSS作为A/D转换的参考电位,因此理想的A/D转换结果为:(4) ADCS——A/D转换启动控制位。145(5) ADCI——A/D转换结束中断标志。A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论