|
|
//用LED數碼管顯示計數器T0的計數值
#include<reg52.h> //包含51單片機寄存器定義的頭文件
sbit S=P3^2 ; //將S位定義為P3.2引腳
unsigned char Tab[ ]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //段碼表
unsigned char x;
/******************************************************************
函數功能: 延時約0.6ms
********************************************************************/
void delay(void)
{
unsigned char j;
for(j=0;j<200;j++)
;
}
/******************************************************************
函數功能:顯示計數次數的子程序
入口參數:x
********************************************************************/
void Display(unsigned char x)
{
P2=0xbf; //P3.6引腳輸出低電平,DS6點亮
P0=Tab[x/10]; //顯示十位
delay();
delay();
delay();
delay();
P2=0x7f; //P3.7引腳輸出低電平,DS7點亮
P0=Tab[x%10]; //顯示個位
delay();
delay();
delay();
delay();
P2=0xff;
P0=0xff;
delay();
delay();
delay();
delay();
}
/*******************************************
函數功能:主函數
******************************************/
void main(void)
{
EA=1; //開放總中斷
EX0=1; //允許使用外中斷
IT0=1; //選擇負跳變來觸發外中斷
x=0;
while(1)
Display(x);
}
/**************************************************************
函數功能:外中斷T0的中斷服務程序
**************************************************************/
void int0(void) interrupt 0 using 0 //外中斷0的中斷編號為0
{
x++;
if(x==100)
x=0;
}
|
-
-
外中斷計數2位數碼管顯示.rar
2018-5-13 16:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
10.44 KB, 下載次數: 10, 下載積分: 黑幣 -5
|