PS1008是力源单片机技术研究所生产的低成本、低功耗、高性能、片内带EEPROM的8位CMOS单片机。它可使用BASIC形式的高级语言进行编程,连机调试时可在线改写程序,EEPROM可用于存放数据等特性,使其在很多应用中优于一般单片机。
本文将主要讲述其特点、硬件结构、用户板的组成和开发工具。
一、PS1008的主要特点
*33条语句,全部由通俗易懂的BASIC语言构成。
*提供8路双向可独立编程的I/O口,每路I/O的驱动/吸收电流可达20/25mA。
*512字节在线电可擦写程序存储器EEPROM,可存放150-200条BASIC语句。程序(或数据)可反复擦写多达一千万次。
*16字节RAM(变量),所有剩余的EEPROM空间都可存放数据(断电不丢失)。
*标准时钟频率:4MHz,最高时钟频率:10MHz。
*在标准时钟下每秒可执行2000条BASIC语句。
*内设上电复位电路。
*工作电压:2.5V-6V。
*低功耗:V\(_{CC}\)=5V,系统时钟为4MHz时,工作电流小于3mA,睡眠电流小于60μA。
*双列直插16脚DIP封装。
二、PS1008的兼容性
PS1008是PIC58BS的升级型产品,其BASIC语句向下兼容,PIC58BS的程序很容易移植到PS1008中。PS1008对PIC58BS的改进如下:
1.将PIC58BS外部的EEPROM(93LC56)容量增加一倍,并将EEPROM和PIC58BS集成在一个芯片中。这样不仅降低了成本,缩小了体积,而且程序可保密。
2.增加了独特的ⅡCIN和ⅡCOUT语句,仅需两条I/O线就可扩展I\(^{2}\)C总线芯片,弥补了I/O口的不足,使其在IC卡等应用领域使用极为方便。
3.系统时钟可根据用户的需要调整,最大可达10MHz,从而提高了语句执行的速度。
三、PS1008的硬件结构
1.引脚配置和功能介绍
PS1008引脚配置如图1所示。各引脚功能如下:

*RX、TX:RX为数据接收端,TX为数据发送端。与PC机打印口的D0和BUSY线连接。
MCLR-:复位输入端。可直接连V\(_{CC}\),上电自动复位,也可手动复位,低电平有效。
*P0-P7:用户可编程I/O引脚。
*OSC1/OSC2:振荡输入/输出引脚。
2.复位电路
PS1008片内设有上电复位电路,一般只需将MCLR-直接与V\(_{CC}\)相连。
图2为手动复位电路,其中R<40k。

图3为降压保护电路。以保证系统在即将进入不正常运行之前复位。该电路当V\(_{CC}\)<0.3*(R1+R2)/R1时,发出低电平复位信号。

在一些对功耗、复位条件要求很严格的应用中——尤其是工业应用中,可选用专用的μP复位芯片MAX809,它具有多种复位门限(4.63V、4.38V、3.08V、2.93V、2.63V)可供选择、很低的静态电流(约20μA)及不受V\(_{CC}\)瞬变影响等特点。
3.振荡电路
图4为振荡电路,它产生PS1008的系统时钟,各种定时应用皆有赖于时钟的精度。其中晶体(或陶瓷振荡器)的频率在标难状态下为4MHz,C1=C2=15pF~30pF。系统时钟也可由外部输入到OSC1端。

如用户需要提高程序运行的速度,可选用10MHz的晶体。但需注意:所有与时间有关的语句(除SLEEP外)需作相应的改变,而安装、调试程序时仍需用4MHz的晶振。
4.输入/输出(I/O)口P0~P7
PS1008的所有I/O口都可提供给用户独立使用。其结构相同,它可用于输入,也可用于输出。用作输出时,驱动电流可达20mA,吸收电流为25mA,但8个I/O口的总驱动、吸收电流应小于100mA。有关I/O口操作的语句有:置输出/输入态、输出高/低电平、输入/输出状态转置、输出触发脉冲、输入脉冲测量、按键响应、脉宽调制模拟电压输出、电位值读取、音频输出、串行输入/输出、I\(^{2}\)C总线接口等。
有些语句在使用时,I/O口需外接一些元件,简介如下:
(1)按键输入(BUTTON语句)
BUTTON语句用于识别按键的状态,根据语句规定键按下为高/低电平,可分别采用图5的电路。

(2)脉宽调制模拟输出(PWM语句)
I/O口输出的脉宽调制信号送入图6的电路,可得到正比于占空比的输出电压,从而构成一低速八位数模转换器。

(3)网络节点(SERIN SEROUT语句)
图7所示的电路用于多个PS1008之间的通信联络。

