?? 紅外發送.c
字號:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit sw0=P1^0;
sbit sw1=P1^1;
sbit sw2=P1^2;
sbit sw3=P1^3;
uchar key=17;
sbit p38k=P2^0;
void delay(uint m)
{
uint i,j;
for(i=0;i<m;i++)
for(j=0;j<15;j++);
}
void inti_ck(void)
{
SCON=0X40;
PCON=0X00;
TMOD=0X22;
TH1=0Xcc;
TL1=0Xcc;
TR1=1;
EA=1;ES=0;//ES串口中斷標志位
IP=0X00;
ET0=1;
TR0=1;
TH0=0XF3;
TL0=0XF3;
}
void zd(void)interrupt 1
{
p38k=!p38k;
}
void keysm(void)
{
P1=0xf0;
if(P1!=0xf0)
{
delay(20);
P1=0xef;
if(!sw0)key=1;
if(!sw1)key=2;
if(!sw2)key=3;
if(!sw3)key=4;
P1=0xdf;
if(!sw0)key=5;
if(!sw1)key=6;
if(!sw2)key=7;
if(!sw3)key=8;
P1=0xbf;
if(!sw0)key=9;
if(!sw1)key=10;
if(!sw2)key=11;
if(!sw3)key=12;
P1=0x7f;
if(!sw0)key=13;
if(!sw1)key=14;
if(!sw2)key=15;
if(!sw3)key=16;
P1=0xf0;
while(P1!=0xf0);
}
}
void fa(void)
{
if(key!=17)
{
SBUF=0xdd;
while(!TI);
TI=0;
SBUF=key;
while(!TI);
TI=0;
}
key=17;
}
void main(void)
{
inti_ck();
while(1)
{
keysm();
fa();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -