標(biāo)題:
單片機(jī)pt2262無(wú)線遙控解碼器制作源程序
[打印本頁(yè)]
作者:
lgjdqm
時(shí)間:
2018-8-3 17:16
標(biāo)題:
單片機(jī)pt2262無(wú)線遙控解碼器制作源程序
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char
uchar code dis1[] = {" 2262 CODE IS "};
void delay_1s(uchar);
typedef unsigned char BYTE;
typedef unsigned int WORD;
typedef bit BOOL ;
sbit rs = P2^6 ;
sbit rw = P3^6 ;
sbit ep = P2^7 ;
delay(BYTE ms)
{ // 延時(shí)子程序
BYTE i;
while(ms--)
{
for(i = 0; i< 250; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
BOOL lcd_bz()
{ // 測(cè)試LCD忙碌狀態(tài)
BOOL result;
rs = 0;
rw = 1;
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
result = (BOOL)(P0 & 0x80);
ep = 0;
return result;
}
lcd_wcmd(BYTE cmd)
{ // 寫入指令數(shù)據(jù)到LCD
while(lcd_bz());
rs = 0;
rw = 0;
ep = 0;
_nop_();
_nop_();
P0 = cmd;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 0;
}
lcd_pos(BYTE pos)
{ //設(shè)定顯示位置
lcd_wcmd(pos | 0x80);
}
lcd_wdat(BYTE dat)
{ //寫入字符顯示數(shù)據(jù)到LCD
while(lcd_bz());
rs = 1;
rw = 0;
ep = 0;
P0 = dat;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 1;
_nop_();
_nop_();
_nop_();
_nop_();
ep = 0;
}
lcd_init()
{ //LCD初始化設(shè)定
lcd_wcmd(0x38); //
delay(1);
lcd_wcmd(0x0c); //
delay(1);
lcd_wcmd(0x06); //
delay(1);
lcd_wcmd(0x01); //清除LCD的顯示內(nèi)容
delay(1);
}
bit T0Action;
bit Action;
bit RECEIVE; //接收標(biāo)志
sbit P1_7=P1^1; //接收腳
sbit P3_5=P1^3; //發(fā)光二極管
void main()
{
uchar temp,data0,data1,counttime,i=0;
int time,time1,time2;
lcd_init(); // 初始化LCD
T0Action=0;
RECEIVE=0; //接收標(biāo)志位
Action=0;
TMOD = 0x01; // 定時(shí)器0 工作方式1
TH0=0x00;
TL0=0x00;
P3_5=1;
lcd_pos(0x00);
while(dis1[i] != '\0')
{ // 顯示字符ttnu.com
lcd_wdat(dis1[i]);
i++;
}
while(1)
{
do{P3_5=1;}while(P1_7==1);
if((P1_7==0) && (T0Action==0)) //等待低電平,低電平開始記時(shí)
{
TR0=0; TH0=0x00; TL0=0x00; TF0=0; TR0=1; T0Action=1;
while(1)
{
if((P1_7==1) && (T0Action==1))
{
TR0=0;
time=TH0*256+TL0; //記下低電平寬度時(shí)間
T0Action=0;
break;
}
}
}
if((time>9500) && (time<11500)) //檢測(cè)同步碼約11ms
{
counttime=0;
data0=0;
data1=0;
time=0;
RECEIVE=1; //檢測(cè)到同步碼時(shí) 置標(biāo)志位 RECEIVE=1
P3_5=0; //綠發(fā)光二極管燈亮(調(diào)試用)
}
if(RECEIVE==1) //檢測(cè)到同步碼后開始解碼
{
RECEIVE=0;
lcd_pos(0x42);
while(1)
{
do{}while(P1_7==1);
if((P1_7==0) && (T0Action==0)) //等待第一個(gè)低電平,一有低電平馬上記時(shí)
{
TR0=0; T0Action=1; TH0=0x00; TL0=0x00; TF0=0; TR0=1;
while(1)
{
if((P1_7==1) && (T0Action==1))
{
TR0=0;
time=TH0*256+TL0; //記下第一個(gè)低電平寬度時(shí)間
T0Action=0;
TH0=0x00;TL0=0x00; TF0=0;TR0=1; //開始記高電平時(shí)間
break;
}
}
}
do{}while(P1_7==1);
if((P1_7==0) && (T0Action==0)) //等待第二個(gè)低電平,一有低電平馬上記時(shí)
{
TR0=0;
time2=TH0*256+TL0; //記下一個(gè)高電平寬度時(shí)間
T0Action=1;
TH0=0x00; TL0=0x00; TF0=0; TR0=1;
while(1)
{
if((P1_7==1) && (T0Action==1))
{
TR0=0;
time1=TH0*256+TL0; //記下第二個(gè)低電平寬度時(shí)間
T0Action=0; break;
}
}
}
if((time<1500)) //判斷兩個(gè)低電平寬度時(shí)間是否相等,限時(shí)1500us
{
if(((time-time1)>=-600&&(time-time1)<=600) && (time>780) && (time<1150)) //低電平寬度時(shí)間
{
if((time2>210) && (time2<450)) //高電平寬度時(shí)間
lcd_wdat('0');temp=0x00; //0
}
if(((time-time1)>=-600&&(time-time1)<=600) && (time>210) && (time<450)) //低電平寬度時(shí)間
{
if((time2>780) && (time2<1150)) //高電平寬度時(shí)間
lcd_wdat('1');temp=0x01; //1
}
if((time>780) && (time<1150)&&(time1>210) && (time1<450))
lcd_wdat('f'); // f
counttime++;
if(counttime<=8) //開始接收前8位 地址碼
data0=(data0<<1)|temp;
else if((counttime>8) && (counttime<=12)) //開始接收后4位 數(shù)據(jù)碼
data1=(data1<<1)|temp;
if(counttime==12) // 第12位
{
Action=1;
break; //接收完畢,退出解碼程序
}
}
}
復(fù)制代碼
作者:
engcyh
時(shí)間:
2018-8-3 17:52
解碼速度怎樣。恳恢毕胱鲆粋(gè),可是速度都不理想
作者:
tieq1952
時(shí)間:
2018-8-4 07:25
謝謝分享。!
作者:
水泡泡洗澡澡
時(shí)間:
2018-8-7 10:09
謝謝分享!
作者:
水泡泡洗澡澡
時(shí)間:
2018-8-7 10:10
不錯(cuò)的呢!
作者:
kelos3000
時(shí)間:
2018-8-7 11:35
不錯(cuò)的呢!
作者:
xmd1972
時(shí)間:
2018-8-7 12:41
是替代2262的意思嗎
作者:
jefelee
時(shí)間:
2018-8-7 12:56
無(wú)線遙控程序..好東西
作者:
風(fēng)158
時(shí)間:
2018-8-7 14:38
學(xué)習(xí)一下。
作者:
花生會(huì)出油
時(shí)間:
2018-8-8 16:53
學(xué)習(xí)了
作者:
HEIZI555
時(shí)間:
2018-8-9 15:29
2262 1527已應(yīng)用生產(chǎn)很多,解碼程序絕對(duì)給力,原創(chuàng)!
作者:
nczjt
時(shí)間:
2018-9-14 19:10
學(xué)習(xí)一下
作者:
耽溺于往昔
時(shí)間:
2018-9-15 09:06
大佬大佬,學(xué)習(xí)了!
作者:
ismeyu
時(shí)間:
2018-9-24 22:33
無(wú)線遙控程序..好東西學(xué)習(xí)一下
作者:
JasirJiang
時(shí)間:
2018-9-27 15:50
解碼速度怎樣?一直想做一個(gè),可是速度都不理想
作者:
tianxing
時(shí)間:
2018-9-28 09:57
以前用過硬件解碼,學(xué)習(xí)一下。
作者:
hufeihufei110
時(shí)間:
2018-9-28 11:06
好樣地!那里弄來(lái)的。
作者:
252622979
時(shí)間:
2018-9-28 11:24
解碼程序,學(xué)習(xí)一下。
作者:
馨雨
時(shí)間:
2018-9-28 19:39
學(xué)習(xí)學(xué)習(xí)
作者:
micyb00
時(shí)間:
2018-9-29 14:26
謝謝分享!
作者:
zxianyu
時(shí)間:
2018-10-15 23:19
好資料,謝謝分享!
作者:
bamboo小萌新
時(shí)間:
2018-10-16 08:35
有原理圖或者實(shí)物圖嗎?
作者:
葉活
時(shí)間:
2018-10-16 12:47
沒有圖紙
作者:
sdxkw
時(shí)間:
2018-10-18 17:10
有電路圖嗎
作者:
lvlv99
時(shí)間:
2018-10-20 15:46
這可以,不是外中斷
作者:
liuzhaoxin1020
時(shí)間:
2018-10-21 11:32
好文件,參考一下
作者:
wb8899
時(shí)間:
2018-10-23 13:01
解碼容易,就是反應(yīng)速度確實(shí)不理想,還有連按檢測(cè)也做不好,有興趣的可一起討論下
作者:
15989468100
時(shí)間:
2018-10-24 11:46
為什么每次評(píng)論都被刪除
作者:
yfpc2006
時(shí)間:
2018-11-28 10:55
wb8899 發(fā)表于 2018-10-23 13:01
解碼容易,就是反應(yīng)速度確實(shí)不理想,還有連按檢測(cè)也做不好,有興趣的可一起討論下
我做過很多產(chǎn)品,可以一起探討!
作者:
ygloo
時(shí)間:
2018-11-28 17:15
謝謝分享!!
作者:
sdsdzs
時(shí)間:
2019-1-16 00:48
解碼程序,學(xué)習(xí)一下
作者:
千與千尋9527
時(shí)間:
2019-6-4 18:31
此程序試了試,解碼每次都不一樣,需要修改
作者:
ealoo
時(shí)間:
2019-6-24 15:08
能上原理圖就好做了
作者:
honghongda
時(shí)間:
2019-6-25 14:31
厲害的呢!
作者:
追求理想
時(shí)間:
2019-6-25 17:26
謝謝分享。。
作者:
daniellew
時(shí)間:
2019-7-21 17:31
謝分享。!
作者:
winkle
時(shí)間:
2019-7-21 20:24
正在學(xué)習(xí)無(wú)線遙控,很有幫助
作者:
winkle
時(shí)間:
2019-7-21 20:25
遙控距離和工作頻率大概是多少呢
作者:
winkle
時(shí)間:
2019-7-21 20:26
謝謝樓主的分享
作者:
2592532754
時(shí)間:
2019-7-21 20:35
內(nèi)容不錯(cuò) 值得學(xué)習(xí)
作者:
舔弄
時(shí)間:
2019-7-24 19:56
謝謝分享,很有用
作者:
丟丟的貓
時(shí)間:
2019-7-26 11:06
感謝分享。。
作者:
李風(fēng)888
時(shí)間:
2020-2-7 11:10
很好,學(xué)習(xí)一下
作者:
shijianzhicheng
時(shí)間:
2020-2-27 18:38
51有你更精彩
作者:
zdmjjp
時(shí)間:
2020-3-1 09:16
無(wú)線遙控程序..好東西,謝謝!
作者:
zxy2266
時(shí)間:
2020-3-1 12:09
謝謝分享,這個(gè)很有用
作者:
367069915
時(shí)間:
2020-3-13 07:47
這是基礎(chǔ)程序,沒有干擾究錯(cuò)
作者:
418854190
時(shí)間:
2020-4-29 14:02
好東西 抽空試試
作者:
418854190
時(shí)間:
2020-4-29 19:53
測(cè)試完了 可以解碼 用的是stc12c5a60s2單片機(jī) 使用內(nèi)部irc時(shí)鐘 通電顯示不全增加了延時(shí)就正常了 正在手繪電路板 單片機(jī)用貼片的 加了切換開關(guān)用來(lái)切換315M和433M
程序后面少了幾個(gè)大括號(hào) } 補(bǔ)上后就能正常編譯了
作者:
zigongwanjun
時(shí)間:
2020-4-29 22:35
非常實(shí)用,學(xué)習(xí)了,了解了PT2262解碼器。謝謝大俠。
作者:
swustlx86
時(shí)間:
2020-4-30 09:33
感謝分享 不知可以仿真嗎?
作者:
ByanouQ
時(shí)間:
2020-4-30 16:48
謝謝分享
作者:
阿飛7812
時(shí)間:
2020-5-8 21:01
學(xué)習(xí)中,謝謝分享
作者:
dzltlgq
時(shí)間:
2020-10-21 13:58
據(jù)說(shuō)匯編語(yǔ)言解碼速度更快。距離更遠(yuǎn)
作者:
617617666
時(shí)間:
2021-7-28 09:20
是不是就不用2262了?
作者:
617617666
時(shí)間:
2021-7-28 09:23
這個(gè)有原理圖嗎
作者:
617617666
時(shí)間:
2021-7-28 09:38
這個(gè)有原理圖嗎
作者:
pq1972
時(shí)間:
2021-7-28 23:00
慢慢學(xué)習(xí),什么時(shí)候,我也能寫出這樣的代碼,加油
作者:
winsinzhao
時(shí)間:
2021-9-10 21:04
為什么我用這程序1602液晶屏顯示不全
作者:
絲瓜偵探
時(shí)間:
2021-10-17 16:13
厲害!正在學(xué)習(xí)做解碼,參考下!
作者:
eastwife
時(shí)間:
2021-10-21 09:25
有沒有參考的硬件接收電路?
作者:
fj51hei
時(shí)間:
2021-10-21 10:22
這個(gè)解碼怎么跟其他程序分?jǐn)倳r(shí)間
作者:
dzltlgq
時(shí)間:
2021-11-3 19:26
原理圖PCB圖影響解碼效果
作者:
wang2000xx
時(shí)間:
2021-11-17 10:55
認(rèn)真學(xué)習(xí),雖然不懂!
作者:
searchtear
時(shí)間:
2022-1-24 23:07
我正在學(xué)習(xí)這方面的知識(shí),值得學(xué)習(xí)
作者:
youlinys
時(shí)間:
2022-2-18 12:28
具有一定的實(shí)用意義,是單片機(jī)學(xué)習(xí)的好項(xiàng)目。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1