原创 【原创】HT1380 AVR C语言驱动程序

2009-4-18 15:05 4168 2 3 分类: MCU/ 嵌入式

#include "ht1380.h"


/*************短时间延时***********************************/
void dly_HT1380(void)
{
 asm("nop");
 asm("nop");
 asm("nop");
 asm("nop");
}


/*************向HT1380中写一个字节*************************/
void HT1380_write(uint8_t data)
{
 uint8_t i="0";
 set_HT1380_io_ddr();
 clr_HT1380_io();
 for(i=8;i>0;i--)
 {
  dly_HT1380();
  if(data&0x01)
  {
   set_HT1380_io();
  }
  dly_HT1380();
  set_HT1380_sclk();
  dly_HT1380(); 
  clr_HT1380_sclk();
  dly_HT1380(); 
  clr_HT1380_io();
  data>>=1;
 }
}


/*************从HT1380中读一个字节*************************/
int HT1380_read(void)
{
 uint8_t data="0";
 uint8_t i="0";
 clr_HT1380_io_ddr();//让io变成输入
 for(i=8;i>0;i--)
 {
  set_HT1380_sclk();
  dly_HT1380();
  data >>= 1;   
  if(in_HT1380_io())
  {
   data |= 0x80;
  }
  else
  {
   data &= 0x07f;
  }
  clr_HT1380_sclk();
  dly_HT1380();
 } 
 return(data);
}


/**********从HT1380中读日期和时间******************************/
void HT1380_read_time(void)
{
 clr_HT1380_sclk();
 set_HT1380_io_ddr();
 clr_HT1380_rst();
 dly_HT1380();
 set_HT1380_rst(); //
 HT1380_write(0xbf); 
 dly_HT1380();
 clr_HT1380_io_ddr();
 dly_HT1380();
 second=HT1380_read(); //秒
 minute=HT1380_read(); //分
 hour=HT1380_read(); //时
 day=HT1380_read(); //日
 month=HT1380_read();//月
 week=HT1380_read(); //周
 year=HT1380_read(); //年
 dly_HT1380();
 clr_HT1380_rst();
}
/**********向HT1380写日期和时间******************************/
void HT1380_write_time(void)
{
 clr_HT1380_sclk();
 set_HT1380_io_ddr();
 clr_HT1380_rst();
 dly_HT1380();
 set_HT1380_rst(); //
 HT1380_write(0x8e);
 HT1380_write(0x00);  
 dly_HT1380();
 clr_HT1380_rst();
 dly_HT1380();
 set_HT1380_rst(); //
 HT1380_write(0x80);
 HT1380_write(0x00);
 dly_HT1380();
 clr_HT1380_rst();
 dly_HT1380();
 set_HT1380_rst(); //
 HT1380_write(0xbe);
 HT1380_write(second); // 秒
 HT1380_write(minute); //分
 HT1380_write(hour); //时
 HT1380_write(day); //日
 HT1380_write(month); //月
 HT1380_write(week); //周
 HT1380_write(year); //年
 HT1380_write(0x00);  
 dly_HT1380();
 clr_HT1380_rst();
}


http://space.ednchina.com/Upload/2009/4/18/69a848c6-bbd0-4825-b347-eb1a5bbf325b.rar

文章评论1条评论)

登录后参与讨论

tengjingshu_112148725 2009-4-18 18:21

支持原创
相关推荐阅读
小可歌 2016-05-31 13:54
【转帖】模拟电路的四重境界
无意中看到这个文章,虽然自己也搞了4 年模电了,但后看完之后发现自己原来根本就没有入门阿!现发上来和大家共享!·············   复旦攻读微电子专业模拟芯片设计方向研究生开始到...
小可歌 2016-05-28 07:14
发帖庆祝用app inventor的录音机保存MP3格式录音成功!
看似简单的功能,可是把我难够呛,刚学APP INVENTOR没几天,手里的两本书翻来掉去的看了N遍。APP INVENTOR的录音机默认是保存录音文件为3GP格式,我想保存成MP3文件就没有地方找...
小可歌 2016-02-22 08:56
C语言Printf格式,调试最好的助手!
    C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型, 其中方括号[]中的项为...
小可歌 2016-02-19 15:19
对于SRAM的地址线和数据线是可以打乱顺序用的!!!!
因为SRAM的地址具有唯一性,其实数据线也有唯一性。 也就是A0~A18,D0~D15,都是唯一的。 正常是:A0~A18,接FSMC的A0~A18。 D0~D15,接FSMC的D0~D15. 假...
小可歌 2016-02-02 11:29
Linux系统下基本命令
Linux系统下基本命令: 要区分大小写  uname 显示版本信息(同win2K的 ver)  dir 显示当前目录文件,ls -al 显示包括隐藏文件(同win2K的 dir)  pwd...
小可歌 2016-02-02 11:28
DOS命令大全
对于一般的网民来说,dos命令是什么真的不知道,dos命令有些什么作用也不知道。但是黑客们却精通dos命令,经常利用dos命令进行各种任务,以达到自己的目的。下面笔者为大家汇总出dos命令大全,希...
广告
EE直播间
更多
我要评论
1
2
广告
关闭 热点推荐上一条 /7 下一条