?? hongwaijieshou_1.c
字號:
#include <reg52.h>
void delay(unsigned int m);
uc xc[8];
uc code duanma[]={
0x3F,/*0*/
0x06,/*1*/
0x5B,/*2*/
0x4F,/*3*/
0x66,/*4*/
0x6D,/*5*/
0x7D,/*6*/
0x07,/*7*/
0x7F,/*8*/
0x6F,/*9*/
0x77,/*A*/
0x7C,/*b*/
0x39,/*C*/
0x5E,/*d*/
0x79,/*E*/
0x71,/*F*/
};
void xianshi(void)
{
uc i;
for(i=0;i<8;i++)
{
P2=i;
P0=duanma[xc[i]];
delay(1);
P0=0xff;
}
}
uc zhongduancishu;
uc yichu=0;
void init_int0()
{
IT1=1;
EA=1;EX1=1;
PX1=0;
zhongduancishu=0;
}
ui mcs,mcsb,shuju,shujufan,wei;
void ser_int1(void)interrupt 2
{
/*
ui mcs;
uc i;
zhongduancishu++;
if(zhongduancishu==1)TR0=1;
if(zhongduancishu==34)
{
TR0=0;
EX1=0;
mcs=TH0*256+TL0;
for(i=7;i>0;i--)
{
xc[i]=mcs%10;
mcs=mcs/10;
}
}
*/
ui maichongshijian;
zhongduancishu++;
if(zhongduancishu==1)TR0=1;
if(zhongduancishu==2)
{
mcs=TH0*256+TL0;
if((mcs>13300)&&(mcs<13700)) //判斷是否為引導碼
{
TR0=0;
TH0=0;
TL0=0;
}else zhongduancishu=0;
}
if(zhongduancishu==18){TR0=1;mcsb=0,mcs=0;}
if((zhongduancishu>18)&&(zhongduancishu<27))
{
mcs=TH0*256+TL0;
maichongshijian=mcs-mcsb;
mcsb=mcs;
if(zhongduancishu==19)wei=0x01;
if((maichongshijian>1000)&&(maichongshijian<1200)){shuju&=~wei;} //xxxx xxx0;
if((maichongshijian>2100)&&(maichongshijian<2400)){shuju|=wei;} //xxxx xxx1;
wei<<=1;
}
if((zhongduancishu>26)&&(zhongduancishu<35))
{
mcs=TH0*256+TL0;
maichongshijian=mcs-mcsb;
mcsb=mcs;
if(zhongduancishu==27)wei=0x01;
if((maichongshijian>1000)&&(maichongshijian<1200)){shujufan&=~wei;}
if((maichongshijian>2100)&&(maichongshijian<2400)){shujufan|=wei;}
wei<<=1;
}
if(zhongduancishu==34)
{
TR0=0;
zhongduancishu=0;
xc[0]=shujufan/0x10;
xc[1]=shujufan%0x10;
xc[6]=shuju/0x10;
xc[7]=shuju%0x10;
}
}
void init_t0(void)
{
TMOD=0X01;
TH0=0X00;
TL0=0X00;
/*
ET0=1;
PT0=1;
*/
}
/*
void ser_t0(void)interrupt 1
{
yichu++;
}
*/
void main(void)
{
init_int0();
init_t0();
while(1)
{
xianshi();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -