Content

Size: px
Start display at page:

Download "Content"

Transcription

1 笙泉科技股份有限公司 Megawin Technology Co., Ltd. Version: 1.24 MA86X104 说明书 1/93

2 目录 目录 概叙 功能 方框图 特殊功能寄存器 SFR 图 SFR 位分配 辅助 SFR 图 (Page P) 辅助 SFR 位分配 (Page P) 引脚结构 封装指南 引脚定义 CPU 功能描叙 CPU 寄存器 CPU 时序 CPU 寻址模式 存储器组织 程序存储器 数据存储器 关于 C51 编译器的声明标识符 数据指针寄存器 (DPTR) 系统时钟 时钟结构 时钟寄存器 看门狗定时器 (WDT) WDT 结构 WDT 在掉电模式和空闲模式期间 WDT 寄存器 WDT 硬件选项 系统复位 复位源 上电复位 外部复位 软件复位 非法地址复位 掉电检测器 (Brown-Out) 复位 WDT 复位 电源管理 电源监控模块 电源节省模式 /93

3 慢频模式 副频模式 Watch 模式 Monitor 模式 ( 仅仅使用于 L- 系列 ) 空闲模式 掉电模式 中断唤醒掉电模式 复位唤醒掉电模式 KBI 键盘唤醒掉电模式 电源控制寄存器 输入输出口配置 输入输出口结构 端口 3 准双向口 端口 3 推挽输出 端口 3 仅是输入 ( 高阻抗输入 ) 模式 端口 3 开漏输出 通用端口集电极开漏输出结构 通用端口推挽输出结构 通用端口输入结构 输入输出口寄存器 端口 1 寄存器 端口 3 寄存器 端口 4 寄存器 上拉控制寄存器 中断 中断结构 中断源 中断使能 中断优先级 中断处理 TI 的特别中断向量 中断寄存器 定时器 / 计数器 定时器 0 和定时器 模式 0 结构 模式 1 结构 模式 2 结构 模式 3 结构 定时器 0/1 可编程时钟输出 定时器 0/1 寄存器 串行口 (UART) 串行口模式 串行口模式 串行口模式 2 和模式 错误帧检测 多处理器通讯 /93

4 16.6. 自动地址识别 波特率设置 波特率模式 波特率模式 波特率模式 1 和 串行口重复模式 串行口寄存器 键盘中断 (KBI) 键盘中断结构图 键盘中断寄存器 在系统可编程 (ISP) 在应用可编程 (IAP) P 页特殊功能寄存器访问 辅助特殊功能寄存器 最大绝对额定值 电气特性 直流特性 交流特性 封装尺寸 指令集 修订历史 /93

5 1. 概叙 MA86X104 是基于 80C51 的高效 1-T 结构的单芯片微处理器, 每条指令需要 1~6 时钟信号 ( 比标准的 8051 快 6~7 倍 ), 与标准 8051 指令集兼容 因此在与标准 8051 有同样的处理能力的情况下,MA86X104 只需要非常低的运行速度, 同时由此能很大程度的减少耗电量 MA86X104 有 4K 字节的内置 Flash 存储器用于保存代码和数据 Flash 存储器可以通过串行模式编程 (ICP, 在电路编程 ) 或者 ISP 模式 ( 在系统编程 ) 进行编程的能力 同时, 也提供在应用编程 (IAP) 的能力 ISP 和 ICP 让使用者无需从产品中取下微控制器就可以下载新的代码 ;IAP 意味着应用程序正在运行时, 微控制器能够在 Flash 中写入非易失数据 这些功能都由内建的电荷泵提供编程用的高压 MA86X104 除了 80C52 MCU 的标准功能 ( 例如 256 字节的随机存储器, 二个 8 位 I/O 口, 二个带有高 / 低触发选项的外部中断, 一个多源 4 级中断控制和二个 16 位定时 / 计数器 ) 外, MA86X104 有二个额外的 I/O 口 (P4.0 和 P4.1), 键盘中断, 一次性使能的看门狗定时器 一个低电压检测器, 一个外部的晶振, 一个外部的晶振 ( 与 P4.0 和 P4.1 共用 ), 一个高精度的内部振荡 (IHRCO), 一个低速的内部 RC 振荡器 (ILRCO) 和一个多功能的增型的串口 (EUART) 和一个低速增强设备 (X2/X4 模式 ). MA86X104 有多种工作模式可以减少耗电量 : 空闲, 掉电模式, 慢频模式, 副频模式, watch 模式和 monitor 模式 在空闲模式下,CPU 被冻结而外围模块和中断系统依然活动 在掉电模式下, 随机存储器 RAM 和特殊功能寄存器 SFR 的值被保存, 而其他所有功能被终止 最重要的是, 在掉电模式下的微控制器可以被多种中断或复位唤醒 在慢频模式, 使用者可以通过 8 位的系统时钟分频器减慢系统速度以减少耗电量 选择副频模式系统时钟来自内部低速振荡器 CPU 用一个特别慢的速度在运行 watch 模式, 在掉电模式或空闲模式下保持 WDT 正常运行来唤醒 CPU Monitor 模式, 在掉电模式检测电压, 当电压特别低的时候会复位 5/93

6 2. 功能 1-T 80C51 微处理器 MA86X104 4K 的程序存储器空间 ISP 程序空间可以选择 0.5KB/1KB/1.5KB 3.5KB 灵活 IAP 空间大小 密码保护程序区访问 Flash 写 / 擦次数 : 100 Flash 数据保留时间 : 100 年 25 内部 256 字节数据存储器 中断控制 6 中断源, 4 个优先级 二个外部中断, nint0 和 nint1 所有的外部中断支持高 / 低或上升 / 下降沿触发 两个 16- 位定时 / 计数, Timer 0 和 Timer 1. T0CKO 在 P34 和 T1CKO 在 P35. T0/T1 可以选择 X12 模式 增强型 UART (S0) 帧误差侦测 自动地址识别 速度增强机制 (X2/X4 模式 ) 4 通道 UART 重复机构 所有 I/O 具有键盘中断功能. 可程序控制的看门狗时间 通过 CPU 或上电复位一次性使能 时钟源来自内部低频振荡器 (ILRCO) 看门狗溢出会中断或复位 CPU 掉电模式支持看门狗功能 20 脚的封装片最多 18 个 I/O P3 可以设置准双向口模式, 推挽输出模式, 开漏集输出模式, 仅输入模式 P1, P4.0 和 P4.1 可以设置为推挽输出模式, 开漏集输出模式 P4.0, P4.1 和 P3.6 公用 XTAL2, XTAL1 和 RST. 所有的 I/O 有唤醒功能 多种省电模式 : 掉电模式, 空闲模式, 慢频模式, 副频模式,watch 模式和 monitor 模式 所有的中断能唤醒空闲模式 6 中源能唤醒掉电模式 慢频模式和副频模式支持低速 MCU 运转 Watch 模式在掉电模式下能复位 CPU Monitor 模式在掉电模式下支持 BOD0 复位 CPU ( 仅仅 L- 系列 ) 低电压检测 : VDD 4.2V E- 系列和 VDD 2.4V L- 系列 中断 CPU 或复位 CPU 6/93

7 在掉电模式下唤醒 CPU ( 仅仅 L- 系列 ) 工作电压 : MA86E104: 4.5V~5.5V. MA86L104: 2.4V~3.6V. 工作温度 : 工业级 (-40 to +85 )* 工作频率 :25MHz( 最大 ) 程序控制内部震荡 MHz/24MHz (IHRCO): 常温测试误差 ±1% 外部晶振模式 内部低频 RC 震荡 (ILRCO) ( 大约 32KHz) 外部时钟输入 (ECKI) XTAL2/P4.0 内部震荡输出 XTAL2/P4.0 封装类型 : PDIP20: MA86E104AE20 PDIP16: MA86E104AE16 SOP20: MA86E104AS20 SOP16(150mil): MA86E104AS16 SOP8: MA86E104AS8 *: 抽样检测 7/93

8 3. 方框图 8/93

9 4. 特殊功能寄存器 4.1. SFR 图 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F F F0 B E8 P E0 ACC WDTCR IFD IFADRH IFADRL IFMT SCMD ISPCR D D0 PSW P3KBIE P1KBIE C C CKCON0 B8 IP0L SADEN B0 P3 P3M0 P3M1 P4M0 PUCON0 IP0H A8 IE SADDR EIE1 EIP1L EIP1H A0 -- AUXR0 AUXR1 AUXR SCON SBUF P1 P1M PCON1 88 TCON TMOD TL0 TL1 TH0 TH1 SFIE SP DPL DPH PCON0 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F 9/93

10 4.2. SFR 位分配 符号描叙地址 位地址及符号 Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 SP Stack Pointer 81H B DPL Data Pointer Low 82H B DPH Data Pointer High 83H B PCON0 Power Control 0 87H SMOD1 SMOD0 GF POF GF1 GF0 PD IDL B TCON Timer Control 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT B TMOD Timer Mode 89H GATE C/T M1 M0 GATE C/T M1 M B TL0 Timer Low 0 8AH B TL1 Timer Low 1 8BH B TH0 Timer High 0 8CH B TH1 Timer High 1 8DH B SFIE System Flag INT En. 8EH UTIE KBIFIE -- BOF0IE WDTFIE 0xxx0x00B P1 Port 1 90H P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P B P1M0 P1 Mode Register 0 91H P1M0.7 P1M0.6 P1M0.5 P1M0.4 P1M0.3 P1M0.2 P1M0.1 P1M B PCON1 Power Control 1 97H SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF 00100x00B SCON Serial Control 98H SM0/FE SM1 SM2 REN TB8 RB8 Ti RI B SBUF Serial Buffer 99H xxxxxxxxb AUXR0 Auxiliary Register 0 A1H P40OC1 P40OC0 P40FD GF P1FS1 P1FS0 INT1H INT0H B AUXR1 Auxiliary Register 1 A2H RTX3E RTX2E RTX1E RTX0E GF GF RXCS1 RXCS B AUXR2 Auxiliary Register 2 A3H URXR BTI URM0X6 SMOD2 T1X12 T0X12 T1CKOE T0CKOE B IE Interrupt Enable A8H EA ES ET1 EX1 ET0 EX B SADDR Slave Address A9H B EIE1 Extended INT Enable xxxx0xxxb ADH ESF EIP1L Ext. INT Priority 1 Low AEH PSFL xxxx0xxxb EIP1H Ext. INT Priority 1 High AFH PSFH xxxx0xxxb P3 Port 3 B0H P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P B P3M0 P3 Mode Register 0 B1H P3M0.7 P3M0.6 P3M0.5 P3M0.4 P3M0.3 P3M0.2 P3M0.1 P3M B P3M1 P3 Mode Register 1 B2H P3M1.7 P3M1.6 P3M1.5 P3M1.4 P3M1.3 P3M1.2 P3M1.1 P3M B P4M0 P4 Mode Register 0 B3H P4M0.1 P4M0.0 xxxxxx00b PUCON0 Pull-Up Control 0 92H -- PU PU11 PU x0xx00xxb IP0H Interrupt Priority 0 B7H PSH PT1H PX1H PT0H PX0H B High IP0L Interrupt Priority Low B8H PSL PT1L PX1L PT0L PX0L B SADEN Slave Address Mask B9H B CKCON0 Clock Control 0 C7H AFS SCKS2 SCKS1 SCKS0 0xxxx000B PSW Program Status Word D0H CY AC F0 RS1 RS0 OV F1 P B P3KBIE P3 KBI Enable D6H P37KBIE P36KBIE P35KBIE P34KBIE P41KBIE P40KBIE P31KBIE P30KBIE B P1KBIE P1 KBI Enable D7H P17KBIE P16KBIE P15KBIE P14KBIE P13KBIE P12KBIE P11KBIE P10KBIE B ACC Accumulator E0H ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC B WDTCR Watch-dog-timer 0x000000B E1H WREN NSW ENW CLW WIDL PS2 PS1 PS0 Control register IFD ISP Flash data E2H B IFADRH ISP Flash address B E3H High IFADRL ISP Flash Address B E4H Low IFMT ISP Mode Table E5H MS2 MS1 MS0 xxxxx000b SCMD ISP Serial Command E6H xxxxxxxxb ISPCR ISP Control Register E7H ISPEN BS SRST CFAIL xxxxB P4 Port 4 E8H P4.1 P4.0 xxxxxx11b B B Register F0H F7H F6H F5H F4H F3H F2H F1H F0H B 复位值 10/93

11 4.3. 辅助 SFR 图 (Page P) MA86X104 特殊功能寄存器 (SFR) 有一个辅助索引 P 页, 它写的方法跟标准的 8051 特殊功能寄存器的不一样 象访问 ISP/IAP 一样通过设置 IFMT 和 SCMD 来访问这个辅助的特殊功能寄存器 P 页有 256 字节有用到的为 5 个物理字节地址和 4 个逻辑字节地址 5 个物理字节地址包括 IAPLB, CKCON2, PCON2, SPCON0 和 DCON0 4 个逻辑字节地址包括 PCON0, PCON1, CKCON0 和 WDTCR 在 0~F 写这 4 个逻辑地址会得到相同的特殊功能 (SFR) 值 更多的细节请参考 P 页访问章节 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F F8 -- F0 E8 -- E0 WDTCR D8 D0 C8 C0 CKCON0 B8 -- B0 A8 A PCON PCON SPCON0 DCON0 40 CKCON2 -- PCON IAPLB /8 1/9 2/A 3/B 4/C 5/D 6/E 7/F 11/93

12 4.4. 辅助 SFR 位分配 (Page P) 位地址和符号 符号 描叙 地址 Bit-7 Bit-6 Bit-5 Bit-4 Bit-3 Bit-2 Bit-1 Bit-0 IAPLB IAP Low Boundary 03H IAPLB6 IAPLB5 IAPLB4 IAPLB3 IAPLB2 IAPLB1 IAPLB0 -- IFR03 CKCON2 Clock Control 2 40H XTALE IHRCOE OSCS1 OSCS0 xx01xx00b PCON2 Power Control 2 44H -- AWBOD BO0RE 1 x0xxxxx1b SPCON0 SFR Page Control 0 48H WRCTL -- CKCTL0 PWCTL1 PWCTL0 xxx0x000b DCON0 Device Control 0 4CH HSE IAPO RSTIO -- 00xxxxxx 复位值 12/93

13 5. 引脚结构 5.1. 封装指南 13/93

14 5.2. 引脚定义 助记符 引脚号 I/O 20-Pin 16-Pin 8-Pin 类型 描叙 P I/O * Port 1.0. P I/O * Port 1.1. P1.2 (TXD1) I/O * Port 1.2. * TXD1: TXD channel 1 output of UART repeater. P1.3 (TXD2) I/O * Port 1.3. * TXD2: TXD channel 2 output of UART repeater. P1.4 (RXD3) (nint0) (T0) I/O * Port 1.4. * RXD3: RXD channel 3 input of UART repeater. * nint0: Alternate function for nint0 input. * T0: Alternate function for T0 input. P1.5 (TXD3) (nint1) (T1) (ICP_SDA) I/O * Port 1.5. * TXD3: TXD channel 3 output of UART repeater. * nint1: Alternate function for nint1 input. * T1: Alternate function for T1 input. * ICP_SDA: Serial data of ICP interface. P1.6 (ICP_SCL) I/O * Port 1.6. * ICP_SCL: Serial clock of ICP interface. P I/O * Port 1.7. P3.0 (RXD0) I/O * Port 3.0. * RXD0: UART0 serial input port. P3.1 (TXD0) I/O * Port 3.1. * TXD0: UART0 serial output port. P3.2 (nint0) (RXD1) I/O * Port 3.2. * nint0: external interrupt 0 input. * RXD3: RXD channel 3 input of UART repeater. P3.3 (nint1) (RXD2) P3.4 (T0) (T0CKO) P3.5 (T1) (T1CKO) I/O * Port 3.3. * nint1: external interrupt 1 input. * RXD3: RXD channel 3 input of UART repeater I/O * Port 3.4. * T0: Timer/Counter 0 external input. * T0CKO: programmable clock-out from Timer I/O * Port 3.5. * T1: Timer/Counter 1 external input. * T1CKO: programmable clock-out from Timer 1. P I/O * Port 3 bit-7. P4.0 (CKO) (ECKI) (XTAL2) I/O O I O P4.1 (XTAL1) I/O I RST I (P3.6) I/O VDD P Power supply input. VSS G Ground, 0 V reference. * Port 4.0. It is only accessed in SFR page 1. * CKO: Internal clock output. * ECKI: In external clock input mode, this is clock input pin. *XTAL2: Output of on-chip crystal oscillating circuit. * Port 4.1. It is only accessed in SFR page 1. * XTAL1: Input of on-chip crystal oscillating circuit. * RST: External RESET input, high active. * Port /93

15 CPU 功能描叙 6.1. CPU 寄存器 PSW: 程序状态字 SFR 地址 = 0xD0 复位值 = CY AC F0 RS1 RS0 OV F1 P R/W R/W R/W R/W R/W R/W R/W R/W CY: 进位标志 AC: 辅助进位标志 F0: 用户可设定的标志位 0 RS1: 寄存器组选择位 1 RS0: 寄存器组选择位 0 OV: 溢出标志 F1: 用户可设定的标志位 1 P: 奇偶标志 程序状态字 (PSW) 包含反映 CPU 当前状态的几个状态位 PSW 属于特殊功能寄存器 SFR 区, 包含进位标志, 辅助进位标志 ( 应用于 BCD 操作 ), 两个寄存器组选择位, 溢出标志, 奇偶标志和两个用户可设定的标志位 进位标志, 不仅有算术运算的进位功能, 也充当许多布尔运算的 累加器 RS0 和 RS1 被用来选择 4 组中的任意一组寄存器组, 详见内部 RAM 章节 奇偶位反映 1S 内累加器数字和的状况, 1S 内累加器中数字和是奇数则 P=1 否则 P=0 SP: 堆栈指针 SFR 地址 = 0x81 复位值 = SP[7] SP[6] SP[5] SP[4] SP[3] SP[2] SP[1] SP[0] R/W R/W R/W R/W R/W R/W R/W R/W 堆栈指针保持栈顶位置, 每执行一个 PUSH 指令, 会自动增加, 缺损值为 0X07H DPL: 数据指针低字节 SFR 地址 = 0x82 复位值 = DPL[7] DPL[6] DPL[5] DPL[4] DPL[3] DPL[2] DPL[1] DPL[0] R/W R/W R/W R/W R/W R/W R/W R/W DPL 是 DPTR 的低字节,DPTR 用来间接访问 XRAM 和程序空间 DPH: 数据指针高字节 SFR 地址 = 0x83 RESET = DPH[7] DPH[6] DPH[5] DPH[4] DPH[3] DPH[2] DPH[1] DPH[0] R/W R/W R/W R/W R/W R/W R/W R/W 15/93

16 DPH 是 DPTR 的高字节,DPTR 用来间接访问 XRAM 和程序空间 ACC: 累加器 SFR 地址 = 0xE0 复位值 = ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0 R/W R/W R/W R/W R/W R/W R/W R/W 算术运算的累加器. B: B 寄存器 SFR 地址 = 0xF0 复位值 = B[7] B[6] B[5] B[4] B[3] B[2] B[1] B[0] R/W R/W R/W R/W R/W R/W R/W R/W 另一个算术运算的累加器 6.2. CPU 时序 MA86X104 是基于 80C51 的高效 1-T 结构的单芯片微处理器, 与 8051 指令集兼容, 每条指令需要 1~6 个时钟信号 ( 比标准 8051 快 6~7 倍 ) 使用流线型结构同标准的 8051 结构比较大大增加了指令完成的速度, 指令的时序也和标准的 8051 不同 多数 8051 执行指令, 一个区别是建立在机器周期和时钟周期之间, 机器周期来自 2 到 12 个时钟周期长度 然而,1-T 结构的 80C51 执行指令是基于单独的时钟周期时序 所有指令时序被指定在时钟周期期间 关于 1T-80C51 指令更详细的说明, 请参考 指令集, 这里有每一条指令的助记符 字节数 时钟周期数 6.3. CPU 寻址模式 直接寻址 (DIR) 直接寻址时操作数用指令中一个 8 位地址的区域表示, 只有内部数据存储器和特殊功能寄存器可以直接寻址 间接寻址 (IND) 间接寻址时指令用一个包含操作数地址的寄存器表示, 内部和外部存储器均可间接寻址 8 位地址的地址寄存器可以是选中区的 R0 或 R1 或堆栈指针,16 位地址的地址寄存器只能是 16 位的 数据指针 寄存器,DPTR 寄存器操作 ( 寻址 )(REG) 包含从 R0 到 R7 的寄存器区可以被某些指令存取, 这些指令的操作码中用 3 位寄存器说明 存取寄存器的指令有更高的代码效率, 因为这种模式减少了一个地址字节 当指令被执行时, 其中被选取的区一个 8 位寄存器被存取 执行时, 用 PSW 寄存器中两位区选择位来选择四分之一区 特殊寄存器寻址 ( 寄存器间接寻址 ) 一些指令具有一个特定的寄存器, 例如, 一些指令常用于累加器, 或数据指针等等, 所以没有需要指向它的地址字节 操作码本身就行了 有关累加器的指令 A 就是累加器的特殊操作码 立即寻址 (IMM) 常量的数值可以在程序存储器中跟随操作码 16/93

17 索引寻址索引寻址只能访问程序存储器, 且只读 这种寻址模式用查表法读取程序存储器 一个 16 位基址寄存器 ( 数据指针 DPTR 或程序计数器 PC) 指向表的基地址, 累加器提供偏移量 程序存储器中表项目地址由基地址加上累加器数据后形成 另一种索引寻址方式是利用 case jump 指令 跳转指令中的目标地址是基地址加上累加器数据后的值 17/93

18 7. 存储器组织 像所有的 80C51 一样,MA86X104 的程序存储器和数据存储器的地址空间是分开的, 这样 8 位微处理器可以通过一个 8 位的地址快速而有效的访问数据存储器 程序存储器 (ROM) 只能读取, 不能写入 最大可以达到 4K 字节 在 MA86X104 中, 所有的程序存储器都是片上 Flash 存储器 因为没有设计外部程序使能 (/EA) 和编程使能 (/PSEN) 信号, 所以不允许外接程序存储器 数据存储器使用与程序存储器不同的地址空间 MA86X104 只有 256 字节的内部没有任何外部的数据存储器 7.1. 程序存储器 程序存储器用来保存让 CPU 进行处理的程序代码, 如图 7-1 所示 复位后,CPU 从地址为 0000H 的地方开始运行, 用户应用代码的起始部分应该放在这里 为了响应中断, 中断服务位置 ( 被称为中断矢量 ) 应该位于程序存储器 每个中断在程序存储器中有一个固定的起始地址, 中断使 CPU 跳到这个地址运行中断服务程序 举例来说, 外部中断 0 被指定到地址 0003H, 如果使用外部中断 0, 那么它的中断服务程序一定是从 0003H 开始的 如果中断未被使用, 那么这些地址就可以被一般的程序使用 中断服务程序的起始地址之间有 8 字节的地址间隔 : 外部中断 0,0003H; 定时器 0,000BH; 外部中断 1,0013H; 定时器 1,001BH 等等 如果中断服务程序足够短, 它完全可以放在这 8 字节的空间中 如果其他的中断也被使用的话, 较长的中断服务程序可以通过一条跳转指令越过后面的中断服务起始地址 图 7-1 程序存储器 18/93

19 7.2. 数据存储器 图 7-2 向 MA86X104 使用者展示了内部和外部数据存储器的空间划分 内部数据存储器被划分为三部分, 通常被称为低 128 字节 RAM, 高 128 字节 RAM 和 128 字节 SFR 空间 内部数据存储器的地址线只有 8 位宽, 因此地址空间只有 256 字节 SFR 空间的地址高于 7FH, 用直接地址访问 ; 而用间接访问的方法访问高 128 字节的 RAM 这样虽然 SFR 和高 128 字节 RAM 占用相同的地址空间 (80H FFH), 但他们实际上是分开的 如图 7-3 所示, 低 128 字节 RAM 与所有 80C51 一样 最低的 32 字节被划分为 4 组每组 8 字节的寄存器组 指令中称这些寄存器为 R0 到 R7 程序状态字 (PSW) 中的两位用于选择哪组寄存器被使用 这使得程序空间能够被更有效的使用, 因为对寄存器访问的指令比使用直接地址的指令短 接下来的 16 字节是可以位寻址的存储器空间 80C51 的指令集包含一个位操作指令集, 这区域中的 128 位可以被这些指令直接使用 位地址从 00H 开始到 7FH 结束 所有的低 128 字节 RAM 都可以用直接或间接地址访问, 而高 128 字节 RAM 只能用间接地址访问 图 7-4 给出了特殊功能寄存器 (SFR) 的概览 SFR 包括端口寄存器, 定时器和外围器件控制器, 这些寄存器只能用直接地址访问 SFR 空间中有 16 个地址同时支持位寻址和直接寻址 可以位寻址的 SFR 的地址末位是 0H 或 8H. 图 7-2 数据存储器 Upper 128 Bytes Lower 128 Bytes FFH 80H 7FH 00H Internal 256 Bytes SRAM Addressable by Indirect Addressing Only Addressable by Direct and Indirect Addressing SFRs Addressable by Direct Addressing (SFRs) FFH 80H 图 7-3 内部 RAM 的低 128 字节 19/93

20 图 7-4 SFR 空间 20/93

21 7.3. 关于 C51 编译器的声明标识符 C51 编译器的声明识别符与 MA86X104 存储空间的对应关系如下 : data 128 字节的内部数据存储空间 (00h~7Fh) 使用除 MOVX 和 MOVC 以外的指令, 可以直接或间接的访问 全部或部分的堆栈可能保存在此区域中 idata 间接数据 256 字节的内部数据存储空间 (00h~FFh) 使用除 MOVX 和 MOVC 以外的指令间接访问 全部或部分的堆栈可能保存在此区域中 此区域包括 data 区和 data 区以上的 128 字节 sfr 特殊功能寄存器 CPU 寄存器和外围部件控制 / 状态寄存器, 只能通过直接地址访问 xdata 没有外部数据或片上的扩展 RAM (XRAM) pdata 没有分页的外部数据 (256 字节 ) 或片上的扩展 RAM(XRAM) code 4K 程序存储空间 通过 访问, 作为程序部分被读取 21/93

22 8. 数据指针寄存器 (DPTR) MA86X104 DPTR 只有一种设置 MA86X104 不支持访问外部存储器和 MOVX 指令 22/93

23 9. 系统时钟 系统时钟有 4 个时钟源 : 内部快频 RC 震荡器 (IHRCO), 外部晶振, 内部慢频 RC 震荡器 (ILRCO) 和外部频率输入 如图 9-1 所示 MA86X104 系统时钟结构 MA86X104 默认值是 IHRCO 24.0MHz MHz 并保留晶振脚 P4.0/P4.1 普通 I/O 口的特性 软件可以根据应用要求自由切换 4 种时钟的任意一种作为系统时钟, 但必须等时钟稳定后才能切换 如果软件选择外部时钟模式, 脚 P4.0 和 P4.1 分配给 XTAL2 和 XTAL1. 并且 P4.0/P4.1 普通 I/O 功能失效 在外部时钟输入模式 (ECKI), 时钟源来自 P4.0, P4.1 仍然是普通 I/O 口 软件可以选择 IHRCO 两种频率, 另一种是 MHz 通过软件设置位 AFS (CKCON0.7) 来选择, 两种 IHRCO 频率 MHz 和 24.0 MHz 都是高精度, 在全工作电压和温度范围内频漂在 ±4% 以内 在 IHRCO 或 ILRCO 模式, P4.0 可以作为全时钟 (OSCin) 输出或 2 分频时钟 (OSCin/2) 输出或 4 分频时钟 (OSCin/4) 输出给其他系统时钟源应用 时钟分配器分配 4 种时钟源的一种为系统时钟 SYSCLK, 如下图所示 用户能通过设置 SCKS2~SCKS0 位 ( CKCON0 寄存器 ) 来获得理性的时钟 9.1. 时钟结构图 9-1 系统时钟 23/93

24 9.2. 时钟寄存器 CKCON0: 时钟控制寄存器 0 SFR 地址 = 0xC7 复位值 = 0xxx-x001 AFS SCKS2 SCKS1 SCKS0 R/W W W W W R/W R/W R/W Bit 7: AFS, 频率选择 0: 选择 IHRCO 输出 24.0MHz 1: 选择 IHRCO 输出 MHz Bit 6~3: 保留位 写 CKCON0 时, 这 4 个位必须写 0 Bit 2~0: SCKS2 ~ SCKS0, 系统时钟分频器选择位, SCKS[2:0] 缺损值 001 选择的系统时钟是 OSCin/2. SCKS[2:0] System Clock OSCin OSCin / OSCin / OSCin / OSCin / OSCin / OSCin / OSCin /128 CKCON2: 时钟控制寄存器 2 SFR Page = P SFR 地址 = 0x40 复位值 = xx01-xx XTALE IHRCOE OSCS1 OSCS0 W W R/W R/W W W R/W R/W Bit 7~6: 保留位 写 CKCON0 时, 这 2 个位必须写 0 Bit 5:XTALE, 外部晶振 (XTAL) 使能 缺损值在系统时钟选项时硬件已经设置 0: 禁止 XTAL 震荡电路 在这种情况下, XTAL2 XTAL1 表现为 Port 4.0 Port : 使能 XTAL 震荡电路 如果软件设置这个位, 必须等待 3 ms XTAL 才能稳定输出 Bit 4: IHRCOE, 内部快频 RC 震荡使能位 0: 禁止内部快频 RC 震荡电路 1: 使能内部快频 RC 震荡电路 如果软件设置这个位, 必须等待 32 us IHRCO 才能稳定输出 Bit 3~2: 保留位 写 CKCON0 时, 这 2 个位必须写 0 Bit 1~0:OSCS[1:0],OSCin 时钟选择 OSCin 缺损选项是 IHRCO. OSCS[1:0] OSCin 时钟选择 0 0 IHRCO 0 1 XTAL 1 0 ILRCO 1 1 ECKI, 外部时钟输入在 (P4.0) OSCin. 24/93

25 AUXR0: 辅助寄存器 0 SFR 地址 = 0xA1 复位值 = 000x-0000 P40OC1 P40OC0 P40FD -- P1FS1 P1FS0 INT1H INT0H R/W R/W R/W W R/W R/W R/W R/W Bit 7~6: P40 输出配置控制位 1 和位 0, 这两位仅仅当 IHRCO 或 ILRCO 被选择为系统时钟源时有效 这种情况, XTAL2 和 XTAL1 改变功能作 P4.0 和 P4.1, P4.0 为普通 I/O 或时钟源发生器提供下列选项, 当 P40OC[1:0] 索引为非 P4.0 GPIO 功能时,XTAL2 将驱动内部振荡器 (OSCin) 输出为其它设备提供时钟源 P40OC[1:0] XTAL2 功能 I/O 模式 00 P40 By P4M OSCin By P4M OSCin/2 By P4M OSCin/4 By P4M0.0 Bit 5: P40FD, P4.0 快速驱动标志 0: P4.0 默认驱动输出 1: P4.0 快速驱动输出使能 若 P4.0 被配置为时钟输出, 当 P4.0 输出频率大于 12MHz (5V) 或者大于 6MHz (3V) 时使能此位 25/93

26 10. 看门狗定时器 (WDT) WDT 结构 看门狗定时器 (WDT) 用来使程序从跑飞或死机状态恢复的一个手段 WDT 由一个 9 位独立定时器 一个 7 分频器和一个控制寄存器 (WDTCR) 组成 图 10-1 显示 MA86X104 WDT 结构框图 当 WDT 使能, 时钟源来自 32KHz ILRCO WDT 溢出会设置位 WDTF PCON1.0, 也能产生中断通过使能位 WDTFIE (SFIE.0) 和 ESF (EIE1.3). 溢出也能触发系统复位通过设置位 WREN (WDTCR.7) 软件可以在溢出之前在 CLRW 位 (WDTCR.4) 上写 1 来清除它, 可以阻止 WDT 溢出 一旦 WDT 使能通过设置位 ENW, 将没有办法使之失效除非上电复位或在 page-p SFR 覆盖 ENW, 能清除位 ENW WDTCR 会保持以前的值不会改变在硬件 (RST-pin) 复位 软件复位和 WDT 复位后 WREN, NSW 和 ENW 都是一次性使能生效, 写 1 使能 在 Page-P 中写 0 到位 WDTCR.7~5 禁止 WREN, NSW 和 ENW 使用 祥见 WDT 章节和 P 页访问章节 图 10-1 结构框图 WDT 在掉电模式和空闲模式期间 空闲模式, 位标志 WIDL (WDTCR.3) 决定 WDT 是否计数 设置这个位能让 WDT 在空闲模式一直计数 如果硬件选项 WDTRCO 使能, WDT 会一直保持计数不管位 WIDL 设置情况 掉电模式, ILRCO 不会停如果 NSW (WDTCR.6) 使能 这会让 WDT 保持计数即使掉电模式下 WDT 溢出后, 软件能设置进入中断或复位唤醒 CPU 26/93

27 10.3. WDT 寄存器 WDTCR: 控制寄存器 SFR 地址 = 0xE1 POR = (xxx0_xxxx 硬件选项 ) WREN NSW ENW CLRW WIDL PS2 PS1 PS0 R/W R/W R/W R/W R/W R/W R/W R/W Bit 7: WREN, WDT 复位使能标志, 初始值随硬件选项 WRENO 0: WDT 溢出不产生复位 WDT 溢出标志 WDTF 可以供软件检测或触发中断 1: WDT 溢出产生系统复位 一旦 WREN 已经设置, 不能用软件在常规页中清除, 但在 page P 中, 软件能修改其值 0 或 1 Bit 6: NSW. 不停止的 WDT 标志 初始值随硬件选项 NSWDT. 0: WDT 停止计数 MCU 在掉电模式 1: WDT 永远不会停止计数 MCU 在掉电模式或空闲模式 一旦 NSW 已经设置, 不能用软件在常规页中清除, 但在 page P 中, 软件能修改其值 0 或 1 Bit 5: ENW. 使能 WDT 标志 0: 禁止 WDT 运行, 这个位仅仅能被 POR 清除 1: 使能 WDT, 一旦 ENW 已经被设置, 不能用软件在常规页中清除, 但在 page P 中, 软件能修改其值 0 或 1 Bit 4: CLRW. WDT 清零位 0: 硬件自动清除此位 1: 清零 WDT 重新计数 Bit 3: WIDL. WDT 空闲模式控制 0: WDT 停止计数 MCU 在空闲模式 1: WDT 保持计数 MCU 在空闲模式 Bit 2~0: PS2 ~ PS0, 选择分频器输出作 WDT 基础时钟输入 ( 分频系数设置 ) PS[2:0] 分频值 WDT 时间 ms ms ms ms ms ms ms S PCON1: 电源控制寄存器 1 SFR 地址 = 0x97 POR = x00 SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF R/W R/W R/W R/W R/W W R/W R/W Bit 0: WDTF, WDT 溢出标志 0: 必须由软件写 1 清除, 软件写 :0 不操作 1: 当 WDT 溢出时硬件置位此位, 写 1 清除 27/93

28 10.4. WDT 硬件选项 除了由软件初始化外,WDTCR 寄存器还能在上电的时候由硬件选项 WRENO,NSWDT,HWENW,HWWIDL 和 HWPS[2:0] 来自动初始化, 这些选项通过通用编程器来编程, 如下所叙 如果 HWENW 编程为 使能, 则硬件在上电时为 WDTCR 寄存器作如下的初始化工作 :(1)ENWI 位置 1 (2) 载入 WRENO 的值到 WREN 位 (3) 载入 NSWDT 的值到 NSW 位 (4) 载入 HWWIDL 的值到 WIDL 位 (5) 载入 HWPS 2:0 的值到 PS 2:0 位 如果 HWENW 和 WDSFWP 都被编程为 使能, 则硬件仍然会在上电时由 WDT 硬件选项初始化 WDTCR 寄存器的内容 之后, 任何对 WDTCR 的位的写动作都会被忽略, 除了写 1 到 WDTCR.4(CLRW) 位来清 WDT 之外, 即使通过对 Page-P SFR 的操作机制也不行 I WRENO: 使能 : 置位 WDTCR.WREN 以使能 WDTF 系统复位功能 禁止 : 清除 WDTCR.WREN 以禁止 WDTF 系统复位功能 NSWDT: 使能 : 使能 WDT 在掉电模式也保持运行, 设置位 WDTCR.NSW (watch 模式 ) 禁止 : 禁止 WDT 在掉电模式下运行, 清除位 WDTCR.NSW HWWIDL, HWPS2, HWPS1, HWPS0: 当 HWENW 被使能, 上电复位时, 这四个保险丝位将被载入到特殊功能寄存器 WDTCR 中 HWENW: 使能 : 上电时自动硬件使能看门狗定时器, 并且自动加载 WRENO, NSWDT, HWWIDL 和 HWPS2~0 的值到 WDTCR 中 禁止 : 上电时看门狗定时器 (WDT) 不自动使能 WDSFWP: 禁止软件写 WDTCR 寄存器使能 : 特殊功能寄存器 WDTCR 软件写保护 禁止 : 特殊功能寄存器 WDTCR 可被软件改写 28/93

29 11. 系统复位 复位期间, 所有的 I/O 寄存器都设置为初始值, 程序会根据 OR 设置选择从复位向量的 0000H 开始运行, 或者根据 OR 设置从 ISP 地址开始运行 The MA86X104 有 6 种复位源 : 上电复位, 外部复位, 软件复位, 非法地址复位, WDT 复位和低电压复位 如图所示 : 图 11-1 系统复位源 ( MA86X104) 下面的选项描叙复位产生源及其相应的控制寄存器和指示标志 复位源 Figure 11-1 系统复位源 上电复位 上电复位 (POR) 用于在电源上电过程中产生一个复位信号 微控制器在 VDD 电压上升到 V POR (POR 开始电压 ) 电压之前将保持复位状态 VDD 电压降到 V POR 之下后微控制器将再次进入复位状态 在一个电源周期中, 如果需要再产生一次上电复位 VDD 必须降到 V POR 之下 PCON0: 电源控制寄存器 0 SFR 地址 = 0x87 POR = , 复位值 = 000X-0000 SMOD1 SMOD0 GF POF GF1 GF0 PD IDL R/W R/W R/W R/W R/W R/W R/W R/W Bit 4: POF. Power-On 旗标. 0: 这标志必须通过软件清零以便认出下一个复位类型 1: 当 VDD 从 0 伏上升到正常电压时硬件复位, POF 也能有软件置位 29/93

30 上电标志 POF 在上电过程中由硬件置 1 或当 VDD 电压降到 VPOR 电压之下时由硬件置 1 它能通过软件来清除但不受任何热复位 ( 譬如 : 外部 RST 引脚复位 掉电检测器 Brown-Out 复位 软件 (ISPCR.5) 复位和 WDT 复位 ) 的影响 它帮助用户检测 CPU 是否从上电开始运行 注意 :POF 必须由软件清除 PCON1: 电源控制寄存器 1 SFR 地址 = 0x97 POR = x00 SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF R/W R/W R/W R/W R/W W R/W R/W Bit 4: POF1, 上电标志 1 是 POF 标志复制品, 所以, 这个标志 POF1 与 POF0 一样反应相同的电源状况 0: 这位必须通过软件清零, 写 1 清零, 写 :0 无效 1: 当 VDD 由 0V 上升到普通电压时, 硬件置位此位, 写 1 清零 外部复位 保持复位引脚 RST 至少 24 个振荡周期的高电平, 将产生一个复位信号, 为确保 MCU 正常工作, 必须在 RET 引脚上连接可靠的硬件复位电路 PCON1: 电源控制寄存器 1 SFR Address = 0x97 POR = x00 SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF R/W R/W R/W R/W R/W W R/W R/W Bit 6: EXRF, 外部复位标志 0: 这位必须通过软件清零, 写 1 清零, 写 :0 无效 1: 若外部复位产生则被硬件置位, 写 1 清零 软件复位 软件通过对 SWRST(ISPCR.5) 位写 1 触发一个系统热复位, 软件复位后, 硬件置位 SWRF 标志 (PCON1.7) SWBS 标志决定 CPU 是从 ISP 还是 AP 区域开始运行程序 ISPCR: ISP 控制寄存器 SFR Address = 0xE5 RESET = 0000-xxxx ISPEN SWBS SWRST CFAIL R/W R/W R/W R/W W W W W Bit 6: SWBS, 软件引导控制 0: 用来选择软件复位后从 AP- 空间 1: 用来选择软件复位后从 ISP- 空间 Bit 5: SWRST, 软件复位触发控制 0: 无操作 1: 产生软件系统复位, 它将被硬件自动清除 PCON1: 电源控制寄存器 1 SFR 地址 = 0x97 POR = x00 30/93

