-
初略一看,没啥问题,难道是硬件问题?
-
stc12c5a60s2
-
把检测按键放开的那个while删掉,不然你一按,程序就卡那里了,影响数码管输出
你可以循环N次扫描一次按键,这样就不会按一下执行多次了
i++;
if(i>13)
{
key_scan();
i=0;
}
数值自己选取个合适的
[ 本帖最后由 孤獨の快樂 于 2012-7-2 13:26 编辑 ]
-
才500Hz,应该可以吧
-
为啥楼主跑51论坛来问PIC的问题
-
原帖由 beck_ck 于 2012-3-12 01:38 发表 程序中好像while(1)后面多了个“分号”
+1
-
/除法 %取模
举例:
50/3=16 50%3=2
20/4=5 20%4=0
34/10=3 34%10=4
```````
-
time0[7]={12,7,2,5,1,59,45};
你每次上电都是显示该数组里的值?
-
原帖由 Learner_new 于 2012-2-8 13:25 发表 有的,就是我那个set_ds1302()函数 刚开始会显示一个初试时间
set_ds1302()是把timer0的值设置进去?
瞧瞧这个函数的代码
[ 本帖最后由 孤獨の快樂 于 2012-2-8 14:58 编辑 ]
-
那得看你程序长啥样了
话说,你程序一开始难道有设置时间的函数?
-
原帖由 15075039ZQ 于 2012-2-5 21:46 发表 table=table>>1;在DY_PORT = table; //变化灯的状态11111110上面添加一句
其实table是数组,上面写的应该是DY_PORT = table[ b ];由于论坛的缘故,发帖后,后面的[ b ]不显示的
-
原帖由 huo_hu 于 2012-2-4 18:18 发表 移位是输出特定的位以循环,左还是右看你高低位的顺序。
正解
-
所给成程序太少,无法分析
-
比如晚上11点。
12小时制是往0x84地址写入0xc1(1011 0001)
24小时制是往0x84地址写入0x23(0010 0011)
[ 本帖最后由 孤獨の快樂 于 2012-2-6 12:19 编辑 ]
-
要改的不是寄存器的地址,要改的是往寄存器写的数据
-
你的按键打算怎么控制LED,从你这程序我看不出来
按键按下,状态随机改变(因为b未定),按键放开,LED状态不变
如果你是打算按键按一下LED状态改变的话,应该是按一下b+1,而不是用for循环
因为你按键按不按,for循环都在执行,b都在改变,没法确定按下时b的值
[ 本帖最后由 孤獨の快樂 于 2012-2-5 21:05 编辑 ]
-
原帖由 15075039ZQ 于 2012-1-31 20:26 发表 首先明显错误,数码管动态扫描不对。按位去扫描,不能整体操作
P2接译码器,没啥问题吧
-
确定是P1^3接的温度传感器吗?
-
能不能具体说说什么样的错误
-
我只能说这是板的问题了