摘要:μPD780208是日本NEC公司生产的8位高性能单片机产品,文中比较全面的介绍了μPD780208的特点和功能,并给出了一个完整μPD780208的系统应用实例。
关键词:单片机 μPD780208 微控制器
1 概述
日本NEC公司生产的μPD780208系列8位单片机属于78K/0家族,该系列是NEC公司内部集成FIP显示驱动器各系列中功能最强的。根据内部集成的ROM和RAM容量的不同,μPD780208系列可分为5个型号,本文主要介绍最高型号μPD780208芯片的功能和应用。该芯片为100引脚QFP封装,内部集成了1个8位78K0CPU内核,它带有60kB的ROM、2192B的RAM、10个I/O端口共74根I/O线、1个FIP显示驱动/控制器、8位A/D转换器、2个串行I/O口、5个定时/计数器、3个定时器输出、1个可编程时钟输出、1个可编程蜂鸣器输出、4个外部中断源、12个内部中断源和1个测试输入端,并支持双时钟,其电源电压范围为2.7~5.5V,并可设定2种待机模式。ΜPD780208具有功能强、可靠性高、速度快、可支持节电应用的优点。
图1所示是μPD780208芯片的功能方框图。
2 功能特点
2.1 CPU结构
μPD780208的存储器寻址空间为64kB,其中程序存储器占用低端60kB的空间,高端为RAM区。RAM可分为以下4部分:
(1)内部高速RAM区:1024字节;
(2)内部扩充RAM区:1024字节;
(3)缓冲RAM区:64字节;
(4)FIP显示RAM区:80字节。
图2给出了μPD780208的存储器空间使用情况。μPD780208中CPU的特殊功能寄存器区(SFR)包括片硬件端口I/O、控制和状态寄存器。
2.2 时钟生生器
μPD780208可使用两种系统时钟振荡器来产生时钟:一种是主系统时钟振荡器,支持1~5.0MHz的晶振频率;另一种是子系统时钟振荡器,工作频率为32768Hz。可编程选择其中一个用于CPU时钟、各定时器时钟或时钟输出。当主系统时钟作为CPU时钟时,可选择不分频或2/4/8/16分频;而子系统时钟只能提供2分频作为CPU时钟,这样,指令周期就有六种选择。
2.3 定时器
μPD780208中的定时器包括TM0~TM3、WDTM等,同时它还带有时钟输出控制以及蜂鸣器输出控制等电路。其中16位定时/计数器(TM0)可作为间隔定时器、PWM输出、脉宽测量、外部事件计数器或方波发生器使用。而两个8位定时/计数器(TM1和TM2)则可作为间隔定时器、外部事件定时器和方波发生器作用,两个8位定时/计数器还可合起来作为一个16位定时/计数器使用。此WATCH定时器(TM3)用于每隔0.5秒置一次标志位,同时在预置的时间间隔上产生中断。看门狗定时器(WDTM)则用来执行看门狗定时功能,或在预置时间间隔上执行不可屏蔽中断、可屏蔽中断和系统复位(RESET)等功能。
时钟输出控制电路的作用是把主/子系统时钟分频后提供给其他设备,以用于遥控发送中的载波输出。
蜂鸣器输出控制电路主要是将主/子系统时钟分频并输出,以得到指定频率的蜂鸣器输出。
2.4 A/D转换器
μPD780208的A/D转换器采用逐次逼近型,为8位分辨率和8通道。A/D转换的启动可采用硬件触发或软件设置来启动。A/D转换的通道号、通道数、转换时间均可通过软件编程来设置。
2.5 串行I/O口
μPD780208具有2个串行I/O口,分别为通道0和1,它可提供以下3种同步工作模式。
(1)线串行I/O模式
这种模式下的3根连线为串行时钟(SCK0/1)、串行输出(SO0/1)和串行输入(SI0/1),在同步时钟作用下可同时进行同步发送和同步接收。
(2)串行总线接口(SBI)模式
此模式的2根连线是串行时钟(SCK0)和串行数据总线(SB0或SB1),主要用于多设备之间的串行通讯。
(3)2线串行I/O模式
此模式的2根连线为串行时钟(SCK0)和串行数据I/O(SB0或SB1),主要用于半双工的8位数据的收发。
串行通道0和1的功能见表1所列。
表1 串行通道0和1的功能
工作模式 | 通道0 | 通道1 | |
3线串行I/O模式 | 时钟选择 | fx/2 2,fx/2 3,fx/2 4,fx/2 5,fx/2 6,fx/2 7,fx/2 8,fx/2 9,外部时钟,TO2输出 | fx/2 2,fx/2 3,fx/2 4,fx/2 5,fx/2 6,fx/2 7,fx/2 8,fx/2 9,外部时钟,TO2输出 |
发送方法 | 起始发送MSB/LSB可选 | 起始发送MSB/LSB可选,自动送/接收 | |
发送结束标志 | 串行发送结束中断请求标志(INTCSI0) | 串行发送结束中断请求标志(INTCSI1) | |
串行总线接口(SBI)模式 | 支持 | 不支持 | |
2线串行I/O模式 |
2.6 FIP显示控制/驱动器
FIP(Fluorescent Indicator Panel)显示控制/驱动器是μPD780208系列芯片所特有的功能,其主要功能如下:
●可自动读取显示数据并输出段和位信号,以实现硬件的自动显示刷新功能。
●通过设置模式寄存器DSPM0、DSPM1和DSPM2,可控制显示9~40段和2~16位FIP。
●通过设置DSPM0选择显示模式2,可自由设定位信号输出时序。
●除了FIP0~FIP12为显示专用输出引脚外,其他未用的显示引脚可用作普通I/O口。
●显示器亮度分为8级,可通过DSPM1对其调节。
●显示时序中包含键盘扫描时序,并可输出键盘扫描信号。
●具有高驱动能力,可直接驱动FIP显示器。
●掩膜芯片可提供显示输出引脚的上拉电阻选择。
在其他单片机系统中,常常是由软件定时中断来逐位刷新显示,如果有健盘,定时中断还负责完成刷新键盘的任务,这会点用很多CPU资源;μPD780208的FIP显示控制/驱动器则可实现硬件自动显示刷新功能,在初始设置完成后,软件的工作只是将显示数据按要求的模式放入FIP显示RAM区,同时在显示时序中提供键盘扫描功能,这在很大程度上降低了CPU的资源占用率。
2.7 中断系统
中断系统由中断源和中断控制部分组成,并具有测试输入功能。
a.中断源
μPD780208的中断系统提供3种中断类型、15个中断源和2个中断优先级。3种中断类型分别为不同屏蔽中断、可屏蔽中断和软件中断。中断源采用向量中断方式,在存储器的低端64字节内可存放系统复位后的起始运行地址(复位向量)和15个中断源的中断处理程序地址(中断向量),参见图2。详细中断源列表见表2。
表2 中断源表
中断类型 | 默认优先级 | 中断源 | 内部/外部 | 中断向量地址 | |
名称 | 触发方式 | ||||
不可屏蔽 | - | INTWDT | 模式1下看门狗定时器溢出 | 内部 | 0004H |
可屏蔽 | 0 | INTWDT | 间隔(看门狗)定时器溢出 | 内部 | 0004H |
1 | INTP0 | 检测到外部输入引脚的沿变化 | 外部 | 0006H | |
2 | INTP1 | 检测到外部输入引脚的沿变化 | 外部 | 0008H | |
3 | INTP2 | 检测到外部输入引脚的沿变化 | 外部 | 000AH | |
4 | INTP3 | 检测到外部输入引脚的沿变化 | 外部 | 000CH | |
5 | INTCSI0 | 串行接口通道0发送结束 | 内部 | 000EH | |
6 | INTCSI1 | 串行接口通道1发送结束 | 内部 | 0010H | |
7 | INTTM3 | WATCH定时器间隔 | 内部 | 0012H | |
8 | INTTM0 | 16位定时器时间到 | 内部 | 0014H | |
9 | INTTM1 | 8位定时器1时间到 | 内部 | 0016H | |
10 | INTTM2 | 8位定时器2时间到 | 内部 | 0018H | |
11 | INTAD | A/D转换结束 | 内部 | 001AH | |
12 | INTKS | FIP控制器提供的键盘时序到 | 内部 | 001CH | |
软件 | - | BRK | 执行BRK指令 | - | 003EH |
b.中断控制
中断功能由以下6种寄存器来控制:
(1)中断请求标志寄存器IF0L和IF0H:当某中断请求发生时,对应的位被置1。
(2)中断屏蔽标志寄存器MK0L和MK0H:用于打开或关闭指定可屏蔽的中断响应。
(3)优先级标志寄存器PR0L和PR0H:用于设置可屏蔽中断的优先级顺序,优先级分为高级和低级。
(4)外部中断模式寄存器INTM0:用于指定外部中断INTP0、INTP1、INTP2的触发有效沿,该有效沿可以是下降沿有效、上升沿有效或上升沿下降沿均有效。而INTP3则被固定为下降沿触发。
(5)采样时钟选择寄存器SCS:用于设定INTP0的采样时钟。
(6)程序状态字PSW:其中的IE和ISP标志用于打开或关闭对可屏蔽中断的响应和指示当前中断的优先级。
c.测试输入功能
测试输入功能也是中断系统的一部分,测试输入没有中断处理,它由WATCH定时器溢出触发,并置位测试输入标志WTIF。
2.8 待机功能
待机功能用于减少系统的功能。μPD780208支持暂停和停止2种待机模式。
执行HALT指令将使系统从正常运行模式进入到暂停模式。在这种模式下,CPU操作时钟被停止,但系统时钟振荡器仍工作,因此功耗减小但幅度不大。在发生中断请求时,暂停模式将被清除,系统立即转换回正常运行模式,并执行中断程序。
执行STOP指令将使系统从正常运行模式进入到停止模式。在这种模式下,系统时钟振荡器被请求可以使系统返回正常运行模式,但是,由于系统时钟振需要启动并达到稳定工作需要一段时间,因此,在这种模式返回时不能立即执行操作。
暂停模式可以在主系统和子系统时钟下工作,而停止模式只能在主系统时钟下工作。在这2种模式下,CPU在进入待机模式前的所有状态,包括I/O口状态都被保留。
待机模式在清除时,暂停模式可用未被屏蔽的可屏蔽中断请求、不可屏蔽中断请求、未被屏蔽的测试输入、系统RESET复位等信号清除。暂停模式在被前3种方式消除后,CPU将继续执行HALT指令的下一条指令;而系统复位后CPU将转入复位向量地址。
停止模式可用不可屏蔽中断请求、未被屏蔽的测试输入或系统RESET复位信号清除。清除后的CPU运行情况与暂停模式相同。
3 应用
综上所述,μPD780208是一个功能强大的单机产品,适合于要求速度快、可靠性高、扩展功能强和节电的应用系统。图3是一个μPD780208的应用实例,该应用充分利用了该芯片的性能特点,其包括VFD直接驱动真空荧光管显示器VFD,开关量输入输出,A/D转换,键盘扫描输入,串行通讯,接口扩展等模块,是一个较为完整的应用系统。
上一篇:一种基于单片机系统的DMA控制电路的模块化设计方案
下一篇:I2C总线在单片机上的实现
- 热门资源推荐
- 热门放大器推荐