31 SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF R/W R/W R/W R/W R/W W R/W R/W Bit 7: SWRF, 软件复位标志 0: 这位必须通过软件清零, 写 1 清零, 写 0 无操作 1: 软件复位产生时硬件置位此位, 写 1 清零 MA86E/L 非法地址复位 MA86X104 中, 如果程序运行到非法地址诸如超过 ROM 限制程序地址时触发一个 CPU 热复位并置位 IARF (PCON1.4) 标志, 以指示一个非法地址复位发生 PCON1: 电源控制寄存器 1 SFR 地址 = 0x97 POR = x00 SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF R/W R/W R/W R/W R/W W R/W R/W Bit 4: IARF, 非法地址复位标志 0: 这位必须通过软件清零, 写 1 清零, 写 0 无操作 1: 非法地址复位产生时硬件置位此位, 写 1 清零 掉电检测器 (Brown-Out) 复位 MA86X104 中, 掉电检测器 (BOD0) 检测电源电压 (VDD), 掉电检测器 (BOD0) 的检测固定点为 VDD=2.4V/4.2V, 如果 VDD 电压低于 BOD0 检测点, 则置位 BOF0 标志, 如果 BO0RE (PCON2.1) 被使能, BOD0 事件将触发一个 CPU 复位并置位 BOF0 指示一个掉点检测器 (BOD0) 复位发生 PCON1: 电源控制寄存器 1 SFR 地址 = 0x97 POR = x00 SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF R/W R/W R/W R/W R/W W R/W R/W Bit 1: BOF0, BOF0 复位标志 0: 这位必须通过软件清零, 写 1 清零, 写 0 无操作 1: 当 VDD 电压碰到 BOD0 检测点时, 硬件置位此位, 写 1 清零 如果 BO0RE (PCON2.1) 被使能,BOD0 事件将触发一个 CPU 复位并置位 BOF0 指示一个掉点检测器 (BOD0) 复位发生 WDT 复位 当 WDT 使能开始计数, WDT 溢出时置位 WDTF 标志 如果 WREN (WDTCR.7) 使能, WDT 溢出将引起一个系统热复位, 软件可以读 WDTF 标志来确认 WDT 复位发生 PCON1: 电源控制寄存器 1 SFR Address = 0x97 POR = x00 SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF R/W R/W R/W R/W R/W W R/W R/W Bit 0: WDTF, WDT 溢出 / 复位标志 31/93

32 0: 这位必须通过软件清零, 写 1 清零, 写 0 无操作 1: 当 WDT 溢出产生时硬件置位此位, 写 1 清零 如果位 WREN (WDTCR.7) 被设置, WDTF 标志指示一个 WDT 复位产生 32/93

33 12. 电源管理 MA86X104 支持一个电源监测模块 ( 掉电侦察器 (BOD0) 模块 ), 和 6 种电源节能模式 : 空闲模式 (IDLE) 掉电模式 (Power-Down) 慢频模式 副频模式 Watch 模式 Monitor 模式 通过 BOF0 标志位 BOD0 报告电源状态, 软件可以通过这个状态产生中断或复位 6 种电源节能模式提供不同的节能应用, 通过对 CKCON0, CKCON2, PCON0, PCON1, PCON2 和 WDTCR 寄存器的访问来操作这些电源事件 电源监控模块 IMA86X104, 有一个片上检测器 (BOD0) 通过比较固定的触发电压来检测芯片电压, 图 12-1 是 BOD0 功能逻辑图, BOD0 检测固定触发电压为 VDD=4.2V ( 5V 应用 ) 和 2.4V 在 (3.3V) 应用 当 VDD 降到触发电压以下时, BOF0 (PCON1.1) 标志被置位, 如果 ESF (EIE1.3) 和 BOF0IE (SFIE.1) 被使能, 不管是普通模式或空闲模式都能产生一个中断请求以响应 (BOD0) 事件, 如果 AWBOD0 (PCON2.6) 使能, 这个中断也能唤醒掉电模式 当 BO0RE (PCON2.1) 被使能, BOD0 事件产生一个系统复位并硬件置位 BOF0 指示一个 BOD0 复位事件已经产生 在普通模式和空闲模式下 BOD0 事件能重新启动 CPU, 如果 AWBOD0 (PCON2.6) 位被使能, 也能重新启动掉电模式 图 12-1 电源监控检测器 VDD BO0RE (PCON2.1) BOD0 Reset E: 4.2V L: 2.4V PCON0.PD Voltage Comparator - + Enable 1" Load BOF0 ESF (EIE1.3) BOF0IE (SFIE.1) BOD0 Interrupt AWBOD0 (PCON2.6) (PCON1.1) 电源节省模式 慢频模式程序设置位 SCKS2~SCKS0( CKCON0 寄存器, 参考系统时钟选项 ) 为非 0/0/0 值, 可以减慢 MCU 的工作速度达到节能的目的, 使用者考量在特殊的程序段使用合适的慢速度, 原则上不应该影响系统的其他功能 而且, 应该在普通的程序段恢复到正常的速度 副频模式设置 OSCS1~0 选择 OSCS1~0 作为系统时钟,MCU 的工作频率会慢下来, 32KHz ILRCO 系统频率使 MCU 工作在特别慢的速度和功耗下, 另外设置 SCKS2~SCKS0 位 ( CKCON0 寄存器, 参考系统时钟选项 ) 使用者可以使 MCU 的速度最低到 250HZ 33/93

34 Watch 模式 如果看门狗被使能并且位被设置, 看门狗在掉电模式保持运行, 这个在 MA86X104 应用中叫 Watch 模式 当 When WDT 溢出, 软件选择中断或系统复位来唤醒 CPU 并硬件置位 WDTF 通过定义 WDT 预分频最大唤醒时间能到 2 秒, 更详细信息请参考 WDT 章节和中断章节 Monitor 模式 ( 仅仅使用于 L- 系列 ) 如果 AWBOD1 (PCON3.3) 被设置, 即使在掉电模式下, 掉电检测功能 BOD1 会有效, 这就是 MA86X104 应用中的 Monitor 模式 当 BOD1 触发到检测电压, 软件选择中断或系统复位来唤醒 CPU 并硬件置位 BOF1, 更详细信息请参考掉电检测章节和中断章节, 这功能仅仅实用于 L- 系列 空闲模式 可以通过软件的方式置 PCON.IDL 位, 使设备进入空闲模式 在空闲模式下, 系统不会给 CPU 提供时钟 CPU 状态 RAM SP PC PSW ACC 被保护起来 I/O 端口也保持当前的逻辑状态 空闲模式保持外部设置当有中断来时能唤醒 CPU, 空闲模式下定时器 0 定时器 1 UART KBI BOD0 仍然处于工作状态 在空闲模式下 WDT 唤醒 CPU 有条件制约 任何使能的中断源或复位都能终止空闲模式, 一个中断会退出空闲模式, 并同时进入中断服务程序, 只有在中断返回后才会开始执行进入空闲模式指令之后的程序 掉电模式 可以通过软件的方法置位 PCON. PD 使设备进入掉电模式, 掉电模式下, 震荡器停止震荡, Flash 存储器掉电以节约电能, 只有上电电路继续刷新电源, 在减少 VDD 的时候 RAM 的内容仍然会被保持 ; 但如果电源电压低于芯片工作电压, 特殊功能寄存器 SFR 的内容就不一定能保持住 外部复位 上电复位 外部中断 使能的 KBI 使能的 BOD0 或使能的没有停止的 WDT 能是系统推出掉电模式 如果有下列情况发生, 使用者至少要等 4 微秒后才能进入或再次进入掉电模式 : 刚开始运行代码 ( 任何形式的复位后面 ), 或者刚刚退出掉电模式 为了在掉电模式达到最小功耗, 软件必须设置所有的 I/O 为悬浮状态, 包含封装中没有漏出来的 I/O 34/93

35 图 12-2 MA86X104. 掉电模式唤醒结构 TCON.IT0=0 nint0 input 0 1 IE0 nint0 Wakeup AUXR0.INT0H force to level-sensitive in PD IE.EX0 TCON.IT1=0 nint1 input 0 1 IE1 nint1 Wakeup AUXR0.INT1H force to level-sensitive in PD IE.EX1 P3.7 input P3KBIE.7 P3.6 input P3KBIE.6 P3.7 wakeup P3.6 wakeup P3.5 wakeup P1.1 wakeup GPIO Wakeup Event OR Clear PCON0.PD & Wakeup CPU P1.0 input P1.0 wakeup WDTCR.ENW ILRCO P1KBIE.0 En WDT Overflow EIE1.ESF SFIE.WDTFIE WDTF WDT Wakeup PCON0.PD WDTCR.NSW WDTCR.WREN External Reset WDT Reset RESET Wakeup PCON2.BO0RE BOD0 Reset PCON2.EBOD0 En BOD0 BOF0 EIE1.ESF SFIE.BOF0IE BOD0 Wakeup PCON0.PD PCON2.AWBOD 中断唤醒掉电模式 两个外部中断都能终止掉电模式, 外部中断 nint0 (P3.2), nint1 (P3.3) 能退出掉电模式, 为了能唤醒掉电模式, 中断 nint0, nint1 必须使能并且设置为电平触发操作, 如果外部中断使能且设置是边沿触发 ( 上升或下降 ), 他们会被硬件强置为电平触发 ( 低电平或高电平 ) 一个中断终止掉电模式, 唤醒时间取决内部定时 当中断口产生下降沿时, 掉电模式被终止, 震荡重新启动, 并且一个内部计数器开始计数, 在内部计数器没有计满之前内部时钟不允许被应用 CPU 也不能运行指令 计数溢出后, 中断服务程序开始工作, 为了避免中断被重复触发, 中断服务程序在返回前应该被禁止, 中断口低电平应保持足够长的时间以等待系统问题 复位唤醒掉电模式 如果 P3.6 设置为 RST 脚,RST 脚唤醒有点类似于中断, 复位脚有上升沿电平时系统退出掉电模式, 震荡重新启动, 且一个内部计数器开始计数, 在内部计数器没有计满之前内部时钟不允许被应用 CPU 也不能运行指令 复位脚必须保持长时间的高电平以保证系统完全复位, 复位脚变低电平时开始执行程序 值得注意的是当空闲模式被硬件复位唤醒时, 前两个机器周期 ( 内部复位没有取得控制权 ) 程序正常从进入 IDLE 模式的后一条指令执行, 这时内部硬件是禁止访问内部 RAM 的, 但访问 I/O 端口没有被禁止, 为了保证不可预料的写 I/O 口, 在进入 IDLE 指令后不要放置写 I/O 口或外部存储器的指令 ( 最好加两到三个 NOP 指令 ) 35/93

36 KBI 键盘唤醒掉电模式 MA86X104 的键盘中断,P1.7 ~ P1.0, P3.7~P3.4, P41, P40, P31 和 P30 具有唤醒能力, 可以通过 KBI 模块的控制寄存器 P1KBIE P3KBIE, P3.2/nINT0 P3.3/nINT1 进行使能 通过使能 KBI 唤醒掉电模式有点类似中断唤醒, 当使能 KBI 的 IO 口有低电平时系统退出掉电模式, 震荡重新启动, 且一个内部计数器开始计数, 在内部计数器没有计满之前内部时钟不允许被应用 CPU 也不能运行指令 计数溢出后, 不进入任何中断直接执行掉电模式下面的指令, 也就是说使能 KBI 能唤醒 CPU 而不用进入中断服务程序, 细节请参考 KBI 章节 36/93

37 12.3. 电源控制寄存器 PCON0: 电源控制寄存器 0 SFR 地址 = 0x87 POR = , 复位 = 000x-0000 SMOD1 SMOD0 -- POF GF1 GF0 PD IDL R/W R/W R/W R/W R/W R/W R/W R/W Bit 4: POF, 上电标志 0: 这位必须由软件清零, 写 1 清零 1: 当上电复位产生时硬件置位此位 Bit 1: PD, 掉电控制位 0: 软件清零或任何一个退出掉电模式的事件发生时硬件清零 1: 置位则激活掉电操作 ( 即进入掉电模式 ) Bit 0: IDL, 空闲模式控制位 0: 软件清零或任何一个退出空闲模式的事件发生时硬件清零 1: 置位则激活空闲操作 ( 即进入空闲模式 ) PCON1: 电源控制寄存器 1 SFR 地址 = 0x97 POR = x00 SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF R/W R/W R/W R/W R/W W R/W R/W Bit 7: SWRF, 软件复位标志 0: 这位必须由软件清零, 写 1 清零 1: 当软件复位产生时硬件置位此位 Bit 6: EXRF, 外部复位标志 0: 这位必须由软件清零, 写 1 清零 1: 当外部复位产生时硬件置位此位 Bit 5: POF1, 上电标志 1 0: 这位必须由软件清零, 写 1 清零 1: 当上电复位产生时硬件置位此位 Bit 4: IARF, 非法地址复位标志 0: 这位必须由软件清零, 写 1 清零 1: 当非法地址复位产生时硬件置位此位 Bit 3: KBIF 键盘中断标志 0: 这位必须由软件清零, 写 1 清零 1: 当键盘中断复位产生时硬件置位此位 Bit 2: 保留当写 PCON1 寄存器时此位必须填 0 Bit 1: BOF0, Brown-Out 侦察标志 0. 0: 这位必须由软件清零, 写 1 清零 1: 当电源监控复位产生时硬件置位此位 (E: 4.2V, L: 2.4V) 37/93

38 Bit 0: WDTF, WDT 溢出标志 0: 这位必须由软件清零, 写 1 清零 1: 当 WDT 复位产生时硬件置位此位 PCON2: 电源控制寄存器 2 SFR Page = P Only SFR 地址 = 0x44 POR = x0xx-xx01 -- AWBOD BO0RE 1 W W W W W W W W Bit 7: 保留, 写 PCON2 寄存器时此位必须填 0 Bit 6: AWBOD0, 在掉电模式下 (PD) 使能电源监控模式 (BOD0) 控制位 0: 电源监控模式 (BOD0) 在掉电模式下失效 1: 电源监控模式 (BOD0) 在掉电模式下有效 Bit 5~2: 保留, 写 PCON2 寄存器时此几位必须填 0 Bit 1: BO0RE, BOD0 复位使能标志, 初始为 OR1.BO0REO 取反值 0: 当 BOF0 已经设置, 禁止电源监控 (BOD0) 系统复位 1: 当 BOF0 已经设置, 使能电源监控 (BOD0) 系统复位 (VDD 触到 4.2V(E) 或 2.4V(L)) Bit 0: 保留给测试用, 写 PCON2 寄存器时此位必须填 1 P1KBIE: Port 1 KBI 使能控制寄存器 SFR 地址 = 0xD7 RESET = P17KBIE P16KBIE P15KBIE P14KBIE P13KBIE P12KBIE P11KBIE P10KBIE R/W R/W R/W R/W R/W R/W R/W R/W Bit 7~0: 每个 P1 引脚键盘输入功能使能控制位 0: 相对应的引脚键盘输入功能失效 1: 相对应的引脚键盘输入功能使能, 低电压触发 P3KBIE: Port 3 KBI 使能控制寄存器 SFR 地址 = 0xD6 RESET = P37KBIE P36KBIE P35KBIE P34KBIE P41KBIE P40KBIE P31KBIE P30KBIE R/W R/W R/W R/W R/W R/W R/W R/W Bit 7~0: P3.7 ~ P3.4, P4.1, P4.0, P3.1 和 P3.0 引脚键盘输入功能使能控制位 0: 相对应的引脚键盘输入功能禁止 1: 相对应的引脚键盘输入功能使能, 低电压触发 38/93

39 13. 输入输出口配置 MA86X104 有下列 I/O 端口 :P1.0~P1.7, P3.0~P3.5 及 P3.7 RST 引脚与 P3.6 有互换功能 如果选择内部振荡器做系统时钟输入则 XTAL2 和 XTAL1 被配置为 P4.0 和 P4.1 准确的可用 I/O 引脚数量由封装类型决定 见表 13-1 表 13-1 可用引脚数量封装类型 I/O 引脚 引脚数量 20-pin PDIP P1.0~P1.7, P3.0~P3.5, P3.7, 15 or 16 (RST/P3.6) or RST(P3.6), XTAL2(P4.0), XTAL1(P4.1) 18 (INTOSC 使能 ) 16-pin PDIP P1.0~P1.6, P3.0~P3.3, 11 or 12 (RST/P3.6) or RST(P3.6), XTAL2(P4.0), XTAL1(P4.1) 14 (INTOSC 使能 ) 输入输出口结构 MA86X104 输入输出口分成两个配置类型 第一类仅仅是端口 3 有四种模式, 这四种模式有 : 准双向口 ( 标准 8051 的 I/O 端口 ) 推挽输出 集电极开漏输出和输入 ( 高阻抗输入 ) 其它口属于第二类, 这些口有两种模式分别是推挽输出和上拉电阻的集电极开漏输出 下面描述这四种类型的 I/O 模式的配置 端口 3 准双向口 端口 3 引脚工作在准双向模式时与标准 8051 端口引脚类似 一个准双向端口用作输入和输出时不需要对端口重新配置 这是因为端口输出逻辑高时, 弱上拉, 允许外部器件拉低引脚 当输出低时, 强的驱动能力可吸收大电流 在准双向输出时有三个上拉晶体管用于不同的目的 其中的一种上拉, 称为微上拉, 只要端口寄存器的引脚包含逻辑 1 则打开 如果引脚悬空, 则这种非常弱上拉提供一个非常小的电流将引脚拉高 第二种上拉称为 弱上拉, 端口寄存器的引脚包含逻辑 1 时且引脚自身也在逻辑电平时打开 这种上拉对准双向引脚提供主要的电流源输出为 1 如果引脚被外部器件拉低, 这个弱上拉关闭, 只剩一个微上拉 为了在这种条件下将引脚拉低, 外部器件不得不吸收超过弱上拉功率的电流, 且拉低引脚在输入的极限电压之下 第三种上拉称为 强 上拉 这种上拉用于加速准双向端口的上升沿跳变, 当端口寄存器发生从逻辑 0 到逻辑 1 跳变时, 强上拉打开一个 CPU 时钟, 快速将端口引脚拉高 准双向端口 3 配置如图 13-1 所示 图 13-1 准双向端口 3 配置 39/93

40 端口 3 推挽输出 端口 3 推挽输出配置与开漏输出 准双向输出模式有着相同的下拉结构, 但是当端口寄存器包含逻辑 1 时提供一个连续的强上拉 当一个端口输出需要更大的电流时可配置为推挽输出模式 另外, 在这种配置下端口的输入路径与准双向模式相同 端口 3 推挽输出配置见 13-2 图 13-2 端口 3 推挽输出 端口 3 仅是输入 ( 高阻抗输入 ) 模式 仅输入配置在引脚上没有任何上拉电阻, 如下图 13-3 所示 图 13-3 端口 3 仅是输入 40/93

41 端口 3 开漏输出 端口 3 配置为开漏输出时, 当端口寄存器包含逻辑 0 时, 关闭所有上拉, 只有端口引脚的下拉晶体管 在应用中使用这个配置, 端口引脚必须有外部上拉, 典型的是将电阻接到 VDD 这个模式的下拉和准双向端口的模式相同 另外, 在这种配置下端口的输入路径与准双向模式相同 开漏输出端口 3 配置如图 13-4 所示 图 13-4 端口 3 开漏输出 Port Pin Port latch data Input data 通用端口集电极开漏输出结构 当端口数据寄存器写 0 时, 通用端口的集电极开漏输出仅是驱动端口的下拉晶体管 在应用中使用这个配置, 端口引脚可以选择外部上拉或 PUCON0 置位使能片内的内部上拉 通用端口集电极开漏结构如图 13-5 所示 图 13-5 通用端口集电极开漏输出 通用端口推挽输出结构 通用端口推挽输出结构与集电极开漏输出有相同的下拉结构, 但是端口数据寄存器写 1 提供一个强上拉输出 通用端口推挽输出模式应用在需要强的源电流输出 另外, 此结构下的端口输入与集电极开漏输出模式一样 41/93

42 通用端口推挽输出结构如图 13-6 所示 图 13-6 通用端口推挽输出 通用端口输入结构 端口引脚在设置为集电极开漏模式并且端口数据寄存器写 1 的情况下可以作为输入口 例如,P1M0.7=0 及 P1.7 写入 1, 这样 P1.7 就定义为输入口 输入输出口寄存器 MA86X104 的端口 3 可通过软件个别的 独立的配置为四种之中的一种类型, 基于位位基础, 如表 13-2 所示 每个端口有两个模式寄存器来选择各端口引脚的输出类型 表 13-2 端口 3 配置设定 P3M0.y P3M1.y 端口模式 0 0 准双向 0 1 推挽输出 1 0 输入口 ( 高阻抗输入 ) 1 1 集电极开漏输出 这里 y=0~7( 端口引脚号 ) 寄存器 P3M0 和 P3M1 列举了每个引脚的描述 其它的通用口引脚有两种模式见表 13-3, 一个模式寄存器位选择每个引脚的输出类型 表 13-3 端口配置设定 PxM0.y 端口模式 0 集电极开漏输出 1 推挽输出 这里 x=1, 4 ( 端口 ),y=0~7( 端口引脚号 ) 寄存器 P1M0 和 P4M0 列举了每个引脚的描述 42/93

