找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 5950|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

[求助] 在Proteus下仿真DS1302時,為什么燒不進去數(shù)據(jù)��?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:16820 發(fā)表于 2009-9-19 15:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
代碼如下:

#include<reg52.h>
#include"1602.h"
#define uchar unsigned char
sbit RST=P3^4;
sbit SCLK=P3^2;
sbit IO=P3^3;
sbit ACC0=ACC^0;
sbit ACC7=ACC^7;
uchar year,month,day,hour,min,sec;
 void delay(unsigned int n)  
{ unsigned int x,y;
    for(x=n;x>0;x--)
 for(y=110;y>0;y--)
 ;  
}
void inputbyte(uchar uc)
{
   uchar i;
   ACC=uc;
   for(i=8;i>0;i++)
   {
 IO=ACC0;
 TCLK=0;
 TCLK=1;
    ACC=ACC>>1;
   }
}
uchar outputbyte(void)
{
 uchar i;
 for(i=8;i>0;i++)
 {
  ACC=ACC>>1;
  ACC7=IO;
  TCLK=1;
  TCLK=0;
 }
 return(ACC);
}
void w1302(uchar add,uchar uc)
{
 RST=0;
 TCLK=0;
 RST=1;
 inputbyte(add);
 inputbyte(uc);
 TCLK=1;
 RST=0;
}
uchar r1302(uchar add)
{
    uchar uc;
 RST=0;
 TCLK=0;
 RST=1;
 inputbyte(add);
 uc=outputbyte();
 TCLK=1;
 RST=0;
 return(uc);
}
void burstw1302(uchar *psec)
{
 uchar i;
 w1302(0x8e,0x00);
 RST=0;
 TCLK=0;
 RST=1;
 inputbyte(0xbe);
 for(i=8;i>0;i--)
 {
  inputbyte(*psec);
  psec++;
 }
 TCLK=1;
 RST=0;
}
void burstr1302(uchar *psec)
{
 uchar i;
 RST=0;
 SCLK=0;
 RST=1;
 inputbyte(0xbf);
 for(i=8;i>0;i--)
 {
  *psec=outputbyte();
  psec++;
 }
 TCLK=1;
 RST=0;
}
void init1302(void)
{
 w1302(0x8e,0x00);
 w1302(0x90,0xa5);
 w1302(0x80,0x32);
 w1302(0x82,0x13);
 w1302(0x84,0x18);
 w1302(0x86,0x01);
 w1302(0x88,0x01);
 w1302(0x8a,0x01);
 w1302(0x8c,0x06);
 w1302(0x82,0x15);
 w1302(0x8e,0x80);
 

}
void main()
{
uchar i;
//init1302(); 
RW=0;
init();

 

delay(0x1000);
i=r1302(0x81);
write_data(i/16+0x30);
write_data(i%16+0x30);

while(1);
 }

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表