?? 41.c
字號:
#include<regX51.h>
unsigned int i;
unsigned char a[10]={0x03,0x9F,0x25,0xD,0x99,0x49,0x41,0x1F,0x1,0x9};
unsigned char b[10]={0x02,0x9E,0x24,0xC,0x98,0x48,0x40,0x1E,0x0,0x8};
unsigned int shi;
unsigned int ge;
unsigned int dian;
unsigned int k;
unsigned int n;
/*void delay(unsigned char i)
{
while(i--);
}*/
void timer1()interrupt 3 using 2//定時器1中斷程序
{
if(i<=40000) //250us計40000次為10s
i++;
else
{
i=0; //到10s,i清0,
P0_0=1;P0_2=1;P0_1=1;P2=0xFF;
}
}
void huoer()interrupt 2 using 2 //外部中斷1程序
{
TR1=0; //關定時器
ET1=0; //關定時器中斷
n=40000/i;
shi=n/100;
P0_0=1;P2=a[shi];P0_0=0;
k=n%100;ge=k/10;
P0_1=1;P2=b[ge];P0_1=0;
dian=n%10;
P0_2=1;P2=a[dian];P0_2=0;
i=0;
}
void main()
{
EA=1; //開中斷
ET1=1; //開定時器1中斷
TMOD=0x20; //設置定時器1為方式2工作,高8位存儲初值,低8位作計數器
TR1=1; //開計數器1
TH1=0x06; //裝載初值6
TL1=0x06; //裝載初值6,6到25 6,共計數250次為250us
EX1=1; //開外部中斷1
IT1=1; //觸發方式為下降沿
IP=0x03; //設置中斷優先級,外部中斷1高,定時器1低
P0_0=1;P0_2=1;P0_1=0;P2=a[0];P0_0=0;P0_2=0;
P0_1=1;P2=b[0];
while(1)
{
TR1=1;
ET1=1;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -