📄 有哪位高手在iccavr下用过pcf8563时钟芯片啊? (ourdev_cn 我们的电子开发社区).mht
字号:
nbsp;TWCR =3D (1<<TWINT)|(1<<TWEA)|(1<<TWEN);=
=20
=
<BR> whi=
le (!(TWCR & (1<<TWINT))); =20
=
<BR> if ((TWSR&0x=
f8)!=3D MR_DATA_NAK) =20
=
<BR> &nb=
sp; ErrorCode =3D ERRO=
R_CODE_TWI; =20
=
<BR> i=3D=
i<<8|TWDR;=20
=
<BR> &nb=
sp;=20
=
<BR> TWC=
R =3D (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); &=
nbsp;=20
=
<BR> ret=
urn i; =20
<BR>} =20
=
<BR><BR><BR><BR>//-------------------------------------------------------=
----------------------=20
=
<BR>//Func Name: TWI/=
I2c Read Byte=20
=
<BR>//Parameter: Device&nb=
sp;Address (DeviceAddr)=20
=
<BR>//Return Value: i=
nt=20
=
<BR>//Description: TWI/I2C=
one byte read operation with default =
data address=20
=
<BR>//-------------------------------------------------------------------=
----------=20
=
<BR><BR>int TWIReadDefaultByte(unsigned int DeviceAddr)&nb=
sp;=20
<BR>{ =20
=
<BR> uns=
igned int i; =20
=
<BR> =20
=
<BR> TWC=
R =3D (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); =
=
<BR> whi=
le(!(TWCR & (1<<TWINT))); =20
=
<BR> if&=
nbsp;((TWSR & 0xf8) !=3D START) =20
=
<BR> &nb=
sp; ErrorCode =3D ERRO=
R_CODE_TWI; =20
<BR> =20
=
<BR> TWD=
R =3DDeviceAddr|TWI_READ; =20
=
<BR> TWC=
R =3D (1<<TWINT)|(1<<TWEN); =20
=
<BR> whi=
le (!(TWCR & (1<<TWINT))); =20
=
<BR> if&=
nbsp;((TWSR&0xf8)!=3D MR_SLAR_ACK) =20
=
<BR> &nb=
sp; ErrorCode =3D ERRO=
R_CODE_TWI; =20
<BR> =20
=
<BR> TWC=
R =3D (1<<TWINT)|(1<<TWEN); =20
=
<BR> whi=
le (!(TWCR & (1<<TWINT))); =20
=
<BR> if ((TWSR&0x=
f8)!=3D 0x58) =20
=
<BR> &nb=
sp; ErrorCode =3D ERRO=
R_CODE_TWI; =20
=
<BR> &nb=
sp;i=3DTWDR; =20
=
<BR> &nb=
sp;=20
=
<BR> TWC=
R =3D (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); &=
nbsp;=20
=
<BR> ret=
urn i; =20
<BR>} =20
=
<BR><BR><BR>//-----------------------------------------------------------=
------------------=20
=
<BR>//Func Name: TWI/=
I2c Read Word=20
=
<BR>//Parameter: Device&nb=
sp;Address (DeviceAddr)=20
=
<BR>//Return Value: i=
nt=20
=
<BR>//Description: TWI/I2C=
one word read operation with default =
data address=20
=
<BR>//-------------------------------------------------------------------=
----------=20
=
<BR><BR>int TWIReadDefaultWord(unsigned int DeviceAddr)&nb=
sp;=20
<BR>{ =20
=
<BR> uns=
igned int i; =20
=
<BR> =20
=
<BR> TWC=
R =3D (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); =
=
<BR> whi=
le(!(TWCR & (1<<TWINT))); =20
=
<BR> if&=
nbsp;((TWSR & 0xf8) !=3D START) =20
=
<BR> &nb=
sp; ErrorCode =3D ERRO=
R_CODE_TWI; =20
<BR> =20
=
<BR> TWD=
R =3DDeviceAddr|TWI_READ; =20
=
<BR> TWC=
R =3D (1<<TWINT)|(1<<TWEN); =20
=
<BR> whi=
le (!(TWCR & (1<<TWINT))); =20
=
<BR> if&=
nbsp;((TWSR&0xf8)!=3D MR_SLAR_ACK) =20
=
<BR> &nb=
sp; ErrorCode =3D ERRO=
R_CODE_TWI; =20
<BR> =20
=
<BR>// T=
WCR =3D (1<<TWINT)|(1<<TWEN); =20
=
<BR> TWC=
R =3D (1<<TWINT)|(1<<TWEA)|(1<<TWEN);=20
=
<BR> whi=
le (!(TWCR & (1<<TWINT))); =20
=
<BR> if ((TWSR&0x=
f8)!=3D MR_DATA_ACK) =20
=
<BR> &nb=
sp; ErrorCode =3D ERRO=
R_CODE_TWI; =20
=
<BR> &nb=
sp;i=3DTWDR; =20
=
<BR> &nb=
sp;=20
=
<BR> &nb=
sp;TWCR =3D (1<<TWINT)|(1<<TWEN); =20
=
<BR>// &=
nbsp;TWCR =3D (1<<TWINT)|(1<<TWEA)|(1<<TWEN);=
=20
=
<BR> whi=
le (!(TWCR & (1<<TWINT))); =20
=
<BR> if ((TWSR&0x=
f8)!=3D MR_DATA_NAK) =20
=
<BR> &nb=
sp; ErrorCode =3D ERRO=
R_CODE_TWI; =20
=
<BR> i=3D=
i<<8|TWDR;=20
=
<BR> &nb=
sp;=20
=
<BR> TWC=
R =3D (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); &=
nbsp;=20
=
<BR> ret=
urn i; =20
<BR>} <BR><BR>#include <iom64v.h>=20
<BR>#include "exception.h" <BR>#include "twi.h"=20
<BR>#include "lm75.h" <BR>#include "pcf8563.h"=20
<BR><BR>unsigned int Value; <BR><BR>void main(void) =
<BR>{=20
=
<BR> //unsigned int&n=
bsp;i; =20
<BR> =20
=
<BR> Value =3D 0=
xff;=20
<BR> =20
=
<BR> //PCF8563 operat=
ion=20
<BR> =20
=
<BR> TWIWriteByte(0xa2,&nb=
sp;PCF8563_CS1, 0x00);=20
=
<BR> Value =3D T=
WIReadByte(0xa2, PCF8563_CS1);=20
<BR> =20
=
<BR> TWIWriteByte(0xa2,&nb=
sp;PCF8563_CS2, 0x00);=20
=
<BR> Value =3D T=
WIReadByte(0xa2, PCF8563_CS2);=20
<BR> =20
<BR> while(1)=20
=
<BR> &nb=
sp; Valu=
e =3D TWIReadByte(0xa2, PCF8563_SECONDVL);=20
<BR> =20
<BR> while(1); =
<BR>}</FONT>=20
</TD></TR>
<TR>
<TD class=3Df03=20
style=3D"BORDER-RIGHT: #bbbbbb 0.5pt solid; BORDER-TOP: medium none; =
BORDER-LEFT: medium none; BORDER-BOTTOM: #bbbbbb 0.5pt solid"=20
vAlign=3Dbottom bgColor=3D#e8e8e8>=A1=A1 </TD></TR>
<TR>
<TD class=3Df03=20
style=3D"BORDER-RIGHT: #bbbbbb 0.5pt solid; BORDER-TOP: medium none; =
BORDER-LEFT: #bbbbbb 0.5pt solid; BORDER-BOTTOM: #bbbbbb 0.5pt solid"=20
align=3Dleft width=3D"19%" bgColor=3D#e8e8e8><IMG height=3D1=20
src=3D"http://www.ourdev.cn/bbs/images/pixel.gif"=20
width=3D7>2005-10-06,21:17:29 </TD>
<TD class=3Df03=20
style=3D"BORDER-RIGHT: #bbbbbb 0.5pt solid; BORDER-TOP: medium none; =
BORDER-LEFT: medium none; BORDER-BOTTOM: #bbbbbb 0.5pt solid"=20
vAlign=3Dtop width=3D"81%" bgColor=3D#e8e8e8 ?>
<TABLE width=3D"100%">
<TBODY>
<TR>
<TD align=3Dleft><IMG height=3D1=20
src=3D"http://www.ourdev.cn/bbs/images/pixel.gif" width=3D7> =
<A=20
class=3Dtt4=20
=
href=3D"http://www.ourdev.cn/bbs/user_information.jsp?user_name=3Dwxnire"=
=20
target=3D_blank>=D7=CA=C1=CF</A> <IMG height=3D1=20
src=3D"http://www.ourdev.cn/bbs/images/pixel.gif" width=3D7> =
<SPAN=20
class=3Df01>=D3=CA=BC=FE</SPAN> <IMG height=3D1=20
src=3D"http://www.ourdev.cn/bbs/images
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -