51單片機HS0038解碼程序,很詳細!
0.png (9.89 KB, 下載次數: 21)
下載附件
2019-4-27 21:47 上傳
單片機源程序如下:
- #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()
- { //測試脈沖寬度
- //i=0;
- TR0=1; //啟動定時器0測試低電平寬度
- while(in==0); //高電平到了,
- TR0=0; //關閉定時器0,低電平寬度測試完
- //k[i]=TH0;
- //i++;
- TH0=0;
- TL0=0;
- TR0=1; //高電平到了,啟動定時器1,測試高電平寬度
- while(in==1); //低電平到了,
- TR0=0; //關閉定時器1,高電平寬度測試完
- //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++) //測試用戶碼脈沖寬度
- {
- hw_pulse();
- }
- for(j=0;j<8;j++) //測試鍵碼脈沖寬度
- {
- hw_pulse();
- if(b==1)
- m=(m<<1)|1;
- else
- m<<=1;
- }
- return m; //鍵碼
- }
復制代碼
所有資料51hei提供下載:
紅外HS0038.rar
(86.64 KB, 下載次數: 106)
2019-4-27 14:49 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|