请各位大神解答初一数学难题解答

时钟芯片问题,请各位大神解答 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
时钟芯片问题,请各位大神解答
09:33:03  
我想让单片机断电后,时间计数不停止。比如我关掉单片机时候数码管显示时间为12-05-48(12点05分48秒),过了12秒钟,再打开单片机,时间显示为12-06-00(12点06分00秒)。以下为代码,如果想实现上面功能,哪里需要改动,大神指教。
//时钟芯片
#include&reg51.h&
#include&intrins.h&
#define uchar unsigned char
#define uint unsigned int
sbit DSIO=P3^4;
sbit RST=P3^5;
sbit SCLK=P3^6;
void Ds1302Write(uchar addr, uchar dat);
uchar Ds1302Read(uchar addr);
void Ds1302Init();
void Ds1302ReadTime();
extern uchar TIME[7];
//--定义使用的IO--//
#define GPIO_DIG P0
//--声明全局变量--//
void DigDisplay();
//--定义全局变量--//
unsigned char code DIG_CODE[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码
unsigned char table1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
unsigned char DisplayData[8];
//用来存放要显示的8位数的值
uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};
uchar code WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};
//---DS1302时钟初始化日星期二12点00分00秒。---//
//---存储顺序是秒分时日月周年,存储格式是用BCD码---//
uchar TIME[7] = {0, 0, 0x12, 0x01, 0x01, 0x02, 0x13};
void Ds1302Write(uchar addr, uchar dat)
& & & & RST = 0;
& & & & _nop_();
& & & & SCLK = 0;//先将SCLK置低电平。
& & & & _nop_();
& & & & RST = 1; //然后将RST(CE)置高电平。
& & & & _nop_();
& & & & for (n=0; n&8; n++)//开始传送八位地址命令
& & & & & & & & DSIO = addr & 0x01;//数据从低位开始传送
& & & & & & & & addr &&= 1;
& & & & & & & & SCLK = 1;//数据在上升沿时,DS1302读取数据
& & & & & & & & _nop_();
& & & & & & & & SCLK = 0;
& & & & & & & & _nop_();
& & & & for (n=0; n&8; n++)//写入8位数据
& & & & & & & & DSIO = dat & 0x01;
& & & & & & & & dat &&= 1;
& & & & & & & & SCLK = 1;//数据在上升沿时,DS1302读取数据
& & & & & & & & _nop_();
& & & & & & & & SCLK = 0;
& & & & & & & & _nop_();& & & &
& & & & }& & & &
& & & & & & & &&&
& & & & RST = 0;//传送数据结束
& & & & _nop_();
uchar Ds1302Read(uchar addr)
& & & & uchar n,dat,dat1;
& & & & RST = 0;
& & & & _nop_();
& & & & SCLK = 0;//先将SCLK置低电平。
& & & & _nop_();
& & & & RST = 1;//然后将RST(CE)置高电平。
& & & & _nop_();
& & & & for(n=0; n&8; n++)//开始传送八位地址命令
& & & & & & & & DSIO = addr & 0x01;//数据从低位开始传送
& & & & & & & & addr &&= 1;
& & & & & & & & SCLK = 1;//数据在上升沿时,DS1302读取数据
& & & & & & & & _nop_();
& & & & & & & & SCLK = 0;//DS1302下降沿时,放置数据
& & & & & & & & _nop_();
& & & & _nop_();
& & & & for(n=0; n&8; n++)//读取8位数据
& & & & & & & & dat1 = DSIO;//从最低位开始接收
& & & & & & & & dat = (dat&&1) | (dat1&&7);
& & & & & & & & SCLK = 1;
& & & & & & & & _nop_();
& & & & & & & & SCLK = 0;//DS1302下降沿时,放置数据
& & & & & & & & _nop_();
& & & & RST = 0;
& & & & _nop_();& & & & //以下为DS1302复位的稳定时间,必须的。
& & & & SCLK = 1;
& & & & _nop_();
& & & & DSIO = 0;
& & & & _nop_();
& & & & DSIO = 1;
& & & & _nop_();
& & & && & & &
void Ds1302Init()
& & & & Ds1302Write(0x8E,0X00);& & & & & & & &&&//禁止写保护,就是关闭写保护功能
& & & & for (n=0; n&7; n++)//写入7个字节的时钟信号:分秒时日月周年
& & & & {& & & & & & & &
& & & & & & & & Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);& & & &
& & & & Ds1302Write(0x8E,0x80);& & & & & & & &&&//打开写保护功能
void Ds1302ReadTime()
& & & & for (n=0; n&7; n++)//读取7个字节的时钟信号:分秒时日月周年
& & & & & & & & TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);
& & & & & & & &
void main()
& & & & Ds1302Init();
& & & & while(1)
& & & & {& & & &
& & & & & & & & Ds1302ReadTime();
& & & & & & & & DisplayData[0] = DIG_CODE[TIME[2]/16];& & & & & & & & & & & & & & & & //时
& & & & & & & & DisplayData[1] = DIG_CODE[TIME[2]&0x0f];& & & & & & & & & & & & & & & &&&
& & & & & & & & DisplayData[2] = 0x40;
& & & & & & & & DisplayData[3] = DIG_CODE[TIME[1]/16];& & & & & & & & & & & & & & & & //分
& & & & & & & & DisplayData[4] = DIG_CODE[TIME[1]&0x0f];& & & &
& & & & & & & & DisplayData[5] = 0x40;
& & & & & & & & DisplayData[6] = DIG_CODE[TIME[0]/16];& & & & & & & & & & & & & & & & //秒
& & & & & & & & DisplayData[7] = DIG_CODE[TIME[0]&0x0f];
& & & & & & & & DigDisplay();& & & &
void DigDisplay()
& & & & for(i=0;i&8;i++)
& & & & & & & & P1=table1[i];
& & & & & & & & GPIO_DIG=DisplayData[i];//发送段码
& & & & & & & & j=50;& & & & & & & & & & & & & & & & & & & & & & & &&&//扫描间隔时间设定
& & & & & & & & while(j--);& & & &
& & & & & & & & GPIO_DIG=0x00;//消隐
08:13:21  
我用 DS1302 时候外接入电池后掉电会不停计数的。。。
22:26:17  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
掉电检测,数据手册有说。另外要有电池供应
22:32:28  
学习这个程序& &感觉单片有些困难呀
23:11:46  
我用 DS1302 时候外接入电池后掉电会不停计数的。。。
我用数码管显示&&为什么不会&&
23:12:39  
掉电检测,数据手册有说。另外要有电池供应
有电池供应啊 没有电池供应 单片机数码管上怎么可能还显示相应程序
23:13:19  
学习这个程序& &感觉单片有些困难呀
什么困难 是单片机不可靠么 还是单片机b格太低
11:07:08  
什么困难 是单片机不可靠么 还是单片机b格太低
楼主误解了&&我是说我对单片程序这一块不懂
12:44:04  
有电池供应啊 没有电池供应 单片机数码管上怎么可能还显示相应程序
单片机加多个时钟芯片吧,想DS1302就可以做到你想要的了。网上一堆资料,学会自个看看
22:47:18  
学习这个程序& &感觉单片有些困难呀
那应该用什么来学习
Powered by
供应链服务
商务及广告合作
Jeffery Guo
关注我们的微信
供应链服务 PCB/IC/PCBA
版权所有 (C) 深圳华强聚丰电子科技有限公司查看: 4578|回复: 106
一个难题,请各位大神解答
TA的每日心情开心 18:32签到天数: 1 天[LV.1]初来乍到
朋友圈来的问题:为啥做个好人需九九八十一个磨难,而坏人放下屠刀,即可立地成佛?
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心 16:06签到天数: 442 天[LV.9]以坛为家II
还真是个难题呢
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心 21:57签到天数: 726 天[LV.9]以坛为家II
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心 21:57签到天数: 726 天[LV.9]以坛为家II
{:7_592:}{:7_592:}{:7_592:}{:7_592:}
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
头像被屏蔽
TA的每日心情开心 09:03签到天数: 16 天[LV.4]偶尔看看III
提示: 作者被禁止或删除 内容自动屏蔽
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情擦汗 23:53签到天数: 395 天[LV.9]以坛为家II
坏人的屠刀不易放下来吧?若真的放下了,以前做的坏事,将折磨余生,需要忏悔
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情无聊 14:31签到天数: 1 天[LV.1]初来乍到
还真是个难题呢
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心昨天&18:42签到天数: 429 天[LV.9]以坛为家II
问题是他虽然放下屠刀,但是立不了地,因为他所造罪孽足以将他打入十八层地狱,所以这句话的意思是:只要你放下屠刀,还能在原地站立,就可以成佛!否则。。。哼哼,等着秋后算账吧{:7_588:}
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心14&小时前签到天数: 1089 天[LV.10]以坛为家III
噢& && &参佛悟道啊
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
该用户从未签到
可见拯救一个坏人的重要性,
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心 18:32签到天数: 1 天[LV.1]初来乍到
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心 18:32签到天数: 1 天[LV.1]初来乍到
还真是个难题呢
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心 18:32签到天数: 1 天[LV.1]初来乍到
问题是他虽然放下屠刀,但是立不了地,因为他所造罪孽足以将他打入十八层地狱,所以这句话的意思是:只要你 ...
你好!谢谢!
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心 18:32签到天数: 1 天[LV.1]初来乍到
噢& && &参佛悟道啊
佛在心中!{:7_592:}
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
TA的每日心情开心 21:57签到天数: 726 天[LV.9]以坛为家II
新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
Powered by
增值电信许可证:}

我要回帖

更多关于 裁缝泰勒的难题解答 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信