No.6817 作者:wt13 邮件:wt13@elong.com ID:3404 登陆:1次 QQ:18987813 文章数:2篇 最后登陆IP: 最后登陆:2002/2/7 12:23:00 注册:2002/2/7 12:23:00 财富:8 发帖时间:2002/4/1 11:57:00 发贴者IP:61.140.188.149 标题:wt13:C51编程:中断中的中断,麻烦中的麻烦。 怎一个难字了得?挑战高手 摘要:No.6817C51编程:中断中的中断,麻烦中的麻烦。 怎一个难字了得?挑战高手 我现在要写这么一个小程序,希望实现以下功能:希望各位高手帮我分析一下 1.有两个小灯L1, L2; 还有一控制开关Vt。 2.当Vt第一次打开的时候,首先L1亮72秒,然后L1和L2都熄灭18秒,再L2亮72秒。再L1和L2 熄灭18秒,再继续L1亮72秒。如此循环。 2.当Vt关闭的时候,L1和L2都熄灭,但是要记住前面亮的是L1还是L2,假设为L1亮,且已经 亮了Ta1秒.这时如果Vt又打开,则L1继续亮,假设再亮Ta2秒以后,又Vt关闭,则熄灭,又 Vt打开,继续亮Ta3,…… 要满足一个条件:Ta1 + Ta2 + Ta3 + ...+ Tan = 72秒。 也就 是说,其中的一个灯,它亮的总时间必须是72秒,再开始亮另一个灯。 3.假设Vt关闭前亮的灯是L2,则L2和L1一样,亮的总时间必须72秒 4.如果Vt关闭前正处于L1和L2都熄灭的休息时间,则Vt再次打开的时候,将从L1开始亮的起 点重新循环。 我自己的分析:因为Vt关闭后,要保存前面的灯亮的时间,所以不能用Vt ......
>>返回讨论的主题
|