使用定時(shí)器中斷動態(tài)顯示8位數(shù)碼管。基于定時(shí)器的八位數(shù)字顯示器實(shí)驗(yàn)電路如圖所示。
分析: 要?jiǎng)討B(tài)顯示8位數(shù)碼管,其數(shù)據(jù)的刷新頻率應(yīng)不低于50Hz(0.02S),也就是說每位數(shù)據(jù)的刷新時(shí)間應(yīng)小于2.5ms(0.02S/8)。使用定時(shí)器T1以定時(shí)1ms,當(dāng)定時(shí)器溢出中斷時(shí),刷新數(shù)據(jù)位。其程序在結(jié)構(gòu)上可分為三大部分:主函數(shù)等、定時(shí)器中斷服務(wù)函數(shù)、初始化函數(shù)。下面依次介紹各個(gè)部分。
1.主函數(shù)等
主函數(shù)前面這部分程序主要包括基本的IO口定義、全局變量定義、頭文件包含、函數(shù)聲明等。主函數(shù)首先調(diào)用初始化函數(shù),對各個(gè)資源進(jìn)行初始化操作,然后等待中斷發(fā)生。
#define user_test//測試用
typedef unsigned char uint8;
typedef unsigned short int uint16;
uint8 LED_Code_buf[8];
uint8 Disply_temp;
sfr LED_Date=0xa0;//user P2
void main(void)
{
Int_Initialize();
Other_Initialize();
while(1)
{
}
}
2.定時(shí)器T1中斷服務(wù)函數(shù)
定時(shí)器T1中斷服務(wù)函數(shù)主要是刷新顯示數(shù)據(jù)位,根據(jù)條件每次刷新一位數(shù)碼管。
//8位數(shù)碼管動態(tài)顯示
void Timer1 (void) interrupt 3 using 1
{
//1ms 刷新1次
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
switch(Disply_temp++)
{
case 0:
LED_Date=LED_Code_buf[0];//顯示高位
break;
case 1:
LED_Date=LED_Code_buf[1];
break;
case 2:
LED_Date=LED_Code_buf[2];
break;
case 3:
LED_Date=LED_Code_buf[3];
break;
case 4:
LED_Date=LED_Code_buf[4];
break;
case 5:LED_Date=LED_Code_buf[5];
break;
case 6:
LED_Date=LED_Code_buf[6];
break;
case 7:
LED_Date=LED_Code_buf[7];//顯示低位
break;
default:
Disply_temp=0;
break;
}
}
3.初始化函數(shù)
初始化函數(shù)包括中斷初始化函數(shù)和其它資源的初始化函數(shù)。中斷初始化函數(shù)配置了中斷的觸發(fā)方式,是否允許中斷等操作。其它資源初始化函數(shù)主要配置開機(jī)顯示的字符。
void Int_Initialize(void)
{
TMOD|=0x10;//T1計(jì)數(shù)模式,方式1
//1ms 刷新1次 12MHz晶振
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
EA=1;
ET1=1;
TR1=1;
}
//其它初始化函數(shù)
void Other_Initialize(void)
{
//顯示87654321
LED_Code_buf[0]=0x08;//最高位處理
LED_Code_buf[1]=0x17;
LED_Code_buf[2]=0x26;
LED_Code_buf[3]=0x35;
LED_Code_buf[4]=0x44;
LED_Code_buf[5]=0x53;
LED_Code_buf[6]=0x62;
LED_Code_buf[7]=0x71;
}
-
顯示器
+關(guān)注
關(guān)注
21文章
4862瀏覽量
139353 -
數(shù)碼管
+關(guān)注
關(guān)注
31文章
1869瀏覽量
90518 -
中斷
+關(guān)注
關(guān)注
5文章
889瀏覽量
41220 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3218瀏覽量
113682 -
IO口
+關(guān)注
關(guān)注
3文章
168瀏覽量
23889
發(fā)布評論請先 登錄
相關(guān)推薦
評論