找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5704|回復(fù): 2
收起左側(cè)

自制遙控電扇

[復(fù)制鏈接]
ID:292103 發(fā)表于 2018-6-5 11:21 | 顯示全部樓層 |閱讀模式
     以前買了個(gè)遙控模塊放了很久,現(xiàn)在把它拿出來做個(gè)遙控電扇,嘻嘻!但是測(cè)了一下,這個(gè)模塊在單片機(jī)上四個(gè)控制端始終顯示高電平,單片機(jī)引腳無法在低電平時(shí)進(jìn)行判斷,無奈只能選擇了循環(huán)顯示的程序。本人覺得還行,按一下,低檔,按一下,二檔,再按一下,高檔,最后按一下關(guān)掉!大俠勿噴哦!

制作出來實(shí)物圖如下:
IMG_20180605_102733.jpg IMG_20180605_102817.jpg IMG_20180605_102855.jpg IMG_20180605_103232.jpg

單片機(jī)源程序如下:
  1. /********************************************************************
  2. *********************************************************************/
  3. #include<reg52.h>                 //庫(kù)文件
  4. #define uchar unsigned char//宏定義無符號(hào)字符型
  5. #define uint unsigned int  //宏定義無符號(hào)整型
  6. /********************************************************************
  7.                             初始定義
  8. *********************************************************************/
  9. uchar count;   //按鍵計(jì)數(shù),每按一下,count 加1
  10. uchar a,b;           //定義字符型變量
  11. uchar temp;    //定義字符型變量
  12. sbit BY1=P3^4; //定義按鍵的輸入端(為單片機(jī)P2口的P2.1按鍵)
  13. //sbit P10=P1^0;sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;sbit P15=P1^5;sbit P16=P1^6;
  14. /********************************************************************
  15.                             延時(shí)函數(shù)
  16. *********************************************************************/
  17. void delay10ms(void) //延時(shí)程序
  18. {
  19. uchar i,j;
  20. for(i=20;i>0;i--)
  21. for(j=248;j>0;j--);
  22. }
  23. /********************************************************************
  24.                            按鍵判斷函數(shù)
  25. *********************************************************************/
  26. void key() //按鍵判斷程序
  27. {
  28.         if(BY1==0) //判斷是否按下鍵盤
  29.         {
  30.                 delay10ms(); //延時(shí),軟件去干擾
  31.                 if(BY1==0) //確認(rèn)按鍵按下
  32.                 {
  33.                         count++; //按鍵計(jì)數(shù)加1
  34.                         if(count==4) //計(jì)8次重新計(jì)數(shù)
  35.                         {
  36.                                 count=0;//將count 清零
  37.                         }
  38.                 }
  39.         while(BY1==0);//按鍵鎖定,每按一次count 只加1.
  40.         }
  41. }



  42. /********************************************************************
  43.                             主函數(shù)
  44. *********************************************************************/
  45. void main()
  46. {
  47.         temp=0xfe; //定義為11111110
  48.         while(1)
  49.         {
  50.                 key(); //調(diào)用按鍵判斷函數(shù)
  51.        
  52.                 a=temp<<count;//左移count位
  53.                 b=temp>>(8-count);//右移8-count位
  54.                 P1=a|b;        //求值 P10=
  55. //        if(P14==0){P10=1;P11=1;P12=1;P13=1;}
  56.         }
  57. }
  58.        
  59. /********************************************************************
  60.                               結(jié)束
  61. *********************************************************************/
復(fù)制代碼

所有資料51hei提供下載:
遙控電扇.zip (69.26 KB, 下載次數(shù): 37)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:344633 發(fā)表于 2018-6-8 17:10 | 顯示全部樓層
哎呀我去你直接買一個(gè)互鎖的四路遙控器多好啊,直接都解決了。
不過你這個(gè)單片機(jī)玩的不錯(cuò),有時(shí)候四路改變一下還是挺好的
回復(fù)

使用道具 舉報(bào)

ID:269211 發(fā)表于 2018-7-1 14:56 | 顯示全部樓層
這個(gè)貌似復(fù)雜了,不用單片機(jī)也可以的,弄個(gè)互鎖的2272,然后接幾個(gè)高電平觸發(fā)的繼電器就可以了。也是可以實(shí)現(xiàn)遙控電扇的,這是個(gè)人的意見,僅供參考。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表