SPCE061A 主要包括通用异步串行接口、定时器/计数器、模/数转换、输入/输出端口、数/模转换、通用异步串行接口、串行设备输入输出、低电压监测和复位等部分。并且在SPCE061A中内置有在线仿真电路 ICE 接口,SPCE061A具有快速的数据处理速度,使得它能在短时间内完成复杂的数据处理[7]。SPCE061A已经被应用在生活中的各个领域,在工业控制、家用电器控制器、医疗设备以及电子书籍、通信产品等许多领域都应用到了SPCE061A。
2.1 SPCE061A的输入/输出接口
输入/输出接口是单片机与外界交换信息的通道。输入接口负责接受外界发来的各种信号,例如光电传感器,红外传感器接受到的电平信号,而输出接口则是接受CPU的指令,向外界发出相应的控制信号,例如本设计中向直流电机发出的正转反转信号。µ’nSP™的输入输出接口有串行和并行两种方式。串行和并行两种方式比较起来,并行具有更快速的传输速度,然而成本却相对高,与它相反,串行虽然传输速度比并行慢,但是它的成本较低。SPCE061A单片机具有两个 16 位的通用并行 I/O 口即A口和 B 口。A口和B口的每一位都可以通过编程单独定义,将A口B口定义成输入或者输出口[8]。
A 口的 IOA0~IOA7 被设置为输入端口时具有唤醒功能。当输入端口输入的电平发生变化时,单片机自动触发cpu中断,这样可以适应一些需要低电耗的场合。SPCE061A让CPU进入睡眠模式,从而降低功耗。当需要CPU工作的时候,再通过按键的方式将CPU唤醒,使其进入工作状态。唤醒功能可以应用在很多低电耗设备中,例如:PDA、计算器、手持遥控器、电子词典、无线电话等。[9]
SPCE061A的输入/输出端口具有位控制结构,每一个I/O端口都可以单独的设置为输入或者输出端口。输入输出端口通过下面3种控制向量来设定:1, 数据向量 Data;2, 属性向量 Attribution;3,方向控制向量 Direction。
数据向量,属性向量,方向控制向量组合在一起,形成一个控制字,用来设定每个I/O口是输入还是输出,以及哪些方式输入输出。比如如果想要设置 IOA0 为带下拉电阻的输入引脚,则将IOA0对应的 Data、Attribution和 Direction 的值都设为0。如果想要设置 IOA1 为带唤醒功能的悬浮式输入引脚,就将IOA1对应的 Data、Attribution 和 Direction 的值设置为0,1,0。SPCE061A的另一个优点是将I/O口设置为各种方式的输入输出端口后,它的输入输出电路都是内置好的,不需要在外部自己连接电路。假如想设置 IOA1为带上拉电阻的输入端口,设置好它的控制向量之后,就不需要再外接上拉电阻。[9]
(1). _Dir 位用来设置端口位的输出输入方向:‘1’为输出,‘0’为输入。
(2). _Attrib 位用来设置当端口位已经被设置为输入状态下时,输入方式是为悬浮式输入还是非悬浮式输入。将Attrib设置为‘0’则意着端口是带下拉电阻或者上拉电阻式输入,而将Attrib设置为‘1’则意着端口被设置为悬浮式输入。在端口位已经被设置为输出状态下Attrib则决定端口的输出方式是同相的还是反相的。‘1’设置为同相输出,‘0’设置为反相输出。
(3). _Data 位在端口位已经被设置为输入时,与_Attrib 字节结合形成了输入方式的控制字。[10]‘00’则将端口设置为带唤醒功能的带上拉电阻输入,‘01’将端口设置为带唤醒的带下拉电阻输入,‘10’将端口设置为带唤醒的悬浮式输入,‘11’将端口设置为不带唤醒的悬浮式输入。_Data 位在端口位的输出状态下被写入的是输出数据。数据是经过同相器输出还是经过反相寄存器输出要由_Attrib位来决定。 spce061a单片机开发板的移动小车运动控制系统设计(3):http://www.751com.cn/zidonghua/lunwen_11321.html