历史上的今天
今天是:2024年12月31日(星期二)
2019年12月31日 | 51单片机洗衣机proteus仿真与源码设计
2019-12-31 来源:51hei
一个功能很全的模拟洗衣机仿真与源码,是51单片机控制的,有强洗按钮,弱洗按钮,标准洗按钮,甩干按钮.
液位传感器,排水阀按钮等功能一应俱全.
仿真原理图如下

还带各种指示灯:
单片机源程序如下:
#include #define uchar unsigned char #define uint unsigned int #define qiang_ledon qiang_led=1; #define qiang_ledoff qiang_led=0; #define biao_ledon biao_led=1; #define biao_ledoff biao_led=0; #define ruo_ledon ruo_led=1; #define ruo_ledoff ruo_led=0; #define piao_ledon piao_led=1; #define piao_ledoff piao_led=0; #define sgan_ledon sgan_led=1; #define sgan_ledoff sgan_led=0; #define jin_ledon jin_led=1; #define jin_ledoff jin_led=0; #define pai_ledon pai_led=1; #define pai_ledoff pai_led=0; unsigned char code Tab[11]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //数码管显示0~9的段码表 unsigned char int_time; //记录中断次数 unsigned char second; //储存秒 uint t=0,tt=0; sbit k1=P0^0; sbit k2=P0^1; sbit k3=P0^2; sbit sg=P0^3; sbit hk1=P0^4; sbit hk2=P0^5; sbit ledon=P0^7; sbit qiang_led=P2^0; sbit biao_led=P2^1; sbit ruo_led=P2^2; sbit piao_led=P2^3; sbit sgan_led=P2^4; sbit jin_led=P2^5; sbit pai_led=P2^6; sbit p30=P3^0; sbit p31=P3^1; sbit beepon=P2^7; sbit sm1=P3^6; sbit sm2=P3^7; void delay2(void) { unsigned char m; for(m=0;m<200;m++) ; } void delay1(int s) { int i; for(;s>0;s--) for(i=0;i<65;i++); } void delay(uint i) { uchar j; for(i;i>0;i--) for(j=255;j>0;j--); } void DisplaySecond(unsigned char k) { sm1=0; //P2.6引脚输出低电平, DS6点亮 P1=Tab[k/10]; //显示十位 delay2(); delay2(); sm1=1; sm2=0; //P2.7引脚输出低电平, DS7点亮 P1=Tab[k%10]; //显示个位 delay2(); delay2(); P3=0xff; //关闭所有数码管 P1=1; //显示个位 delay2(); delay2(); } void beep() { p30=0; p31=0; t=0; while(1) { beepon^=1; delay(300); if(t>=80) break; } beepon=0; biao_led=0; } void f_qiang() { qiang_ledon; t=0; tt=0; int_time=0; second=00; while(1) { if(tt>=400) break; t=0; while(t<80&&tt<=400) { p31=0; p30=1; //正转 4s DisplaySecond(second); } t=0; //反转 4s while(t<80&&tt<=400) { p30=0; p31=1; DisplaySecond(second); } } p30=0; p31=0; } void f_biao() { qiang_led=0; biao_led=1; t=0; tt=0; int_time=0; second=00; while(1) { if(tt>=400) break; t=0; while(t<60&&tt<=400) { p31=0; p30=1; //正转3s DisplaySecond(second); } t=0; //反转3s while(t<60&&tt<=400) { p30=0; p31=1; DisplaySecond(second); } } p30=0; p31=0; } void f_ruo() { qiang_led=0; biao_led=0; ruo_led=1; t=0; tt=0; int_time=0; second=00; while(1) { if(tt>=400) break; t=0; while(t<40&&tt<=400) { p31=0; p30=1; //正转2s DisplaySecond(second); } t=0; //反转 2s while(t<40&&tt<=400) { p30=0; p31=1; DisplaySecond(second); } } p30=0; p31=0; } void f_piao() { qiang_ledoff; biao_ledoff; piao_ledon; t=0; tt=0; int_time=0; second=00; while(1) { if(tt>=400) break; t=0; while(t<40&&tt<=400) { p31=0; p30=1; //正转2s DisplaySecond(second); } t=0; //反转2s while(t<40&&tt<=400) { p30=0; p31=1; DisplaySecond(second); } } p30=0; p31=0; piao_ledoff; } void pai_leds() { p30=0; p31=0; pai_led=1; //排水阀灯亮 等待霍尔开关2 while(hk2); if(hk2==0) //如果闭合 pai_led=0; //排水灯灭 } void jin() { p30=0; p31=0; jin_ledon; while(hk1);
下一篇:单片机循迹小车制作程序
史海拾趣
|
一、开关元件 开关、干簧管和霍耳元件都是用来控制线路的通断的器件。不同的是开关一般是人工手动操作的,而干簧管和霍克元件则是通过磁信号来控制线路的通和断。 1.开关 在手机中使用的开关通常是薄膜按键开关,它由触点和触片组成。按键的两个 ...… 查看全部问答> |
|
单脉冲序列对双激式开关电源变压器铁心的磁化开关电源原理与设计(连载53) 2-1-1-4.脉冲序列对双激式开关电源变压器铁心的磁化 双激式变压器与单激式变压器的区别主要是两者输入电压的参数不一样。单激式变压器输入的电压是单极性直流脉冲,而双激式变压器输入的电压是双极性交流脉冲。为了简单起见,我们把双激式变压器 ...… 查看全部问答> |
|
我做摄像头的数据采集,用CreateFile打开设备,然后调用DeviceIoControl函数,第二个参数需要的是控制CODE,这个CODE需要驱动来提供?不是标准调用吧。如果驱动没有提供读数据的控制CODE,那我是不是就没有办法用DeviceIoControl得到数据了?… 查看全部问答> |
|
我是青岛的目前原来是从事应用程序开发的,想转型做WinCE BSP开发,现在已经辞职在家专心学习WinCE BSP开发,现在实验用的板子是飞凌的OK2440III。由于在青岛没有找到这方面的朋友,所以许多问题只能靠自己研究或是到网上查资料。现在我有下面的一 ...… 查看全部问答> |
|
driverStudio 生成的驱动程序 实现 IO读写功能 驱动程序代码中两个操作如下: NTSTATUS RW6070Device::RW6070_IOCTL_800_Handler(KIrp I) { NTSTATUS status = STATUS_SUCCESS; //t … 查看全部问答> |
|
小弟手上的开放板的外部晶振是25M,串口通信,波特率为115200时,BRR是0x0135. 想问下0x0135是怎么算出来的?看了STM32的数据手册,没看懂。… 查看全部问答> |
|
RT-Thread开源实时操作系统/STM32F103VB0.3.0b3版本 这个版本更新有些多,RT-Thread/STM32F103VB 0.3.0 beta3更改记录:- 内核,添加IAR EWARM 5.x工程,在内核定义中做相应的平台定义;- 添加文件系统组件DFS,DFS是一套虚拟文件系统(类似Linux的VFS,但几乎不占 ...… 查看全部问答> |
|
有关2812的资料其寄存器都没有地址,所见的都是C语言的头文件,用了结构体和共用体,找不出起物理地址了,想用一段汇编,找不到外设和寄存器的地址,没法编那.谁有这方面的资料?或给指点一下… 查看全部问答> |




