TXRX: 0 表示仅作接收资料
1 表示全双工功能,可传送和接收数据
SEDGE: 0 表在频率的下降缘触发(falling edge)
1 表在频率的上升缘触发(rising edge)
Strate1,Strate0: 为串行串输频率定时器预除值dsck
START: 0 表传输结束
1 表立即开始传输,传输结束则自动清为0,并触发SIO 中断要求
SENB: 0 表禁能串行传输接口。脚位P5.0~P5.2 为一般输出入脚
1 表致能串行传输接口。脚位P5.0~P5.2 为串行传输脚
数据缓冲器SIOB 用来暂存输出与输入数据缓存器,每当开始全双工串行传输前先将欲送出的资料放到SIOB。当传完后SIOB 会接收到另一端传来的数据。每传完一个字符,SIOB 更新一次,因此每传完一个字符需将接收到的数据自SIOB 取出。
最后看频率产生模块SIOC 和SIOR。SIOC 是一个独立的8 位定时器,无法由程序读写,会自动加载SIOR 的值当作计时的初值,开始自动往上数值到溢位时,再重载初值,定时器的频率源fCTS 是CPU 的频率fCPU 经过除频器后才送至定时器,除频器的预除值dSCK 是由模式缓存器SIOM 的Strate1、Strate0来调整,因此串行频率周期
与频率
分别是:
注意,
为SIOR 的值,即频率定时器的初值。
5. 测试实验
测试的电路板依照图2 的电路图制作,其中AD595C 和AT25128 二颗芯片的照片如图4 所示。程序的撰写依照前述的方法,只有模拟转数字ADC 未介绍,这部分请参考e 科技杂志vol. 28, April 2003, p. 18~21 中林锡宽所著的『电动滑板车速度控制器』。
(a) (b)
<图4> (a) AD595C;(b)AT25128。
程序启动后,四颗四段显示器显示EEEE,表示待机中。按下『C』键,立即进行从AIN0 脚位读入电压的值,并且储存到EEPROM;如此反复直到预设的次数满为止,这时四颗四段显示器会显示AAAA。再读取电压值时,允许按下『C』键,来暂停读取;暂停中再按下『C』键来恢复读取。显示器会显示AAAA,则可以开始按『F』键来显示下一笔储存在EEPROM 的资料,或按下『F』键来显示上一笔数据。
.
实际测试是将热电偶置于热水中来进行(见图5),当按下『C』键后,可以看到四颗四段显示器显示653 的数值,即表示目前输入电压为5 × (653 / 4096)= 0.798 V,因为ADC 参考电源为5 V,而分辨率为12 位。整个过程结束后,则显示AAAA。同样的,以市售的热电偶温度计量测,得到80°C。如果以AD595的电压温度关系,直接成上100 就是温度,也可以得0.798 x 100 =79.8°C。二者的结果非常吻合。
<图9>实作结果
6. 结论
本文蒙国科会的大学生参与专题研究计划的完全补助(补助编号:92-2815-C-009 -021 -E)。最后,希望此文能激发工业界的人士尝试研发相关产品。制作实际产品时,需要在ADC 的参考电压脚位上再加上精密稳压器,才可以获得更精确的量测结果。
上一篇:利用CD4069制作的感应测电笔