43 端口 1 寄存器 P1: 端口 1 寄存器 SFR 地址 = 0x90 复位初始值 = P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 R/W R/W R/W R/W R/W R/W R/W R/W Bit 7~0: P1.7~P1.0 通过软件置位 / 清零 P1M0: 端口 1 模式寄存器 0 SFR 地址 = 0x91 复位初始值 = P1M0.7 P1M0.6 P1M0.5 P1M0.4 P1M0.3 P1M0.2 P1M0.1 P1M0.0 R/W R/W R/W R/W R/W R/W R/W R/W 0: 端口定义为集电极开漏输出 1: 端口定义为推挽输出 端口 3 寄存器 P3: 端口 3 寄存器 SFR 地址 = 0xB0 复位初始值 = P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 R/W R/W R/W R/W R/W R/W R/W R/W Bit 7~0: P3.7~P3.0 通过软件置位 / 清零 P3M0: 端口 3 模式寄存器 0 SFR 地址 = 0xB1 复位初始值 = P3M0.7 P3M0.6 P3M0.5 P3M0.4 P3M0.3 P3M0.2 P3M0.1 P3M0.0 R/W R/W R/W R/W R/W R/W R/W R/W P3M1: Port 3 Mode Register 1 SFR 地址 = 0xB2 复位初始值 = P3M1.7 P3M1.6 P3M1.5 P3M1.4 P3M1.3 P3M1.2 P3M1.1 P3M1.0 R/W R/W R/W R/W R/W R/W R/W R/W 端口 4 寄存器 P4: 端口 4 寄存器 SFR 地址 = 0xE8 复位初始值 = xxxx-xx P4.1 P4.0 W W W W W W R/W R/W Bit 7~2: 保留 Bit 1~0: P4.1~P4.0 通过软件置位 / 清零 当内部振荡器被使能做系统时钟时这两个 I/O 被激活, 这样 XTAL1 和 XTAL2 成为 P4.1 和 P4.0 43/93

44 P4M0: 端口 4 模式寄存器 0 SFR 地址 = 0xB3 复位初始值 = xxxx-xx P4M0.1 P4M0.0 W W W W W W R/W R/W 0: 端口定义为集电极开漏输出 1: 端口定义为推挽输出 上拉控制寄存器 PUCON0: 端口上拉控制寄存器 0 SFR 地址 = 0xB4 复位初始值 = x0xx-00xx -- PU PU11 PU W R/W W W R/W R/W W W Bit 7: 保留位 当 PUCON0 改写时, 此位必须软件写 0 Bit 6: 端口 4 低四位上拉使能控制 0: 在集电极开漏输出模式禁止 P4.0 和 P4.1 上拉 1: 在集电极开漏输出模式使能 P4.0 和 P4.1 上拉 P4 在推挽模式下此位置位, 这个上拉将被阻止在推挽使能引脚上 因为此位只在通用输入输出口模式下有效, 与控制逻辑无关 Bit 5~4: 保留位 当 PUCON0 改写时, 这两位必须软件写 0 Bit 3: 端口 1 高四位上拉使能控制 0: 在集电极开漏输出模式禁止 P1.7~P1.4 上拉 1: 在集电极开漏输出模式使能 P1.7~P1.4 上拉 P1 在推挽模式下此位置位, 这个上拉将被阻止在推挽使能引脚上 因为此位只在通用输入输出口模式下有效, 与控制逻辑无关 Bit 2: 端口 1 低四位上拉使能控制 0: 在集电极开漏输出模式禁止 P1.3~P1.0 上拉 1: 在集电极开漏输出模式使能 P1.3~P1.0 上拉 P1 在推挽模式下此位置位, 这个上拉将被阻止在推挽使能引脚上 因为此位只在通用输入输出口模式下有效, 与控制逻辑无关 Bit 1~0: 保留位 当 PUCON0 改写时, 这两位必须软件写 0 44/93

45 14. 中断 MA86X104 有四级中断优先级的 6 个中断源 与这四级中断有关联的特殊功能寄存器有 IE IP0L IP0H EIE1 EIP1L 及 EIP1H IP0H ( 中断优先级 0 高位 ) 和 EIP1H ( 外部中断优先级 1 高位 ) 寄存器设置四级中断优先级 四级中断优先级结构为中断源的应用提供了很大的便利 中断结构 表 14-1 列出了所有的中断源 使能位被允许, 中断请求时硬件会产生一个中断请求标志, 当然, 总中断使能位 EA ( IE 寄存器 ) 必须使能 中断请求位能由软件置 1 或清零, 这和硬件置 1 或清零结果相同 同理, 中断可以由软件产生或取消, 中断优先级位决定每个中断产生的优先级, 多个中断同时产生时依照中断优先级顺序处理 中断向量地址表示中断服务程序的入口地址 图 14-1 展示了整个中断系统 每一个中断将在下面部分做简单的描述 表 14-1 中断源 中断源使能位请求位优先级位 优先级顺序 中断向量地址 #1 外部中断 0, nint0 EX0 IE0 [ PX0H, PX0L ] ( 最高 ) 0003H #2 定时器 0 ET0 TF0 [ PT0H, PT0L ] 000Bh #3 外部中断 1, nint1 EX1 IE1 [ PX1H, PX1L ] 0013H #4 定时器 1 ET1 TF1 [ PT1H, PT1L ] 001BH #5 串行口 ES RI, TI [ PSH, PSL ] 0023H #6 系统标志 ESF BOF0,WDTF KBIF,(TI) [ PSFH, PSFL ] ( 最低 ) 002BH 45/93

46 图 14-1 中断系统 中断源 中断源 请求位 请求位位置 #1 外部中断 0, nint0 IE0 TCON.1 #2 定时器 0 TF0 TCON.5 #3 外部中断, nint1 IE1 TCON.3 #4 定时器 1 TF1 TCON.7 #5 串行口 #6 系统标志 RI0 TI0 WDTF BOF0 KBIF (TI) SCON0.0 SCON0.1 T2CON.7 T2CON.6 外部中断 nint0 和 nint1 分别通过 TCON 的 IT0 和 IT1 可以设置成电平触发或边沿触发 实际产生的中断标志位是 TCON 的 IE0 和 IE1 产生外部中断时, 如果是边沿触发, 进入中断服务程序后由硬件清除中断标志位, 如果中断是电平触发, 由外部请求源而不是由片内硬件控制请求标志 定时 0 和定时器 1 中断由 TF0 和 TF1( 分别由各自的定时 / 计数寄存器控制, 定时器 0 工作在模式 3 时除外 ) 产生 当产生定时器中断时, 进入中断服务程序后由片内硬件清除标志位 46/93

47 串口中断由 RI 和 TI 的逻辑产生 进入中断服务程序后, 这些标志均不会被硬件清除 实际上, 中断服务程序通常需要确定是由 R I 还是 TI 产生的中断, 然后由软件清除中断标志. 系统标志中断由 PCON1 的 KBIF, BOF0 和 WDTF 产生 KBIF 由 KBI 事件置位 BOF0 在检测到低电压时置位 WDTF 看门狗溢出置位 这些标志位进入中断服务程序后由片内硬件清除标志位 所有这些产生中断的位都可通过软件置位或清零, 与通过硬件置位或清零的效果相同 简而言之, 中断可由软件产生, 推迟或取消 中断使能 No 中断源 使能位 使能位位置 #1 外部中断 0, nint0 EX0 IE.0 #2 定时器 0 ET0 IE.1 #3 外部中断 1, nint1 EX1 IE.2 #4 定时器 1 ET1 IE.3 #5 串行口 ES0 IE.4 #6 系统标志 ESF & (UTIE, KBIFIE, BOF0IE, WDTFIE) EIE1.3 & SFIE.7,3,1,0 MA86X104 有 11 个可用的中断源, 通过设置寄存器 IE 和 EIE1 能对每个中断进行使能和禁止操作 需注意 IE 中有个总中断允许位 EA,EA 置 1 则使能全局中断 ( 使能和禁止由各自单独的设置位决定 ) EA 清 0, 所有中断被禁止 中断优先级 IP0L, IP0H, EIP1L 和 EIP1H 组合成四级优先级中断如下表 {IPH.x, IPL.x} 优先级 11 1 ( 最高 ) 每一个中断有两个相应位表现它的优先级 一个是 IPxH 寄存器, 另外一个是 IPxL 寄存器 如果两个优先级的中断同时产生, 高优先级的中断总是优先处理 低优先级的中断在处理过程中可以被高优先级的中断打断, 等高优先级的中断处理完后低优先级的中断才能从被打断处继续执行 同等优先级的中断同时产生, 执行顺序由中断向量决定顺序执行, 中断向量越小的优先级越高 ( 见下表 ) 47/93

48 14.5. 中断处理 每个机器周期都会采样中断标志位 如果没有下列阻止条件, 前一个指令周期中产生中断标志位置位, 接下来的指令周期中将以 LCALL 调用中断服务程序, 下列几种情况将 LCALL 指令锁定 : 阻止条件 : 一个同等或高优先级的中断正在处理 当前机器周期不是正在执行的指令的最后一个机器周期 正在执行指令 RETI 或正在写和中断相关的寄存器 ( IE, IP0L, IPH, EIE1, EIP1L 及 EIP1H 寄存器 ) 上述三种情况将锁定 LCALL 指令使之暂时不能访问中断服务程序 ; 第二种情况在引导任何中断服务程序之前必须执行完 ; 第三种情况保证 RETI 的执行或写中断相关的寄存器 ( 如 IE 或 IP 等 ) 能顺利完成, 在中断进入引导程序之前至少运行一个以上的指令周期 C TI 的特别中断向量 TI 标志位的串行口中断可以通过 BTI (AUXR2.6) 来屏蔽 如果 BTI 置位, 则 TI 置位也不会产生串行口中断, 这样串行口中断仅仅是 RI 标志位中断 如果 UTIE (SFIE.7) 置位,TI 标志位会产生系统标志中断 在此模式下,TI 中断与 KBIF, BOF0 和 WDTF 一起共用系统标志中断 48/93

49 14.7. 中断寄存器 TCON: 定时器 / 计数器控制寄存器 SFR 地址 = 0x88 复位初始值 = TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 R/W R/W R/W R/W R/W R/W R/W R/W Bit 3: IE1, 外部中断 1 请求标志 0: 如果是边沿触发的中断则在进入中断向量后硬件清零 1: 外部中断 1 由边沿或电平触发 ( 由 IT1 设置 ) 硬件置标志 Bit 2: IT1: 外部中断 1 类型控制位 0: 软件选择低电平触发外部中断 0 如果 INT1H (AUXR0.1) 置位, 则 nint1 高电平触发外部中断 0 1: 软件选择下降沿触发外部中断 0 如果 INT1H (AUXR0.1) 置位, 则 nint1 上升沿触发外部中断 0 Bit 1: IE0, 外部中断 0 请求标志 0: 如果是边沿触发的中断则在进入中断向量后硬件清零 1: 外部中断 0 由边沿或电平触发 ( 由 IT0 设置 ) 硬件置标志 Bit 0: IT0: 外部中断 0 类型控制位 0: 软件选择低电平触发外部中断 0 如果 INT0H (AUXR0.0) 置位, 则 nint0 高电平触发外部中断 0 1: 软件选择下降沿触发外部中断 0 如果 INT0H (AUXR0.0) 置位, 则 nint0 上升沿触发外部中断 0 IE: 中断使能寄存器 SFR 地址 = 0xE8 复位初始值 = 0xx EA ES ET1 EX1 ET0 EX0 R/W W W R/W R/W R/W R/W R/W Bit 7: EA, 总中断使能位 0: 全局禁止所有中断 1: 全局使能所有中断 Bit 6: 保留 当对 IE 进行写的时候必须对此位写 0 Bit 5: 保留 当对 IE 进行写的时候必须对此位写 0 Bit 4: ES, 串口 0 中断使能 0: 禁止串口 0 中断 1: 使能串口 0 中断 Bit 3: ET1, 定时器 1 中断使能 0: 禁止定时器 1 中断 1: 使能定时器 1 中断 Bit 2: EX1, 外部中断 1 中断使能 0: 禁止外部中断 1 1: 使能外部中断 1 Bit 1: ET0, 定时器 0 中断使能 0: 禁止定时器 0 中断 49/93

50 1: 使能定时器 0 中断 Bit 0: EX0, 外部中断 0 中断使能 0: 禁止外部中断 0 1: 使能外部中断 0 EIE1: 扩展中断使能 1 寄存器 SFR 地址 = 0xAD 复位初始值 = xxxx-0xxx ESF W W W W R/W W W W Bit 7~4: 保留 当对 IEI1 进行写的时候必须对这些位写 0 Bit 3: ESF, 使能系统标志中断 0: 当 PCON1 的 KBIF, BOF0, WDTF 位或 SCON 的 TI 位置位时禁止中断 1: 当 PCON1 的 KBIF, BOF0, WDTF 位或 SCON 的 TI 位在 SFIE 相应使能时使能中断 Bit 2~0: 保留 当对 IEI1 进行写的时候必须对这些位写 0 SFIE: 系统标志中断使能寄存器 SFR 地址 = 0x8E 复位初始值 = 0xxx-0x00 UTIE KBIFIE -- BOF0IE WDTFIE R/W W W W R/W W R/W R/W Bit 7: 串行口 TI 中断使能 0: 清零系统标志中断禁止 TI 中断 1: 置位系统标志中断使能 TI 中断 Bit 6~4: 保留 当对 SFIE 进行写的时候必须对这些位写 0 Bit 3: KBIFIE, KBIF (PCON1.3) 中断使能 0: 清零禁止 KBIF 中断 1: 置位使能 KBIF 中断 Bit 2: 保留 当对 SFIE 进行写的时候必须对此位写 0 Bit 1: BOF0IE, BOF0 (PCON1.1) 中断使能 0: 清零禁止 BOF0 中断 1: 置位使能 BOF0 中断 Bit 0: WDTFIE, WDTF (PCON1.0) 中断使能 0: 清零禁止 WDTF 中断 1: 置位使能 WDTF 中断 IP0L: 中断优先级 0 低 8 位寄存器 SFR 地址 = 0xB8 复位初始值 = xxx PSL PT1L PX1L PT0L PX0L W W W R/W R/W R/W R/W R/W Bit 7~5: 保留 当对 IP0L 进行写的时候必须对这些位写 0 Bit 4: PSL, 串口中断优先级低位 50/93

51 Bit 3: PT1L, 定时器 1 中断优先级低位 Bit 2: PX1L, 外部中断 1 优先级低位 Bit 1: PT0L, 定时器 0 中断优先级低位 Bit 0: PX0L, 外部中断 0 优先级低位 IP0H: 中断优先级 0 高 8 位寄存器 SFR 地址 = 0xB7 复位初始值 = xxx PSH PT1H PX1H PT0H PX0H W W W R/W R/W R/W R/W R/W Bit 7~5: 保留 当对 IP0H 进行写的时候必须对这些位写 0 Bit 4: PSH, 串口中断优先级高位 Bit 3: PT1H, 定时器 1 中断优先级高位 Bit 2: PX1H, 外部中断 1 优先级高位 Bit 1: PT0H, 定时器 0 中断优先级高位 Bit 0: PX0H, 外部中断 0 优先级高位 EIP1L: 扩展中断优先级 1 低 8 位寄存器 SFR 地址 = 0xAE 复位初始值 = xxxx-0xxx PSFL W W W W R/W W W W Bit 7~4: 保留 当对 EIP1L 进行写的时候必须对这些位写 0 Bit 3: PSFL, 系统标志中断优先级低位 Bit 2~0: 保留 当对 EIP1L 进行写的时候必须对这些位写 0 EIP1H: 扩展中断优先级 1 高 8 位寄存器 SFR 地址 = 0xAF 复位初始值 = xxxx-0xxx PSFH W W W W R/W W W W Bit 7~4: 保留 当对 EIP1H 进行写的时候必须对这些位写 0 Bit 3: PSFH, 系统标志中断优先级高位 Bit 2~0: 保留 当对 EIP1H 进行写的时候必须对这些位写 0 AUXR0: 辅助寄存器 0 SFR 地址 = 0xA1 复位初始值 = 000x-0000 P40OC1 P40OC0 P40FD -- P1FS1 P1FS0 INT1H INT0H R/W R/W R/W W R/W R/W R/W R/W Bit 1: INT1H, INT1 高电平 / 上升沿触发使能 0: 保留 nint1 引脚在低电平或下降沿触发 INT1 1: 使能 nint1 引脚在高电平或上升沿触发 INT1 Bit 0: INT0H, INT0 高电平 / 上升沿触发使能 0: 保留 nint0 引脚在低电平或下降沿触发 INT0 1: 使能 nint0 引脚在高电平或上升沿触发 INT0 51/93

52 15. 定时器 / 计数器 MA86X104 有两个 16 位的定时器 / 计数器 : 定时器 0 和定时器 1 每一个包含两个 8 位寄存器 THx 和 TLx( 这里, x=0 1 或 2) 它们可配置为定时器或事件计数器 定时器功能,TLx 寄存器每 12 个系统时钟周期 ( 标准 C51 的机器周期 ) 或每 1 个系统时钟周期 ( 是标准 C51 的 12 倍 ) 加 1, 通过软件设置 AUXR2.T0X12 或 AUXR2.T1X12 位来选择 每 12 个系统时钟周期加一, 计数速率是 1/12 的晶振频率 计数器功能, 根据对应的外部输入引脚的下降沿 T0 或 T1 寄存器加 1 在这功能中, 每个定时器时钟周期对外部输入信号 (T0 和 T1 引脚 ) 进行采样, 当采样信号出现一个高电平接着一个低电平, 计数加 1 当检测到跳变时新计数值出现在寄存器中 定时器 0 和定时器 模式 0 结构 在这个模式, 定时器寄存器配置为一个 13 位寄存器 计数器所有位从全 1 翻转到全 0, 置位定时器中断标志位 TFx 当 TRx=1 且 GATE=0 或 /INTx=1, 定时器使能输入计数 定时器 0 和定时器 1 的模式 0 运作时相同的 13 位寄存器包含 THx 的所有 8 位和 TLx 的低 5 位 TLx 的高 3 位是不确定的可以忽略 置位运行标志 (TRx) 不会清除寄存器 意思是说用户在开始计数前应对 THx 和 TLx 进行初始化 图 定时器 0/1 模式 0 结构 SYSCLK /12 SYSCLK 0 1 Tx Pin 0 1 TLx[4:0] THx[7:0] Overflow TFx Interrupt AUXR2.TxX12 C/T TRx GATE x = 0 or 1 nintx Pin 0 1 AUXR0.INTxH 52/93

53 模式 1 结构 除了定时器的寄存器使用全部 16 位外, 模式 1 和模式 0 是相同的 在这个模式,THx 和 TLx 串联, 没有预分频 图 定时器 0/1 模式 1 结构 SYSCLK /12 SYSCLK 0 1 Tx Pin 0 1 TLx[7:0] THx[7:0] Overflow TFx Interrupt AUXR2.TxX12 C/T TRx GATE x = 0 or 1 nintx Pin 0 1 AUXR0.INTxH 模式 2 结构 模式 2 配置定时器寄存器为一个自动加载的 8 位计数器 (TLx) TLx 溢出不仅置位 TFx, 而且也将 THx 的内容加载到 TLx,THx 内容由软件预置, 加载不会改变 THx 的值 定时器 0 和定时器 1 的模式 2 运作时相同的 图 定时器 0/1 模式 2 结构 SYSCLK /12 SYSCLK 0 1 Tx Pin 0 1 TLx[7:0] Overflow TFx Interrupt AUXR2.TxX12 C/T Reload nintx Pin TRx GATE 0 THx[7:0] x = 0 or 1 1 AUXR0.INTxH 53/93

54 模式 3 结构 定时器 1 在模式 3 保持计数值 效果和设置 TR1=1 一样 定时器 0 在模式 3 建立 TL0 和 TH0 两个独立的计数器 TL0 使用定时器 0 控制位 :C/T GATE TR0 INT0 和 TF0 TH0 锁定为定时器功能 ( 不能成为外部事件计数器 ) 且接替定时器 1 来使用 TR1 和 TF1,TH0 控制定时器 1 中断 图 定时器 0 模式 3 结构 定时器 0/1 可编程时钟输出 在 C/Tx=0 及 TxCKOE=1 定时器 0 和 1 是个时钟输出模式 在此模式下, 定时器 0 和 1 运行在占空比为 1:1 八位自动装载的可编程时钟产生器 产生的时钟在 P3.4 (T0CKO) 和 P3.5 (T1CKO) 各自独立输出 八位定时器 (TL0 or TL1) 由输入时钟 (SYSCLK/12 或 SYSCLK) 加 1 定时器从一个装载的初值一直计数到溢出, 一旦溢出 (TH0,TH1) 的值就会载入到 (TL0, TL1) 继续计数 下面是输出频率的计算公式 : 注意 : (1) 定时器 0/1 的溢出标志在溢出时将被设置但是不产生中断 (2) 系统时钟 SYSCLK=12MHz 及 TxX12=0, 定时器 0/1 可编程频率输出范围在 1.95KHz 到 500KHz (3) 系统时钟 SYSCLK=12MHz 及 TxX12=1, 定时器 0/1 可编程频率输出范围在 23.43KHz 到 6MHz 54/93

55 图 定时器 0/1 始终输出模式 定时器 0/1 在输出模式怎样编程 AUXR2 寄存器的 T0X12/T1X12 位选择定时器 0/1 的时钟源 置位 AUXR2 寄存器的 T0CKOE/T1CKOE TMOD 寄存器的 C/T 位清零 决定输出频率的 8 位装载数据写入 TH0/TH1 寄存器 决定输出频率的 8 位装载数据同时写入 TL0/TL1 寄存器 置位 TCON 寄存器的 TR0/TR1 位启动定时器 0/1 在时钟输出模式定时器 0/1 不会产生中断, 这个跟定时器 1 被用作波特率发生器一样 这样定时器 1 就可以同时作为时钟输出和波特率发生器 注意 : 时钟输出频率和波特率都是跟定时器 1 的溢出率一样 55/93

