版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
概 特 结构框 管脚分布 内存架 程序内 数据存储 片上 非可变数据存 特殊功能寄存器 通用80C51系统控 I/O端口结构和操 准双向模 推挽输出模 输入高阻模 开漏模 读-修改-写指 I/O端口的控制寄存 输入输出数据控 输出模式控 输入类型和输出能力控 定时器/计数器0和 模式0(13位定时器 模式1(16位定时器 模式2(8位自动重装载定时器 模式3(两组独立8位定时器 定时器 自动重载模 PWM模 定时器2控制寄存 定时器 看门狗定时器 超时复位定时 通用定时 自唤醒定时器 串口 模式 模式 模式 模式 波特 帧错检 多机通 地址自动识 2IC总 功能描 起始START及结束STOP条 7位地址和数据格 应答 仲 I2C控制寄存 工作模 主机发送模 主机接收模 从机接收模 从机发送模 广播呼叫模 状态 I2C中断服务程序范 I2C超 I2C中 引脚中 10位模数转换- 功能描 ADC工作方 ADC转换结果比较 ADC控制寄存 LCD驱 功能描 LCD控制寄存 LCD程序流 时控保护 中断系 中断概 中断使 中断优先 中断服 中断延 外部中 在应用编程 IAP命 IAP用户指 使用FLASH存储器作为数据存 在系统编程 电源管 空闲模 掉电模 时钟系 时钟 内部振荡 外部晶体振荡器或时钟输 系统时钟切 系统时钟除 系统时钟输 电源管 上电复位 欠压检测 复 上电复 欠压复 外部复位引脚复 看门狗定时器复 软件复 启动选 复位状 辅助功 双 96位唯一识别码 在片上调试 功能描 OCD限制条 在电路编程 配置字(CONFIG 指令 电气特 绝对最大额定 直流电气特 交流电气特 模拟电气特 封装信 文件版 N76E616是一个内嵌FLASH、8位高性能1T基于8051核的微控制器。指令集完全兼容标准和增强型的的716内嵌18K的FH存储区,通常称作AOM,用于存放用户程序代码。该存储区支持IP烧写功能,即可通过片内固件更新程序代码,P功能同时提供用户可自行配置加密程序区或数据存储区,也可通过P指令或C指令读取任一区域内数据。另外616还配置额外具有一存储区称作M,该区域可存放用于执行IS(otce),LROM区域从8K的OOG配置大小,最多可配置到4K字节。整个1KFLAH区域还支持P编程方式,即通过片外O由总线方式烧写片内FLSLSH66提供丰富的外设包括5字节的和26字节的外部R,最大到6个O口,两个6位定1带W1U2识别,一个IC,8通道共享引脚中断用于所有I/O,一个10位的ADC,和最大到180段的LCD驱动。外设配备712Hz到16H8kH外0k内部震荡器,和一个159H内部精确振荡器,它在常温下达到%的精度。616提供额外电源监测,例如上电复位和4级欠压检测,有稳定的电源通断性能用于高可靠的系统设66微控制器操作功耗非常低,有两种经济的电源模式用来减少电源的消耗空闲模式和掉电模式。软件可以选择空闲模式关闭U时钟,但是允许外设继续工作。掉电模式停止整个系统时钟用于最小的功耗。带有高性能的CPU核和丰富的外设,N76E616全静态设计81T基于8051CMOS微控制器工作2.4V内存18KAPROM4K/3K/2K/1K/0KLDROM用于启动ISPFLASH内存每256FLASH20,000次擦写寿命代码安全加密256256RAMXRAMMOVX指令访问UID(唯一码11.059MHz±1%,10kHz2MHz16MHz高速外部晶振32.768kHz低速外部晶振外部时钟输入通过软件切换时钟源可编程系统时钟分频,最大到外设45I/O̅̅̅̅̅̅̅̅̅̅̅1622A/2B/2C/2D支持自动重载模式和PWM(WDT),时钟源为内部10kHzUART八通道引脚中断,与所有I/O端口共享。边沿/一个10位ADC,最大到300ksps4COM32SEG6COM/30SEG配置的LCD电源管理电源监测(BOD4-ESDEFT开发工具(OCD)KEILTM部分型号和封装18KLDROM4K3-1N76E616
8-bitInternalP08-bitInternalAIN0~COM0~COM5SEG0~
AnyI/O3-14-1.4-1.LQFP-484–1.复合功能描述地:P0:端口0是可位寻址的8I/O AIN0:ADC 外部计数输入到定时器/计数器00./AIN1̅̅̅̅̅̅̅ 端口0管脚AIN1:ADC输入通道̅̅̅ 端口0管脚AIN2:ADC输入通道 端口0管脚AIN3:ADC输入通道 端口0管脚AIN4:ADC输入通道 端口0管脚AIN5:ADC输入通道 端口0管脚AIN6:ADC 端口0管脚AIN7:ADC输入通道CLO:SEG31:LCDsegment31输出P1:端口1是可位寻址的8I/O1 端口1管脚COM0:LCDcommon0输出2 端口1管脚COM1:LCDcommon1输出3 端口1管脚COM2:LCDcommon24P1.3/̅̅̅̅̅̅ 端口1管脚̅̅̅̅̅̅:1输入COM3:LCDcommon3输出P1.4:端口1管脚 外部计数输入到定时器/计数器1,或是输出SEG7:LCDsegment7输出P1.5:Port1管脚T2AO12A输出SEG8:LCDsegment8输出P1.6:端口1管脚T2AO22ASEG9:LCDsegment9输出 端口1管脚T2BO12BSEG10:LCDsegment10输出4–1.复合功能描述P2:端口2是可位寻址的8位I/O 端口2 SEG11:LCDsegment11输出 端口2 串行端口0SEG12:LCDsegment12输出 端口2 串行端口0SEG13:LCDsegment13输出 端口22 IC数据SEG14:LCDsegment14输出 端口22 IC时钟SEG15:LCDsegment15输出 端口2SEG16:LCDsegment16输出 端口2T2CO1:2C输出SEG17:LCDsegment17输出 端口2 SEG18:LCDsegment18输出P3:端口3是可位寻址的7I/O端口,P3.6 端口3 SEG27:LCDsegment27 端口3 SEG28:LCDsegment28输出 当HXTLXT没用到,端口32 HXTLXT被使用,XIN是输入管脚到内部反向放大器。如果ECLK模式使能,XIN是外部时钟输入引脚。SEG29:LCDsegment29输出 当HXTLXT没用到,端口3bit3 HXTLXT被使用,XOUT是输出管脚来自内部反向放大器。如果ECLK模式使能,它发出XIN的反向信号。SEG30:LCDsegment30输出 端口3ICPDA:ICP数据输入或输出OCDDA:OCD数据输入或输出4–1.复合功能描述 ICPOCDCK:OCD3.̅̅̅̅̅̅P3.6RPD(CONFIG0.2)配置为0,端口3bit6̅̅̅̅:̅̅̅̅一个低电平复位芯片。̅̅̅̅̅̅引脚有一个内部上拉电阻,通过简单的P4:端口4是可位寻址的7I/O5 端口4 LCDsegment0输出 LCDcommon4输出6 端口4 LCDsegment1输出 LCDcommon5输出 端口4 LCDsegment2输出7 端口4 LCDsegment3输出8 端口4 LCDsegment4输出9 端口4 LCDsegment5输出 端口4 LCDsegment6输出P5:端口4是可位寻址8I/O 端口5 外部触发ADC信号 LCDsegment19输出 端口5 LCDsegment20输出 端口5 LCDsegment21输出 端口5 LCDsegment22输出 端口5 LCDsegment23输出 端口5 LCDsegment24输出 端口5 1 LCDsegment25输出 端口5 1发送数据输出 LCDsegment26输出[1]I/O引脚可以配置成中断引脚,这个特征没有在多功能描述里面列出来。详见章节16.“引脚中断R2MHz1632.7684-2数据内存占用的地址空间独立于编程内存。在76616中,有6字节内部RM。对于需要更多内部M的许65AXOX整个嵌入的H,作为编程内存的功能,被分成三块。应用M(M)正常情况下为用户代码,加载M(M)G,RM和OM6字节。H控制单元支持擦除、编程、和读模式。5–1.所示。在任何复位之后CPU从地址0000H用于服务中断,中断服务位置(叫做中断向量)中断引起U跳到中断服务子程序(R)开始执行的地方。例如外部中断0被分配到地址H。如果外部中断0打算使用,它的服务子程序应该从地址03H开始。如果中断不使用,该地址可以作为通用的编程内存。中断服务位置间隔为八个字节:0H用于外部中断0,0H用于定时器0,00H用于外部中断1,01H用18J另外单独的编程块叫做M,它的通常功能是存储启动代码用于P。它可以更新M空间和G字节。M中的代码也可以重新编程M。对于M和M的P的细节和配置位,请看章节4“()”RM和LRMUC映射C指针到00H到DM开始的地址。因此U认为DM是单独的编程内存且所有中断向量独立于。76543210出厂默认值:1111位LDROMLDROM的大小111=LDROM.APROM18K字节110=LDROM是1K字节.APROM是17K字节101=LDROM是2K字节.APROM是16K字节100=LDROM是3K字节.APROM是15K字节0xx=LDROM是4K字节.APROM是14K字节BS= BS=[1]ThelogicboundaryaddressesofAPROMandLDROMaredefinedbyCONFIG1[2:0].5–1.N76E616图-27616以分割成三块。分别是RM的低128字节,AM的高8字节,和R空间的128字节。内部数据内存的地址总是8位宽度的,可用于56字节的地址空间。直接寻址高于7FH的地址会访问特殊功能寄存器(R),间接寻址高于H的地址会访问AM的高8字节。虽然R地址空间和M高8字节共享相同的逻辑地址0H到H,事实上他们是物理独立的实体。直接寻址区别于M的高28字节,仅可以访问R。R空间中的16个R0内部RM的低28字节在所有的051设备上都有的。最低的2字节作为通用寄存器分成四组8个寄存器,程序0PW3)S0和R16(H到F)是(0H到)。5180H到7F。所有低2828R。对于整个6字节的内部RAM,另外一个应用是用于堆栈。这个区域通过堆栈指针()来选择,P存储堆栈顶的地址。当AL、JP或中断被调用,返回的地址就存在堆栈里面。没有限制堆栈从M的什么地方开始。默认情况下,在复位后堆栈指针为0H。用户可以改变该地址为任何想要的值。P会指向最后使用的值。因此P
256BytesXRAM(MOVXaddressing)256BytesXRAM(MOVXaddressing)Upper128BytesInternalRAM(indirectaddressing)(directLower128BytesInternalRAM(directorindirectIndirectIndirectAccessingDirectorIndirectAccessingRegisterBankRegisterBankRegisterBankRegisterBank
Bit-GeneralPurpose5-3.内部256字节RAMN76E616提供额外的片上256字节的额外RAM叫做XRAM来扩大RAM的空间。它占用地址空间从00H到FFH。这256字节的XRAM通过MOVE外部指令MOVX@DPTR或MOVX@Ri.(看下面示例代码)。注意堆栈指针不能位XRAM;write#5AHtoXRAMwithaddress;readfromXRAMwithaddress;write#5BHtoXRAMwithaddress;readfromXRAMwithaddress通过使用IAP,APROM或LDROM任何页都可以用来作为非易失性数据存储。IAP的细节,请看章节21.”在应用编程(IAP)”76用特殊功能寄存器(R)来控制或监视外设和其他模块。R位于地址0到H地址空间,仅可以HHR况下,这是非常有用的。其他所有的R仅可以字节寻址。N76616包含标准51中出现的所有FR,然而一81R为了在地址0到xF之间提供多于28字节的R,补充了R页。默认情况下,所有R访问目的都是R页0。在设备初始化过程中位于R页1的地址可能需要去访问。寄存器S用来切换R地址页。注意这。SFRS–SFR页选择(TA保护76543210地址: 复位值:0000位0SFR0SFR1SFRSFR页的示例代码;switchtoSFRpage;switchtoSFRpage6–1.SFR页0101B0101010101010101--01-01-01--010101--SFR空间中未使用地址 ‘- 标记,访问改写这些地址字节会有不可预知的影响,请避免这种情况6–2.SFR复位值扩展中断优先级高位00000000扩展中断优先级0000000LCD--0000000LCD0000000LCD0000000LCD-0000000串口10000000-0000000P00000000ADC0000000BB0000000-0000000输入捕获20000000输入捕获200000000000000管脚中断高电平/0000000管脚中断低电平/000000000000000ADC--00000000000000LCDsegment0000000LCDsegment0000000ADC0000000ADC0000000ADC0000000ADC00100000000000P5模式选择寄存器0000000P50000000P5模式选择1111111P4模式选择-0000000P4-0000000P4模式选择-01111110Output011111110XXXOutput11111111XXXX2D00000002D00000002C00000002C0000000-000000002B00000002B00000002A00000002A00000000000000定时器20000000T2APS[20000000定时器200000006–2.SFR 复位值00000000定时器300000000定时器300000000300000000ADC00000000ADC00000000IC00000000IC---00000000IC0000000000001110000111110000000000000000000100000000000000000-00000000-00000000P2模式选择P2M200000000P200000000P2模式选择P2M111111111P100000000P1模式选择00000000P100000000P1模式选择11111111P0模式选择P0M200000000P000000000P0模式选择P0M111111111Output001111110XXX0011000000000000P300000000P3-00000000P300111111欠压检测控制LPBOD[10000000100000UU00000111b00001UU00000000000000000000IAP00000000IAPIAPA[700000000IAP0000000000000000欠压侦测控制-C0CCXC0XbU0UUXU1U0UU6–2.SFR 复位值-000000001U00000̅̅̅̅̅̅U100000UU00000Output11111111XXXX000000U0000000C0扩展中断使能00000000-00000000串口100000000串口000000000Serialport00000000000110000-001100000000000000000000Output11111111XXXX--0000000000000000定时器100000000定时器000000000定时器100000000定时器000000000̅̅0000000000000000-00010000000U000000000000000000000000000000000111Output11111111XXXX复位值符号描述0:0;1:1;U:不变;C:[5];X:[3],[6],复位之后所有I/O引脚为默认悬浮输入模式。如果RPD(CONFIG0.2)保持未编程1,那么读回P3.6引脚总是0SFR根据CONFIG29.“配置字(CONFIGBOF复位值取决于CONFIG2不同的设置和VDD当欠压侦测使能,BOS是只读标志,由VDD标 ‘- 的位保留将来使用。他们必须保持在初始状态,访问改写这些位可能导致不可预知的后果AorACC–(可位寻址76543210地址: 复位值:0000位AACC寄存器是标准的80C51BB(可位寻址76543210地址: 复位值:0000位BB寄存器是另外一个标准80C51的累加器,它用于MULDIV指令。SP–76543210地址: 复位值:0000位H或L的默认值是H。DPL–76543210地址: 复位值:0000位这是16位数据指针的低字节,DPL结合DPH作为16位的数据指针DPTR访问想要访问的RAM或编程内存地址。DPS(AUXR1.0)位决定哪一个数据指针DPTR或DPH–76543210地址: 复位值:0000位这是16位数据指针的高字节,DPH结合DPL作为16位的数据指针DPTR访问想要访问的RAM或编程内存地址。DPS(AUXR1.0)位决定哪一个数据指针DPTR或PSW(可位寻址76543210PR地址: 复位值:0000位7进行加法或减法操作时,当前运算需要向高位进位或借位时,CY在进行MULDIV运算时,CY始终为0CY受DAA指令影响,用来表示是否初始BCD数大于100在CJNE指令中,如果第一个无符号数的值小于第二个,则CY置1,否则清06当前运算导致从半字节的低序第45用户标志4位3这两位用来选择R0到R7 寄存器 RAM地 00H 08H 10H 18H2OV用于标示发生溢出。对于加法指令ADD或ADDC指令中,如果位6有进位而位“”“。V也用为“”“。O对于MUL乘法指令,当结果大于255(00FFH)时,OV置1。反之清0对于DIV除法指令,通常情况下OV为0。除非当B设定值为00H,则A和B的返回值为随机值,同时OV置1。1用户标志0P当累加结果为奇数时,该标志置1,偶数时清07–1.XXCLR0XXXCPLXXXXANLC,X0XANLC,X0XORLC,XDAXORLC,XRRCXMOVC,XRLCXXSETB1[1]X表示根据指令的结果变化PCON–76543210--地址: 复位值:详见表6–2.SFR定义及复位位3通用标志通用标志可由用户置位或清零2通用标志通用标志可由用户置位或清零66最多支持6个可位寻址的通用O引脚,分成6组0到5。每一个端口有它的端口控制寄存器()O引脚(除6)可以被软件独立配置成四中O模式中的一种。这四种模式是准双向模式(标准1端口结M1和x模8–1.管脚I/OI/O00011011所有O引脚可以通过S寄存器里对应的位选择为L电平输入或施密特触发输入。施密特触发输入有更好的有四个I/O引脚支持大的输出或灌电流,包括P1.0到P1.3。默认情况下,它们和其他I/O引脚的输出能力一样。当配置RPD(CONFIG0.2)为0,P3.6被配置为输入引脚。同时P3.6将永远在输入和施密特触发模式,且有一个内1的O外部器件将电平拉低。当引脚被拉低时有强驱动能力,会吸收大电流。在准双向/O适应不同的应用。其中一个上拉叫做特弱上拉,当端口锁定在逻辑1时,打开特弱上拉,若为外部悬空状态,特第二种上拉为“弱上拉”,当外部端口引脚自身处于逻辑1电平时打开。这种上拉提供源电流以使准双向引脚输出1。如果引脚为逻辑1,被外部器件拉低,“弱上拉”关闭,仅有“特弱上拉”打开。此时要将引脚拉低,外部器件要有足够的灌电流(大于ITL)以克服“弱上拉”,并使端口的电压低于输入门限电压(低于VL)。“情况发生时,强上拉打开两个总线时钟的时间以快速将端口引脚拉高。然后就关闭,弱上拉和特弱上拉继续保PPPPVeryNPortPort8-1.1 Port
Port8-2输入模式提供真实的高阻输入路径。虽然准双向模式也可以作为输入引脚,但是它需要相对强的输入源。输入模0DD Port8-3.开漏输出配置关闭所有内部上拉,当端口锁定为逻辑0时,仅打开驱动端口的下拉晶体管。当单口锁存为逻辑1时,它就和输入模式一样。通常用于IC输出线上,开漏引脚需要加一个外部上拉电阻,典型连一个电阻到D。1NPortNPort8-4从FR或内部M读一个字节,修改它,并重新写回去的指令,叫做读-修改-写指令。当目的是一个O端口或一个端口位,这些指令读内部输出锁存而不是外部引脚的状态,这种指令读端口R的值,修改它并写回到SFR--指 描 ANLdirectAANLdirect ORLdirectAORLdirect ORXRLdirect,AXRLdirect 为1转跳指令并清除.(JBCbit,位取反.(CPL加一指令.(INC减一指令DEC减一不为零转跳指令.(DJNZdirect,bit,移进位标志到位.(MOVbit,清位.(CLR置位.(SETB最后三条指令看似不是明显的读-修改-写指令,实际也是读-修改-这些寄存器是O输入输出数据缓存。读获取O输入的数据。写驱动数据输出,所有这些寄存器都是可位寻址P00(可位寻址76543210地址: 复位值:1111位0是8I/O端口P11(可位寻址76543210地址: 复位值:1111位18I/O端口P22(可位寻址76543210地址: 复位值:1111位端口28I/O端口P33(可位寻址765432100RR地址: 复位值:0011位7063第6当RPD(CONFIG0.2)配置为0,P3.6是输入引脚。当RPD未配置P3.6读总是053第5P3.5I/O引脚,ICPCKOCDCK43第4P3.4I/O引脚,与多功能引脚ICPDA和OCDDA33第3HXTLXT没有使用,P3.3可用。这种情况下P3.3功能是通用I/OHXTLXTP3.3XOUTP3.3无效,读P3.323第2仅当HXTLXT,ECLK没有使用,P3.2可用,这种情况下P3.2功能是通用I/O。如果HXT,LXTECLK使用,P3.2引脚功能作为XINP3.2无效,读P3.2总位13第1P3.1I/O引脚,与多功能引脚T2DO2和SEG2803第0P3.0I/O引脚,与多功能引脚T2DO1和SEG27P4765432100R地址: 复位值:0111位7-47I/O端口P55(可位寻址76543210地址: 复位值:1111位58I/O端口P0M1076543210地址:B1H,页: 复位值:1111位P0M2076543210地址:B2H,页: 复位值:0000位0模式选择P0M1P0M2结合用于决定P0每个引脚的I/O8–1.管脚I/O模式配置P1M11模式选择76543210地址:B3H,页: 复位值:1111位P1M2176543210地址:B4H,页: 复位值:0000位P1M1P1M2结合用于决定P1每个引脚的I/O8–1.管脚I/O模式配置P2M1276543210地址:B5H,页: 复位值:0111位P2M2276543210地址:B6H,页: 复位值:0000位P2M1P2M2结合用于决定P2每个引脚的I/O8–1.管脚I/O模式配置P3M1376543210地址:ACH,页: 复位值:0000位P3M2376543210地址:ADH,页: 复位值:0000位6P3.60=P3.6上拉禁止1=P3.6仅当RPD(CONFIG0.2)被配置为0.该位有效。当选择作为̅̅̅̅̅̅引脚上拉总是使3模式选择P3M1P3M2结合用于决定P3每个引脚的I/O8–1.管脚I/O模式配置P4M1476543210--地址:DAH,页: 复位值:1111位P4M2476543210--地址:DBH,页: 复位值:0000位P4M1P4M2结合用于决定P4每个引脚的I/O8–1.管脚I/O模式配置P5M1576543210地址:DCH,页: 复位值:1111位P5M2576543210地址:DDH,页: 复位值:0000位P5M1P5M2结合用于决定P5每个引脚的I/O8–1.管脚I/O模式配置每一个I/O引脚可以独立地配置成TTL输入或施密特触发输入。P1OS[3:0]位用于P1.0到P1.3的输出控制。这四个引脚支持大灌入电流和输出电流。注意所有PxS和P1OS寄存器通过切换SFR页到页1来访问。P0S076543210地址:B1H,页: 复位值:0000位nP0.n0P0.nTTL1=P0.n.P1S176543210地址:B3H,页: 复位值:0000位n0P1.nTTL1=P1.n.P2S–端口276543210地址:B5H,页: 复位值:0000位n0=P2.n.TTL1=P2.nP3S–端口376543210--地址:ACH,页: 复位值:0000位n0=P3.n.TTL1=P3.nP4S–端口476543210--地址:DAH,页: 复位值:0000位n0=P4.n.TTL1=P4.nP5S–端口576543210地址:DCH,页: 复位值:0000位n0=P5.n.TTL1=P5.nP1OS–端口176543210地址:B4H,页: 复位值:0000位-nP1.n0=P1.n1=P1.n大电流输出能力N76E616的定时器/计数器0和1分别为两个16位定时器/计数器。每个都由两个8位的寄存器组成16计数寄存器。对于定时器/计数器0为高8位寄存器TH0、低8位寄存器TL0。同样定时器/计数器1也有两个8位寄存器,TH1和TL1。TCON和TMOD可以配置定时器/计数器0和1的模式。定时器或计数器功能通过TMOD的̅位来选择。每一个定时器/计数器有它自己的选择位。TMOD.2用于定时器计数器0功能选择,TMOD.6用于定时器/计数器1TM(ON.3)02S)。TMO4)1每当检测到外部计数输入脚上的负电平跳变(T0针对定时器0,T1针对定时器1),计数寄存器的内容就会加一。T0或T1T0TMTT)616LXT固定的溢出速率。此外每一个定时器/计数器可以配置为四种可能的模式中的任何一种。通过TD中的0和M1定时器0和1可以配置成当定时器溢出发生的时候自动取反一个端口输出。T0和T1既用来做定时器的计数输入也用来做取反输出。这个功能通过P1M1寄存器的T0OE和T1OE控制位来使能。分别应用于定时器0和定时器1。当这种模式打开,定时器第一次溢出是先输出逻辑1。为了实现该模式的功能,̅位应该清零选择系统时钟作为注意:TH0(TH1)TL0(TL1)是分别被访问的,强烈建议在模式0或模式1,在读或写TH0(TH1)TL0(之前,用户应该通过清零TR0(TR1)TMOD0176543210地址: 复位值:0000位710=当TR1=1时,定时器1时钟运行不管INT11=当TR1=1和INT1为逻辑1,定时器16̅定时器1计数器/定时器选择0=定时器11=定时器1随外部引脚T15定时器1 定时器1 28TH1自动重载功能的 314300=当TR0=1时,定时器0时钟运行不管INT01=当TR0=1和INT0为逻辑1,定时器02̅定时器0计数器/定时器选择0=定时器01=定时器0随外部引脚T01定时器0 0 模式013/ 模式116/ 模式28TH0自动重载功能的 模式3TL08/TH00TCON01(可位寻址76543210R(电平读/(边沿R(电平读/(边沿地址: 复位值:0000位71061启动控制0=定时器1中止.清该位将中止定时器1和当前计数将保存在TH11=使能定时器50溢出标志040启动控制0=定时器0中止.清该位将中止定时器0和当前计数将保存在TH01=使能定时器TL0076543210地址: 复位值:0000位0数据寄存器TL0是定时器0的16位计数数据寄存器低8位字节TH0076543210地址: 复位值:0000位0寄存器TH0是定时器0的16位计数寄存器的高字节TL1176543210地址: 复位值:0000位定时器1寄存器TL1是定时器1的16TH1176543210地址: 复位值:0000位1寄存器TH1是定时器1的16CKCON–76543210地址: 复位值:0000位410=1的时钟源是系统时钟的12除频,它保留标准8051的特性。11300=0的时钟源是系统时钟的12除频,它保留标准8051的特性。10的时钟源直接是系统时钟AUXR176543210-0-R地址: 复位值见表6–2.SFR定义及复位位51LXT01计数时钟通过̅(TMOD.6)和T1M(CKCON.4)1定时器1LXT时钟4定时器0LXT00计数时钟通过̅(TMOD.2)和T0M(CKCON.3).10LXT时钟P3M1376543210地址:ACH,页: 复位值:0011位710111从T1注意:仅当操作在定时器模式,定时器1600010从T0注意:仅当操作在定时器模式,定时器0在模式0,定时器/计数器是13位的计数器。13位的计数器由TH0(TH1)和TL0(TL1)的低五位组成。TL0(TL1)0(1是̅
̅̅̅̅̅̅
̅̅̅̅̅̅)是1定时器/计数器使能。Gate设置为1̅
̅̅̅̅̅̅
̅̅̅̅̅̅)计算脉冲的宽度。当13位的定时器计数值变为1FFFH后,下一次计数会使其变为0000H定时器溢出标志TF0(TF1)置位,如果中断打开,此时还会产生一个定时器中断。
T0M(CKCON.3)(T1M0 010T0(T1)
TL0TR0
T0LXTM(AUXR1.4)(T1LXTM
00TH0
00
Timer
77INT0(INT1)
9-1.定时器/计数器0及1模式011x6T0M(CKCON.3)(T1MT0(T1)
0 0101
TL00 707TR0
T0LXTM(AUXR1.4)(T1LXTM
00TH0
7T0OE7
Timer
T0(T1) 9-2.定时器/计数器0及1模式模式2下定时器/计数器为自动重装载模式。此模式下TLx是一个8位的计数器,THx保存重装计数值。当TLxFFH向00H溢出后,TCON中的TFx标志置位THx中内容重装至TLx,继续计数过程。重装过程中THx不变.该特征最好地适用于UART波特率发生器,不需要连续软件介入.注:仅有定时器1可以用作UART的波特率源。当TRx位置1,GATE位及̅̅̅̅̅̅̅(̅̅̅̅̅̅̅)配置正确时,计数器开始计数。GATE位及̅̅̅̅̅̅̅(̅̅̅̅̅̅̅)引脚的功能与
T0M(CKCON.3)(T1M0 01T0(T1)
TL0
TimerTR0INT0(INT1)
T0LXTM(AUXR1.4)(T1LXTM
07TH007
T0(T1)9-3.定时器/计数器0及1模式模式3有着不同的工作方式。对定时器/计数器1来说模式3会将其停止;对定时器/计数器0来说模式3下TL0083、0̅
̅̅̅̅̅̅和TF0。TL0可以用来对T0脚上的1到0跳变计数,由̅(TMOD.2).来决定。TH0只能对内部时钟源计数,并使用定时器/数器1的控制位(TR1和TF1)。当需要额外的8位定时器时可以使用模式3。当定时器0处于模式3时,定时器1可以通过将其放入或离开模式3的方式来打开或关闭它。定时器1依然可以工作在模式0、1、2R及̅̅̅̅̅̅T1M,和T1LXTM
̅9-4.定时器/计数器0模式2,,C,D独的控制。每一个定时器支持两种操作模式:自动重载模式和WM模式。通过O0或O1寄存器的xM来选择。用户可以通过x20]选择预分频值。有两个输出引脚产生互补的0%占空比周期或WM波2H和AL6A和填合适值到2AH和AL之后,用户可以设置TATO)来开始计数。在TA置位之后,R2AH和2L被加载到内部16位计数器中,并开始向下计数。当计数器溢出,TAT)由硬件置位为1,并使R2H和RA6TAI.)12TATOT2O1和T2T2O11优
16-bitDown
Timer2ATimer2AT2AO1pin077T2AO2077 10-12APWM2H和2R2M0和O用户可以设置2AN)来开始M输出。同时RH加载到内部8位计数器,且计数器开始向下计数。在下次计数到0之前,H重新载入且1回复逻辑1,一旦数到0,L被加载,且1取反输出逻辑的TF2A会置12中断。在WT2AWMPWM占空比高电平 PWM占空比低电平: PWM周期:
8-bitDown
Timer2AMatch0EventTimer2A
Repeat T2AO1T2AO20
10-22APWMR2AHR2ALR2AHR2ALR2AH在本周期内更 R2AL在本周期内更TR1A=(定时器1A运行),R2AH导入8位向下计数,T2AO1输出
向下计数至0,导入8
T2AO1输出10-32APWM至0,T2CON2(可位寻址76543210地址: 复位值:0000位72D中T62C中T52B中T42A中T32D0=定时器2D1=定时器2D注意在自动重载模式,重载寄存器R2DHR2DL仅当定时器2D停止(TR2D=0)才可以被写。如果在TR2D为1时写R2DH或R2DL,结果是不可预知的。22C0=定时器2C1=定时器2C注意在自动重载模式,重载寄存器R2CH和R2CL仅当定时器2C停止(TR2C=0)才可以被写。如果在TR2C为1时写R2CH或R2CL,结果是不可预知的。12B0=定时器2B1=定时器2B注意在自动重载模式,重载寄存器R2BH和R2BL仅当定时器2B停止(TR2B=0)才可以被写。如果在TR2B为1时写R2BH或R2BL,结果是不可预知的。02A0=定时器2A1=定时器2A注意在自动重载模式,重载寄存器R2AH和R2AL仅当定时器2A停止(TR2A=0)才可以被写。如果在TR2A为1时写R2AH或R2AL,结果是不可预知的。T2MOD0276543210地址: 复位值:0000位72B0=自动重载模式1=PWM模式000=001=010=011=100=101=110=111=30=自动重载模式1=PWM模式000=001=010=011=100=101=110=111=T2MOD1276543210地址: 复位值:0000位72D0=自动重载模式1=PWM模式000=001=010=011=100=101=110=111=32C0=自动重载模式1=PWM模式000=001=010=011=100=101=110=111=T2OE276543210地址: 复位值:0000位70=T2DO2输出禁止1T2DO260=T2DO1输出禁止1=T2DO150=T2CO2输出禁止1=T2CO240=T2CO1输出禁止1=T2CO130=T2BO2输出禁止1=T2BO220=T2BO1输出禁止1=T2BO112A0=T2AO2输出禁止1=T2AO202A0=T2AO1输出禁止1=T2AO1R2AL–2A76543210地址: 复位值:0000位2AR2AH2A76543210地址: 复位值:0000位2AR2BL–定时器2B76543210地址: 复位值:0000位2BR2BH2B76543210地址: 复位值:0000位2BR2CL2C76543210地址: 复位值:0000位2CR2CH2C76543210地址: 复位值:0000位2CR2DL2D76543210地址: 复位值:0000位2DR2DH2D76543210地址: 复位值:0000位2D定时器3是一个补充的16位自动重载上数定时器。用户可以通过T3PS[2:0](T3CON[2:0])选择预分频,并填重载值到R3H和R3L寄存器来决定它的溢出速率。用户可以设置TR3(T3CON.3)来开始计数。当计数跨过FFFFH,TF3(T3CON.4)置为1,且R3H和R3L寄存器的内容重载到内部16位计数器。如果ET3(EIE1.1)置为1,定时器3中断服务程序被执行。当进入中断服务程序,TF3会被硬件自动清零。3也是UART14.5波特率
070707
16-bitUp
Timer3Timer311-13T3CON376543210地址: 复位值:0000位433303停止13注意重载寄存器R3HR3L仅在定时器3停止(TR30)的时候才可以被写。如果TR3位1写,结果是不可预知的。3这些位决定定时器3000=001=010=011=100=101=110=111=R3L376543210地址: 复位值:0000位3R3H376543210地址: 复位值:0000位3扰设备进入非正常状态或挂起,看门狗可以复位恢复系统。用于监测系统以提高系统可靠性。对于容易受到噪N30](N474工76543210出厂默认值1111位WDT该域配置MCU执行后,WDT1111WDTWDT0101=WDT使能,作为一个超时复位定时器,且在空闲或掉电模式会停止运其他=WDT使能,作为一个超时复位定时器,且在空闲或掉电模式会保持运WTKLCWTWTWDCON看门狗定时器控制(TA保护76543210地址: 复位值:见表6–2.SFR定义及复位位7WDTWDTEN[3:]ONFIG4[7:])全为WD0=WDT禁止1=WDT使能WDT位6WDT写01=WDT计数器读0=WDT1=WDT计数器还没有清零5WDT该位表示WDT计数器的溢出。该标志应该通过软件清零。4WDTWDTEN[3:]ONFIG4[7:])全为WD0=WDT1=WDT在空闲或掉电模式下保持工作3WDTWDT这些位决定了WDT时钟的预分频,从1/11/256。见12–1.在不同分频下的看门狗超时间隔。默认是最大分频值。WDTRF在上电复位之后会被清零,在WDTWDPS[2:0]1
×clockdividerscalar×64决定 FLIRC是内部震荡10kHz的频率。下表所示不同12–1.(FLIRC~=100006.4000125.6001051.20011102.40100204.80101409.60110819.201111.638当CONFIG位WDTEN[3:0](CONFIG4[7:4])不是FH,,WDT是初始化为一个超时复位定时器。如果WDTEN[3:0]不是5H,WDT在系统进入空闲或掉电模式后允许继续运行。注意当WDT初始化为超时复位定时器,WDTR和WIDPD没有功能。.
WDT WDT12-1.WDTWTW2]WON20])选择。当选择的超WTWTFW)WTWT(E)A位,WT中断程序被执行。同时一个额外的12个LRC时钟延时用于计数器的清零来避免系统被WT复位。如果在这52个时钟内没有写1WRWTWRWTWTWTWTFWCONWFWON看门狗定时器复位的主要应用是系统监测,这对于实时控制很重要,适用于电磁干扰等避免发生程序跑飞等场设定WCLR,可使代码继续运行而无看门狗定时器复位。如果代码运行在错误的状态下,无法及时清看门狗定时看门狗定时器的另一个应用是用作简单的定时器。当CONFIG位WDTEN[3:0](CONFIG4[7:4])是FH。WDT初始化为通用定时器。在这种模式下WDTR和WIDPD是完全可以通过软件访问的。PD
12-2.T通过设置R为开始运行,通过清零停止。当T选择的时间间隔到后,F标志会置位。软TDT)DD在一些功耗的应用中,CU常在没有处理事件时处于空闲模式或掉电模式,需要定时唤醒察看是否需要响应,而到mμU应N6WT1kP。 ;WDTinterruptservice;clearWDTinterrupt;Start;chooseintervallengthandenableWDTrunning;enableWDT;WDT;EnterPower-down 716有一个专门的自唤醒定时器(WT),它用于低功耗模式下的周期唤醒或通用的定时器。WT保持计数在空闲或掉电模式。当WT用于唤醒定时器,WT要在进入掉电之前开启。WT有两个时钟源,RC或XT,由WSW5)位决定。注意系统时钟频率必须大于WT时钟两倍以上。如果WT开始计数,WTWT1到22]CN2择。用户填重载值到K寄存器来决定它的溢出速率。WRWCN)置位开始计数。当计数器溢出,F)置位为1,并重载WK寄存器的值到内部8为计数器。如果WT1)置为1,WT中断01
8-bitUp0707
WKT13-1.WKCON–76543210地址: 复位值:0000位5WKT0=1=注意当WKT在运行中的时候,该位不能切换。它需要在WKTR设置为14WKT位3WKT0=WKT停止1=WKT注意重载寄存器RWK仅在WKT停止(WKTR0).的时候可以写入。否则结果是不WKTWKT时钟的预分频000=001=010=011=100=101=110=111=RWK–76543210地址: 复位值:0000位WKT用以存储WKT的8位重载值。注意如果预分频是1/1,RWK限制不能是FFH66有两个具备地址自动识别和帧错功能的全双工串口。两个串口的功能是一样的,为了区分两个串口控01,2,和3BF。对F写入数据用于发送,接收数据也从寄存器SF中读取。串口共有4种模式,任何一种模式都由F发起指令。注意,在使用串口功能前,串口所用管脚.1及.2XD及TX)或者6及P71及TX_)。SCON(可位寻址76543210地址: 复位值:0000位7SMOD0(PCON.6)=14–1SMOD0(PCON.6)=SM0/FE帧错,软件清0=无帧错1=检测到帧错65此位功能依赖串口0模式此位选择波特律是FSYS/120=FSYS/12标准8051兼容模式1模式0=1=只有接收到有效停止位,并且地址匹配时(包括广播地址),才接收数据模式2多机通信功能0=无论第9位是0是11=只有第9位是1,且地址匹配时才接收(包括广播地址40=串口0禁接收1=工作模式为1,2,3时,使能接收.工作模式为0时,在条件REN=1RI=0时接位3发送的第9串口0在模式2,3时,此位是发送的第9位,模式0,1不用此位2收到的第9串口0模式2,3时,此位是收到的第9位。模式1时,RB8是停止位电平。模式0不用10S2。00此位。2。SCON_1串口1控制寄存器(可位寻址76543210地址: 复位值:0000位7串口16SMOD0_1(T3CON.6)=SMOD0_1(T3CON.6)=SM0_1/FE_1帧错,软件清0=无帧错1=检测到帧错5此位功能依赖串口0模式模式0=1=只有接收到有效停止位,并且地址匹配时(包括广播地址),才接收数据模式2多机通信功能0=无论第9位是0是11=只有第9位是1,且地址匹配时才接收(包括广播地址40=接收禁止1=串口1,对于模式1,2,3来说是接收使能。对于模式0REN_1=1RI_1=3发送的第9串口1模式2,3发送的第9位,模式0,1不用此位2收到的第9串口0模式2,3时,此位是收到的第9位。模式1时,RB8是停止位电平。SM2_11。002被限.PCON–76543210--地址: 复位值:见表6–2.SFR定义及复位位7串口0模式2,或模式1,311,波特律加倍。详见表14–1..60=SCON.7SM0位1=SCON.7FE位T3CON376543210地址: 复位值:0000位7串口1在模式2时,此位置114–260=SCON_1.7SM0_1位1=SCON_1.7FE_1位14–1.串口000081011/定时器332或210311定时器1/定时器332orSM2(SCON.5)=1时SMOD(PCON.7)=1时14–2.串口10008101定时器3210311定时器3SM2_1(SCON_1.5)1时SMOD_1(T3CON.7)1时SBUF–串口076543210地址: 复位值:0000位串口0串口0接收或发送的数据都放在这个寄存器中。实际上该地址上有2个独立的8位寄存器。一个用于接收数据,一个用于发送数据。对它进行读操作将会接收串行.每次向SBUF写入一字节数据,启动一次发送SBUF_1–串口176543210地址: 复位值:0000位串口1串口1接收或发送的数据都放在这个寄存器中。实际上该地址上有2个独立的8位寄存器。一个用于接收数据,一个用于发送数据。对它进行读操作将会接收串行数据,对它进行写操作则发送串行数据.模式0与外部设备进行同步通信的方式。在该模式下,串行数据由RXD脚进行收发,而TXD脚用于产生移位时FSYS/12(SM2(SCON.5)0)或FSYS/2(SM21)..0为14-1显示串口模式0传输时序图14-1.0如图所示,数据由双向RXD线进行收发。位移时钟TXD/发送数据。数据最低位用于移入移出数据,波特率根据TXD向UFXD8TI(O.)置1RNS=1且=0数据。外部设备要在移位时钟的下降沿处送出数据。这个过程持续到8位数据全部发送完毕。RI会在TD的最后一个下降沿处置1,这时接收动作结束,注N不由硬件清零,用户应该首先清零I,清N,并再次通过软件R模式1为全双工异步的方式工作。串行通信的数据贞由0位数据组成,在DD脚上进行收发。0位数据组(位,))1D(CN7)(1图42.向F写入指令开始传输,传输发生在TD引脚上。首先是开始位,随后是8位数据位,最后是停止位,停止TO11当波特率发生器打开且REN(SCON.4)=1时系统进行接收操作,RXD脚上接收到1-0跳变就启动接收器接收。数RI(SCON.0)= SM2(SCON.5)=0,或者SM2=1时,收到的数据与配置的从机地址或广播地址一致且收到停止位为1.(详见章节14.7多机通信和章节14.8地址自动识别)从上条件若满足,就把收到的数据存入SBUF,停止位电平写入RB8(SCON.2),并且RI置1。若不不满足,数据不写入SBUF,RI保持0。接下来再次检测RXD的下降沿跳变,准备下一次接收。,1)在前),第位数据(8)和停止位组成。第98。波特率2314-32和3写SBUF开始发送,数据从TXD输出。先输出起始位,再出8位数据,接下来是TB8,然后是停止位。最后TI置1RN置:RI(SCON.0)= SM2(SCON.5)=0SM2=1时收到第九位为1并且地址匹配.(14.714.8地)若以上条件满足,收到的数据写入SBUF,第9RB8(SCON.2并且置1RI。若条件不满足丢弃数据,模式3与模式2相同,只是模式3使用定时器114-在模式1或模式3,串口0的波特率时钟源可通过BRCK(T3CON.5)选择定时器1或定时器3。对于串口1,只有采T3CON–定时器376543210地址: 复位值:0000位5串口00=定时器1=定时器111(3314–3UART0FSYS/12orFSYS/22FSYS/64orFSYS/32 1仅供 ) 12×256- 256- 1 )16Pre-scale×65536-SM2(SCON.5)SM2_1(SCON_1.5)设为SMOD(PCON.7)SMOD_1(T3CON.7)定时器1配置为定时方式自动重装载模式(模式T1M(CKCON.4SMOD1TH1{RH3,RL3}=256×RH3RL3.当SMOD11/1,{RH3,RL3}表14–4列举了由定时器1产生的常用波特率。此种方式定时器1配成重装载模式:SMOD(PCON.7)=0且T1M(CKCON.4014–5列举了串口0用定时器3产生波特率的值.SMOD=0。对于串口1来说,相同的值,14–4.定时器1TH114–5.定时器348{R3H,R3L},FESCON.7。正常情况下此位为SM0。当使能了帧错功能SMOD0PCON.6)=1,SM0FE通信若出现帧错,FE将被置1,后续数据无帧错FE位不会回零,一旦出现帧错FE置1FE位必须软件清0。注意,读写FE,SMOD0必须是置1的。66的串口模式2或3可以在一主多从的系统中发送多帧数据给一从机,且不打扰其它从机。使用这个功能2CN)=1(9)2t=1主机给某一从机发数据时,先发一个地址字节——地址字节第9位是1,数据字节第9位是0。地址字节会让所有的从机都中断并检查是否与自己的从机地址一致,若一致就让S2=0并准备接收后续字节。地址不一致的从机M2多机通信流程如下SM2主机发送时序为后续字节数据(第9位=0).9位为1=0,地址匹配的从机,接收完数据后,再让SM2=10通信,SM2无效。模式1SM2=1能可以节省软件识别地址而所占用的程序空间,仅当串口识别到自身地址时,接收器置位I(S1使用自动地址识别,允许一个主机选择与一个或多个从机通信,通过“Ge”从机地址.所有从机可以通过“广播”DN。ND.DNRv”地址。使用SADDR–从机地址76543210地址: 复位值:0000位从机地址多机通讯时用作存储串口0SADEN–从机地址掩码76543210地址: 复位值:0000位从机地址0将该寄存器各位与从机地址0做与运算。这个寄存器为0SADDR_1–从机地址76543210地址: 复位值:0000位从机地址多机通讯时用作存储串口1SADEN_1–从机地址176543210地址: 复位值:0000位从机地址1与从机地址1做与运算,这个寄存器为0对应的地址位,被忽略。SADDR=11000000bSADEN=Given=从机地址=11000000b掩码=11111110b结果=1100000Xb上面例子SADDR相同,SADEN不同,形成不同地址匹配。从机0忽略地址位1,从机1忽略地址位0。发往地址11000010的数据从机0会接收,从机1拒绝。发往地址11000001的数据从机0拒绝而从机1接收。发往地址从机e0:SADDR=11000000bSADEN=Given=SADDR=11100000bSADEN=Given=SADDR=11000000bSADEN=Given=上面例子,地址低三位区分不同匹配。从机0拥有唯一地址11100110b1拥有唯一地址11100101b机2拥有唯一地址11100011b。若把数据发给从机0,1排除从机2,就发往地址11100100b。SADDRSADEN的或运算求得,结果为0 = =Broadcast=采用”无关位”(don’tcarebit)可以使得广播地址呼叫更灵活,在通常状态下,全部定义为“无关位”即可,所以广播地址一般定义为FFH.,DR和DNHvnb全部ta”s)。这样可以确保串口响应全部地址,同时也与标准传统81微处理器相同,不支持自动地址识I2C IC总线在MCUEEPROM,LCD模块,温度传感器等等之间,提供了一种串行通信方式。IC用两条线(据线SDASCL2IC机之间的总线仲载传输,同步时钟SCL的存在,允许设备间多种不同波特率的数据传输。2主发,主收,从发,从收。IC总线仅支持7位地址。支持广播呼叫,支持标准速率传输(100kbps)(400kbps)2对于双向传输操作,SDA及SCL引脚必须配置成开漏配置,形成逻辑线与功能:IC总线上有一个节点输出总线上就是0电平,只有所有节点全输出1,总线上才是高电平,即通过外接上拉电阻把电平拉高。N76E616,在设置I2CEN(I2CON.6)使能I2C功能之前,必须把P2.3及P2.4的输出锁存在逻辑1的状态。215-1.IC2IC空闲时,两条线都为高。这时任一设备都可以做为主机发个起始位START开始数据传输,在停止位出现之前,总线被认为处于忙状态。主机产生时钟以及起始位和停止位。如果总线上没有START起始信号,则所有总线设备被认为未被寻址从机,硬件自动匹配自己的从机地址或广播呼叫地址,(广播地址可由GCC总线上传输的每个字节都包含8个数据位和一个应答位,共9位。但每次传输的字节个数没有明确界定(起始位TTTO)。L由A脚输出数据,并转为输入模式以读取检测第9位应答位。在第9个时钟脉冲后,数据接收端若没准备好接C
215-2.ICBus
2IC总线时序定义了起始START(S)和结束STOP(P)的条件。时钟SCL为高时,数据线SDA2到监听总线起始位状态,之前被呼叫从机也转为未寻址从机。 C总线进入空闲状态等待下一个起始START主机若发出停止位STOP,传输就停止了,然而,这个主机可以不发停止位,而是再次发出起始START(Sr) 15-3.起始(START)信号,重复起始信号以及停止(STOP)TT,SL+8(RW写入或读出数据。若第8位是0,即AR,表示下个字节开始主机向从机写数据;若是1,即LW,就表示TT+SWR或多个字节数据,最后是停止位TP。当第一字节已定义读写方向,随后的8位数据就跟随之前的设定进行传I2C总线还有一种特殊寻址方式,广播呼叫寻址。在该模式下,发送的首字节数据为0这个从机就收发后续数据,和标准主从收发方式相同。注意:地址0x002从机地址。因此理论上,总共7位地址IC总线,共可以连接127个设备,地址由1至1271-1- 1-1- ADDRESS 215-4IC在数据传输过程中,在时钟高电平时,DA需要保持数据内容不能更改。只有在SL为低时,DA变。应答第(C)DA(是从机)回应发送端(无论主机或从机)所用。应答位时钟由主机产生,发送端设备在应答位时钟高电平周期内,需放弃对DA的控制。K为一个低电平信号。在这个时钟周期的高电平时,A保持低电平用以表示接若从机接收应答从机地址后,将自身切换到未定址从机模式,从而无法接收更多数据字节,并将OrpdRTOP。SDAOutputBySDAOutputBySCLFrom
SDA=0,AcknowledgeSDA=1,NotAcknowledge ClockPulseFor15-5.TT裁。在该状态下,当CL为高时,A上呈现仲裁信号。在仲裁过程中,第一发起主机对A线置1(高电平)而另一个主机发送0(低电平),发送后主机会对A线上信号与自己发出的信号进行比较,由于“线与”的原因,时钟SL为高时,发送0的主机会成功,而发送1仲裁机制让每个主机发送数据时,都会同时比较总线上的数据是否与自己发送的一致。注:如果其它主机发送0,Master1losesarbitrationforDATA1≠SDA.ItimmediatelyswitchestoMaster1losesarbitrationforDATA1≠SDA.Itimmediatelyswitchestonotaddressedslaveandoutputshighlevel.DATA2FromMasterSDASCL2
15-615-7ICI2C共有五个控制寄存器:I2CON,I2STAT,I2DAT,I2ADDR,和I2CLK.这些寄存器用以提供协议控制,状态显2I2CONIC(可位寻址76543210地址: 复位值:0000位7-62IC20=IC禁止21=IC使能2IC之前,P2.3P0.6必须配置为输出5起始标志 当STA置1,如果总线空闲,IC产生START信号,如果总线忙,IC等待停止条件2如果总线已经在总线模式且已发送一个或多个字节,此时再设定STA,IC产生重复开始信号repeated4停止标志2IC总线在主机模式下设定STO为1,将会向总线发送停止信号STOP停止条件完成,STO由硬件自动清0当总线上产生错误状态(I2STAT00H)STO也会置1。这种情况下总线不会发送2如果STA和STO同时置1,且在主机模式下,IC总线在发送STARTSTOP。如果在从机模式下,应避免STA及STO同时置132IC2IC所有26种状态中出现一种,硬件就会置1(F8H除外)SI后,I2若AA=1,接收数据时,会在第9位发出应答ACK若A=0AK),第AI0,中A01特殊情况:注意:从机发送时,状态码若为C8H,从机发送最后一个字节之前,让AA=0,发送完最后一个字节,不再回应答,传输结束。主机若再从总线上读数-2I2STAT–IC76543210000RRRR地址: 复位值:1111位2IC高5位为状态码,共有27I2STATF8H时,表示空闲,SI将保持为0。02I2DAT–IC76543210地址: 复位值:0000位2IC该寄存器存放准备发送的,或接收到的数据。只要SI=12I2ADDR–IC76543210地址: 复位值:0000位2IC主机模式从机模式存放7位从机地址。主机需要定址该从机需在START之后写入该值。如果AA]6从机模式0=1=如果AA置1,参与广播呼叫模式,若AA清02I2CLK–IC76543210地址: 复位值:0000位2IC时钟设定2该寄存器设定作主机时IC4×(I2CLK+1)400kbps(24MHz)。注I2CLK值写入00H01H从机模式该字节无效,从机自动跟随主机时钟,最高400kI2C主机发送多个字节到从机,主机产生时钟,故需要在I2CLK内填入设定值。主机发送模式需要将STA(I2CON.5)置1。此时,一旦检测到总线空闲,主机就会发出一个起始位START,若成功,SI(I2CON.3)将被置1,状态码I2STAT置为08H。接下来应把从机地址和写位(SLA+W)写入I2DAT,然后清0位SI,总线上发出SLA+W。主机发出SLA+W收到从机应答位ACK后,SI被置1,状态码I2STAT=18H。接下来将按照用户定义格式发送数据。所有的数据发送完以后,位STO(I2CON.4)置1,并清0SI位以发出停止信号STOP,或者也可以发送重复起始信号repeatSTART,而不发送STOP,直接开始新一轮数据传输。tomaster15-8.主机接收模式,由从机接收数据。初始化设置与主机发送模式相同,主机发送起始位以后,I2DAT应写入从机地址和“读位”(SLA+R)。收到从机应答位ACK后SI被置1且状态码I2STAT=40H。SI清0后开始接收从机数据,若AA位(I2CON.2)=1,主机收到数据后回应答位;若AA=0主机收到数据后不回应答NACK。然后主机可tomaster15-9.RC置()当从机被“写”信号L+W寻址到后,需要清0I位,以便从主机接收数据。如果在传输过程中0,从机将在下一字节返回无应答位K,从机也将转为未定址从机,与主机联系终止,不再接收数据,且I2DT保持之(STA,STO,SI,AA)(STA,STO,SI,AA)=ACKwillbe
DatabytewillbereceivedNACKwillbeACKhasbeentransmittedI2DAT=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铜头铁额防盗门购销合同
- 企业委托处理协议
- 节能减排创新合同
- 典型借款协议范本
- 二零二四年度文化传播公司活动赞助合同
- 高效服务购买协议
- 守护安宁保安服务
- 贷款抵押合同模板
- 消防改造工程合同
- 化肥买卖合同范本
- 国内外智慧护理服务模式的研究进展
- 安全生产法律法规注册安全工程师考试(初级)试卷与参考答案
- 深圳2020-2024年中考英语真题专题03 阅读理解之记叙文(解析版)
- 数据安全风险评估
- 【初中历史】秦汉时期的科技与文化课件 2024-2025学年统编版七年级历史上册
- 教育研究方法课程设计
- 国家职业技术技能标准 5-02-03-02 野生植物保护员 人社厅发201512号
- 医务人员职业暴露预防及处理课件(完整版)
- 2024秋期国家开放大学专科《EXCEL在财务中的应用》一平台在线形考(形考作业一至四)试题及答案
- 整本书阅读《平凡的世界》中职语文高教版(2023-2024)基础模块上册
- GB/T 44264-2024光伏组件清洁机器人通用技术条件
评论
0/150
提交评论