//////////////////////////////////////
//晶振頻率為6MHz 一個機器周期2us //
//實現按鍵地址碼、指令碼的數碼管顯示//
//2010-06-01 //
//////////////////////////////////////
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit la=P2^6;
sbit wela=P2^7;
bit overflag,dataover;//開始接收數據,數據處理完畢
uchar timedata;//定時器0溢出次數
uchar chubus[33];//33Byte數據 timedata組成的數組
uchar jieguos[4];//地址碼,地址反碼,數據碼,數據反碼;
void initial()//初始化
{
IT0=1;EX0=1;//負邊沿觸發
TMOD=0x01;ET0=1;TR0=1;//模式1,十六位定時器
TH0=0xff;TL0=0x06;//0.5ms溢出
EA=1; //開總中斷
}
void time0() interrupt 1//定時器0中斷
{TH0=0xff;TL0=0x06;
timedata++;
}
void ex0() interrupt 0//外部中斷0,接收數據
{
static bit startflag;//開始接收
static uchar i;
if(startflag)
{
if(timedata<32&&timedata>=16) i=0;
chubus[i]=timedata;
timedata=0;
i++;
if(i==33){overflag=1;i=0;}
}
else
{
startflag=1;
timedata=0;
}
}
void chulidata()
{
uchar chubu;//初步數據
uchar jieguo;//結果數據
uchar x,y,z=1;
for(x=0;x<4;x++)//處理四組數據
{
for(y=1;y<=8;y++)//處理一組數據8Byte
{
chubu=chubus[z];
jieguo=jieguo>>1;
if(chubu>3) jieguo=jieguo|0x80;//大於1.5mS為1
z++;
}
jieguos[x]=jieguo;
jieguo=0;
}
dataover=1;
}
void delay(uint z)
{
uint x ,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display()
{
uchar gao,gao1;
uchar di,di1;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
gao1=table[jieguos[0]/16];
di1=table[jieguos[0]%16];
gao=table[jieguos[2]/16];
di=table[jieguos[2]%16];
la=1;
P0=gao1;
la=0;
P0=0xff;
wela=1;
P0=0x7e;
wela=0;
delay(2);
la=1;
P0=di1;
la=0;
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
delay(2);//地址碼
la=1;
P0=gao;
la=0;
P0=0xff;
wela=1;
P0=0x77;
wela=0;
delay(2);
la=1;
P0=di;
la=0;
P0=0xff;
wela=1;
P0=0x6f;
wela=0;
delay(2);//指令碼
}
void main()
{
initial();//初始化
while(1)
{
if(overflag)//數據接收完畢
{
chulidata();//處理數據,完成標志dataover
overflag=0;
}
if(dataover)
{
display();//數碼管顯示
}
}
}
B. 基於51單片機紅外遙控代碼(C語言)
以下文件是51單片機實現遙控解碼,通過數碼管顯示鍵碼的程序,P0口驅動數碼管段選,p2.6和p2.7為數碼管位選,接收頭連到P3.2口。此程序以通過驗證,可以直接編譯使用,另外還有一個繼電器和蜂鳴器的控制,不用可以屏蔽掉。
;********************************************************************************
;* 描述: *
;* 遙控鍵值讀取器 *
;* 數碼管顯示, P0口為數碼管的數據口 *
;* *
;********************************************************************************
;遙控鍵值解碼-數碼管顯示 *
;********************************************************************************/
#include <reg51.h>
#include <intrins.h>
void IR_SHOW();
void delay(unsigned char x);//x*0.14MS
void delay1(unsigned char ms);
void beep();
sbit IRIN = P3^2;
sbit BEEP = P3^7;
sbit RELAY= P1^3;
sbit GEWEI= P2^7;
sbit SHIWEI= P2^6;
unsigned char IRCOM[8];
unsigned char code table[16] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
main()
{
IE = 0x81; //允許總中斷中斷,使能 INT0 外部中斷
TCON = 0x1; //觸發方式為脈沖負邊沿觸發
delay(1);
IRIN=1;
BEEP=1;
RELAY=1;
for(;;)
{
IR_SHOW();
}
} //end main
void IR_IN() interrupt 0 using 0
{
unsigned char i,j,k,N=0;
EA = 0;
I1:
for (i=0;i<4;i++)
{
if (IRIN==0) break;
if (i==3) {EA =1;return;}
}
delay(20);
if (IRIN==1) goto I1; //確認IR信號出現
while (!IRIN) //等 IR 變為高電平
{delay(1);}
for (j=0;j<4;j++)
{
for (k=0;k<8;k++)
{
while (IRIN) //等 IR 變為低電平
{delay(1);}
while (!IRIN) //等 IR 變為高電平
{delay(1);}
while (IRIN) //計算IR高電平時長
{
delay(1);
N++;
if (N>=30) {EA=1;return;}
}
IRCOM[j]=IRCOM[j] >> 1;
if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}
N=0;
}//end for k
}//end for j
if (IRCOM[2]!=~IRCOM[3]) {EA=1;return;}
IRCOM[5]=IRCOM[2] & 0x0F;
IRCOM[6]=IRCOM[2] & 0xF0;
IRCOM[6]=IRCOM[6] >> 4;
beep();
EA = 1;
}
void IR_SHOW()
{
P0 = table[IRCOM[5]];
GEWEI = 0;
SHIWEI = 1;
delay1(4);
P0 = table[IRCOM[6]];
SHIWEI = 0;
GEWEI = 1;
delay1(4);
}
void beep()
{
unsigned char i;
for (i=0;i<100;i++)
{
delay(5);
BEEP=!BEEP;
}
BEEP=1;
}
void delay(unsigned char x)//x*0.14MS
{
unsigned char i;
while(x--)
{
for (i = 0; i<13; i++) {}
}
}
void delay1(unsigned char ms)
{
unsigned char i;
while(ms--)
{
for(i = 0; i<120; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
C. 急求一個java模擬程序 用面向對象程序設計語言編寫「電視機-遙控器」模擬程序
//TV類
public class Tv {
public void open(){
System.out.println("打開電視機");
}
public void close(){
System.out.println("關閉電視機");
}
public void search(int x){
System.out.println("您搜索到的是"+x+"號頻道");
}
public void ctrlVol(String s){
int vol=10;
if(s.equals("+"))
vol++;
if(s.equals("-"))
vol--;
System.out.println("當前音量為"+vol);
}
public void changeChannel(int x){
if( x > 29 )
System.out.println("沒有該頻道");
else
System.out.println("當前"+x+"號頻道");
}
public void changeChannel(String s){
int x=0;
if(s.equals("+"))
x++;
if(s.equals("-"))
x--;
System.out.println("當前"+x+"號頻道");
}
}
//Controller遙控器類
public class Controller{
public void openTv(Tv tv){
tv.open();
}
public void closeTv(Tv tv){
tv.close();
}
public void searchTv(Tv tv){
int x=(int)(Math.random()*30);
tv.search(x);
}
public void ctrlTvVol(Tv tv){
tv.ctrlVol("+");
}
public void changeTvChannel(Tv tv){
tv.changeChannel("+");
tv.changeChannel(23);
}
}
D. 萬能空調遙控器代碼
萬能空調遙控器代碼表是?LG空調的代號又是多少?
空調通用遙控代碼表如下:
LG空調代碼為:600-609。
空調通用遙控代碼包含美的、海爾、格力、志高、華凌等熱空調遙控代碼,只需將空調設置成相應的空調代碼,即可進行遙控。所謂的空調萬能遙控器並不是真的萬能,不知道空調廠家的代碼,遙控也沒有作用!
空調通用遙控器一般有以下三種設置方法:
第一種:品牌空調設置方法。1、打開空調電源,遙控器正對著空調室內機。例如,你的空調品牌是「格力」,按住「格力」鍵不要放,直到空調自動啟動,立即松開。檢查功能鍵,看是否可以遠程式控制制。如果可以遠程式控制制,則設置完成;如果遙控器不可用或有的按鍵可用,有的按鍵不可用,則按照步驟2進行重置,直到可用為止。
二:手動代碼設置方法。例如,您的空調品牌是「長嶺」,型號代碼是630-649。
1,遙控器正對著空調室內機。按住「設置」鍵並按「電源」鍵。代碼顯示區域在屏幕上跳躍。松開那兩把鑰匙。
2、按住「溫度+」不要放,等待代碼跳到629釋放,然後按溫度「+」鍵,從630-649一個個找到最適合你的空調代碼,直到空調自動啟動,停止運行。檢查功能鍵,看是否可以遠程式控制制。如果可以遠程式控制制,按「設置」鍵確認;如果不能遠程式控制制,重復步驟1和步驟2,直到可以遠程式控制制為止。
三:萬能設置法。把遙控器直接對准空調。按住「設置」鍵並按「電源」鍵。代碼顯示區域在屏幕上跳躍。松開那兩把鑰匙。
2、按下溫度「+」不要放,待空調自動啟動後,立即釋放。然後慢慢按下溫度「-」,聽到空調「嘀」聲停止按下。檢查功能鍵,看是否可以遠程式控制制。如果可以遠程式控制制,按「設置」鍵確認;如果不能遠程式控制制,重復步驟1和步驟2,直到可以遠程式控制制為止。
格力空調遙控器的代碼
格力空調通用遙控器代碼為000,020 - 039之間。此代碼主要用於主鍵時的頻率。每個品牌的空調都有一個代碼,在使用通用遙控器時,在數值設定正確後即可連接到空調上。1,打開電源的格力空調,找到相應的模型代碼的格力空調表(會有常見品牌空調下面的代碼),如格力空調代碼通常是000或020年到039年,你可以嘗試一個接一個,首先找出第一個code.2。按住空調上的遙控器,按「設置」鍵約3秒。當模型代碼閃爍時,它就可以發布了。3、按下「完成」按鈕的普遍空調遙控器,空調的代碼將停止閃爍,然後你可以按下開關鍵的遠程式控制制或測試其他按鈕,檢查遙控器是否有效,如果有效,完成設置,沒有效果會重復前面的步驟。1, C / F按鈕按下這個按鈕的功能是開關溫度攝氏度和Fahrenheit.2定時開關函數按時間或時間可以定時的空調,一般空調遙控器的操作步驟是按定時開/關按鈕,然後通過溫度「+」和「-」來調節時間,在按下下定時開關後就開始計時了。子鎖設置:同時按「設置」鍵和「手動風向」鍵,鎖定圖案出現。解鎖:同時按「設置」鍵和「手動風向」鍵,完成解鎖功能。4、快冷、快熱按鈕快冷:按下此按鈕,空調將立即進入冷卻模式,溫度設置為21度,強風,自動風向。快速加熱:此按鈕可使空調立即進入加熱模式,設置為27度,強風,自動風向。5、電輔熱這一功能一般用於採暖,當空調採暖沒有多大效果時就可以利用這一功能,就會啟動空調中的發絲進行電加熱,只需安裝電輔熱空調即可。
新科空調代碼是多少?
E1:壓縮機高壓保護;E2:壓縮機低壓保護;E3:蒸發器防凍保護;E4:壓縮機排氣管超溫保護;代碼是程序員用開發工具支持的語言編寫的源文件。它是一個明確的規則系統,用於以字元、符號或元素的離散形式表示信息。代碼設計的原則包括唯一性、規范性和通用性、可擴展性和穩定性、易識別性和存貯性、格式簡短統一、易修改性等。源代碼是代碼的一個分支,從某種意義上說,源代碼就是代碼。在現代編程語言中,源代碼可以是書本形式或磁帶形式,但最常見的格式是文本文件。這種格式通常用於編譯計算機程序。最終目標是將人類可讀的文本轉換成可由計算機執行的二進制指令。這個過程稱為編譯,由編譯器完成。
萬能空調遙控器代碼
如果您不知道代碼,請參考以下兩種方法:1、長按設置鍵,代碼會自己跳,當您聽到聲音(空調),釋放,您可以使用;按住「設置」按鈕,代碼本身不會跳轉。閃爍時按上下箭頭手動調節,聽到滴水聲(空調)即可使用。