56 定时器 0/1 寄存器 TCON: 定时 / 寄存器控制寄存器 SFR 地址 = 0x88 复位初始值 = TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 R/W R/W R/W R/W R/W R/W R/W R/W Bit 7: TF1, 定时器 1 溢出标志位 0: 处理器进入中断向量程序由硬件清零, 或由软件清零 1: 定时器 / 计数器溢出时由硬件置位, 或由软件置位 Bit 6: TR1, 定时器 1 运行控制位 0: 软件清零关闭定时器 / 计数器 1 1: 软件置位开启定时器 / 计数器 1 Bit 5: TF0, 定时器 0 溢出标志位 0: 处理器进入中断向量程序由硬件清零, 或由软件清零 1: 定时器 / 计数器溢出时由硬件置位, 或由软件置位 Bit 4: TR0, 定时器 0 运行控制位 0: 软件清零关闭定时器 / 计数器 0 1: 软件置位开启定时器 / 计数器 0 TMOD: 定时 / 寄存器模式控制寄存器 SFR 地址 = 0x89 复位初始值 = GATE C/T M1 M0 GATE C/T M1 M0 R/W R/W R/W R/W R/W R/W R/W R/W Timer Timer Bit 7/3: Gate, 定时器 1/0 门控制 0: 禁止定时器 1/0 门控位 1: 使能定时器 1/0 门控位 当门控位置位时, 只有在 nint0 或 nint1 引脚是高电平且 TR0 或 TR1 控制位置位时定时器 / 计数器 0 或 1 使能 Bit 6/2: C/T, 定时器或计数器功能选择位 0: 清零为定时器功能 ( 从内部系统时钟输入 ) 1: 置位为计数器功能 ( 从 T0 或 T1 引脚输入 ) Bit 5~4/1~0: 工作模式选择 M1 M0 工作模式 位定时器 / 计数器 位定时器 / 计数器 THx 与 TLx 串联, 没有分频器 位自动重载定时器 / 计数器 THx 保持一个值, 并在每次溢出时加载到 TLx 1 1 ( 定时器 0)TL0 是一个 8 位定时器 / 计数器并通过标准定时器 0 的控制位控制 TH0 仅是一个 8 位定时器通过定时器 1 的控制位控制 1 1 ( 定时器 1) 定时器 / 计数器停止 56/93

57 TL0: 定时器 0 低 8 位寄存器 SFR 地址 = 0x8A 复位初始值 = TL0[7] TL0[6] TL0[5] TL0[4] TL0[3] TL0[2] TL0[1] TL0[0] R/W R/W R/W R/W R/W R/W R/W R/W TH0: 定时器 0 高 8 位寄存器 SFR 地址 = 0x8C 复位初始值 = TH0[7] TH0[6] TH0[5] TH0[4] TH0[3] TH0[2] TH0[1] TH0[0] R/W R/W R/W R/W R/W R/W R/W R/W TL1: 定时器 1 低 8 位寄存器 SFR 地址 = 0x8B 复位初始值 = TL1[7] TL1[6] TL1[5] TL1[4] TL1[3] TL1[2] TL1[1] TL1[0] R/W R/W R/W R/W R/W R/W R/W R/W TH1: 定时器 1 高 8 位寄存器 SFR 地址 = 0x8D 复位初始值 = TH1[7] TH1[6] TH1[5] TH1[4] TH1[3] TH1[2] TH1[1] TH1[0] R/W R/W R/W R/W R/W R/W R/W R/W MA86E/L104 AUXR2: 辅助寄存器 2 SFR 地址 = 0xA3 复位初始值 = URXR BTI URM0X6 SMOD2 T1X12 T0X12 T1CKOE T0CKOE R/W R/W R/W R/W R/W R/W R/W R/W Bit 3: T1X12, 当 C/T=0 时, 定时器 1 的时钟源选择 0: 清零选择 SYSCLK/12 作为定时器 1 时钟源 1: 置位选择 SYSCLK 作为定时器 1 时钟源 Bit 2: T0X12, 当 C/T=0 时, 定时器 0 的时钟源选择 0: 清零选择 SYSCLK/12 作为定时器 0 时钟源 1: 置位选择 SYSCLK 作为定时器 0 时钟源 Bit 1: T1CKOE, 定时器 1 时钟输出使能 0: 禁止定时器 1 时钟输出 1: 使能定时器 1 时钟从 P3.5 输出 Bit 0: T0CKOE, 定时器 0 时钟输出使能 0: 禁止定时器 1 时钟输出 1: 使能定时器 1 时钟从 P3.4 输出 57/93

58 16. 串行口 (UART) MA86X104 支持一个全双工的串行口, 意思是可以同时发送和接收数据 它有一个接收缓冲, 意味着在前一个接收到的字节没有从寄存器读出前, 就可以开始接收第二个字节 但是, 如果第一个字节在第二个字节接收完成前仍然没有被读出, 则其中的一个字节将会丢失 串行口的接收和发送寄存器都通过特殊寄存器 SBUF 来访问 写到 SBUF0 加载到传送寄存器, 当从 SBUF 读时是一个物理上独立分离的接收寄存器 串行口可以工作在四种模式 : 模式 0 提供同步通讯同时模式 1 2 和模式 3 提供异步通讯 异步通讯作为一个全双工的通用异步收发器 (UART), 可以同时发送和接收并使用不同的波特率 模式 0:8 位数据 ( 低位先出 ) 通过 RXD(P3.0) 传送和接收 TXD(P3.1) 总是作为输出移位时钟 波特率可通过 AUXR2 寄存器的 URM0X6 位选择为系统时钟频率的 1/12 或 1/2 模式 1:10 位通过 TXD 传送或通过 RXD 接收, 数据帧包括一个起始位 (0),8 个数据位 ( 低位优先 ), 和一个停止位 (1) 见图 在接收时, 停止位进入到专用寄存器 (SCON) 的 RB8 波特率是可变的 图 模式 1 数据帧 模式 2:11 位通过 TXD 传送或通过 RXD 接收, 数据帧包括一个起始位 (0),8 个数据位 ( 低位优先 ), 一个可编程的第九个数据位和一个停止位 (1) 见图 在传送时, 第 9 个数据位 (TB8 在 SCON 寄存器 ) 可以分配为 0 或者 1 在接收时, 第九个数据位到 SCON 寄存器中的 RB8, 同时忽略停止位 波特率可以配置为 1/32 或 1/64 的系统时钟频率 也就是 Fosc/64 或 Fosc/32 图 模式 2, 3 数据帧 模式 3: 模式 3 除了波特率可变之外其它的都相同 在四种模式中, 使用 SBUF 作为一个目的寄存器, 可以通过任何指令发起传输 在模式 0, 当 RI=0 且 REN=1 时启动接收 在其它模式, 在 REN=1 时, 收到起始位时启动接收 除了标准操作外,UART 还能具有侦察丢失停止位的帧错误和自动地址识别的功能 58/93

59 16.1. 串行口模式 0 串行数据通过 RXD 读入和输出,TXD 输出移位时钟 接收和发送 8 位数据 :8 个数据位 ( 低位优先 ) 波特率可通过 AUXR2 寄存器中的 URM0X6 选择为系统时钟的 1/12 或 1/2 图 显示了串口模式 0 的简化功能框图 使用 SBUF 作为一个目的寄存器可通过任何指令来启动传输 写到 SBUF 信号触发 UART 引擎开始发送 SBUF 里面的数据在 TXD(P3.1) 脚的每一个上升沿移出到 RXD(P3.0) 脚 八个上升沿移位时钟过后, 硬件置 TI 为 1 标志发送完成 图 显示了模式 0 的传送时序图 当 REN=1 和 RI=0 时接收启动 在下一个指令周期,RX 控制单元写 到接收移位寄存器, 且在下一个时钟阶段激活接收 接收使能移位时钟选择输出功能 P3.1 引脚 当接收激活时, 在移位时钟的下降沿采样 RXD(P3.0) 脚并移到寄存中 八个下降沿移位时钟过后, 硬件置 RI 为 1 标志接收完成 图 显示了模式 0 的接收时序图 图 串行口模式 0 SYSCLK 80C51 Internal BUS Write SBUF URM0X6 TX Clock TXBUF RXD Alternated for Input/output Function RX Clock RXBUF REN RXSTART UART engine Shift-clock TXD Alternated for output Function RI RI TI BTI Serial Port Interrupt Read SBUF UTIE ESF System Flag Interrupt 80C51 Internal BUS 59/93

60 图 模式 0 传送时序图 图 模式 0 接收时序图 60/93

61 16.2. 串行口模式 1 通过 TXD 发送 10 位数据或通过 RXD 接收 10 位数据 : 一个起始位 (0),8 个数据位 ( 低位先出 ), 和一个停止位 (1) 在接收时, 停止位进入 SCON 的 RB8, 波特率由定时器 1 的溢出速率来决定 图 显示了模式 1 的数据帧和图 显示了模式 1 的串行口简化功能图 使用 SBUF 作为目的寄存器的任何指令来启动传输 写到 SBUF 的信号请求 UART 引擎开始发送, 当收到一个发送请求后,UART 将在 TX 时钟的上升沿开始发送 SBUF 中的数据从 TXD 引脚串行输出, 数据帧如图 所示及数据宽度根据 TX 时钟不同而不同 当 8 位数据发送完后, 硬件将置位 TI 表示发送结束 当串行口控制器在 RCK 采样时钟下检测到在 RXD 有 1 到 0 跳变的起始位时接收开始 在 RXD 引脚上的数据将被串行口的位侦查器采样 当收到停止位后, 硬件置位 RI 表示接收结束并把停止位加载到 SCON 寄存器的 RB8 图 串行口模式 1, 2, 3 61/93

62 16.3. 串行口模式 2 和模式 3 通过 TXD 传送 11 位或通过 RXD 接收 11 位 : 一个起始位 (0),8 个数据位 ( 低位在先 ), 一个可编程的第 9 个数据位和一个停止位 (1) 在传送时, 数据的第 9 位 (TB8) 可分配为 0 或 1 在接收时, 数据的第 9 位将进入到 SCON 的 RB8 在模式 2 波特率可编程为 1/16,1/32 或 1/64 的系统时钟频率 模式 3 可以产生可以从定时器 1 或定时器 2 产生可变的波特率 接收部分和模式 1 相同 与模式 1 传送部分不同的仅仅是传送移位寄存器的第 9 位 见图 显示模式 2 和 3 的数据帧和图 显示模式 2 和 3 的串行口简化功能图 写到 SBUF 的信号请求 UART 引擎加载 TB8 到发送移位寄存器的第 9 位并开始发送, 当收到一个发送请求后,UART 将在 TX 时钟的上升沿开始发送 SBUF 中的数据从 TXD 引脚串行输出, 数据帧如图 所示及数据宽度根据 TX 时钟不同而不同 当 9 位数据发送完后, 硬件将置位 TI 表示发送结束 当串行口控制器在 RCK 采样时钟下检测到在 RXD 有 1 到 0 跳变的起始位时接收开始 在 RXD 引脚上的数据将被串行口的位侦查器采样 当收数据接收完后, 硬件置位 RI 表示接收结束并把第 9 位加载到 SCON 寄存器的 RB8 在四种模式中, 使用 SBUF 作为一个目的寄存器, 可以通过任何指令发起传输 在模式 0, 当 RI=0 且 REN=1 时启动接收 在其它模式, 在 REN=1 时, 收到有 1 到 0 跳变的起始位时启动接收 错误帧检测 开启帧错误检测功能后,UART 会在通讯中检测是否丢失停止位, 如果丢失一个停止位, 就设置 SCON 寄存器的 FE 标志位 FE 标志位和 SM0 标志位共享 SCON.7,SMOD0 标志位 (PCON.6) 决定 SCON.7 究竟代表哪个标志, 如果 SMOD0 位 (PCON.6) 置位则 SCON.7 就是 FE 标志,SMOD0 位清零则 SCON.7 就是 SM0 标志 当 SCON.7 代表 FE 时, 只能软件清零 参考图 图 串行口错误帧检测 62/93

63 16.5. 多处理器通讯 模式 2 和 3 在用作多处理器通讯时有特殊的规定见图 在这两种模式, 接收 9 个数据位 第 9 个数据位存入 RB8, 接着进来一个停止位 端口可以编程为 : 在 RB8=1 时, 当收到停止位后, 串口中断将激活 这种特征通过设置 SM2 位 ( 在 SCON 寄存器中 ) 来使能 这种方式用于多处理器系统如下 : 当主处理器想传送一个数据块到多个从机中的某一个时, 首先传送想要传送的目标地址标识符的地址 地址字节与数据字节的区别在于, 在地址字节中第 9 位为 1, 数据字节中为 0 当 SM2=1 时, 收到一个数据字节将不会产生中断 然而一个地址字节将引发所有从机中断 因而所有的从机可以检测收到的字节是否是自己的地址 从机地址将清除 SM2 位并准备好接收即将进来的所有数据 从机地址不匹配的将保持 SM2 置位, 并继续他们的工作, 忽略进来的数据字节 SM2 在模式 0 和模式 1 没有影响, 但是可以用来检测停止位的有效性 在接收模式 1 中, 如果 SM2=1, 除非收到一个有效的停止位否则接收中断不会被激活 图 串行口多处理器通讯 自动地址识别 自动地址识别通过硬件比较可以让 UART 识别串行码流中的地址部分, 该功能免去了使用软件识别时需要大量代码的麻烦 该功能通过设定 SCON 的 SM2 位来开启 在 9 位数据 UART 模式下, 即模式 2 和模式 3, 收到特定地址或广播地址时自动置位接收中断 (RI) 标志,9 位模式的第 9 位信息为 1 表明接收的是一个地址而不是数据 自动地址识别功能请参考图 在 8 位模式, 即模式 1 下, 如果 SM2 置位并且在 8 位地址与给定地址或广播地址核对一致后收到有效停止位则 RI 置位 模式 0 是移位寄存器模式,SM20 被忽略 使用自动地址识别功能可以让一个主机选择性的同一个或多个从机进行通讯, 所有从机可以使用广播地址接收信息 增加了 SADDR 从机地址寄存器和 SADEN 地址掩码寄存器 SADEN 用来定义 SADDR 中的那些位是 无关紧要 的,SADEN 掩码和 SADDR 寄存器进行逻辑与来定义供主机寻址从机的 给定 地址, 该地址让多个从机进行排他性的识别 63/93

64 下面的实例帮助理解这个方案的通用性 : 从机 0 SADDR = SADEN = Given = X0 从机 1 SADDR = SADEN = Given = X 上面的例子中 SADDR 是相同的值, 而使用 SADEN 数据来区分两个从机 从机 0 要求第 0 位必须为 0, 并忽略第 1 位的值 ; 从机 1 要求第 1 位必须为 0, 并忽略第 0 位的值 从机 0 的唯一地址是 , 而从机 1 的唯一地址是 , 地址 是可以同时寻找到从机 0 和从机 1 的 下面一个更为复杂的系统可以寻址到从机 1 和从机 2, 而不会寻址到从机 0: 从机 0 SADDR = SADEN = Given = XX0 从机 1 SADDR = SADEN = Given = X0X 从机 2 SADDR = SADEN = Given = XX 上面的例子中,3 个从机的低 3 位地址不一样, 从机 0 要求第 0 位必须为 0, 可以唯一寻址从机 0; 从机 1 要求第 1 位必须为 0, 可以唯一寻址从机 1; 从机 2 要求第 2 位必须为 0, 它的唯一地址是 为了寻址到从机 0 和从机 1 而不会寻址到从机 2, 可以使用地址 , 因为这个地址第 2 位是 1 每个从机的广播地址 SADDR 和 SADEN 的逻辑或,0 按不需关心处理 大部分情况下, 使用 FF 作为广播地址 复位后,SADDR(SFR 地址 0xA9) 和 SADEN(SFR 地址 0xB9) 值均为 0, 这样可以接收所有地址的信息, 也就有效的禁用了自动地址识别模式, 从而使该处理器运行于标准 80C51 的 UART 下 图 自动地址识别 注意 : (1) 收到匹配地址后 (addr_match=1), 清 SM2 以接收数据字节 (2) 收完全部数据字节后, 置 SM2 为 1 以等待下一个地址 波特率设置 AUXR2 寄存器的位 T1X12, URM0X6 和 SMOD2 提供一个新的波特率选项, 见如下描述 64/93

65 波特率模式 0 注意 : 如果 URM0X6=0, 则波特率公式与标准 8051 一样 波特率模式 2 注意 : 如果 SMOD2=0, 则波特率公式与标准 8051 一样 如果 SMOD2=1, 这是一个增强型的波特率设置功能 在波特率模式 2 产生器里由 SMOD2 决定的波特率见下表 SMOD2 SMOD1 波特率 注意 建议最大接收错误率 (%) 0 0 缺省波特率 标准功能 ± 3% 0 1 双倍波特率 标准功能 ± 3% 1 0 双倍波特率 X2 增强型功能 ± 2% 1 1 双倍波特率 X4 增强型功能 ± 1% 波特率模式 1 和 3 使用定时器 1 作为波特率产生器 注意 : 如果 SMOD2=0 和 T1X12=0, 则波特率公式与标准 8051 一样 如果 SMOD2=1, 这是一个增强型的波特率设置功能 在时钟 1 产生器里由 SMOD2 决定的波特率见下表 SMOD2 SMOD1 波特率 注意 建议最大接收错误率 (%) 0 0 缺省波特率 标准功能 ± 3% 0 1 双倍波特率 标准功能 ± 3% 1 0 双倍波特率 X2 增强型功能 ± 2% 1 1 双倍波特率 X4 增强型功能 ± 1% 65/93

66 16.8. 串行口重复模式 P31 SFR 0 1 TXD0 P3.1 (P3.0) RXD0 0 AUXR1.4 (RTX0E) (P3.2) RXD1 (P3.3) RXD2 (P1.4) RXD3 AUXR1.1~0 (RXCS1~0) RXD RX UART Engine TX TXD P15 SFR AUXR0.3~2 = {0,1} (P1FS1~0) 0 TXD3 P1.5 1 RXCS[1:0] RXD Selection AUXR1.7 (RTX3E) P12 SFR 00 RXD0 (P3.0) Repeated RXD TXD1 P RXD1 (P3.2) 10 RXD2 (P3.3) 11 RXD3 (P1.4) AUXR1.5 (RTX1E) P13 SFR TXD2 P1.3 AUXR1.6 (RTX2E) AUXR1: 辅助寄存器 1 SFR 地址 = 0xA2 复位初始值 = RTX3E RTX2E RTX1E RTX0E RXCS1 RXCS0 R/W R/W R/W R/W W W R/W R/W 66/93

67 16.9. 串行口寄存器 串行口的四种操作模式除波特率的设定之外都与标准的 8051 相同 此三个寄存器 PCON, AUXR 和 AUXR2 是与波特率的设定有关 SCON: 串行口控制寄存器 SFR 地址 = 0x98 复位初始值 = SM0/FE SM1 SM2 REN TB8 RB8 TI RI R/W R/W R/W R/W R/W R/W R/W R/W Bit 7: FE, 帧错误位 SMOD0 位必须设置才能访问帧错误位 (FE) 0: 帧错误位 (FE) 不会被有效帧清零但是可以软件清零 1: 当非法的停止位出现时接收端会把帧错误位 (FE) 设置 Bit 7: 串行口模式位 0, (SMOD0 位必须为零才能作为 SM0 访问 ) Bit 6: 串行口模式位 1 SM0 SM1 模式 描述 波特率 移位寄存器 SYSCLK/12 或 SYSCLK / 位通用串行口 可变的 位通用串行口 SYSCLK/64, /32, /16 或 / 位通用串行口 可变的 Bit 5: 串行口模式位 2 0: 禁止 SM2 功能 1: 在模式 2 和 3 时使能地址自动识别, 如果 SM20=1 那么 RI0 将不能设置, 除非接收到的第 9 位数据 (RB80) 为 1, 指示是一个地址, 并且接收到的字节是本机地址或者是一个广播地址 ; 在模式 1, 如果 SM20=1 那么 RI0 将不能被激活除非收到一个有效的停止位, 并且接收到的字节是本机地址或者是一个广播地址 ; 在模式 0,SM20 可以为 0 Bit 4: REN, 使能串行接收 0: 软件清零是禁止串行接收 1: 软件设置是使能串行接收 Bit 3: TB8, 在模式 2 和 3 下此位是被传送数据的第 9 位 由软件清零或设置 Bit 2: RB8, 在模式 2 和 3 下此位是接收到数据的第 9 位 在模式 1 下, 如果 SM2 = 0, RB8 则是接收到的停止位 在模式 0,RB8 没有用到 Bit 1: TI. 传送中断标志位 0: 必须由软件清零 1: 在模式 0 下第 8 位传送时间结束硬件设置, 在其它模式下传送停止位开始硬件设置 Bit 0: RI. 接收中断标志位 0: 必须由软件清零 1: 在模式 0 下第 8 位接收时间结束硬件设置, 在其它模式下接收停止位一半时开始硬件设置 ( 除了 SM2 之外 ) SBUF: 串行口缓冲寄存器 SFR 地址 = 0x99 复位初始值 = XXXX-XXXX SBUF[7] SBUF[6] SBUF[5] SBUF[4] SBUF[3] SBUF[2] SBUF[1] SBUF[0] R/W R/W R/W R/W R/W R/W R/W R/W 67/93

