单片机应用系统经常希望有功能全、价格低廉、体积小、及使用方便的接口电路与之配套使用,北京三誉有限公司代理的美国summit公司的s42wd42就是一款性价比很高的接口电路,它包含有四大功能:上电复位,看门狗,512字节eeprom,第二电源电压监测。
s42wd42功能简介
---- 上电复位:s42wd42可以提供130~270ms的上电复位脉冲,同时提供高电平复位和低电平复位引脚。复位电压转折点有三种供选择:2.55v、4.25v、4.5v。
---- 看门狗定时时间长度为1.6s(标称值)。
---- eeprom为512字节×8bit,一次可以写一个字节,也可写一页(16字节/页)。每个单元可反复写入1百万次。无论写入字节或页,写入时间都是最大不超过10ms。
---- 第二电源电压监测:s42wd42除了主电源电压之外,还提供一个单独的引脚监测其电压,并输出状态。
---- /vlow:当vsense < 1.24v时,/vlow输出低电平。注意此脚是漏极开路输出,需外加上拉电阻。
---- vsense:第二监测电压输入。
---- sda:i2c总线数据输入/输出。
---- sck:i2c总线时钟输入。
---- /reset:低电平复位输入/漏极开路输出。该脚可手动复位输入一个低电平,对应第7脚reset输出高电平复位信号。
---- reset:高电平复位输入/漏极开路输出。该脚可手动复位输入一个高电平,对应第2脚/reset输出低电平复位信号。
---- vcc:有两个版本芯片,工作电压2.7~5.5v
--------- 或4.5v~5.5v。
软件命令
---- s42wd42支持五种软件命令:写入一个字节;写入一页(16个字节);从当前地址读一个字节;从任意地址随机读一个字节;顺序读若干字节。
---- 命令编码为:1010xxa8r/w a7a6a5a4a3a2a1a0。第一个字节最低位r/w为1,就是read;r/w为0,就是write。
---- 如果软件在1.6s以内没有对s42wd42进行任何读写操作,看门狗就会复位芯片,输出复位脉冲。
软件源代码: ; 8031 external crystal is 11.0592 mhz sck bit p1.0 sda bit p1.1read: lcall start mov a,dp ; dptr包含读单元地址(9位) anl a,#1 rl a orl a,#10100000b ; r/w=0 lcall shiftout lcall pollack mov a,dpl lcall shiftout lcall pollack lcall start ; start again mov a,#10100001b ; r/w=1 lcall shiftout lcall pollack mov a,@r0 dec a mov r7,a ; read up to 256 bytes sequentially inc r0 ; input bufferrdnxt: lcall shiftin lcall ack ; cpu send out ack to s42wd42 mov @r0,a inc r0 djnz r7,rdnxt lcall shiftin lcall unack mov @r0,a lcall stop clr c retwrite: lcall start mov a,dph ; dptr包含写入单元地址(9位) anl a,#1 rl a orl a,#10100000b ; r/w=0 lcall shiftout lcall pollack mov a,dpl lcall shiftout lcall pollack mov a,@r0 dec a anl a,#0fh ; write data length varies from 1 to 16 inc a mov r7,a inc r0 ; point to beginning of output bufferwrnxt: mov a,@r0 lcall shiftout lcall pollack inc r0 djnz r7,wrnxt lcall stop clr c retstart: setb c setb scl jnb scl,busy setb sda jnb sda,busy clr sda clr scl clr cbusy: ret ; c=1 if i2c bus is busy stop: clr scl nop clr sda setb scl setb sda retshiftout:mov b,#8outnxt: clr scl rlc a mov sda,c setb scl djnz b,outnxt clr scl retshiftin: mov b,#8 clr scl setb sda ; sda
单片机应用系统经常希望有功能全、价格低廉、体积小、及使用方便的接口电路与之配套使用,北京三誉有限公司代理的美国summit公司的s42wd42就是一款性价比很高的接口电路,它包含有四大功能:上电复位,看门狗,512字节eeprom,第二电源电压监测。
s42wd42功能简介
---- 上电复位:s42wd42可以提供130~270ms的上电复位脉冲,同时提供高电平复位和低电平复位引脚。复位电压转折点有三种供选择:2.55v、4.25v、4.5v。
---- 看门狗定时时间长度为1.6s(标称值)。
---- eeprom为512字节×8bit,一次可以写一个字节,也可写一页(16字节/页)。每个单元可反复写入1百万次。无论写入字节或页,写入时间都是最大不超过10ms。
---- 第二电源电压监测:s42wd42除了主电源电压之外,还提供一个单独的引脚监测其电压,并输出状态。
---- /vlow:当vsense < 1.24v时,/vlow输出低电平。注意此脚是漏极开路输出,需外加上拉电阻。
---- vsense:第二监测电压输入。
---- sda:i2c总线数据输入/输出。
---- sck:i2c总线时钟输入。
---- /reset:低电平复位输入/漏极开路输出。该脚可手动复位输入一个低电平,对应第7脚reset输出高电平复位信号。
---- reset:高电平复位输入/漏极开路输出。该脚可手动复位输入一个高电平,对应第2脚/reset输出低电平复位信号。
---- vcc:有两个版本芯片,工作电压2.7~5.5v
--------- 或4.5v~5.5v。
软件命令
---- s42wd42支持五种软件命令:写入一个字节;写入一页(16个字节);从当前地址读一个字节;从任意地址随机读一个字节;顺序读若干字节。
---- 命令编码为:1010xxa8r/w a7a6a5a4a3a2a1a0。第一个字节最低位r/w为1,就是read;r/w为0,就是write。
---- 如果软件在1.6s以内没有对s42wd42进行任何读写操作,看门狗就会复位芯片,输出复位脉冲。
软件源代码: ; 8031 external crystal is 11.0592 mhz sck bit p1.0 sda bit p1.1read: lcall start mov a,dp ; dptr包含读单元地址(9位) anl a,#1 rl a orl a,#10100000b ; r/w=0 lcall shiftout lcall pollack mov a,dpl lcall shiftout lcall pollack lcall start ; start again mov a,#10100001b ; r/w=1 lcall shiftout lcall pollack mov a,@r0 dec a mov r7,a ; read up to 256 bytes sequentially inc r0 ; input bufferrdnxt: lcall shiftin lcall ack ; cpu send out ack to s42wd42 mov @r0,a inc r0 djnz r7,rdnxt lcall shiftin lcall unack mov @r0,a lcall stop clr c retwrite: lcall start mov a,dph ; dptr包含写入单元地址(9位) anl a,#1 rl a orl a,#10100000b ; r/w=0 lcall shiftout lcall pollack mov a,dpl lcall shiftout lcall pollack mov a,@r0 dec a anl a,#0fh ; write data length varies from 1 to 16 inc a mov r7,a inc r0 ; point to beginning of output bufferwrnxt: mov a,@r0 lcall shiftout lcall pollack inc r0 djnz r7,wrnxt lcall stop clr c retstart: setb c setb scl jnb scl,busy setb sda jnb sda,busy clr sda clr scl clr cbusy: ret ; c=1 if i2c bus is busy stop: clr scl nop clr sda setb scl setb sda retshiftout:mov b,#8outnxt: clr scl rlc a mov sda,c setb scl djnz b,outnxt clr scl retshiftin: mov b,#8 clr scl setb sda ; sda