|
|
51單片機(jī)HS0038解碼程序,很詳細(xì)!
0.png (9.89 KB, 下載次數(shù): 21)
下載附件
2019-4-27 21:47 上傳
單片機(jī)源程序如下:
- #include <reg51.h>
- #define hw_hs0038_ENTITY
- #include "hw_hs0038.h"
- sbit in=P3^2;
- //uchar i=0;
- //uchar k[2];
- bit bdata b=0;
- /*
- void timer0(void) interrupt 1 using 1
- {
- b=1;
- TH0=0;
- TL0=0;
- }
-
- */
- void hw_start()
- {
- while(in==1); //等待低電平到來
- }
- void hw_pulse()
- { //測(cè)試脈沖寬度
- //i=0;
- TR0=1; //啟動(dòng)定時(shí)器0測(cè)試低電平寬度
- while(in==0); //高電平到了,
- TR0=0; //關(guān)閉定時(shí)器0,低電平寬度測(cè)試完
- //k[i]=TH0;
- //i++;
- TH0=0;
- TL0=0;
- TR0=1; //高電平到了,啟動(dòng)定時(shí)器1,測(cè)試高電平寬度
- while(in==1); //低電平到了,
- TR0=0; //關(guān)閉定時(shí)器1,高電平寬度測(cè)試完
- //k[i]=TH0;
- //i++;
- if(TH0<3)
- b=1;
- else b=0;
- TH0=0;
- TL0=0;
- }
-
- uchar hw_key()
- {
- uchar j,m;
- //i=0;
- hw_start(); //等待低電平到來
- hw_pulse();
- for(j=0;j<24;j++) //測(cè)試用戶碼脈沖寬度
- {
- hw_pulse();
- }
- for(j=0;j<8;j++) //測(cè)試鍵碼脈沖寬度
- {
- hw_pulse();
- if(b==1)
- m=(m<<1)|1;
- else
- m<<=1;
- }
- return m; //鍵碼
- }
復(fù)制代碼
所有資料51hei提供下載:
紅外HS0038.rar
(86.64 KB, 下載次數(shù): 106)
2019-4-27 14:49 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|