📄 c51ds1202.html
字号:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>单片机编程世界——编程实战---C51</title><meta name="GENERATOR" content="Microsoft FrontPage 3.0"></head><body background="image\weave.gif"><div align="center"><center><table border="0" width="494" height="128" cellpadding="0"> <tr> <td width="494" height="35" align="center">/*********************************************************/<br> <br> DS1202.C: DS1202 real time clock chip BIOS <br> <br> 易兵<br> 1999-10-20<br> /*********************************************************/</td> </tr> <tr> <td width="494" height="1491"><br> <br> /* Bit Address Assignment*/<br> sbit RTC_RST= 0x95; /* P1.5 */<br> sbit RTC_CLK= 0x96; /* P1.6 */<br> sbit RTC_DIO= 0x97; /* P1.7 */<br> <br> <font color="#FF00FF">void RtcDelay(void)</font>; /* Photo type of routine */<br> <font color="#FF00FF">void RtcDelay()</font><br> {<br> xdata unsigned char i;<br> for (i=0;i<50;i++);<br> }<br> <br> <font color="#FF00FF">void RtcWrite(char, char);</font> /* Photo type of routine */<br> <font color="#FF00FF">void RtcWrite(char command, char byte_data)</font><br> { <br> xdata unsigned char i;<br> command=((command<<1)&0xfe)|0x80; <br> RTC_CLK= 0;<br> RtcDelay();<br> RTC_RST= 0;<br> RtcDelay();<br> RTC_RST= 1;<br> RtcDelay();<br> for (i=0;i<8;i++)<br> { <br> RTC_CLK=0;<br> RtcDelay();<br> RTC_DIO=((command>>i) & 0x01);<br> RtcDelay();<br> RTC_CLK=1;<br> RtcDelay();<br> }<br> for (i=0;i<8;i++)<br> { <br> RTC_CLK=0;<br> RtcDelay();<br> RTC_DIO=((byte_data>>i)& 0x01); <br> RtcDelay();<br> RTC_CLK=1;<br> RtcDelay();<br> }<br> RTC_RST=0; <br> RtcDelay();<br> RTC_CLK=0;<br> RtcDelay(); <br> RTC_RST=1;<br> RtcDelay();<br> RTC_CLK=1;<br> RtcDelay();<br> RTC_RST=0;<br> RtcDelay();<br> RTC_CLK=0;<br> RtcDelay();<br> }<br> <br> <font color="#FF00FF">char RtcRead(char);</font> /* Photo type of routine */<br> <font color="#FF00FF">char RtcRead(char command)</font><br> { <br> xdata unsigned char i,j;<br> command=(command<<1)|0x81;<br> RTC_CLK=0;<br> RtcDelay();<br> RTC_RST= 0;<br> RtcDelay();<br> RTC_RST= 1;<br> RtcDelay();<br> for (i=0;i<8;i++)<br> { <br> RTC_CLK=0;<br> RtcDelay();<br> RTC_DIO=((command>>i) & 0x01);<br> RtcDelay();<br> RTC_CLK=1;<br> RtcDelay();<br> }<br> RTC_DIO=1;<br> RTC_CLK=0;<br> RtcDelay();<br> for (i=0;i<8;i++)<br> { <br> RTC_CLK=1;<br> RtcDelay();<br> if (RTC_DIO==1)<br> j=(j>>1)|0x80;<br> else<br> j=(j>>1)&0x7f;<br> RTC_CLK=0;<br> RtcDelay();<br> }<br> RTC_RST=0;<br> RTC_DIO=0;<br> RtcDelay();<br> return (j);<br> }<br> <br> <font color="#FF00FF">void RtcSetup(char, char);</font> /* Photo type of routine */<br> <font color="#FF00FF">void RtcSetup(char command, char byte_data)</font><br> { <br> RtcWrite(0x07,0x00);<br> RtcWrite(command,byte_data);<br> RtcWrite(0x07,0x80);<br> }<br> </td> </tr> <tr> <td width="494" height="13" align="center">1999-10-20</td> </tr> <tr> <td width="494" height="51" align="center"><a href="http://mcu21cn.yeah.net">《单片机编程世界》</a></td> </tr></table></center></div><p align="center"><a href="c51program.htm" target="_self">返回</a></p></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -