📄 anjian.c
字号:
#include<reg51.h>
#include<intrins.h>
#include<stdio.h>
#include<absacc.h>
#define uchar unsigned char
#define uint unsigned int
///////////////////////////////////
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//段显示码0-f
uchar BUFFER[13]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x00,0x00}; //显示缓冲区
uchar m;
uchar timer=0;
bit key_on=0; //锁键变量
bit flag;
bit button=0;
bit button1=0;
bit button2=0;
sbit Key0=P2^3;
sbit Key1=P2^4;
sbit Key2=P2^5;
void key(void) //按键设置
{uchar i;
uchar j=0;
uchar l=0;
uchar k[7];
P2=0xff;
if(Key0==0){
if(Key0==0&&key_on==0)
{key_on=1;}
if(Key0==0&&key_on==1)
{
m++;
if(m>=13){m=0;}
} }
if(m){P2=0xff;
if(P2!=0xff){
if(Key1==0&&button==0){button=1;}
if(Key1==0&&button==1){BUFFER[m]=BUFFER[m]+1;
if(BUFFER[m]>=10){BUFFER[m]=0;}}
if(Key2==0&&button1==0){button1=1;}
if(Key2==0&&button1==1){BUFFER[m]=BUFFER[m]-1;
if(BUFFER[m]<0){BUFFER[m]=0;} }
}
if(P2==0xff){j++;
if(j==1000){j=0;l++;
if(l=256){l=0;
m=0;
key_on=0;
button1=0;
button2=0;
}
}
}
}
}
void play(){
uchar i;
if(timer>=10)
{timer=0;
BUFFER[0]++;}
P1=0xff;
P0=0xff;
for(i=0;i<8;i++)
{P0=table[BUFFER[i]];
if(i<8)
{P1=_crol_(0xfe,i);}
}
}
main(){
while(1){
play();
key();}}
void timer0(void) interrupt 1 using 1 //中断部分
{
TH0=0x3c;
TL0=0xb0;
timer++; // 记时
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -