📄 jianpan.c
字号:
#include"reg51.h"#define unchar unsigned char
#define uint unsigned int
//#define dizhi1 0x00
//#define dizhi2 0x20
//#define dizhi3 0x40
//#define dizhi4 0x80
uint danyuan[]={8,16,24,32,40,48,56,64,72,80};void delay();unchar keyscan();
uint i=0;
sbit play=P0^0;
sbit lu=P0^1;
//sbit reday=P0^2;
//sbit a0=P2^0;
//sbit a1=P2^1;
//sbit a3=P2^3;
//sbit a4=P2^4;
//void zhongduan( ) interrupt 1
//{ i++ ;
//}
void delay1( )
{
uint a,j;
for(a=0;a<1000;a++)
{
for(j=0;j<400;i++)
{;}
}
}
/*void moshi(uint a )
{
P2=a;
} */
void luyin(uint b )
{ P2=b;
// TR0=1;
lu=0;
// if(i==100)
// {
// lu=1;
// }
}
void fangyin(uint c )
{ P2=c;
play=1;
delay( );
play=0;
delay( );
// while(!reday) ;
}
void main(){ unchar key;
// TMOD=0x00;
// TH0=0xdc;
// TL0=0x00;
// EA=1;
// ET0=1;
P2=0x00;
while (1) {
key=keyscan();
switch(key) {
case 0x18:
i++;
if(i==10) i=0;
break; case 0x14:
i--;
if(i==0) i=10;
break; case 0x12:
luyin(danyuan[i]);
break; case 0x11:
fangyin(danyuan[i]);
break; case 0x28:
fangyin(danyuan[i]);
delay( );
fangyin(danyuan[i+3]);
break; // case 0x24:fangyin(dizhi2,dizhi4);break;// case 0x22:P2=0x7d;break;// case 0x21:P2=0x07;break; // case 0x48:P2=0x7f;break; // case 0x44:P2=0x6f;break;// case 0x42:P2=0x77;break;// case 0x41:P2=0x7c;break;// case 0x88:P2=0x39;break; // case 0x84:P2=0x5e;break;// case 0x82:P2=0x79;break;// case 0x81:P2=0x71;break;
// case 0x00:P2=0x76;break;
default: break; }
}} void delay() { unchar i;
for(i=500;i>0;i--); } unchar keyscan(){
unchar scode,recode;
static unchar m; P1=0xf0; if ((P1&0xf0)!=0xf0) {
delay(); if ((P1&0xf0)!=0xf0) {
scode=0xfe; while((scode&0x10)!=0) {
P1=scode; if((P1&0xf0)!=0xf0) {
recode=(P1&0xf0)|0x0f;
m=(~scode)+(~recode); return (m); } else scode=(scode<<1)|0x01;
} }
}
if((P1&0xf0)==0xf0) return(0);
return(m);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -