kxqrscy 发表于 2013-11-5 16:20:53

编程一点小问题

两个模块程序 第一个是数码管显示程序如下(众神不必详看跟本贴没关系)
P1=0x02;
P2=0x5b;
delay();
P1=0x03;
P2=0x3f;
delay();
第二个模块式计数器控制P0^0口取反程序如下
TMOD=0x01;
TH0=(65536-18)/256;
TL0=(65536-18)%256;
TR0=1;
while(1)
{while(TF1==0)
;
TF1=0;
P00=~P00;
TH0=(65536-18)/256;
TL0=(65536-18)%256;}
本小虾目的是在按键按下时候,第一个模块无限循环始终执行的同时执行第二个模块该怎么搞啊求解答   

isakura 发表于 2013-11-5 16:29:03

程序结构有问题,第二个程序还有个while(1),第二个程序改成定时器加标志位控制就可以

kxqrscy 发表于 2013-11-5 16:31:16

isakura 发表于 2013-11-5 16:29 static/image/common/back.gif
程序结构有问题,第二个程序还有个while(1),第二个程序改成定时器加标志位控制就可以 ...

额 又是你,厉害啊   是不是把while(1)去掉就行了,请明示一下可以吗

isakura 发表于 2013-11-5 16:38:09

kxqrscy 发表于 2013-11-5 16:31 static/image/common/back.gif
额 又是你,厉害啊   是不是把while(1)去掉就行了,请明示一下可以吗

要看你的具体程序才知道,反正while910这种东西不要随便用,而且不是在主函数里面,你连个退出的条件都没有

kxqrscy 发表于 2013-11-5 16:43:02

isakura 发表于 2013-11-5 16:38 static/image/common/back.gif
要看你的具体程序才知道,反正while910这种东西不要随便用,而且不是在主函数里面,你连个退出的条件都没 ...

好的多谢了,决定好好补补C++

tony_sgt 发表于 2013-11-5 21:02:28

用中断,第一个循环在主循环内,第二个用中断

albert_w 发表于 2013-11-5 22:18:38

kxqrscy 发表于 2013-11-5 16:43 static/image/common/back.gif
好的多谢了,决定好好补补C++

这种事情, 不管C++的事儿.
要么, 你按键显示一起放到循环里面, 连续读到多少次按键就算有效, 设置个标记.
要么你把按键交给中断.

最好用循环, 简单, 去抖也好
页: [1]
查看完整版本: 编程一点小问题