一個功能很全的模擬洗衣機仿真與源碼,是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);
上一篇:51單片機心形流水和數碼管同步效果顯示仿真與程序
下一篇:單片機循跡小車制作程序
推薦閱讀
史海拾趣
英特爾,作為全球知名的半導體公司,其發展歷程中充滿了轉型與挑戰。隨著個人電腦市場的飽和和移動互聯網的興起,英特爾面臨了巨大的業績壓力。然而,通過持續的技術創新,英特爾成功將業務擴展至數據中心、物聯網和自動駕駛等領域,實現了從PC芯片制造商向多元化技術公司的轉型。盡管過程中不乏波折,但英特爾始終保持著對技術的熱情和追求,不斷推動著自身的發展。
ELEMENT14始終將提升服務質量和客戶滿意度作為首要任務。公司建立了完善的客戶服務體系,提供快速響應、專業解答的客戶服務。同時,ELEMENT14還定期開展客戶滿意度調查,針對客戶的反饋和建議進行改進。這些努力不僅提升了客戶滿意度,也增強了公司的品牌形象和市場競爭力。
APT公司成立于1987年,創始人憑借對氣體輸送技術的深刻理解和前瞻眼光,在加利福尼亞州圣拉斐爾創立了這家公司。初始階段,公司專注于制造堅固、可靠的氣體輸送產品,尤其是壓力調節器和閥門。盡管市場充滿競爭,但APT公司憑借出色的產品性能和可靠的品質,在1988年成功推出了一小部分產品,并迅速獲得了市場的認可。銷售額的迅速增長和產品供應的緊張,都預示著APT公司正步入快速發展的軌道。
隨著全球環保意識的提高,EBK Kruger積極響應綠色生產的號召。公司投入大量資金研發環保型電子產品,并優化生產流程以減少能源消耗和廢棄物排放。通過這些努力,EBK Kruger不僅降低了生產成本,還提升了企業的社會責任感,贏得了更多客戶的支持和信任。
隨著技術的不斷進步和市場的擴大,BULGIN公司在20世紀60年代成為了當時世界上最大的、產品線最為齊全的電子零件制造商之一。公司保持著快速的創新與發展,BULGIN品牌開始覆蓋多國市場,為全球各地的客戶提供優質的產品和服務。
Devar Inc公司自創立之初,就致力于在增強現實(AR)領域取得突破。經過多年的研發,公司成功推出了世界上首個用于AR的生成式AI神經網絡。這項技術允許用戶通過簡單的文本提示創建3D對象和其他AR資產,極大地簡化了AR內容的創作過程。Devar的AR平臺結合了神經網絡和云解決方案,讓用戶能夠輕松創建并分享AR內容,開啟了AR創作的新時代。
BIOS知識點滴Follow Bini系列之--PCI CLKRUN# & PCIE CLKREQ# 本帖最后由 paulhyde 于 2014-9-15 08:55 編輯 PCI設備的Pin定義上有CLOCK RUN這個Option信號 PCI Express設備有定義CLOCK REQUEST這個Option 這兩個信號為了省電的目的而設的 先看PCI的CLKRUN#,如下圖: 如果PCI Deivce A和B,某個或全部設 ...… 查看全部問答∨ |
vs2005 在VC++建立一個MFC智能設備工程,我以為和evc4是一樣的.但不知為什么有些類總是提示找不到.比如:CCeDBDatabase類等.難道vs2005 在VC++不支持evc4的東西?… 查看全部問答∨ |
請教: 當單片機向 PC 串口發串數據 windows 系統怎么知道單片機 向它發了數據呢? 是有消息觸發, 還是 windows 每一定的時間去掃描串口? 謝謝!… 查看全部問答∨ |
|