|
紅外線遙控Proteus仿真電路(發射 接收程序)
紅外發射編碼程序
紅外發射解碼程序
proteus的紅外遙控的仿真原理圖
0.png (54.76 KB, 下載次數: 131)
下載附件
2017-4-12 15:36 上傳
0.png (54.77 KB, 下載次數: 124)
下載附件
2017-4-12 15:43 上傳
0.png (18.45 KB, 下載次數: 136)
下載附件
2017-4-12 15:37 上傳
壓縮包里面這個文檔詳細介紹了紅外遙控這個技術的方方面面:
0.png (85.95 KB, 下載次數: 131)
下載附件
2017-4-12 15:38 上傳
0.png (172.02 KB, 下載次數: 135)
下載附件
2017-4-12 15:38 上傳
0.png (212.84 KB, 下載次數: 142)
下載附件
2017-4-12 15:38 上傳
- 格力空調遙控器(YB0F2)解碼
- CUP:STC89C52RC 晶振:11.0569MHz
- 直接由串口輸出 波特率:57600
- ************************************ 說 明 **********************************************
- 解碼方式:
- 以一個9ms的低電平和4.5ms的高電平為引導碼,后跟35位二進制代碼 接著0.565ms低電平和20MS高電平跟32位二進制代碼
- 前4個字節每個字節為8位,中間1個字節只有3位,接著為20MS高電平,跟后4個字節每個字節為8位
- 以低電平為0.565ms、高電平為0.56ms、 周期為1.125ms的組合表示"0";
- 以低電平為0.565ms、高電平為1.685ms、周期為2.25ms的組合表示"1"。;
- 注意:經過紅外接收頭解調后單片機接收到的高低電平是和遙控器發射時是相反的一個過程
- * 兼容 1T-12T單片機中斷方式紅外接收數據,并通過串口發送
- 程序編輯: lbq691477940 22/07/2011
- /*******************************************************************************************/
- /*******************************************************************************************/
- #include <reg52.h>
- typedef unsigned char uint8;
- sbit Ir_Pin = P3^2;
- uint8 Ir_Buf[9]; //用于保存解碼結果
- /*******************************************************************************************
- * 外部中斷0初始化
- /*******************************************************************************************/
- void int1_init(void)
- {
- IT0 = 1; //下降沿有效
- EX0 = 1;
- EA = 1;
- }
- /*******************************************************************************************
- * UART初始化1 l2 N5 e* e; }
- * 波特率:9600 波特率:57600
- /*******************************************************************************************/
- void uart_init(void)
- {
- TMOD = 0x21;
- /* SCON = 0x50;
- TH1 = 0xFD; //9600bps @ 11.0592MHz
- TL1 = 0xFD;
- TR1 = 1;
- SCON = 0x50;
- PCON |= 0x80;
- TH1 = 0xff; //57600bps @ 11.0592MHz;
- TL1 = 0xff;
- TR1 = 1;
- }
- /****************************** 延時21ms子程序 ************************************
- void delay21ms(void)
- {
- uint8 a,b;
- for(b=150;b>0;b--)
- for(a=63;a>0;a--);
- }
- /*******************************************************************************************/
- /*******************************************************************************************
- * UART發送一字節
- /*******************************************************************************************/
- void UART_Send_Byte(uint8 dat)
- {
- SBUF = dat;
- while (TI == 0);
- TI = 0;
- }
- /*******************************************************************************************
- * 獲取低電平時間/
- /*******************************************************************************************/
- unsigned int Ir_Get_Low()
- {
- TL0 = 0;
- TH0 = 0;
- TR0 = 1;
- while (!Ir_Pin && (TH0 & 0x80)==0);//一直計到Ir_Pin不等0與計到大于1.085*32768=35553.28us
- TR0 = 0;
- return (TH0 * 256 + TL0); //返回T1 高八位和低八位計數值
- }
- /*******************************************************************************************
- * 獲取高電平時間
- /*******************************************************************************************/
- unsigned int Ir_Get_High()
- {
- TL0 = 0;
- TH0 = 0;
- TR0 = 1;
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
下載:
51黑論壇_紅外線遙控Proteus仿真電路 發射 接收程序.zip
(969.31 KB, 下載次數: 446)
2017-4-12 10:21 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
|