NEC單片機的FIP應用
3.2 程序初始化
進(jìn)行顯示方式設置、I/O端口設置、中斷系統設置始化的具體程序段如下:
DI(); /*關(guān)中斷*/
DSPM0=0x00; /*9段顯示,段顯示方式,系統時(shí)鐘4.9152MHz*/
DSPM1=0xB3; /*23位顯示,亮度為2/16,顯示周期為416.7μs*/
PM12=0x0F; /*P12端口的低四位用于鍵盤(pán)回讀,設為輸出模式*/
KSIF=0; /*清除中斷請求標志*/
KSMK=0; /*清除中斷屏蔽標志,允許INTKS中斷*/
Khead=9; /*初始化鍵盤(pán)緩沖區*/
Krear=0; /*消抖動(dòng)計數器置初值*/
Scandata=0x01; /*鍵盤(pán)掃描數據置初值*/
ScanFinish=0; /*一遍掃描結束標志置初值*/
KeyChanged=0; /*按鍵改變標志置初值*/
EI(); /*開(kāi)中斷*/
3.3 顯示程序
下面的程序可實(shí)現在指定位置顯示一個(gè)數字的功能。其中能數digit為要顯示的數字,范圍是0~9;position為顯示位置,從右向左與0~11相對應。
void DisplayDigit(char digit,char position)
{if((digit10)(digit>=0)(position>=0)(position12)
/*在顯示范圍之內*/
{pokeb(0xFA60+position,DisplayCode[digit][1]);
/*編碼的低字節*/
{pokeb(0xFA70+position,DisplayCode[digit][0])};
/*編碼的高字節*/
}
中斷處理程序流程如圖3所示。

4 小結
在其他單片機系統中,通常由軟件定時(shí)中斷來(lái)逐位刷新顯示和掃描鍵盤(pán),這樣將增加軟件的復雜性,并且會(huì )占用較多的CPU資源。而μPD780208所具有的FIP顯示控制/驅動(dòng)器可實(shí)現硬件的自動(dòng)顯示刷新功能,在初始位置完成后,軟件的工作只是將顯示數據按要求的格式放入FIP顯示RAM區而無(wú)需額外編程,由于定時(shí)刷新顯示的作由硬件完成,因此在很大程序上降低了CPU的資源占用率。同時(shí),由于FIP顯示時(shí)序中提供有鍵盤(pán)掃描時(shí)序,從而進(jìn)一步簡(jiǎn)化了軟件編程,并且減少了定時(shí)中斷占用。這樣,在單片機的資源并不豐富的資源條件下,FIP顯示控制/驅動(dòng)器的優(yōu)越性得到了充分體現。
蜂鳴器相關(guān)文章:蜂鳴器原理
評論