久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1777|回復(fù): 2
收起左側(cè)

利用ds302的時候,用數(shù)碼管顯示,數(shù)碼管顯示不正常

[復(fù)制鏈接]
ID:627807 發(fā)表于 2020-2-19 23:23 | 顯示全部樓層 |閱讀模式
0.jpg 0.jpg
以下為源程序:
——————————————————————————————————————————————————————
#include<reg52.h>
#include<intrins.h>
sbit SCK=P1^7;  
sbit SDA=P2^3;  
sbit RST=P1^3;
unsigned char we[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned char duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
/*單字節(jié)寫入一字節(jié)數(shù)據(jù)*/
void Write_Ds1302_Byte(unsigned char dat)
{
unsigned char i;
SCK = 0;
for (i=0;i<8;i++)
{
  if (dat & 0x01)  // 等價于if((addr & 0x01) ==1)
  {
   SDA=1;
  }
  else
  {
   SDA=0;
  }   
  SCK=1;
  SCK=0;  
  dat = dat >> 1;
}
}
/********************************************************************/
/*單字節(jié)讀出一字節(jié)數(shù)據(jù)*/
unsigned char Read_Ds1302_Byte(void)
{
unsigned char i, dat=0;
for (i=0;i<8;i++)
{
  dat = dat >> 1;
  if (SDA)  
  {
   dat |= 0x80;
  }
  else
  {
   dat &= 0x7F;
  }
  SCK=1;
  SCK=0;
}
return dat;
}
/********************************************************************/
/*向DS1302 單字節(jié)寫入一字節(jié)數(shù)據(jù)*/
void Ds1302_Single_Byte_Write(unsigned char addr, unsigned char dat)
{
RST=0;   /*RST腳置低,實現(xiàn)DS1302的初始化*/
SCK=0;   /*SCK腳置低,實現(xiàn)DS1302的初始化*/
RST=1;   /*啟動DS1302總線,RST=1電平置高 */
  
Write_Ds1302_Byte(addr); /*寫入目標(biāo)地址:addr,保證是寫操作,寫之前將最低位置零*/
Write_Ds1302_Byte(dat);  /*寫入數(shù)據(jù):dat*/
RST=0;     /*停止DS1302總線*/
}
/********************************************************************/
/*從DS1302單字節(jié)讀出一字節(jié)數(shù)據(jù)*/
unsigned char Ds1302_Single_Byte_Read(unsigned char addr)
{
unsigned char temp;
RST=0;   /*RST腳置低,實現(xiàn)DS1302的初始化*/
SCK=0;   /*SCK腳置低,實現(xiàn)DS1302的初始化*/
RST=1; /*啟動DS1302總線,RST=1電平置高 */
        
Write_Ds1302_Byte(addr); /*寫入目標(biāo)地址:addr,保證是讀操作,寫之前將最低位置高*/
temp=Read_Ds1302_Byte(); /*從DS1302中讀出一個字節(jié)的數(shù)據(jù)*/  
RST=0; /*停止DS1302總線*/
return temp;
}
unsigned char dat_bcd(date)
{
unsigned char dat1,dat2;
dat1=date/10;
dat2=date%10;
dat2=dat2+dat1*16;
return dat2;

}
unsigned char bcd_dat(date)
{
unsigned char dat1,dat2;
dat1=date/16;
dat2=date%16;
dat2=dat2+dat1*10;
return dat2;
}
void Delay1ms()  //@11.0592MHz
{
unsigned char i, j;
_nop_();
i = 2;
j = 199;
do
{
  while (--j);
} while (--i);
}

void display(unsigned char sec,unsigned char min,unsigned char hour)
{
P2=0xc0;P0=we[0];P2=0x00;P2=0xe0;P0=~duan[hour/10];P2=0x00;Delay1ms();
P2=0xc0;P0=we[1];P2=0x00;P2=0xe0;P0=~duan[hour%10];P2=0x00;Delay1ms();
P2=0xc0;P0=we[2];P2=0x00;P2=0xe0;P0=0xff;P2=0x00;Delay1ms();
P2=0xc0;P0=we[3];P2=0x00;P0 = 0xff;P2=0xe0;P0=~duan[min/10];P2=0x00;Delay1ms();
P2=0xc0;P0=we[4];P2=0x00;P0 = 0xff;P2=0xe0;P0=~duan[min%10];P2=0x00;Delay1ms();
P2=0xc0;P0=we[5];P2=0x00;P2=0xe0;P0=0xff;P2=0x00;Delay1ms();
P2=0xc0;P0=we[6];P2=0x00;P0 = 0xff;P2=0xe0;P0=~duan[sec/10];P2=0x00;Delay1ms();
P2=0xc0;P0=we[7];P2=0x00;P0 = 0xff;P2=0xe0;P0=~duan[sec%10];P2=0x00;Delay1ms();
}
void main()
{
unsigned char sec,min,hour;
Ds1302_Single_Byte_Write(0x8e,0x00);
Ds1302_Single_Byte_Write(0x80,dat_bcd(45));//秒
Ds1302_Single_Byte_Write(0x82,dat_bcd(49));//分
Ds1302_Single_Byte_Write(0x84,dat_bcd(16));//時
Ds1302_Single_Byte_Write(0x8e,0x80);
while(1)
{
  
  sec=bcd_dat(Ds1302_Single_Byte_Read(0x81));
  min=bcd_dat(Ds1302_Single_Byte_Read(0x83));
  hour=bcd_dat(Ds1302_Single_Byte_Read(0x85));
  
  display(sec,min,hour);
  
}

}

回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2020-2-20 07:10 | 顯示全部樓層
樓主沒有提供硬件電路,不易準(zhǔn)確判斷問題所在,但有一點可以看出ds1302的SDA使用了P2.3,數(shù)碼管段碼和位碼鎖存器的使能端使用了P2的某兩個端口。在顯示程序中明顯看出樓主對P2操作不當(dāng)。
回復(fù)

使用道具 舉報

ID:627807 發(fā)表于 2020-2-20 10:43 | 顯示全部樓層
wulin 發(fā)表于 2020-2-20 07:10
樓主沒有提供硬件電路,不易準(zhǔn)確判斷問題所在,但有一點可以看出ds1302的SDA使用了P2.3,數(shù)碼管段碼和位碼 ...

請問能和否告訴我哪里錯了呢,百思不得其解
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区在线 | 成人av片在线观看 | 亚洲视频在线观看一区二区三区 | 国产在线中文字幕 | 日韩成人精品 | 日韩成人免费视频 | 国产欧美日韩综合精品一 | 操久久 | 成人做爰69片免费观看 | 成年人在线观看 | 在线视频91 | 精品久久一区 | 一级在线观看 | 国内精品视频在线观看 | 久久亚洲综合 | 91亚洲一区 | 久久99精品久久久久久国产越南 | 国产一级电影在线 | 国产九一精品 | 中文字幕高清 | 91麻豆产精品久久久久久 | 九色在线视频 | 久久综合九九 | 一区二区三区高清 | 精品一区av | 日韩欧美国产一区二区三区 | 青青草视频免费观看 | 亚洲女人天堂成人av在线 | chengrenzaixian| 国产乱码高清区二区三区在线 | 中文字幕一区二区三区四区五区 | 久久一区二区三区四区五区 | 五月天天丁香婷婷在线中 | 一级在线视频 | 最近最新中文字幕 | 欧美一区二区三区一在线观看 | 亚洲成人免费在线观看 | 影音av| 久久久精品久 | 精品永久 | 欧洲国产精品视频 |