68 Bit 7~0: 作为传送和接收的缓冲寄存器 SADDR: 从地址寄存器 SFR 地址 = 0xA9 复位初始值 = R/W R/W R/W R/W R/W R/W R/W R/W SADEN: 从机地址屏蔽寄存器 SFR 地址 = 0xB9 复位初始值 = R/W R/W R/W R/W R/W R/W R/W R/W 当地址自动识别功能启用后, 可用 SADDR 和 SADEN 组合来预置地址, 事实上,SADEN 是 SADDR 的 屏蔽 寄存器, 如下图所示 SADDR = SADEN = Given = x0 这 Given 从机地址将被选中 Bit1 作 不关心 处理 每个从对象的广播地址为 SADDR 和 SADEN 进行逻辑 或 的结果, 结果中为 0 的位将被忽略 在系统复位后, SADDR 和 SADEN 都被初始化为 0, 从而忽略 Given 地址的全部地址位和 广播 地址的全部地址位而导致自动地址识别功能无效 PCON0: 电源控制寄存器 0 SFR 地址 = 0x87 上电复位初始值 = 00X1-0000, 复位初始值 = 00X SMOD1 SMOD0 GF POF GF1 GF0 PD IDL R/W R/W R/W R/W R/W R/W R/W R/W Bit 7: SMOD1, 双倍波特率控制位 0: 禁止 UART 双倍波特率 1: 使能 UART 双倍波特率 ( 模式 1, 2 或 3) Bit 6: SMOD0, 帧错误选则 0: SCON.7 作 SM0 功能 1: SCON.7 作 FE 功能 注 : 当帧错误后不管 SMOD0 什么状态 FE 都将置 1 AUXR2: 辅助寄存器 2 SFR 地址 = 0xA3 复位初始值 = URXR BTI URM0X6 SMOD2 T1X12 T0X12 T1CKOE T0CKOE R/W R/W R/W R/W R/W R/W R/W R/W Bit 7: URXR, 串行口 RX 选项. 0: 清零是禁止此选项 1: 设置是使能此选项 68/93

69 Bit 6: BTI, 阻止 TI 在串行口中断 0: 保留 TI 作为串行口中断源 1: 阻止 TI 作为串行口中断源 Bit 5: URM0X6, 串行口模式 0 波特率选择 0: 清零选择 SYSCLK/12 作为串行口模式 0 波特率 1: 设置选择 SYSCLK/2 作为串行口模式 0 波特率 Bit 4: SMOD2, 额外 X2/X4 波特率选择 0: 禁止额外 X2/X4 波特率选择 1: 使能额外 X2/X4 波特率选择 Bit 3: T1X12, 当 C/T=0 时, 定时器 1 时钟源选择 0: 清零选择 SYSCLK/12 1: 设置选择 SYSCLK 作时钟源 SFIE: 系统标志中断使能寄存器 SFR 地址 = 0x8E 复位初始值 = 0xxx-0x00 UTIE KBIFIE -- BOF0IE WDTFIE R/W W W W R/W W R/W R/W Bit 7: UTIE, UART TI 系统标志中断标志 0: 禁止中断向量共享 TI 系统标志中断 1: 使能中断向量共享 TI 系统标志中断 69/93

70 17. 键盘中断 (KBI) 键盘中断功能是当键盘使能的脚出现下降沿时产生一个简单中断 此功能用作键盘识别 此功能有两个特殊功能寄存器,P1KBIE 和 P3KBIE 的每一位控制相应的脚位在下降沿出现时使能或禁止键盘中断 (KBI) 任意一个被识别的键盘中断 (KBI) 事件将会促使硬件设置中断标志 (KBIF) 如果相应的中断是使能的话则产生中断 不需要使能 (KBIFIE) 总中断, 仅使能键盘中断 (KBI) 脚就可以在下降沿唤醒 CPU 的空闲模式或低电平唤醒 CPU 的掉电模式 键盘中断结构图 键盘中断寄存器 P1KBIE: 端口 1 键盘中断 ( KBI) 使能控制寄存器 SFR 地址 = 0xD7 复位初始值 = P17KBIE P16KBIE P15KBIE P14KBIE P13KBIE P12KBIE P11KBIE P10KBIE R/W R/W R/W R/W R/W R/W R/W R/W Bit 7~0: 端口 1 每个脚键盘中断使能位 0: 禁止相应的脚产生键盘中断功能 1: 使能相应的脚产生键盘中断功能 P3KBIE: 端口 3 键盘中断 ( KBI) 使能控制寄存器 SFR 地址 = 0xD6 复位初始值 = P37KBIE P36KBIE P35KBIE P34KBIE P41KBIE P40KBIE P31KBIE P30KBIE R/W R/W R/W R/W R/W R/W R/W R/W Bit 7~0: 端口 P3.7 ~ P3.4, P4.1, P4.0, P3.1 和 P3.0 键盘中断使能位 0: 禁止相应的脚产生键盘中断功能 1: 使能相应的脚产生键盘中断功能 PCON1: 电源控制寄存器 1 SFR 地址 = 0x97 上电复位初始值 = X00 70/93

71 SWRF EXRF POF1 IARF KBIF -- BOF0 WDTF R/W R/W R/W R/W R/W W R/W R/W MA86E/L104 Bit 3: KBIF, 键盘中断标志 0: 此位必须通过软件写 1 来清零, 软件写 0 是空操作 1: 此位仅仅在使能的键盘中断 (KBI) 脚出现下降沿时设置 软件写 1 来清除 KBIF 在掉电模式下, 在使能的键盘中断 (KBI) 脚出现低电平时设置 71/93

72 18. 在系统可编程 (ISP) IFD: ISP/IAP 闪存数据寄存器 SFR 地址 = 0xE2 复位初始值 = R/W R/W R/W R/W R/W R/W R/W R/W IFD 是 ISP/IAP 操作的数据端口寄存器 在 ISP/IAP 写操作时 IFD 的数据将被写入到期望的地址, 在 ISP/IAP 读操作时 IFD 的值是读到期望地址的数据 如果 IMFT 在 IAPLB 或 AUXRA 访问下作为索引, 通过 SCMD 流读写 IFD 将访问到 IAPLB 或 AUXRA 的寄存器值 IFADRH: ISP/IAP 高 8 位地址 SFR 地址 = 0xE3 复位初始值 = R/W R/W R/W R/W R/W R/W R/W R/W IFADRH 是所有 ISP/IAP 模式下的高 8 位地址 IFADRL: ISP/IAP 低 8 位地址 SFR 地址 = 0xE4 复位初始值 = R/W R/W R/W R/W R/W R/W R/W R/W IFADRL 是所有 ISP/IAP 模式下的低 8 位地址 IFMT: ISP/IAP 闪存模式表 SFR 地址 = 0xE5 复位初始值 = XXXX-x MS[2] MS[1] MS[0] W W W W W R/W R/W R/W Bit 7~3: 保留 当 IFMT 被写时这些位必须写入 0 Bit 2~0: ISP/IAP 操作模式选择 MS[2:0] 备用 AP/IAP- 存储器读 AP/IAP- 存储器编程 保留 P 页寄存器写 Others 保留. 模式 IFMT 是用来选择闪存是用执行众多的 ISP/IAP 功能还是选择 P 页寄存器的访问 SCMD: 连续命令数据寄存器 SFR 地址 = 0xE6 复位初始值 = xxxx-xxxx 72/93

73 SCMD R/W R/W R/W R/W R/W R/W R/W R/W MA86E/L104 SCMD 是激活 ISP/IAP/Page-P 的命令口 如果 SCMD 连续填入 0x46h, 0xB9h 并且 ISPCR.7 = 1,ISP/IAP 被激活 ISPCR: ISP 控制寄存器 SFR 地址 = 0xE7 复位初始值 = 0000-xxxx ISPEN SWBS SWRST CFAIL R/W R/W R/W R/W W W W W Bit 7: ISPEN, ISP/IAP 操作使能 0: 所有的 ISP/IAP 编程 / 擦除 / 读都是被禁止的 1: 使能 ISP/IAP 编程 / 擦除 / 读功能 Bit 6: SWBS, 软件执行起始选择控制 0: 复位软件从主存储区开始执行 1: 复位软件从 ISP 存储区开始执行 Bit 5: SWRST, 软件复位触发控制 0: 没有操作 1: 产生软件系统复位, 硬件自动清零 Bit 4: CFAIL, ISP/IAP 操作命令失败指示 0: 最后一次 ISP/IAP 命令成功 1: 最后一次 ISP/IAP 命令失败 失败的原因是闪存访问错误 Bit 3~0: 保留 当 ISPCR 被写时这些位软件必须写入 0 73/93

74 19. 在应用可编程 (IAP) MA86X104 可利用的程序存储区大小只有 4k 字节 闪存位于 IAPLB 与 ISP 的起始地址之间可以定义为数据闪存也可以在 ISP 操作现场访问 IAP 闪存的大小是可以修改的, 由 IAPLB 决定 74/93

75 20. P 页特殊功能寄存器访问 MA86X104 内建一个特别的 P 页寄存器 (Page P) 用来存储 MCU 操作的控制寄存器 这些特殊功能寄存器在不同 IFMT 下通过 ISP/IAP 操作来访问 在 P 页访问时,IFADRH 必须设置为 00 及 IFADRL 索引 P 页内特殊功能寄存器地址 如果 IFMT= 04H 则 P 页写操作, 在 SCMD 激活之后 IFD 的数据会被载入到 IFADRL 索引的特殊功能寄存器 这些特殊功能寄存器在 P 页模式下不支持读功能 下面描述的是 P 页里的特殊功能寄存器 : IAPLB: IAP 低边界地址 SFR 页 = P SFR 地址 = 0x03 复位初始值 = IAPLB 0 W W W W W W W W Bit 7~0: IAPLB 决定 IAP 存储区的最低边界 写 IAPLB, 首先 MCU 把新的 IAPLB 设定值写入 IFD ; 其次索引 IFADRL, 选择 IMFT, 使能 ISPCR.ISPEN ; 然后设置 SCMD 这样 IAPLB 就会更新到最新的顺序 由 IAPLB 及 ISP 起始地址决定的 IAP 存储区见下列表 IAP 低边界 = IAPLBx256, 及 IAP 高边界 = ISP 起始地址 1. 例如, IAPLB=0x08 及 ISP 起始地址是 0x0C00, 那么 IAP 存储区就是 0x0800 ~ 0x0BFF. 另外要注意一点,IAP 的低边界地址不能大于 ISP 的起始地址 CKCON2: 时钟控制寄存器 2 SFR 页 = P SFR 地址 = 0x40 复位初始值 = 0001-xx XTALE IHRCOE OSCS1 OSCS0 W W W W W W W W Bit 7~6: 保留 当 CKCON2 写入时, 这两个位软件必须写 0 Bit 5: XTALE, 外部晶振 (XTAL) 使能 缺省值由时钟源选择的硬件选项来设置 0: 禁止 (XTAL) 振荡电路 此时 XTAL2 及 XTAL1 当做 P 4.0 及 P 4.1 1: 使能 (XTAL) 振荡电路 如果此位是通过 CPU 软件来设置的话, 则在 XTALE 使能之后需要 3 毫秒才能稳定输出 Bit 4: IHRCOE, 内部高频 RC 振荡使能 缺省值由时钟源选择的硬件选项来设置 0: 禁止内部高频 RC 振荡 1: 使能内部高频 RC 振荡 如果此位是通过 CPU 软件来设置的话, 则在 IHRCOE 使能之后需要 32 微秒才能稳定输出 Bit 3~2: 保留 当 CKCON2 写入时, 这两个位软件必须写 0 Bit 1~0: OSC[1:0], OSCin 来源选择 OSCS[1:0] OSCin 来源选择 75/93

76 0 0 IHRCO 0 1 XTAL 1 0 ILRCO 1 1 ECKI, 外部时钟输入 (P4.0) 作为 OSCin. PCON2: 电源控制寄存器 2 SFR 页 = P SFR 地址 = 0x44 复位初始值 = x0xx-xx01 -- AWBOD BO0RE 1 W W W W W W W W Bit 7: 保留 当 PCON2 写入时, 这两个位软件必须写 0 Bit 2: AWBOD0, 在掉电模式下 BOD0 唤醒使能 0: 在掉电模式下禁止 BOD0 唤醒 1: 在掉电模式下 BOD0 保持运行 Bit 5~2: 保留 当 PCON2 写入时, 这些位软件必须写 0 Bit 1: BO0RE, BOD0 复位使能 初始值通过硬件选项 BO0REO 来改变 0: 当 BOF0 设置时, 禁止 BOD0 触发系统复位 1: 当 VDD 为 4.2V(E) 或 2.4V(L) 而 BOF0 设置时, 使能 BOD0 触发系统复位 Bit 0: 测试保留 当 PCON2 写入时, 此位软件必须写 1 SPCON0: 特殊功能寄存器页控制 0 SFR 页 = P SFR 地址 = 0x48 复位初始值 = xxx0-x WRCTL -- CKCTL0 PWCTL1 PWCTL0 W W W W W W W W Bit 7~5: 保留 当 SPCON0 写入时, 这些位软件必须写 0 Bit 4: WRCTL. WDTCR 特殊功能寄存器访问控制 如果 WRCTL 设置, 则在普通页里 WDTCR 特殊功能寄存器禁止修改 在普通页里 WDTCR 仅是保持特殊功能寄存器读的功能 但是在特殊功能寄存器 P 页里软件总是拥有修改的能力 Bit 3: 保留 当 SPCON0 写入时, 此位软件必须写 0 Bit 2: CKCTL0. CKCON0 特殊功能寄存器访问控制 如果 CKCTL0 设置, 则在普通页里 CKCON0 特殊功能寄存器禁止修改 在普通页里 CKCON0 仅是保持特殊功能寄存器读的功能 但是在特殊功能寄存器 P 页里软件总是拥有修改的能力 Bit 1: PWCTL1. PCON1 特殊功能寄存器访问控制 如果 PWCTL1 设置, 则在普通页里 PCON1 特殊功能寄存器禁止修改 在普通页里 PCON1 仅是保持特殊功能寄存器读的功能 但是在特殊功能寄存器 P 页里软件总是拥有修改的能力 Bit 0: PWCTL0. PCON0 特殊功能寄存器访问控制 如果 PWCTL0 设置, 则在普通页里 PCON0 特殊功能寄存器禁止修改 在普通页里 PCON0 仅是保持特殊功能寄存器读的功能 但是在特殊功能寄存器 P 页里软件总是拥有修改的能力 76/93

77 DCON0: 设备控制 0 SFR 页 = P SFR 地址 = 0x4C 复位初始值 = 00xx-xx1x HSE IAPO RSTIO -- W W W W W W W W Bit 7: HSE, 高速运行使能 0: 禁止 MCU 高速运行 1: 使能 MCU 高速运行 (F SYSCLK > 12MHz) Bit 6: IAPO, 仅是 IAP 功能 0: 保持 IAP 区是 IAP 功能和代码执行 1: 禁止 IAP 区代码执行,IAP 区仅是 IAP 功能 Bit 5~0: 保留 当 DCON0 写入时, 这些位软件必须写 0 Bit 1: RSTIO, 复位来源选择 1: 复位选择 RST 脚 0: 复位选择 P3.6 脚 MA86E/L104 77/93

78 21. 辅助特殊功能寄存器 AUXR0: 辅助寄存器 0 辅助寄存器 0 地址 = 0xA1 复位初始值 = P40OC1 P40OC0 P40FD -- P1FS1 P1FS0 INT1H INT0H R/W R/W R/W W R/W R/W R/W R/W Bit 7~6: P4.0 输出设定控制位 1 位 0 当选择内部 RC 震荡作为系统时钟时这两个位才起作用 在此条件下,XTAL2 和 XTAL1 可以作为 P4.0 和 P4.1 P4.0 提供下表设定选择作为通用输入输出口或时钟源产生器 当 P4.0OC[1:0] 设定为非 P4.0 时, XTAL2 将驱动片内 RC 振荡器输出作为其它设备的时钟源 P40OC[1:0] P4.0 功能 I/O 模式 00 P4.0 By P4M OSCin By P4M OSCin/2 By P4M OSCin/4 By P4M0.0 Bit 5: P40FD, P4.0 快速驱动 0: P4.0 作为缺省驱动输出 1: P4.0 快速驱动输出使能 若 P4.0 被配置为时钟输出, 当 P4.0 输出频率大于 12MHz (5V) 或者大于 6MHz (3V) 时使能此位 Bit 4: 保留 Bit 3~2: P1.4 和 P1.5 设定选择 P1FS[1:0] P1.4 P P1.4 P TXD1 输出 10 nint0 输入 nint1 输入 11 T0 输入 T1 输入 Bit 1: INT1H, INT1 高电平 / 上升沿触发使能 0: 保留 P3.3 的低电平或下降沿作为 INT1 触发 1: 设置 P3.3 的高电平或上升沿作为 INT1 触发 Bit 0: INT0H, INT0 高电平 / 上升沿触发使能 0: 保留 P3.2 的低电平或下降沿作为 INT0 触发 1: 设置 P3.2 的高电平或上升沿作为 INT0 触发 AUXR1: 辅助控制寄存器 1 辅助寄存器 1 地址 = 0xA2 复位初始值 = RTX3E RTX2E RTX1E RTX0E RXCS1 RXCS0 R/W R/W R/W R/W R/W R/W R/W R/W Bit 7: RTX3E, RXD 重复到 TXD3 使能 0: 禁止 RXD 重复到 TXD3 (P1.5) 1: 使能 RXD 重复到 TXD3 (P1.5) Bit 6: RTX2E, RXD 重复到 TXD2 使能 0: 禁止 RXD 重复到 TXD2 (P1.3) 1: 使能 RXD 重复到 TXD2 (P1.3). 78/93

79 Bit 5: RTX1E, RXD 重复到 TXD1 使能 0: 禁止 RXD 重复到 TXD1 (P1.2) 1: 使能 RXD 重复到 TXD1 (P1.2) Bit 4: RTX0E, RXD 重复到 TXD0 使能 0: 禁止 RXD 重复到 TXD0 (P3.1). 1: 使能 RXD 重复到 TXD0 (P3.1). Bit 3~2: 保留 当 AUXR1 需要改写时这两位必须写入 0 Bit 1~0: RXD 通道选择 RXCS[1:0] RXD 通道选择 00 P P P P1.4 AUXR2: 辅助寄存器 2 辅助寄存器 2 地址 = 0xA3 复位初始值 = URXR BTI URM0X6 SMOD2 T1X12 T0X12 T1CKOE T0CKOE R/W R/W R/W R/W R/W R/W R/W R/W Bit 7: URXR, 串行口 RX 选项 0: 清零是禁止此选项 1: 设置是使能此选项 Bit 6: BTI, 阻止 TI 在串行口中断 0: 保留 TI 作为串行口中断源 1: 阻止 TI 作为串行口中断源 Bit 5: URM0X6, 串行口模式 0 波特率选择 0: 清零是选择 SYSCLK/12 作为串行口模式 0 波特率 1: 设置是选择 SYSCLK/2 作为串行口模式 0 波特率 Bit 4: SMOD2, 额外的波特率 X2/X4 选择 0: 使能额外的波特率 X2/X4 1: 禁止额外的波特率 X2/X4 Bit 3: T1X12, 当 C/T=0 时, 定时器 1 时钟源选择 0: 清零是选择 SYSCLK/12 作为定时器 1 时钟源 1: 设置是选择 SYSCLK 作为定时器 1 时钟源 Bit 2: T0X12, 当 C/T=0 时, 定时器 0 时钟源选择 0: 清零是选择 SYSCLK/12 作为定时器 0 时钟源 1: 设置是选择 SYSCLK 作为定时器 0 时钟源 Bit 1: T1CKOE, 定时器 1 时钟输出使能 0: 禁止定时器 1 时钟输出 1: 使能定时器 1 时钟输出 Bit 0: T0CKOE, 定时器 0 时钟输出 0: 禁止定时器 0 时钟输出 1: 使能定时器 0 时钟 P3.4 输出 79/93

