标题: 设置键程序有问题么,按了很多下才能调时间 [打印本页]
作者: 吾乐生世 时间: 2018-4-18 09:55
标题: 设置键程序有问题么,按了很多下才能调时间
if(key1n==9) key1n=1;//éèÖð′¼ü12óDÃë¡¢·Ö¡¢걡¢DÇÆú¡¢èÕ¡¢Ô¡¢Äê¡¢·μ»Ø£¬8¸ö1|ÄüÑ-»·
switch(key1n)
{
case 1: TR0=0;//1رն¨ê±Æ÷
//TR1=0;
write_1602com(er+0x06);//éèÖð′¼ü°′¶ˉò»′Σ¬ÃëλÖÃÏÔê¾1a±ê
write_1602com(0x0f);//éèÖÃ1a±êÎaéá˸
temp=(miao)/10*16+(miao)%10;//Ãëêy¾YD′èëDS1302
write_1302(0x8e,0x00);
write_1302(0x80,0x80|temp);//miao
write_1302(0x8e,0x80);
break;
case 2: write_1602com(er+3);//°′2′ÎfenλÖÃÏÔê¾1a±ê
//write_1602com(0x0f);
break;
case 3: write_1602com(er+0);//°′¶ˉ3′Σ¬shi
//write_1602com(0x0f);
break;
case 4: write_1602com(yh+0x0e);//°′¶ˉ4′Σ¬week
//write_1602com(0x0f);
break;
case 5: write_1602com(yh+0x08);//°′¶ˉ5′Σ¬ri
//write_1602com(0x0f);
break;
case 6: write_1602com(yh+0x05);//°′¶ˉ6′Σ¬yue
//write_1602com(0x0f);
break;
case 7: write_1602com(yh+0x02);//°′¶ˉ7′Σ¬nian
//write_1602com(0x0f);
break;
case 8:
write_1602com(0x0c);//°′¶ˉμ½μú8′Σ¬éèÖÃ1a±ê2»éá˸
TR0=1;//′ò¿a¶¨ê±Æ÷
temp=(miao)/10*16+(miao)%10;
write_1302(0x8e,0x00);
write_1302(0x80,0x00|temp);//miaoêy¾YD′èëDS1302
write_1302(0x8e,0x80);
break;
}
}
//key4Ö±½ó íË3ö¼ü£¬íË3ö¼ü°′Ï£¬Ö±½óíË3öμ÷Õû×′쬣¬½øèë×ß걡£
}
if(key1n!=0)
{
if(key4==0) //íË3ö¼ü°′Ï£¬Ö±½óíË3öμ÷Õû×′쬣¬½øèë×ß걡£
{
delay(10);
if(key4==0)
{
buzzer=0;//·äÃùÆ÷¶ìÏìò»′Î
delay(20);
buzzer=1;
key1n=0,
write_1602com(0x0c);//éèÖÃ1a±ê2»éá˸
TR0=1;//′ò¿a¶¨ê±Æ÷
temp=(miao)/10*16+(miao)%10;
write_1302(0x8e,0x00);
write_1302(0x80,0x00|temp);//miaoêy¾YD′èëDS1302
write_1302(0x8e,0x80);
}
}
}
作者: HC6800-ES-V2.0 时间: 2018-4-18 14:45
进入修改状态,要用外部中断才行。
你这个键盘扫描办法,就是不容易进入修改状态。因为程序一直在跑啊,还是以一个很快的速度在跑,什么时间“恰好”扫描到你的按键,才进入修改,是要很多次的,不然没法“恰好”啊。
只是从你给出的程序中,看到修改的部分,所以有这样的猜测。
我做这个的思路(已经做成功的):
用外部中断进入、退出修改状态、键盘逐项选择要修改的内容、一个键修改,一共要三个键就可以了。如果你觉得一个键让数字只加不减,不方便,那么就用矩阵键盘,可以直接输入目标数值。
作者: zl2168 时间: 2018-4-18 17:08
本帖最后由 zl2168 于 2018-4-18 17:09 编辑
给你介绍一个按键校正时钟的实例,自己比对吧!
实例91 具有校正功能的时钟1302(LCD1602显示)
先Proteus仿真,确认有效。
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,书中电路和程序设计有详细说明,程序语句条条有注解。
作者: 吾乐生世 时间: 2018-4-25 09:25
好的谢谢,那怎么用外部中断呢
作者: zl2168 时间: 2018-4-25 12:41
上例中有啊!!!而且能操作感受,为什么不去看???
作者: xbd2048@qq.com 时间: 2018-4-25 13:12
是不是按键的扫描时间太长了
作者: 20180426 时间: 2018-4-27 13:50
修改延时参数 和 设定的按键参数
作者: 你在我的 时间: 2018-4-27 20:46
参数设置应该有问题吧
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |