程序没有,给你一些思路。
1.一般的8051没有PWM输出功能,控制电机转速要用到定时器,用TIMER2调节占空比,通过定时时间设置IO口高低持续电平时间(模拟占空间比),假设弱洗占空比30%,强洗占空比60%,漂洗占空比90%。由于IO口驱动能力比较弱,所以加上三极管最好。
2.三个按键KEY1、KEY2、KEY3设定洗涤方式。检测到KEY1(丝质衣服)按下时,TIMER1定时3s、占空比设为90%;KEY2(棉质衣服)按下时TIMER1先定时2s、占空比设为30%;2s后立刻重新设定TIMER1定时5s、占空比设为60%;5s后立刻重新重新设定TIMER1定时3s,占空比设为90%;KEY3(化纤衣服)按下时TIMER1先定时4秒、占空比设为60%,4s后TIMER1;立刻设为2s,占空比设为90%。调节占空比其实也是调节定时器,所以在按键检测程序中修改定时器初值就可以了。。。
3.再搞3个按键KEY4、KEY5、KEY6。KEY4用来选择弱洗、强洗、漂洗的,KEY5、KEY6用来设定洗涤时间加减的。设个变量change,KEY4按下时change加1,change大于3后置0,change值可以为0、1、2,分别代表弱洗、强洗、漂洗,在switch语句中执行不同的洗涤方式。最后KEY5、KEY6用来改变TIMER1的初始值,检测到KEY5、KEY6按下时TIMER1的初始值加减即可。
4.在定时器中断程序中改变改变LED状态即可。
最好搞个自带PWM输出功能的51单片机,实现起来简单一些。
|