80 22. 最大绝对额定值 MG86FE104 参数额定值单位 工作温度 -40 ~ +85 C 存储温度 -65 ~ C 所有输入输出口及复位脚对 VSS 电压 -0.5 ~ VDD V VDD 对 VSS 电压 -0.5 ~ +6.0 V VDD 对 VSS 的最大电流 400 ma 任意端口最大输出灌电流 40 ma * 注 : 器件超过 极限参数范围 " 可能导致永久性损坏 工作或者存储超出这个范围是不推荐的, 且可能影响器件的可靠性 MG86FL104 参数 额定值 单位 工作温度 -40 ~ +85 C 存储温度 -65 ~ C 所有输入输出口及复位脚对 VSS 电压 -0.3 ~ VDD V VDD 对 VSS 电压 -0.3 ~ +4.2 V VDD 对 VSS 的最大电流 400 ma 任意端口最大输出灌电流 40 ma * 注 : 器件超过 极限参数范围 " 可能导致永久性损坏 工作或者存储超出这个范围是不推荐的, 且可能影响器件 的可靠性 80/93

81 23. 电气特性 直流特性 VSS = 0V, TA = 25, VDD = 5.0V 并且 CPU 空运行, 除非另外说明 符号 参数 测试条件 界限最小典型最大 单位 V IH1 输入高电压 ( 所有输入输出口 ) 2.0 V V IH2 输入高电压 ( 复位脚 ) 3.5 V V IL1 输入低电压 ( 所有输入输出口 ) 0.8 V V IL2 输入低电压 ( 复位脚 ) 1.6 V I IH 输入高漏电流 ( 所有输入输出口 ) V PIN = VDD 0 10 ua I IL1 逻辑电平 0 输入电流 ( 所有准双向输入输出 V PIN = 0.4V ua 口 ) I IL2 逻辑电平 0 输入电流 ( 所有输入口或漏极开 V PIN = 0.4V 0 10 ua 路口 ) I H2L 逻辑电平从 1 到 0 输入转换电流 ( 所有准双向输入输出口 ) V PIN =1.8V ua I OH1 输出高时电流 ( 所有准双向输入输出口 ) V PIN =2.4V ua I OH2 输出高时电流 ( 所有推挽式输出口 ) V PIN =2.4V 12 ma I OL1 输出低时电流 ( 所有输入输出口 ) V PIN =0.4V 12 ma I OL2 输出低时电流 (ALE, PSEN) V PIN =0.4V 12 ma I OP 工作电流 F OSC = 20MHz TBD ma I IDLE 闲置模式电流 F OSC = 20MHz TBD ma I PD 掉电模式电流 TBD ua R RST 内置复位下拉电阻 100 Kohm VSS = 0V, TA = 25, VDD = 3.3V 并且 CPU 空运行, 除非另外说明 符号 参数 测试条件 界限最小典型最大 单位 V IH1 输入高电压 ( 所有输入输出口 ) 2.0 V V IH2 输入高电压 ( 复位脚 ) 2.8 V V IL1 输入低电压 ( 所有输入输出口 ) 0.8 V V IL2 输入低电压 ( 复位脚 ) 1.5 V I IH 输入高漏电流 ( 所有输入输出口 ) V PIN = VDD 0 10 ua I IL1 逻辑电平 0 输入电流 ( 所有准双向输入输出 V PIN = 0.4V 7 30 ua 口 ) I IL2 逻辑电平 0 输入电流 ( 所有输入口或漏极开 V PIN = 0.4V 0 10 ua 路口 ) I H2L 逻辑电平从 1 到 0 输入转换电流 ( 所有准双向输入输出口 ) V PIN =1.8V ua I OH1 输出高时电流 ( 所有准双向输入输出口 ) V PIN =2.4V ua I OH2 输出高时电流 ( 所有推挽式输出口 ) V PIN =2.4V 4 ma I OL1 输出低时电流 ( 所有输入输出口 ) V PIN =0.4V 8 ma I OL2 输出低时电流 (ALE, PSEN) V PIN =0.4V 8 ma I OP 工作电流 F OSC = 20MHz TBD ma I IDLE 闲置模式电流 F OSC = 20MHz TBD ma I PD 掉电模式电流 TBD ua R RST 内置复位下拉电阻 200 Kohm 81/93

82 23.2. 交流特性 82/93

83 24. 封装尺寸 PDIP-20 83/93

84 PDIP-16 84/93

85 SOP-20 85/93

86 SOP-16 86/93

87 SOP-8 87/93

88 25. 指令集 Rn 暂存器 R0~R7 direct 8 位内部存储器, 包括 1. 内部存储器 (00~7F) 的地址 2. 特殊功能寄存器 (80~FF) 的地址, 如 P0,PSW,TMOD, 由寄存器 R0 或 R1 所索引的内部 RAM 数据 #data 8 位常数 #data16 16 位常数 Addr16 16 位的目的地址, 可使跳转指令跳转 64K Addr11 11 位的目的地址, 可使跳转指令跳转 2K rel 有正负号的 8 位地址偏移量, 用于相对地址的跳转 bit 1 个 bit: 指所有可以位寻址的的位元 A 累加器 Acc C 或 CY 进位标志 AC 辅助进位标志 Bb 指定位元 B0~B7 D 半位元组 (4bit) F0 旗号 0 I 中断 PC 程序计数器 SP 堆栈 B 寄存器 B DPTR 间接寻址符号 $ 程序计数器当前的值 reg 寄存器 助记符 描述 长度 ( 字节 ) 周期 ( 时钟 ) 数据传送 MOV A,Rn 寄存器 Rn 中的内容送到累加器中 1 1 MOV A,direct 直接地址单元中的内容送到累加器中 2 2 MOV A,@Ri 工作寄存器 Ri 指向的地址单元中的内容送到累加器中 1 2 MOV A,#data 立即数送到累加器中 2 2 MOV Rn,A 累加器中内容送到寄存器 Rn 中 1 2 MOV Rn,direct 直接寻址单元中的内容送到寄存器 Rn 中 /93

89 89/93 MA86E/L104 MOV Rn,#data 立即数直接送到寄存器 Rn 中 2 2 MOV direct,a 累加器送到直接地址单元 2 3 MOV direct,rn 寄存器 Rn 中的内容送到直接地址单元 2 3 MOV direct,direct 直接地址单元中的内容送到另一个直接地址单元 3 4 MOV direct,@ri 工作寄存器 Ri 指向的地址单元中的内容送到直接地址 单元 2 4 MOV direct,#data 立即数送到直接地址单元 3 3 累加器送到以工作寄存器 Ri 指向的地址单元中 1 3 直接地址单元中内容送到以工作寄存器 Ri 指向的地址 单元中 2 3 立即数送到以工作寄存器 Ri 指向的地址单元中 2 3 MOV DPTR,#data16 16 位常数的高 8 位送到 DPH, 低 8 位送到 DPL 3 3 MOVC A,@A+DPTR 以 DPTR 为基地址变址寻址单元中的内容送到累加器中 1 4 MOVC A,@A+PC 以 PC 为基地址变址寻址单元中的内容送到累加器中 1 4 MOVX A,@Ri 1 不支持 MOVX A,@DPTR 1 不支持 1 不支持 1 不支持 MOVX A,@Ri 1 不支持 MOVX A,@DPTR 1 不支持 1 不支持 1 不支持 PUSH direct 直接地址单元中的数据压入堆栈中 2 4 POP direct 出栈数据送到直接地址单元中 2 3 XCH A,Rn 累加器与寄存器 Rn 中的内容互换 1 3 XCH A,direct 累加器与直接地址单元中的内容互换 2 4 XCH A,@Ri 累加器与工作寄存器 Ri 指向的地址单元中内容互换 1 4 XCHD A,@Ri 算术运算 S 累加器与工作寄存器 Ri 指向的地址单元中内容低半字 节互换 1 4 ADD A,Rn Acc Acc+Rn 1 2 ADD A,direct Acc Acc+direct 2 3 ADD A,@Ri Acc Acc+Ri 1 3 ADD A,#data Acc Acc+data 2 2 ADDC A,Rn Acc Acc+Rn+C 1 2

90 ADDC A,direct Acc Acc+direct+C 2 3 ADDC A,@Ri Acc Acc+Ri+C 1 3 ADDC A,#data Acc Acc+data+C 2 2 SUBB A,Rn Acc Acc-Rn-C 1 2 SUBB A,direct Acc Acc-direct-C 2 3 SUBB A,@Ri Acc Acc-Ri-C 1 3 SUBB A,#data Acc Acc-data-C 2 2 INC A Acc Acc INC Rn Rn Rn INC direct direct direct Ri Ri DEC A DPTR DPTR DEC Rn Acc Acc DEC direct Rn Rn direct direct INC DPTR Ri Ri MUL AB 两数相乘, 结果高八位存入 B, 低八位存入 A 1 4 DIV AB Acc 除以 B, 商存入 Acc, 余数存入 B 1 5 DA A Acc 作十进制调整 1 4 逻辑运算 ANL A,Rn 累加器和寄存器 Rn 中的内容相 与 " 1 2 ANL A,direct 累加器和直接地址单元中的内容相 与 " 2 3 ANL A,@Ri 累加器和工作寄存器 Ri 指向的地址单元中的内容相 1 3 与 " ANL A,#data 累加器和立即数相 与 " 2 2 ANL direct,a 直接地址单元中的内容和累加器相 与 " 2 4 ANL direct,#data 直接地址单元中的内容和立即数相 与 " 3 4 ORL A,Rn 累加器和寄存器 Rn 中的内容相 或 " 1 2 ORL A,direct 累加器和直接地址单元中的内容相 或 " 2 3 ORL A,@Ri 累加器和工作寄存器 Ri 指向的地址单元中的内容相 1 3 或 " ORL A,#data 累加器和立即数相 或 " 2 2 ORL direct,a 直接地址单元中的内容和累加器相 或 " 2 4 ORL direct,#data 直接地址单元中的内容和立即数相 或 " /93

91 XRL A,Rn 累加器和寄存器 Rn 中的内容相 异或 " 1 2 XRL A,direct 累加器和直接地址单元中的内容相 异或 " 2 3 XRL A,@Ri 累加器和工作寄存器 Ri 指向的地址单元中的内容相 异 1 3 或 " XRL A,#data 累加器和立即数相 异或 " 2 2 XRL direct,a 直接地址单元中的内容和累加器相 异或 " 2 4 XRL direct,#data 直接地址单元中的内容和立即数相 异或 " 3 4 CLR A 累加器内容清 0" 1 1 CPL A 累加器按位取反 1 2 RL A 累加器循环左移一位 1 1 RLC A 累加器连同进位位 CY 循环左移一位 1 1 RR A 累加器循环右移一位 1 1 RRC A 累加器连同进位位 CY 循环右移一位 1 1 SWAP A 累加器高低半字节互换 1 1 位逻辑运算 CLR C 清 0" 进位位 1 1 CLR bit 清 0" 直接地址位 2 4 SETB C 置 1" 进位位 1 1 SETB bit 置 1" 直接地址位 2 4 CPL C 进位位求反 1 1 CPL bit 直接地址位求反 2 4 ANL C,bit 进位位和直接地址位相 与 " 2 3 ANL C,/bit 进位位和直接地址位的反码相 与 " 2 3 ORL C,bit 进位位和直接地址位相 或 " 2 3 ORL C,/bit 进位位和直接地址位的反码相 或 " 2 3 MOV C,bit 直接地址位数据送入进位位 2 3 MOV bit,c 进位位数据送入直接地址位 2 4 位逻辑跳转 JC rel 进位位为 1" 则转移 2 3 JNC rel 进位位为 0" 则转移 2 3 JB bit,rel 直接地址位为 1" 则转移 3 4 JNB bit,rel 直接地址位为 0" 则转移 3 4 JBC bit,rel 直接地址位为 1" 则转移, 且清 0" 该位 /93

92 程序跳转 ACALL addr11 绝对短调用子程序,2K 字节 ( 页内 ) 空间限制 2 6 LCALL addr16 绝对长调用子程序,64K 字节空间限制 3 6 RET 子程序返回 1 4 RETI 中断子程序返回 1 4 AJMP addr11 绝对短转移,2K 字节 ( 页内 ) 空间限制 2 3 LJMP addr16 绝对长转移,64K 字节空间限制 3 4 SJMP rel 相对转移 2 3 转移到 DPTR 加 ACC 所指间接地址 1 3 JZ rel 累加器为 0" 则转移 2 3 JNZ rel 累加器不为 0" 则转移 2 3 CJNE A,direct,rel 累加器中的内容不等于直接地址单元的内容, 则转移到 3 5 偏移量所指向的地址, 否则程序往下执行 CJNE A,#data,rel 累加器中的内容不等于立即数, 则转移到偏移量所指向 3 4 的地址, 否则程序往下执行 CJNE Rn,#data,rel 寄存器 Rn 中的内容不等于立即数, 则转移到偏移量所指 3 4 向的地址, 否则程序往下执行 工作寄存器 Ri 指向的地址单元中的内容不等于立即数, 3 5 则转移到偏移量所指向的地址, 否则程序往下执行 DJNZ Rn,rel 寄存器 Rn 中的内容减 1, 如不等于 0, 则转移到偏移量 2 4 所指向的地址, 否则程序往下执行 DJNZ direct,rel 直接地址单元中的内容减 1, 如不等于 0, 则转移到偏 3 5 移量所指向的地址, 否则程序往下执行 NOP 空操作指令 /93

93 26. 修订历史 版本描述日期 V MA86E/L104 初次版本 2011/05/13 V1.22 新增 8-pin 封装管脚 2011/06/07 新增 8-pin 封装管脚 2011/06/08 V1.23 V1.24 新增管腳封裝型號 2011/06/21 93/93

W77E58中文手册

W77E58中文手册 W77E58 77E58 8051 8051 8051 77E58 8051 1.5 3 COMS 32K EEPROM 1K SRAM 1 8 2 40M 4 3 8051 4 8051 5 4 8 I/O 6 4 I/O 44 PLCC QFP 7 16 / 8 12 9 10 11 1K 12 13 16 DPTR 14 15 DIP40 W77E58 25/40 PLCC44 W77E58P

More information

DPJJX1.DOC

DPJJX1.DOC 8051 111 2K 1 2 3 ' ' 1 CPU RAM ROM / A/D D/A PC CPU 40 68 10 20 8 51 PIII 8051 2 MCS51 8051 8031 89C51 8051 8031 89C51? MCS51 INTEL INTEL 8031 8051 8751 8032 8052 8752 8051 8051 8051 MCS51 8031 8031

More information

Microsoft Word - 專題封面.doc

Microsoft Word - 專題封面.doc 逢 甲 大 學 資 訊 工 程 學 系 專 題 研 究 報 告 8051 小 遊 戲 -21 點 指 導 教 授 : 陳 德 生 學 生 : 許 博 益 中 華 民 國 九 十 六 年 六 月 I 目 錄 第 一 章 緒 論 1 1-1 研 究 背 景 1 1-2 研 究 動 機 2 1-3 研 究 目 的 3 1-3-1 21 點 源 起 3 1-3-2 21 點 規 則 3 第 二 章 微 電

More information

128K Flash EPROM 的程序?\(Bank=64K\) 切?

128K Flash EPROM 的程序?\(Bank=64K\) 切? 应用说明 华邦 8 位单片机 (8051 内核 ) 应用说明 华邦 8 位单片机 (8051 内核 ) ANSC-UC08-0007 目录 - 1. 应用说明 :...4 1.1...4 1.2 相关寄存器介绍...4 1.2.1 串行口控制寄存器 (SCON)... 4 1.2.2 串行数据缓冲寄存器 (SBUF)... 5 1.2.3 串行口控制 1 (SCON1)... 5 1.2.4 串行数据接收缓冲

More information

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe   Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L 1 SH88F516 8051 64K FLASH 1024 EEPROM SH88F516 JET51 S-Lab Keil µ vision ISP51 Keil µ vision ISP51 ISP51 PC RS232 MCU SH88F516 SH88F516 1.1 SH88F516 1.1 SH88F516 SH88Fxx: QFP44, DIP40 RAM Flash E2 ADC

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0 SH79F6431 1. SH79F6431 1T 8051 FLASH SH79F JET51 Keil µ vision JTAG 1.1. SH79F6431 LQFP64 1.2. (Target Board) SH79F6431 1 V 1.0 1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F6431 1 2 1 B. 1(VCC/GND)

More information

MG103_DS_CN_V101

MG103_DS_CN_V101 数据手册 版本 1.01 QP-7300-03D 1/60 目录 01. 概述... 74 12. 功能... 75 23. 引脚... 86 3.1. 封装...86 43.2. 引脚定义...87 54. 方框图...8 65. 特殊功能寄存器 SFR... 89 75.1. SFR 映射表...89 85.2. SFR 位分配...810 96. 8051 CPU 功能描述... 811 16.1.

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 [email protected] C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

5. P0.0 P0.7 P0 4 2 P0.3~P0.6 ADC P1.0 P P1.2(SCL) P1.3(SDA) P1.5 RST P1.5 2 XTAL1(P2.1) 1 XTAL0(P2.0) 2 XTAL1 I/O VDD VSS 6. H5815 4T 16K Flas

5. P0.0 P0.7 P0 4 2 P0.3~P0.6 ADC P1.0 P P1.2(SCL) P1.3(SDA) P1.5 RST P1.5 2 XTAL1(P2.1) 1 XTAL0(P2.0) 2 XTAL1 I/O VDD VSS 6. H5815 4T 16K Flas H5815 1. H5815 H5815 3 H5815 8052 16K Flash EPROM 256 NVM Flash EPROM 256 RAM 2 8 1 2 I/O 16-2 / 4 10 AD 4 10 PWM 1 I2C 1 UART 13 4 H5815 2. 4T 51 20MHZVDD=2.7V~ 16K Flash EPROM 256 RAM 256 NVM FLASH EPROM

More information

MPC89LE51_52_53_54_58_515

MPC89LE51_52_53_54_58_515 5 8 bit micro controller 1 特性...2 2 引脚...3 2.1 引脚图...3 2.1 引脚定义...4 3 方框图...6 4 特殊功能寄存器...7 辅助寄存器 AUXR 和 AUXR1...8 5 存储器...9 5.1 RAM...9 MPC89x54/58/515 RAM 空间 (00 7F 可直接或间接寻址 )...9 MPC89x51/5 2/53 RAM

More information

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

at89S52.doc

at89S52.doc 主要性能 与 MCS-51 单片机产品兼容 8K 字节在系统可编程 Flash 存储器 1000 次擦写周期 全静态操作 :0Hz~33Hz 三级加密程序存储器 32 个可编程 I/O 口线 三个 16 位定时器 / 计数器 八个中断源 全双工 UART 串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 8 位微控制器 8K 字节在系统可编程 Flash R 功能特性描述

More information

USB解决方案.ppt

USB解决方案.ppt USB USB? RS232 USB USB HID U modem ADSL cable modem IrDA Silabs USB CP210x USB UART USB RS-232 USB MCU 15 USB 12 FLASH MCU 3 USB MCU USB MCU C8051F32x 10 ADC 1.5%, Vref CPU 25MIPS 8051 16KB Flash -AMUX

More information

MA801_DS_CN

MA801_DS_CN 数据手册 版本 1.02 QP-7300-03D 1/71 目录 1. 概述...5 2. 功能...6 3. 引脚...7 3.1. 封装...7 3.2. 引脚定义...8 4. 方框图...9 5. 特殊功能寄存器 SFR...10 5.1. SFR 映射表...10 5.2. SFR 位分配...11 6. 8051 CPU 功能描述...12 6.1. CPU 寄存器...12 6.2.

More information

1

1 W7E65 1. W7E65 ISP Flash EPROM ISP Flash EPROM 52 W7E65 64K Flash EPROM 4K Flash EPROM 4K Flash EPROM loader 64K ROM 1K RAM 4 I/O 4 I/O P4 3 16 / 2 W7E65 Flash EPROM W7E65 2 2 2. CMOS 12 64K ISP Flash

More information

51 C 51 isp 10 C PCB C C C C KEIL

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

MPC82G516

MPC82G516 8051 内核 - 单片机 MPC82G516 規格书 北京菱电科技有限公司 TEL:010-82674978 版本 : A1.0 This document contains information on a new product under development by Megawin. Megawin reserves the right to change or discontinue this

More information

1 TPIS TPIS 2 2

1 TPIS TPIS 2 2 1 1 TPIS TPIS 2 2 1. 2. 3. 4. 3 3 4 5 4 TPIS TPIS 6 5 350 Mark Coil F3/F6 350 M 150 M 25 M 7.12M 8 M F3 F6 F4 F7 F8 8M AA 7 350 28V 5V IC HCPL2731 0.5mA 6 8 (TPIS) TPIS 9 7 IC AT89C2051 AT89C2051 CMOS8

More information

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x 115 AVR W.V. Awdrey ATMEL AVR PIC AVR PIC AVR RISC AVR PIC AVR AVR AVR AVR AVR ATtiny15 AVR AVR AVR RAM ROM 121 116 122 ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r31 3 16 X Y Z 6-1 118 7 0

More information

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc EEPROM 应用说明 1 适用产品 :SM59D03G2 SM59D04G2 series 2 应用范围 : 针对需使用 EEPORM 功能替换 STC 89C5X 的应用及汇编语言之范例程序 ( 使用内部扩充内存为暂存区 ) 3 功能说明 : 3.1 本公司上述产品 EEPORM 功能皆可替换 STC89C5X, 仅需对特殊功能缓存器定义 ( 详见表 1) 及 ISP 命令定义 ( 详见表 2)

