📄 text1.c
字号:
#include <at89x51.h>
#define COUNT 1000
sbit sta=P3^3;
sbit eoc=P3^4;
sbit oc=P3^2;
sbit a=P2^4;
sbit b=P2^5;
sbit c=P2^6;
sbit ale=P2^7;
const seven_seg[20]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0XBF,0X86,0XDB,0XCF,0XE6,0XED,0XFD,0X87,0XFF,0XDF};
//const seven_seg[20]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};//////ssssssssssssssssssssssss
unsigned int gv=0,mid=0;
unsigned char tran=0,g=1,one=0,two=0,three=0,i,j=0;
void scanclock(void) interrupt TF0_VECTOR using 2//计时1ms
{
P2_3=1;P2_2=1;P2_1=1;P2_0=1;
// P2_3=0;P2_2=0;P2_1=0;P2_0=0;
TR0=0;
TL0=(8192-COUNT)%32;
TH0=(8192-COUNT)/32;
TR0=1;
if(eoc==1)//1111111111111111111111111111111111
{
oc=1;
tran=P0;
gv=(int)tran*192;//4.9/255=0.01921
sta=0;
sta=1;
sta=0;
}
g=(unsigned char)(gv/10000);
mid=gv%10000;
one=(unsigned char)(mid/1000);
gv=mid%1000;
two=(unsigned char)(gv/100);
mid=gv%100;
three=(unsigned char)(mid/10);
//-----------------------------------------
P1=seven_seg[g+10];
P2_3=0;P2_2=1;P2_1=1;P2_0=1;
// P2_3=1;P2_2=0;P2_1=0;P2_0=0;
for(i=0;i<100;i++);
//---------------------------------
P1=seven_seg[one];
//for(i=0;i<2;i++);
P2_3=1;P2_2=0;P2_1=1;P2_0=1;
// P2_3=0;P2_2=1;P2_1=0;P2_0=0;
for(i=0;i<100;i++);
//-------------------------------------
P1=seven_seg[two];
//for(i=0;i<2;i++);
P2_3=1;P2_2=1;P2_1=0;P2_0=1;
// P2_3=0;P2_2=0;P2_1=1;P2_0=0;
for(i=0;i<100;i++);
//---------------------------------------
P1=seven_seg[three];
//for(i=0;i<2;i++);
P2_3=1;P2_2=1;P2_1=1;P2_0=0;
// P2_3=0;P2_2=0;P2_1=0;P2_0=1;
for(i=0;i<100;i++);
//----------------------------------------
gv=0;
}
void main()
{
ale=0;
//TMOD=0x00;
TMOD=0X20;
//IE=0x02;
IE=0x0a;
IP=0x08;//02
SCON=0x50;
//PCON=SMOD_;//
PCON=0X00;
TL0=(8192-COUNT)%32;
TH0=(8192-COUNT)/32;
TL1=253;
TH1=253;
EA=1;
a=0;
b=0;
c=0;
ale=1;
TR0=1;
TR1=1;
TI=1;
sta=0;
sta=1;
sta=0;
while(1)
{
if(P3_7==0){
while(P3_7==0);
{
//while(j<250)
//{j++;}
while(TI!=1);
TI=0;
SBUF=g+48;
while(TI!=1);
TI=0;
SBUF='.';
while(TI!=1);
TI=0;
SBUF=one+48;
while(TI!=1);
TI=0;
SBUF=two+48;
while(TI!=1);
TI=0;
SBUF=three+48;
while(TI!=1);
TI=0;
SBUF='V';
// j=0;
}}
//******************************************************注,led显示亮度不均匀,
for(j=0;j<100;j++);
for(i=0;i<100;i++);
P2_3=1;P2_2=1;P2_1=1;P2_0=1;
// P2_3=0;P2_2=0;P2_1=0;P2_0=0;
TR0=0;
TL0=(8192-COUNT)%32;
TH0=(8192-COUNT)/32;
TR0=1;
if(eoc==1)//1111111111111111111111111111111111
{
oc=1;
tran=P0;
gv=(int)tran*192;//4.9/255=0.01921
sta=0;
sta=1;
sta=0;
}
g=(unsigned char)(gv/10000);
mid=gv%10000;
one=(unsigned char)(mid/1000);
gv=mid%1000;
two=(unsigned char)(gv/100);
mid=gv%100;
three=(unsigned char)(mid/10);
//-----------------------------------------
P1=seven_seg[g+10];
P2_3=0;P2_2=1;P2_1=1;P2_0=1;
// P2_3=1;P2_2=0;P2_1=0;P2_0=0;
for(i=0;i<100;i++);
//---------------------------------
P1=seven_seg[one];
//for(i=0;i<2;i++);
P2_3=1;P2_2=0;P2_1=1;P2_0=1;
// P2_3=0;P2_2=1;P2_1=0;P2_0=0;
for(i=0;i<100;i++);
//-------------------------------------
P1=seven_seg[two];
//for(i=0;i<2;i++);
P2_3=1;P2_2=1;P2_1=0;P2_0=1;
// P2_3=0;P2_2=0;P2_1=1;P2_0=0;
for(i=0;i<100;i++);
//---------------------------------------
P1=seven_seg[three];
//for(i=0;i<2;i++);
P2_3=1;P2_2=1;P2_1=1;P2_0=0;
// P2_3=0;P2_2=0;P2_1=0;P2_0=1;
for(i=0;i<100;i++);
//----------------------------------------
gv=0;
P2_3=1;P2_2=1;P2_1=1;P2_0=1;//可能好多了,应该一样亮
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -