第1章NEC公司单片机 ●8位分辨率的A/D转换器有8个通道。 。8位分辨率的D/A转换器有2个通道。 共有3个通道串行接口: -3线串行1/O,SB1,2线串行1/0方式有1个通道: -3线模式(自动收发功能)有1个通道: -3线UART模式有1个通道 ●定时器有5个通道: -16位定时器/事件计数器有1个通道 -8位定时器/事件计数器有2个通首: 一监视定时器有1个通道: -看门狗定时有1个通道。 ·22个中断向量,2个测试输入 ●2个内部时钟晶振器(主系统时钟和子系统时钟)。 。电源范围:2.06.0V。 PD78054系列可用于移动手机、BP机、打印机、AV设备、空调、数码相机、模拟家电、自 动售货机等场合。 1.1.1μPD78054芯片端口介绍 1.PORT0(P00~P07) PORT0除了可以做1/O端口外,还可用做外部中断输入、外部计数时钟输入和连接子系 统的时钟晶振。工作模式有端口模式和控制模式两种。 (1)端口模式 P00和P07只能作为输入端口,而P01~P06可作为双向1/O端口。P01~P06可以通过 端口模式寄存器0(PM0)设置为输入或输出。当作为输入时,可通过上拉电阻选择寄存器L 设置是否连接上拉电阻。 (2】控利模式 在该模式下,PO0P07瑞口可作为外部中断输入、外部时钟输入至定时器,或子系统时钟 晶振连接。INTPO-~INTP6/PO0~PO6是外部中断输入脚(可定义为上升沿触发或下降沿触 发)。其中: 。INTP0和INTP1为16位计时器/事件计数器,用于捕捉输入信号: 。TI00用于外部计数时钟输入到16位计时器/事件计数器; ·TI01用于捕捉触发信号送至16位计时器/计数器捕捉寄存器(CR00): 。XT1/P07是子系统晶振连接脚。 2.P0RT1(P10~P17) PORT1除了用做1/O端口外,还可以用做A/D转换的模拟信号输入端口。 (1)端口模式 通过设置端口模式寄存器1(PM1)可以设置P1口作为输入或输出端口。当其作为输入 端口时,可通过上拉电阻选择寄存器L来设置是否连接上拉电阻。 (2)控制模式
? 8位分辨率的 A/D转换器有8个通道。 ? 8位分辨率的 D/A 转换器有2个通道。 ? 共有3个通道串行接口: 3线串行I/O,SBI,2线串行I/O 方式有1个通道; 3线模式(自动收发功能)有1个通道; 3线 UART 模式有1个通道 ? 定时器有5个通道: 16位定时器/事件计数器有1个通道; 8位定时器/事件计数器有2个通道; 监视定时器有1个通道; 看门狗定时有1个通道。 ? 22个中断向量,2个测试输入。 ? 2个内部时钟晶振器(主系统时钟和子系统时钟)。 ? 电源范围:2.0~6.0V。 μPD78054系列可用于移动手机、BP机、打印机、AV 设备、空调、数码相机、模拟家电、自 动售货机等场合。 1.1.1 μPD78054芯片端口介绍 1.PORT0(P00~P07) PORT0除了可以做I/O 端口外,还可用做外部中断输入、外部计数时钟输入和连接子系 统的时钟晶振。工作模式有端口模式和控制模式两种。 (1)端口模式 P00和 P07只能作为输入端口,而 P01~P06可作为双向I/O 端口。P01~P06可以通过 端口模式寄存器0(PM0)设置为输入或输出。当作为输入时,可通过上拉电阻选择寄存器 L 设置是否连接上拉电阻。 (2)控制模式 在该模式下,P00~P07端口可作为外部中断输入、外部时钟输入至定时器,或子系统时钟 晶振连接。INTP0~INTP6/P00~P06是外部中断输入脚(可定义为上升沿触发或下降沿触 发)。其中: ?INTP0和INTP1为16位计时器/事件计数器,用于捕捉输入信号; ? TI00用于外部计数时钟输入到16位计时器/事件计数器; ? TI01用于捕捉触发信号送至16位计时器/计数器捕捉寄存器(CR00); ? XT1/P07是子系统晶振连接脚。 2.PORT1(P10~P17) PORT1除了用做I/O 端口外,还可以用做 A/D转换的模拟信号输入端口。 (1)端口模式 通过设置端口模式寄存器1(PM1)可以设置 P1口作为输入或输出端口。当其作为输入 端口时,可通过上拉电阻选择寄存器 L来设置是否连接上拉电阻。 (2)控制模式 第1章 NEC公司单片机 5
世界流行单片机技术手册—日本系列 PORT1可作为A/D转换的模拟信号的输入引脚, 3.P0RT2(P20~P27) PORT2除了作1/O端口外,还可以作为串行接口的数据输入/输出、时钟的输入/输出、 自动发送/接收的忙标志输入信号和选通输出信号。 (1】岩口模式 通过设置端口模式寄存器2(PM2)可以设置P2口作为输入或输出端口。当其作为输入 端口时,可通过上拉电阻选择寄存器L来设置是否连接上拉电阻。 (2)控制模式 可作为串行接口的数据输入/输出、时钟的输入/输出、自动收/发忙标志输入和选通输出, 其中 ●SI0、SI1、SO0、SO1:串行接口的数据输入或输出: ●SCKO,SCKI,串行接口时钟的输入或输出; ·SBO、SB1:NEC标准串行总线接口的输入/输出脚 ●BUSY:串行接口自动收/发忙标志输入; ·STB:串行接口自动收/发的选通输出信号。 4.PORT3(P30~P37) PORT3除了作1/O端口外,还可用于定时器输入/输出、时钟输出和蜂鸣输出。 (1)端口模式 通过设置端口模式寄存器3(PM3)可以设置P3口作为输入或输出端口。当PORT3作为 输入端口时,可通过上拉电阻选择寄存器L来设置是否连接上拉电阻。 (2)控制模式 。T11、T12:外部时钟输入到8位定时器/事件计数器。 ·TO0、TO1、TO2:定时器输出。 ●PCLL:时钟输出 ●BU2:蜂鸣输出。 5.PORT4(P40~P47) PORT4除了作1/O端口外,还可作地址/数据复用总线 (1)端口模式 通过设置端口模式寄存器4(PM4)可以设置P4口作为输入或输出端口。当PORT4作为 输入端口时,可通过上拉电阻选择寄存器L来设置是否连接上拉电阻。 2)控制模式 当访问外部扩展存储器时,作为地址低8位/数据复用总线。当使用该方式时,片内的上 拉电阻自动断开。 6.P0RT5(P50~P57) PORT5除了作为8位的输入/输出端口外,还可以作为地址总线。该端口可以直接 驱动LED, (1)端口模式 通过设置端口模式寄存器5(PM5)可以设置P5口作为输入或输出端口。当PORT5作为 输入端口时,可通过上拉电阻选择寄存器L来设置是否连接上拉电阻
PORT1可作为 A/D转换的模拟信号的输入引脚。 3.PORT2(P20~P27) PORT2除了作I/O 端口外,还可以作为串行接口的数 据 输 入/输 出、时 钟 的 输 入/输 出、 自动发送/接收的忙标志输入信号和选通输出信号。 (1)端口模式 通过设置端口模式寄存器2(PM2)可以设置 P2口作为输入或输出端口。当其作为输入 端口时,可通过上拉电阻选择寄存器 L来设置是否连接上拉电阻。 (2)控制模式 可作为串行接口的数据输入/输出、时钟的输入/输出、自动收/发忙标志输入和选通输出, 其中: ? SI0、SI1、SO0、SO1:串行接口的数据输入或输出; ? SCK0、SCK1:串行接口时钟的输入或输出; ? SB0、SB1:NEC标准串行总线接口的输入/输出脚; ? BUSY:串行接口自动收/发忙标志输入; ? STB:串行接口自动收/发的选通输出信号。 4.PORT3(P30~P37) PORT3除了作I/O 端口外,还可用于定时器输入/输出、时钟输出和蜂鸣输出。 (1)端口模式 通过设置端口模式寄存器3(PM3)可以设置P3口作为输入或输出端口。当PORT3作为 输入端口时,可通过上拉电阻选择寄存器 L来设置是否连接上拉电阻。 (2)控制模式 ? TI1、TI2:外部时钟输入到8位定时器/事件计数器。 ? TO0、TO1、TO2:定时器输出。 ? PCLL:时钟输出。 ? BU2:蜂鸣输出。 5.PORT4(P40~P47) PORT4除了作I/O 端口外,还可作地址/数据复用总线。 (1)端口模式 通过设置端口模式寄存器4(PM4)可以设置P4口作为输入或输出端口。当PORT4作为 输入端口时,可通过上拉电阻选择寄存器 L来设置是否连接上拉电阻。 (2)控制模式 当访问外部扩展存储器时,作为地址低8位/数据复用总线。当使用该方式时,片内的上 拉电阻自动断开。 6.PORT5(P50~P57) PORT5除 了 作 为 8 位 的 输 入/输 出 端 口 外,还 可 以 作 为 地 址 总 线。该 端 口 可 以 直 接 驱动 LED。 (1)端口模式 通过设置端口模式寄存器5(PM5)可以设置P5口作为输入或输出端口。当PORT5作为 输入端口时,可通过上拉电阻选择寄存器 L来设置是否连接上拉电阻。 6 世界流行单片机技术手册———日本系列
第1章NEC公司单片机 (2)控制模式 当访问外部扩展存储器时,PORT5作为高8位地址(AB8~AB15)。在该控制模式下,上 拉电阻自动断开。 7.P0RT6P60P67 PORT6除了作为I/O端口外,在外部存储器扩展方式下还具有控制功能:另外P60~P63 可以直接驱动LED。 (1)端口模式 通过设置端口模式寄存器6(PM6)可以设置P6口作为输入或输出端口。当PORT6作为 输入端口时,可通过上拉电阻选择寄存器L来设置是否连接上拉电阻。 (2)控制模式 RD,W灭、WAIT、ASTB:访问外部存储器时的控制信号。 8.PORT7(P70~P72) PORT7除了作为1/O端口外,还作为串行接口的数据输入/输出和时钟的输入/输出。 (1)端口模式 端口7为3位的输入/输出端口,通过设置端口模式寄存器7(PM7)可以设置P7口作为输入 或输出端口。当作为输入端口时,可通过上拉电阻选择寄存器L来设置是否连接上拉电阻。 (2)控制模式 ●S12、SO2:串行接口的数据输入/输出 ●SCK2:串行接口时钟的输入/输出。 ·RxD、TxD:异步串行接口的数据输入/输出 ·ASCK:异步串行接口时钟的输入/输出。 9.P0RT12(P120~P127) PORT12除了作为输入/输出端口外,还可作为实时输出端口 (1)端口模式 通过设置端口模式寄存器12(PM12)可以设置P12口作为输入或输出端口。当PORT12 作为输入端口时,可通过上拉电阻选择寄存器H来设置是否连接上拉电阻。 (2)控制模式 实时输出端口,由PORT12输出数据,用于同步触发。 10.PORT13(P130和P131 PORT13除了作为2位的输入或输出端口外,还可作D/A转换的模拟输出 1)端口模式 通过设置端口模式寄存器13(PM13)可以设置P13口作为输入或输出端口。当PORT13 作为输入端口时,可通过上拉电阻选择寄存器H来设置是否连接上拉电阻。 (2)控制模式 D/A转换摸拟输出。 11.芯片其他引脚 ·AVm:A/D转换参考电压输入,如果不用A/D转换,则接Vs, ·AV:D/A转换参考电压输入,如果不用D/A转换,则接Vo。 ●AVm:A/D转换的模拟电源电压,当不用A/D时,接Vo
(2)控制模式 当访问外部扩展存储器时,PORT5作为高8位地址(AB8~AB15)。在该控制模式下,上 拉电阻自动断开。 7.PORT6(P60~P67) PORT6除了作为I/O 端口外,在外部存储器扩展方式下还具有控制功能;另外P60~P63 可以直接驱动 LED。 (1)端口模式 通过设置端口模式寄存器6(PM6)可以设置P6口作为输入或输出端口。当PORT6作为 输入端口时,可通过上拉电阻选择寄存器 L来设置是否连接上拉电阻。 (2)控制模式 RD、WR、WAIT、ASTB:访问外部存储器时的控制信号。 8.PORT7(P70~P72) PORT7除了作为I/O 端口外,还作为串行接口的数据输入/输出和时钟的输入/输出。 (1)端口模式 端口7为3位的输入/输出端口,通过设置端口模式寄存器7(PM7)可以设置P7口作为输入 或输出端口。当作为输入端口时,可通过上拉电阻选择寄存器 L来设置是否连接上拉电阻。 (2)控制模式 ? SI2、SO2:串行接口的数据输入/输出。 ? SCK2:串行接口时钟的输入/输出。 ? RxD、TxD:异步串行接口的数据输入/输出。 ? ASCK:异步串行接口时钟的输入/输出。 9.PORT12(P120~P127) PORT12除了作为输入/输出端口外,还可作为实时输出端口。 (1)端口模式 通过设置端口模式寄存器12(PM12)可以设置 P12口作为输入或输出端口。当 PORT12 作为输入端口时,可通过上拉电阻选择寄存器 H 来设置是否连接上拉电阻。 (2)控制模式 实时输出端口,由 PORT12输出数据,用于同步触发。 10.PORT13(P130和 P131) PORT13除了作为2位的输入或输出端口外,还可作 D/A 转换的模拟输出。 (1)端口模式 通过设置端口模式寄存器13(PM13)可以设置 P13口作为输入或输出端口。当 PORT13 作为输入端口时,可通过上拉电阻选择寄存器 H 来设置是否连接上拉电阻。 (2)控制模式 D/A 转换模拟输出。 11.芯片其他引脚 ? AVREF0:A/D转换参考电压输入,如果不用 A/D转换,则接 VSS。 ? AVREF1:D/A 转换参考电压输入,如果不用 D/A 转换,则接 VDD。 ? AVDD:A/D转换的模拟电源电压,当不用 A/D时,接 VDD。 第1章 NEC公司单片机 7
世界流行单片机技术手册—日本系列 ·AVs:A/D转换的地端,当不用A/D转换时,接Vss。 ●RESET:单片机的复位信号,低电平有效。 ●X1和X2,主系统时钟振荡的晶振连接脚。 ·XT1和XT2:子系统时钟振荡的晶振连接脚。 ●Vo:电源端。 ·Vs:地端。 ·Vm:PROM编程电源,连接Vs为正常模式。 1.1.2CPU结构原理 1.处理器寄存器 控制寄存器控制程序顺序、状态和堆栈存储。程序计数器PC、程序状态字PSW和堆栈 指针SP都是控制寄存器。 (1)程序计数器PC 程序计数器是一个16位寄存器,其中装有下一条执行指今的地址信息。在一般的工作方 式下,根据取指令字节数,程序计数器值自动增加。当执行转移指令时,转移的目标地址或寄 存器中表示转移地址的内容会装入程序计数器中。 系统复位时,向量表中的地址0000H和0001H送往程序计数器。 (2)程序状态字PSW 程序状态字是一个8位寄存器(如图1-2所示),寄存器内的各个标志通过执行指令被置 位/复位。在有中断请求或执行PUSH PSW指令情况下,程序状态字自动压栈,执行RETB、 RETI和POP PSW指令后,程序状态字自动出栈。 复位后,PSW的值为O2H。 TE Z RBSI AC RBSO 0 ISP CY 图1-2程序状态字 程序状态字的各标志位功能: ①中断允许标志位E 该标志为控制CPU的中断请求响应。E置0,只有不可屏蔽中断请求得到响应:1E置1, 中断请求响应由在线服务优先级标志ISP、各中断源的中断屏蔽标志和优先级规定标志控制。 ②零标志Z 当操作结果为0时,Z为1,其他结果为0。 ③寄存器组洗择标志RBS0和RBS1 用RBS0和RBS1在四个寄存器组中洗择一组 ④辅助进位标志AC 如果操作结果在第三位进位或借位,该标志位置为1,其他则为0。 ⑤在线服务优先级标志ISP 用于管理可屏蔽中断向量响应的优先级别,当ISP为0时,由优先级标志寄存器PR规定 的优先级中断响应被禁止。ISP为1时,所有中断可以被识别
? AVSS:A/D转换的地端,当不用 A/D转换时,接 VSS。 ? RESET:单片机的复位信号,低电平有效。 ? X1和 X2:主系统时钟振荡的晶振连接脚。 ? XT1和 XT2:子系统时钟振荡的晶振连接脚。 ? VDD:电源端。 ? VSS:地端。 ? VPP:PROM 编程电源,连接 VSS为正常模式。 1.1.2 CPU结构原理 1.处理器寄存器 控制寄存器控制程序顺序、状态和堆栈存储。程序计数器 PC、程序状态字 PSW 和堆栈 指针SP都是控制寄存器。 (1)程序计数器PC 程序计数器是一个16位寄存器,其中装有下一条执行指令的地址信息。在一般的工作方 式下,根据取指令字节数,程序计数器值自动增加。当执行转移指令时,转移的目标地址或寄 存器中表示转移地址的内容会装入程序计数器中。 系统复位时,向量表中的地址0000H 和0001H 送往程序计数器。 (2)程序状态字PSW 程序状态字是一个8位寄存器(如图1 2所示),寄存器内的各个标志通过执行指令被置 位/复位。在有中断请求或执行 PUSHPSW 指令情况下,程序状态字自动压栈,执行 RETB、 RETI和 POPPSW 指令后,程序状态字自动出栈。 复位后,PSW 的值为02H。 7 0 IE Z RBS1 AC RBS0 0 ISP CY 图1 2 程序状态字 程序状态字的各标志位功能: ① 中断允许标志位IE 该标志为控制CPU 的中断请求响应。IE置0,只有不可屏蔽中断请求得到响应;IE置1, 中断请求响应由在线服务优先级标志ISP、各中断源的中断屏蔽标志和优先级规定标志控制。 ② 零标志Z 当操作结果为0时,Z为1,其他结果为0。 ③ 寄存器组选择标志 RBS0和 RBS1 用 RBS0和 RBS1在四个寄存器组中选择一组。 ④ 辅助进位标志 AC 如果操作结果在第三位进位或借位,该标志位置为1,其他则为0。 ⑤ 在线服务优先级标志ISP 用于管理可屏蔽中断向量响应的优先级别,当ISP为0时,由优先级标志寄存器 PR 规定 的优先级中断响应被禁止。ISP为1时,所有中断可以被识别。 8 世界流行单片机技术手册———日本系列
第1章NEC公司单片机 9 ⑥进位标志CY 该标志存储执行加/减指令后进位或借位情况。执行循环移位指令时,存放移出的位:执 行位操作时,作为位累加器使用 (3)堆栈指针SP 堆栈指针是一个16位的寄存器,用于保存堆栈区的首地址(指向堆栈的栈顶),只有内部 高速RAM可以设置为堆栈区。压栈时,SP减小;出栈时,SP增大。 2.通用寄存器 通用寄存器在数据存储器的映象地址为FEE0H~FEFFH,如图1-3所示。通用寄存器 由四个寄存器组组成,每个寄存器组有8个8位寄存器(X、A,C、B、E、DL和H),每个寄存 器为8位,两个8位的寄存器可配对组成16位寄存器(AX BC DE和HL)。这些寄存器可以 用功能名(X、A,C、B,E,D,L、H、AX,BC,DE和HL)说明,或以及独立的绝对名字(R0~R7 和RPO~RP3)说明 FEFFH BANKO RP3 FEF8H BANK FEFOH BANK2 RPI FEE8H FEEOH BANK3 RPO AX 绝对名功能名 图1-3通用寄存器 3.特殊功能寄存器 特殊功能寄存器在数据存储器的映象地址为FFO0H~FFFFH,每个特殊功能寄存器都 有专门的功能。特殊功能寄存器像通用寄存器一样具有操作,传送和位操作指令。位操作指 令有1位操作,8位操作和16位操作,这取决于专用寄存器的类型。具体见1.1.2小节中的 相关内容。 4.指令寻址方式 指令地址由P℃的内容所决定。PC的值会根据所取指令的字节数而自动增加。当执行 转移指令时,将转移地址送入PC,程序转移到相应地址。指令的寻址方式主要有以下几种: (1)相对寻址 将指令中给出的8位偏移量与本指令所在单元的地址相加,得到的结果送入P℃,使程序 转移。偏移量以8位带符号补码形式(一128~+127)给出,当执行条件转移或BR$addr16指 令时,寻址方式为相对寻址。 (2)立即数寻址 把指令中的立即数作为转移地址传给PC。当执行CAL,L!addrl6指令或BR!Addrl6 指令时,寻址为立即数寻址。低8位地址传给PC的低8位,高8位地址传给PC的高8位。 (3)表格间接寻址 把表格的内容作为分支程序的地址传给PC。指令中给出的立即数的位[1]~位[5]对表
⑥ 进位标志 CY 该标志存储执行加/减指令后进位或借位情况。执行循环移位指令时,存放移出的位;执 行位操作时,作为位累加器使用。 (3)堆栈指针SP 堆栈指针是一个16位的寄存器,用于保存堆栈区的首地址(指向堆栈的栈顶),只有内部 高速 RAM 可以设置为堆栈区。压栈时,SP减小;出栈时,SP增大。 2.通用寄存器 通用寄存器在数据存储器的映象地址为 FEE0H~FEFFH,如图1 3所示。通用寄存器 由四个寄存器组组成,每个寄存器组有8个8位寄存器(X、A、C、B、E、D、L和 H),每个寄存 器为8位,两个8位的寄存器可配对组成16位寄存器(AX、BC、DE和 HL)。这些寄存器可以 用功能名(X、A、C、B、E、D、L、H、AX、BC、DE 和 HL)说明,或以及独立的绝对名字(R0~R7 和 RP0~RP3)说明。 图1 3 通用寄存器 3.特殊功能寄存器 特殊功能寄存器在数据存储器的映象地址为 FF00H~FFFFH,每个特殊功能寄存器都 有专门的功能。特殊功能寄存器像通用寄存器一样具有操作、传送和位操作指令。位操作指 令有1位操作,8位操作和16位操作,这取决于专用寄存器的类型。具体见1.1.2小节中的 相关内容。 4.指令寻址方式 指令地址由 PC的内容所决定。PC 的值会根据所取指令的字节数而自动增加。当执行 转移指令时,将转移地址送入 PC,程序转移到相应地址。指令的寻址方式主要有以下几种: (1)相对寻址 将指令中给出的8位偏移量与本指令所在单元的地址相加,得到的结果送入 PC,使程序 转移。偏移量以8位带符号补码形式(-128~+127)给出,当执行条件转移或BR $addr16指 令时,寻址方式为相对寻址。 (2)立即数寻址 把指令中的立即数作为转移地址传给 PC。当执行 CALL!addr16指 令 或 BR!Addr16 指令时,寻址为立即数寻址。低8位地址传给 PC的低8位,高8位地址传给 PC的高8位。 (3)表格间接寻址 把表格的内容作为分支程序的地址传给 PC。指令中给出的立即数的位[1]~位[5]对表 第1章 NEC公司单片机 9