More information

SH79F161B I/O 1. SH79F161B SH79F161B IO 30 I/O I/O 4 I/O SH79F161B 30 I/O Px I/O PxCRy I/O PxPCRy x = 0-3 y = IO PxCRy IO x=0-3 y=0-7

SH79F161B I/O 1. SH79F161B SH79F161B IO 30 I/O I/O 4 I/O SH79F161B 30 I/O Px I/O PxCRy I/O PxPCRy x = 0-3 y = IO PxCRy IO x=0-3 y=0-7 SH79F161B - 10 ADC 8051 V 1.0 SH79F161B I/O 1. SH79F161B 8051 8051 SH79F161B IO 30 I/O I/O 4 I/O SH79F161B 30 I/O Px I/O PxCRy I/O PxPCRy x = 0-3 y = 0-7 2. IO PxCRy IO x=0-3 y=0-7 PxPCRy IO x=0-3 y=0-7

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 [email protected] C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

General Description: Preliminary TTP916 Consumer IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC

General Description: Preliminary TTP916 Consumer IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC General Description: IC VCD/DVD LCD Green mode Stand-by mode( 1W ) Features: 2.2V-5.5V LCD RAM read condition 2.6V-5.5V RC 15K 300pF 256KHZ default on 32 function key Built-in TT6221/TT6222 decoder Provide

More information

PCM-3386用户手册.doc

PCM-3386用户手册.doc PCM-3386 BBPC-4x86 10/100M PC/104 (Lanry technology Co. Ltd. Zhuhai) 38 1012836 (Address: Room 1012,Linhai Building,No. 38,west of Shihua Road,Zhuhai City,Guangdong Province,China) (post code)519015 (phone)0756-3366659

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se 8051 8051 System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and setup. This type of robot uses two kinds of

More information

() () () () () () () () DDRAM () II

() () () () () () () () DDRAM () II 液晶模块说明书 SPEC NO YM2232A REV NO. 液晶显示模块产品说明书 产品类型 : 产品型号 : 产品描述 : 标准产品 YM2232A 22x32 图形点阵模块, 控制器 :SED52,LED 背光 客户名称 : 客户确认 : 编写 : Dexun Zou 审核 : HCC 批准 : Jingxi Yang 发行日期 : 22.8 大连佳显电子有限公司 地址 : 大连市沙河口区工华街

More information

CH559指令周期.doc

CH559指令周期.doc CH55X 汇编指令周期表 CH55X 汇编指令概述 : 型号包含 : a. 指令单周期型号 :CH557 CH558 CH559; b. 指令 4 周期型号 :CH551 CH552 CH553 CH554; c. 非跳转指令的指令周期数与指令字节数相同 ; d. 跳转指令含 MOVC/RET/CALL 通常比字节数多若干个周期 ; e.movc 指令多 4 或 5 个周期 ( 下条指令地址为奇数时多

More information

四位微控制器ML64168_ _.doc

四位微控制器ML64168_ _.doc SSSC /4168P 2005 8 4 4, (ADC), LCD Driver, (Buzzer), 1 3 CPU17 CPU 26 33 42 45 48 73 79 85 89 A/D 92 111 125 128 131 SSU4168P 133 143 A: / 153 B: 156 C: 158 D: 160 E: 161 F: 163 G: PAD 167 2 ,, 11 4 CMOS

More information

AT89C2051中文资料.doc

AT89C2051中文资料.doc 图形点阵液晶显示模块使用手册 TG12864C(L) 广州捷胜吉电子科技 地址 : 广州市天河区天河路 561# 新赛格电子城 B2226 电话 :(020)33550997 13829772038 网址 :WWW.GZJSJDZ.COM E-mail:[email protected] 目 录 ( 一 ) 概述 (1) ( 二 ) 外形尺寸图 (1) ( 三 ) 模块主要硬件构成说明 (2) ( 四 )

More information

第一章

第一章 单片机原理 STC15F2K60S2 微机原理与单片机接口技术复习要点 第一章微型计算机概述 ( 了解概念 ) 1.1.2 微型计算机基本构成 ( 基本结构由哪些部分构成 ) 1.1.3 单片微型计算机简介 ( 什么是单片机, 单片机的结构及各个部分的功能, 常见的单片机有哪些 ) 1>. 微型计算机基本构成 : 微处理器, 存储器 (ROM RAM) 与输入输出接口 (I/O 接口 ) 及外部设备及连接他们的系统总线组成

More information

33023A.book(31026A_cn.fm)

33023A.book(31026A_cn.fm) 26 第 26 章看门狗定时器与休眠模式 目录 看门狗定时器与休眠模式 本章包括下面一些主要内容 : 26.1 简介... 26-2 26.2 控制寄存器... 26-3 26.3 看门狗定时器 (WDT) 的操作... 26-4 26.4 休眠省电模式... 26-7 26.5 初始化... 26-9 26.6 设计技巧... 26-10 26.7 相关应用笔记... 26-11 26.8 版本历史...

More information

µPSD3000 系列

µPSD3000 系列 8032 FLASH MCU µpsd3251f-40t6 µpsd3251 8032 FlashPSD Flash SRAM I/O I 2 C, ADC and PWM 8032, 16 / FlashPSD µpsd32 JTAG ISP 2K SRAM Flash - 64K Flash - 16K Flash - Flash 8032 12 I2C ADC 6 I/O 37 I/O 16

More information

Microsoft Word - ~ doc

Microsoft Word - ~ doc 1 适用产品 : 1.1 SM59R16A5/ SM59R09A5/ SM59R05A5/ SM59R16A3/ SM59R09A3/ SM59R05A3 1.2 SM59R16G6/ SM59R09G6/ SM59R05G6 1.3 SM59R04A2/ SM59R04A1/ SM59R03A1/ SM59R02A1 1.4 SM59R16A2/ SM59R08A2 2 UART 差异如下说明 :

More information

untitled

untitled EDM12864-GR 1 24 1. ----------------------------------------------------3 2. ----------------------------------------------------3 3. ----------------------------------------------------3 4. -------------------------------------------------------6

More information

从MCS51向AVR的快速转换.PDF

从MCS51向AVR的快速转换.PDF MCS51 AVR MCS51 AVR ATMEL AVR RISC MCS51 AVR 1 MHZ 1MIPS 8MHZ AVR 224MHZ MCS51 FLASH EEPROM ISP WatchDog AVR MCS51 AT90S1200/2313 AT89C1051/2051 AT90S4414/8515 AT89C51/52 PCB / AVR C ICCAVR60 AVR C IAR

More information

Microsoft Word - ~ doc

Microsoft Word - ~ doc EEPROM 功能使用方法 1 适用产品 : 1.1 SM39R16A2/ SM39R12A2/ SM39R08A2 1.2 SM39R4051/ SM39R2051 1.3 SM39R04G1/ SM39R02G1 2 EEPROM 功能概述 : 2.1 使用 code flash 仿真为 Internal EEPROM, 在程序执行时, 可将 code flash 作为 data flash 储存数据使用

More information

XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 GHz 世界通用 ISM 频段, 它集

XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 GHz 世界通用 ISM 频段, 它集 XNS104 产品说明书 AD 型 2.4G 高速无线收发单片机概述 2.4GHz 高速无线收发单片机 XNS104 是一个带 12 位 ADC, 以 OTP 为程序存储基础, 带 2.4G 高速无线收发芯片的单片机 无线收发单元工作在 2.400--2.483GHz 世界通用 ISM 频段, 它集成射频收发通路 频率发生器 晶体振荡器 调制解调器等功能模块, 并且支持一对多组网和带 ACK 的通信模式

More information

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi SPHE8202R Design Guide V2.0 JUN, 2007 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com SPHE8202R Design Guide Important Notice

More information

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas 目录 1 IPv6 快速转发 1-1 1.1 IPv6 快速转发配置命令 1-1 1.1.1 display ipv6 fast-forwarding aging-time 1-1 1.1.2 display ipv6 fast-forwarding cache 1-1 1.1.3 ipv6 fast-forwarding aging-time 1-3 1.1.4 ipv6 fast-forwarding

More information

Microsoft Word - BL5372_UMAN_V1.1.doc

Microsoft Word - BL5372_UMAN_V1.1.doc 低 功 耗 实 时 时 钟 芯 (RTC)BL5372 用 户 手 册 V1.2 ( 2012.11.12) 上 海 贝 岭 股 份 有 限 公 司 Shanghai Belling Co., Ltd. 1. 概 述 低 功 耗 实 时 时 钟 芯 片 (RTC)BL5372 BL5372 是 一 款 低 功 耗 实 时 时 钟 电 路, 通 过 I 2 C 两 线 接 口 电 路 可 以 与 CPU

More information

Microsoft Word - mcu-an z-10.doc

Microsoft Word - mcu-an z-10.doc 富士通微电子 ( 上海 ) 有限公司应用笔记 MCU-AN-500007-Z-10 F²MC-8FX 家族 8 位微控制器 MB95200H/210H 系列 外部中断 应用笔记 变更履历 变更履历 日期作者修正记录 2008-03-20 Levi Zhang V1.0, 第一版 本手册共 22 页 1. 本文档记载的产品信息及规格说明如有变动, 恕不预先通知 如需最新产品信息和 / 或规格说明, 联系富士通销售代表或富士通授权分销商

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

Ps22Pdf

Ps22Pdf ( ) ( 150 ) 25 15 20 40 ( 25, 1, 25 ), 1. A. B. C. D. 2. A. B. C. D. 3., J = 1 H = 1 ( A B, J', J, H ) A. A = B = 1, J' =0 B. A = B = J' =1 C. A = J' =1, B =0 D. B = J' = 1, A = 0 4. AB + AB A. AB B. AB

More information

ICD ICD ICD ICD ICD

ICD ICD ICD ICD ICD MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4

More information

FM1935X智能非接触读写器芯片

FM1935X智能非接触读写器芯片 FM33A0xx MCU 2017. 05 2.0 1 (http://www.fmsh.com/) 2.0 2 ... 3 1... 4 1.1... 4 1.2... 4 1.3... 5 1.3.1... 5 1.3.2... 5 1.4... 8 1.4.1 LQFP100... 8 1.4.2 LQFP80... 9 1.4.3... 9 2... 15 2.1 LQFP100... 15

More information

PowerPoint Presentation

PowerPoint Presentation DALI 介绍 Digital Addressable Lighting Interface Mar 2017 DALI DALI: 数字地址化照明接口 (Digital Addressable Lighting Interface) 2 System structure example 3 DALI 2 the Standard IEC-62386 命令 DALI 协议定义双字节指令集, 指令分为标准指令和专用指令两大类

More information

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax) 2018 9 29 龙芯 版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) 010-62546668 (Fax) 010-62600826 阅读指南 龙芯 1C101 处理器数据手册 龙芯 1C101 修订历史 序号 更新日期 版本号

More information

untitled

untitled FBC0409 V1.0 1.0 05.06.22 SIA 2005 SIA SIA SIA SIA SIA 114 86-24-23970133 HTTP://WWW.SIA.CN [email protected] 2 ...5...5...6 PIN...6...7 1 CPU...8 2...8 4...8 5 DMA...9 7....9 8...9 9...10 A...10 B...10...11.

More information

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Terminal Mode No User User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Mon1 Cam-- Mon- Cam-- Prohibited M04 Mon1 Cam03 Mon1 Cam03

More information

, STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99

, STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99 , STC11F01-35C-SOP16 RMB 1.99 STC10F04-35C-LQFP44 R MB 2. 99 , STC12C5A08AD-35C-LQFP44,RMB 7.5 , STC12C5201AD-SOP16,RMB 2.49 STC12C5202AD-LQFP32,RMB 3.99 , , 0.1uF STC 89LE58 RD+ 32K 1280 16K+ 0.1uF

More information

Megawin

Megawin Megawin 8051 ISP-ICP Programmer 用户手册 By Vincent Y. C. Yu July(avenbbs) 译 This document information is the intellectual property of Megawin Technology Co., Ltd. 1 目 录 1 简介...3 1.1 二合一功能...3 1.2 ISP 和 ICP

More information

W79E825_824_823A_822A_SC6.PDF

W79E825_824_823A_822A_SC6.PDF 8- W79E825/824/823A/822A - 1.... 5 2.... 5 3.... 6 3.1 (RoHS)... 6 4.... 7 5.... 8 6.... 9 6.1 Flash EPROM... 9 6.2 I/O... 9 6.3 (UART)... 9 6.4... 9 6.5... 9 6.6... 10 6.7... 10 6.8 CPU... 10 6.8.1 ALU...10

More information

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS KS0108 KS0108 8 KS0107 KS0108 KS0108 128*32128*64 192*64 KS0108 KS0108 KS0107 KS0108 1 6464=4096 RAMRAM LCD 2KS0108 64 3KS0108 68 68 4KS0108 1/48--1/64 KS0108 CS1,CS2,CS3 CS1 CS2 CS3 E E KS0108 E R/W R/W=1

More information

Microsoft Word - IRFWX-A124_A_SM59D03G2_SM59D04G2_PCA_ APN_SC_.doc

Microsoft Word - IRFWX-A124_A_SM59D03G2_SM59D04G2_PCA_ APN_SC_.doc 可程序计数数组 (PCA) 功能使用方法 1 适用产品 :SM59D04G2,SM59D03G2 2 应用说明 : PCA 共有五组, 每组皆可工作于以下七种模式 : 捕获模式 - 正缘捕获模式 (Positive edge capture mode) 捕获模式 - 负缘捕获模式 (Negative edge capture mode) 捕获模式 - 正缘及负缘捕获模式 (Both positive

More information

7688使用手冊V10.doc

7688使用手冊V10.doc TP-7688 . 2 2. 3 3. 5 4. 5 5. 6 6. 7 7. 8 8. 9 9.. 4. 7 2 2., 7x9 / 6x9 7x9.3() x 3.()mm 6x9 2.84() x 3.()mm 3 ASCII 7x9 95 ASCII 6x9 95 6x9 7 BIG5 6x9 3973 6x9 28 7x9 24 24 55 6x9 2 2 27 4.23mm (/6 inch)

More information

12232A LED LED LED EL EL CCFL EL CCF

12232A LED LED LED EL EL CCFL EL CCF 12232A 0 50-20 +70-30 +85 LED LED LED EL EL CCFL EL CCF 122 x 32 1/32Duty 1/5Bias 6:00 STN( ), EL LED EL/100VAC 400HZ LED/4.2VDC 1 / VDD-VSS 0 6.5 V Ta=25 LCD VDD-V0 0 12.0 V V1 0 VDD V VDD-VSS - 4.75

More information

微處理機期末專題

微處理機期末專題 微 處 理 機 期 末 專 題 自 動 鋼 琴 組 員 :b92611004 羅 鈞 瑋 b92611008 吳 妍 儂 b92611038 吳 韋 靜 b92611042 林 佳 穎 一 簡 介 本 組 的 主 題 是 自 動 鋼 琴 在 播 放 音 樂 的 同 時, 鋼 琴 會 自 動 按 下 琴 鍵, 被 按 下 的 琴 鍵 所 對 應 到 的 音 階, 就 是 正 在 撥 放 的 樂 曲 的

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_15

Microsoft PowerPoint - C15_LECTURE_NOTE_15 THE 8051 MICROCONTROLLER THE 8051 MICROCONTROLLER 15.1 Introduction 15.2 The 8051 Architecture 15.3 Interfacing to External Memory 15.4 The 8051 Instruction Set 15.5 Timer Operations 15.6 Serial Port Operations

More information

79F161 V0.2

79F161 V0.2 SH88F2051 / 带 10 位 ADC 的 2051/4051 微控制器 1. 特性 基于 8051 兼容流水指令的 8 位单片机 Flash ROM:4K/8K 字节 RAM: 内部 256 字节, 外部 256 字节 片上 512 字节类 EEPROM 存储空间 工作电压 : fosc = 30kHz - 16.6MHz,VDD = 2.8V - 5.5V 振荡器 ( 代码选项 ): -

More information

untitled

untitled EDM12832-08 : 25-1 : 116600 : (0411)7612956 7632020 7631122 : (0411)7612958 Model No.: Editor: LCD 1. ----------------------------------------------------3 2. ----------------------------------------------------3

More information

2 12

2 12 SHENZHEN BRILLIANT CRYSTAL TECHNOLOGIC CO.,LTD. The specification for the following models Graphic LCM serial communication control board CB001 PROPOSED BY APPROVED Design Approved TEL:+86-755-29995238

More information

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C AUTOMATIC TROLLEY H K Hwang K K Chen J-S Lin S-C Wang M-L Li C-C Lin W-B Lin Dept. Of Electrical Engineering Far East College ABSTRACT This paper proposes an automatic trolley which can move automatically

More information

SC91F711v1.2

SC91F711v1.2 ADC 型宽电压 1T 8051 内核 8 脚 Flash MCU 目录 目录... 1 1 总体描述... 4 2 主要特色... 4 3 管脚定义... 5 3.1 管脚配置... 5 3.2 管脚定义... 5 4 内部方框图... 7 5 FLASH ROM 和 SRAM 结构... 8 5.1 flash rom... 8 5.2 Code Option 区域 ( 用户烧写设置 )...

More information

AT89S51

AT89S51 AT89S51 中文资料 AT89S51 是美国 ATMEL 公司生产的低功耗, 高性能 CMOS8 位单片机, 片内含 4kbytes 的可系统编程的 Flash 只读程序存储器, 器件采用 ATMEL 公司的高密度 非易失性存储技术生产, 兼容标准 8051 指令系统及引脚 它集 Flash 程序存储器既可在线编程 ( ISP) 也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,ATMEL

More information

单片机原理及应用实验指导书.doc

单片机原理及应用实验指导书.doc 1 2 3 4...2...4...9...9 AEDK598 MCS51...9 MCS51...10...10...10...10...10...10...11 P1...12...12...12....12...12...13 P3...14...14...14...14...14...14 I/O...15...15...15...15...15...16...17...17...17...17...17...18...19...19

More information

2005.book

2005.book ...4... 4... 7...10... 10... 10... 10... 10... 11... 11 PCC... 11 TB170... 12 /... 12...13... 13 BP150 / BP151 / BP152 / BP155... 14...15... 15... 15... 15... 15... 15... 15... 16 PS465 / PS477... 17 PS692

More information

79F161 V0.2

79F161 V0.2 带 10 位 ADC 的增强型 8051 微控制器 1. 特性 基于 8051 指令流水线结构的 8 位单片机 Flash ROM:16K 字节 RAM: 内部 256 字节, 外部 512 字节 工作电压 : - f OSC = 400kHz - 16MHz,V DD = 3.6V - 5.5V 振荡器 ( 代码选项 ): - 晶体谐振器 :400kHz - 16MHz - 陶瓷谐振器 :400kHz

More information

2 PIC PIC 1 / CPU PIC MCU PIC RC

2 PIC PIC 1 / CPU PIC MCU PIC RC 2 PIC PIC 1 /... 2-2 2... 2-3 3... 2-4 4... 2-4 5... 2-4 6 CPU... 2-5 7 PIC MCU... 2-6 8 PIC16... 2-6 9... 2-7 10... 2-7 11 RC... 2-7 12... 2-8 13... 2-8 14 NOP... 2-9 15 PMD... 2-9 16... 2-10 17 WDTWDT...

More information

DS_MM32P021_Ver1.9.0

DS_MM32P021_Ver1.9.0 产品手册 Datasheet MM32P021 32 位基于 ARM Cortex M0 核心的微控制器 版本 :1.9.0 保留不通知的情况下, 更改相关资料的权利 目录 1. 总介... 5 1.1 概述... 5 1.2 产品特性... 5 2. 规格说明... 6 2.1 器件对比... 6 2.2 功能简述... 6 3. 引脚定义... 7 3.1 引脚配置... 7 3.2 引脚描述...

More information

Microsoft Word - FM12232C.doc

Microsoft Word - FM12232C.doc SPEC NO YM2232C REV NO. : YM2232C : 22x32 SED52 LED : Dexun Zou HCC : Jingxi Yang : 22.8 目 录 ( 一 ) 基本特性 () ( 二 ) 限定参数 () ( 三 ) 直流特性 (2) ( 四 ) 交流特性 (2) ( 五 ) 机械尺寸图 (3) ( 六 ) 原理图 (3) ( 七 ) DDRAM 地址表 (4)

More information

untitled

untitled 0755 85286856 0755 82484849 路 4.5V ~5.5V 流 @VDD=5.0V,

More information

SC91F844

SC91F844 目录 目录... 1 1 总体描述... 4 2 主要特色... 4 3 管脚定义... 5 3.1 管脚配置... 5 3.2 管脚定义... 6 4 内部方框图... 8 5 FLASH ROM 和 SRAM 结构... 9 5.1 FLASH ROM... 9 5.2 CODE OPTION 区域 ( 用户烧写设置 )... 10 5.3 SRAM... 10 6 特殊功能寄存器 (SFR)...

More information