|
沒(méi)事就在某寶買了個(gè)pt2272模塊玩,問(wèn)店家就說(shuō)是點(diǎn)動(dòng)的,他說(shuō)自鎖的賣完了。。。 。
想了想只能用單片機(jī)了,但是這模塊輸出的是高電平單片機(jī)檢測(cè)高電平不怎么樣說(shuō)以就拿74hc04d來(lái)轉(zhuǎn)換低電平,加上以前買的stc15f204s剛剛好。
按一下按鍵繼電器一輸出,并蜂鳴器響一聲,對(duì)應(yīng)指示燈亮,測(cè)試后兩賭墻都可以非常好用
制作出來(lái)的實(shí)物圖如下:
IMG_20181213_162511.jpg (5.48 MB, 下載次數(shù): 36)
下載附件
電壓電流(耗電低)
2018-12-13 16:30 上傳
IMG_20181213_162435.jpg (5.5 MB, 下載次數(shù): 37)
下載附件
成品圖
2018-12-13 16:28 上傳
IMG_20181213_162446.jpg (5.54 MB, 下載次數(shù): 36)
下載附件
俯視圖
2018-12-13 16:29 上傳
IMG_20181213_162457.jpg (5.46 MB, 下載次數(shù): 39)
下載附件
下板背面圖
2018-12-13 16:29 上傳
IMG_20181213_162527.jpg (5.66 MB, 下載次數(shù): 35)
下載附件
下板正面圖
2018-12-13 16:30 上傳
IMG_20181213_162541.jpg (5.6 MB, 下載次數(shù): 39)
下載附件
上板背面
2018-12-13 16:30 上傳
IMG_20181213_162736.jpg (5.62 MB, 下載次數(shù): 39)
下載附件
遙控器
2018-12-13 16:30 上傳
單片機(jī)源程序如下:
- /**************************************************************************************
- * 獨(dú)立按鍵實(shí)驗(yàn) *
- 實(shí)現(xiàn)現(xiàn)象:下載程序后按下K1按鍵可以對(duì)D11小燈狀態(tài)取反。
- 注意事項(xiàng):無(wú)
- ***************************************************************************************/
- #include "reg52.h" //此文件中定義了單片機(jī)的一些特殊功能寄存器</div><div>typedef unsigned int u16; //對(duì)數(shù)據(jù)類型進(jìn)行聲明定義
- typedef unsigned char u8;
- #define uint unsigned int
- #define uchar unsigned char
- sbit k1=P1^2;
- sbit k2=P1^3;
- sbit k3=P1^4;
- sbit k4=P1^5;
- sbit led1=P3^7;
- sbit led2=P3^3;
- sbit led3=P3^6;
- sbit led4=P3^2;
- void delay( uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- {
- for(y=110;y>0;y--);
- }
- }
- /*******************************************************************************
- * 函 數(shù) 名 : keypros
- * 函數(shù)功能 : 按鍵處理函數(shù),判斷按鍵K1是否按下
- *******************************************************************************/
- void keypros()
- {
- if(k1==0) //檢測(cè)按鍵K1是否按下
- {
- delay(100); //消除抖動(dòng) 一般大約10ms
- if(k1==0) //再次判斷按鍵是否按下
- {
- led1=~led1; //led狀態(tài)取反
- }
- while(!k1); //檢測(cè)按鍵是否松開(kāi)
-
- }
- }
- void keypros1()
- {if(k2==0) //檢測(cè)按鍵K1是否按下
- {
- delay(100); //消除抖動(dòng) 一般大約10ms
- if(k2==0) //再次判斷按鍵是否按下
- {
- led2=~led2; //led狀態(tài)取反
- }
- while(!k2); //檢測(cè)按鍵是否松開(kāi)
- }
- }
- void keypros2()
- {if(k3==0) //檢測(cè)按鍵K1是否按下
- {
- delay(100); //消除抖動(dòng) 一般大約10ms
- if(k3==0) //再次判斷按鍵是否按下
- {
- led3=~led3; //led狀態(tài)取反
- }
- while(!k3); //檢測(cè)按鍵是否松開(kāi)
- }
- }
- void keypros3()
- {if(k4==0) //檢測(cè)按鍵K1是否按下
- {
- delay(100); //消除抖動(dòng) 一般大約10ms
- if(k4==0) //再次判斷按鍵是否按下
- {
- led4=~led4; //led狀態(tài)取反
- }
- while(!k4); //檢測(cè)按鍵是否松開(kāi)
- }
- }
- /*******************************************************************************
- * 函 數(shù) 名 : main
- * 函數(shù)功能 : 主函數(shù)
- * 輸 入 : 無(wú)
- * 輸 出 : 無(wú)
- *******************************************************************************/
- void main()
- {
- led1=1;
- led2=1;
- led3=1;
- led4=1;
- while(1)
- {
- keypros();
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
123.zip
(52.26 KB, 下載次數(shù): 83)
2018-12-13 16:33 上傳
點(diǎn)擊文件名下載附件
程序 下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|