(4)标准总线RS-232串行输入(SERIN语句)
RS232标准的信号于I/O口连接时应采用图8的电路。电阻起限流作用,输入电压被PS1008内部二极管箝位于-0.7V~Vcc+0.7V。

(5)音频输出(SOUND语句)
如图9所示,利用电容器和扬声器相连,通过编程可以输出不同的音调。如需增加输出功率。应加三极管驱动。当使用压电蜂鸣片时,可不需接电容器。

(6)电位值读取(POT语句)
利用图10的电路,通过I/O口读取电位从“1”电平变为“0”电平所需的时间,可间接测量电阻值的大小,该电路可测量5-50k的相对电阻值,分辨率为8位。

5.低功耗模式
当执行SLEEP、END等语句时,器件进入睡眠状态,电源消耗大约为20μA。为减小电流损耗,进入低功耗模式时,I/O端口应避免悬空。
6.PS1008单片机的使用
用户利用PS1008单片机开发系统,通过PC机编程、调试、写入BASIC源程序。然后从用户板中取出PS1008芯片,插入用户应用系统中。
也可直接在应用系统中调试。修改、写入程序,此时系统时钟需为4MHz。
四、BASIC单片机用户板
为方便读者熟悉使用PS1008单片机,我们设计了BASIC单片机用户板。用户板电路如图11所示。

它包括如下几部分:
*PS1008单片机,它是用户板的核心,通过PC机打印口接收用户程序,并运行用户用BASIC语言编写的源程序。
*4MHz晶振,为PS1008提供时钟。
*LM2936,超低功耗(静态电流小于20μA)、超低压差(输入、输出压差小于0.2V)+5V稳压管。为系统提供稳定的+5V电源。
*外部复位电路,由三极管和3个电阻组成。当电源电压下降到3V左右时,MCLR-端产生低电平复位信号。
*PC机编程连结插座。当用户需要调试、修改程序时,用随机附带的信号电缆与PC机打印口连接。
*电池插卡。用户可直接插入6V~12V的电池(随机提供一节9V的电池,使用时可插入用户板中)。
*+5V电源插座,可直接接入3V~6V的直流电压(随机提供电源线)。
*单排14芯接口插座。提供用户可编程的8个I/O口及电源输入端。用户可通过该插座与外部连接。
*用户扩展空间。用户板上留有一部分空间,以便用户扩展电路。
PS1008用户板可用如下三种电源之一供电:
1.带电池扣的叠层式6-9V电池,直接与用户板的电池扣对接。
2. 3~5V的电池,直接连在+5V电源插座上。
3.交流市电经变压、整流、滤波后输出6~12V直流电压亦可连接到Vin端进行供电。此时应注意电源尖脉冲干扰。在有干扰的场合,除市电引入线采取滤波措施外,在PS1008的Vcc端对“地”应加 0.1μF的去耦电容。
PS1008用户板外围元件均为贴片元件,所以体积很小。但给用户提供了一套完整的硬件系统,用户可以像使用芯片一样使用该用户板开发自己的智能产品。
五、BASIC单片机开发工具——PS1008-KIT
BASIC单片机开发系统由以下4部分组成:
1.PS1008用户板PS1008-CUM。
2.BASIC单片机演示板PS1008-DEM。该演示板通过模拟交通路口红绿灯,帮助用户更快熟悉PS1008单片机。
3.开发软件包包含源程序编辑、调试、下装软件等功能,开发软件包对PC机的要求很低。用户只要具备IBM PC/XT/286/386或其兼容机的最小配置(128K内存、一个软驱、一个并行口、MS-DOS2.0以上版本操作系统)即可。
4.连接PC机打印口的信号电缆和叠层电池。
将用户板与PC机打印口(并行口)通过信号电缆接好,接通用户板电源,启动PC机上的开发软件包,即可开发用户程序。程序下装后,需脱机运行时,应先断开电源,再断开与PC机的连接电缆。
对于使用PIC58BS的老用户,可利用原有的PICBAS-KIT升级,具体升级方法如下:将原用户板上的PIC58BS和93LC56芯片取出,在18芯插座上插入PS1008芯片,空出原插座的第1、第18脚。启动PS1008开发软件包,即完成由PIC58BS到PS1008的升级。
以上为基本型的BASIC单片机开发系统。为方便初学者——尤其是大中学生更好的掌握单片机及其外围电路的使用,提高动手能力,我们还开发了增强型的BASIC单片机开发系统,它包括16个键盘卡和4位数码管显示卡。利用它可演示计算器、数字钟等电路,是一种很好的计算机硬件教学工具。
下期将在《无线电》杂志的“微机普及与应用”栏目中刊登“PS1008 BASIC单片机的语言系统”,请读者注意。(李中泽 陈伟)