标题: 1302时钟为啥减的时候出问题 [打印本页]

作者: 1096062254    时间: 2017-5-9 19:32
标题: 1302时钟为啥减的时候出问题
if(K4==0)
                    {
                     Delay10ms();
                         if(K4==0)
                         {
                               TIME[SetPlace]--;
                                        if((TIME[SetPlace]&0x0f)>9)                                         //换成BCD码。
                                        {
                                                TIME[SetPlace]=TIME[SetPlace]+10;
                                        }
                                        if((TIME[SetPlace]<0x00)&&(SetPlace<2))                //分秒只能到59
                                        {
                                                TIME[SetPlace]=59;
                                        }
                                        if((TIME[SetPlace]<0x00)&&(SetPlace==2))                //小时只能到23
                                        {
                                                TIME[SetPlace]=23;
                                        }
                                        if((TIME[SetPlace]<=0x00)&&(SetPlace==3))                //日只能到31
                                        {
                                                TIME[SetPlace]=31;       
                                        }
                                        if((TIME[SetPlace]<=0x00)&&(SetPlace==4))                //月只能到12
                                        {
                                                TIME[SetPlace]=12;
                                        }       
                                        if((TIME[SetPlace]<=0x00)&&(SetPlace==5))                //周只能到7
                                        {
                                                TIME[SetPlace]=7;
                                        }

                         }
                         while((i<30)&&(K4==0))         //检测按键是否松开
                                {
                                        Delay10ms();
                                        i++;
                                }
                                i=0;
                    }               


作者: zl2168    时间: 2017-5-9 21:18
提问不明确,所有没人答!
作者: 1096062254    时间: 2017-5-10 17:32
zl2168 发表于 2017-5-9 21:18
提问不明确,所有没人答!

就是我写了一个程序1302的完了加的时候没事在减的时候BCD出问题了

作者: zl2168    时间: 2017-5-10 20:03
本帖最后由 zl2168 于 2017-5-10 21:26 编辑

那是你程序出问题了,给你介绍一个成功成熟案例,自己去对照研究吧!
实例91 具有校正功能的时钟1302LCD1602显示)
Proteus仿真,确认有效。
实例91 带校正时钟1302(LCD1602显示).rar (52.68 KB, 下载次数: 52)

以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1书中电路和程序设计有详细说明,程序语句条条有注解。仿真电路和Hex文件能在清华出版社网站免费下载,程序源代码只能到书上看了。到图书馆借,或到新华书店翻阅,或到网上书店打折购买。







作者: 1096062254    时间: 2017-5-10 20:48
zl2168 发表于 2017-5-10 20:03
那是你程序出问题了,给你介绍一个成功成熟案例,自己去对照研究吧!

好求例程




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1