機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
NEC單片機的FIP應用
[1] [2]  下一頁
NEC單片機的FIP應用
 更新時間:2008-8-18 13:12:40  點擊數(shù):18
【字體: 字體顏色

    摘要:介紹了日本NEC公司8位單片機產(chǎn)品μPD780208中的FIP顯示控制器及顯示與鍵盤掃描的應用方案,給出了該設計方案的原理電路和程序流程。解決了顯示和鍵盤輸入獨立控制時所造成的CPU資源占用較多的問題。

    關鍵詞:單片機 μPD780208 微控制器 FIP 顯示控制器

1 概述

日本NEC公司生產(chǎn)的μPD780208系列8位單片機屬于78K/0家庭中功能較強的一種系列。根據(jù)內(nèi)部集成的ROM和RAM容量的不同,μPD780208系列分為5個型號,μPD780208芯片是最高型號。該芯片內(nèi)部集成了8位78K0CPU內(nèi)核、60kB的ROM和2192B的RAM之外,還有1個FIP顯示驅動/控制器、8位A/D轉換器、2個串行I/O口、5個定時/計數(shù)器、3個定時器輸出、1個可編程時鐘輸出、1個可編程蜂鳴器輸出、4個外部中斷源、12個內(nèi)部中斷源和1個測試輸入。ΜPD780208支持雙時鐘,其電源電壓范圍為2.7~5.5V,可設定2種待機模式。其中的FIP(Fluorescent Indicator Panel)顯示控制/驅動器是μPD780208系列所特有的,它的主要功能有自動讀取顯示數(shù)據(jù),以實現(xiàn)硬件自動顯示刷新功能;控制顯示9~40段和2~16位FIP;通過編程自由設定位信號輸出時序;并可編程調(diào)節(jié)8級顯示亮度。另外,μPD780208的顯示時序中還包含有鍵盤掃描時序,可輸出鍵盤掃描信號;并具有較高的驅動能力,可直接驅動FIP顯示器。

本文主要通過筆者在項目中的實際應用,給出將μPD780208中的FIP顯示控制/驅動器用于顯示和鍵盤掃描結合的應用方案。

2 設計方案

在筆者設計的項目中,要求μPD780208硬件平臺有12位的9段VFD顯示器和8×4的鍵盤輸入,如果按照常規(guī)設計方案,由于顯示控制與鍵盤掃描控制是相互獨立的,鍵盤掃描需占有一個定時器。而本方案則使用顯示控制/驅動器提供的鍵盤掃描時序來掃描鍵盤,因而不占用定時資源。這使是該設計方案的優(yōu)點所在。(系統(tǒng)所用的晶振頻率為4.9152MHz)。

2.1 硬件連接

圖1所示是μPD780208的FIP顯示電路的結構原理圖。應用時將顯示端口FIP0~FIP11接VFD顯示器的位控制器T0~T11,FIP12和P80~P87接VFD顯示器的段控制端S0~S8。μPD780208的顯示驅動器的驅動能力很強,因而可以直接連接VFD而無需驅動電路。端口P110~P117接鍵盤的8根掃描線,端口P120~P123接鍵盤的4根回讀線。

2.2 初始化設置與資源分配

合理地設置顯示模式寄存器DSPM0和DSPM1可將顯示方式設置為12位9段模式,這時FIP顯示RAM地址為FA60H~FA6BH和FA70H~FA7BH。FIP控制器的時序圖如圖2所示。圖中n=11,TDSP為1位顯示周期(2048/4.9152MHz=416.7μs),TKS為鍵盤掃描周期(TKS=TDSP),TCYT為完整顯示周期(TCYT=TDSP×(12+1)),TDIG為位信號脈沖寬度(可編程改變)。

在FIP顯示周期中,當處在鍵盤時序時,鍵盤掃描標志KSF被置1,其它時間被清零。當KSF置1時,將產(chǎn)生鍵盤掃描中斷INTKS。在中斷處理程序中進行鍵盤掃描和回讀可用軟件來設計。鍵盤掃描必須在KSF為1時進行,否則會造成顯示混亂。1次INTKS的時間是416.7μs,這段時間可能來不及掃描完所有鍵。因此,該方案采用1次中斷掃描一半鍵盤,2次中斷完成一遍掃描的方式。

鍵盤的消抖動問題在掃描中解決,方法是當同一位置連續(xù)3次檢測到信號,即在4個TCYT間隔(4×TCYT=21.667ms)中信號一直有效時,才判斷該鍵被按下,否則判為抖動干擾。

3 軟件設計

3.1 相關的數(shù)據(jù)結構和變量

使用的數(shù)據(jù)結構和變量的定義說明如下:

char PreKeyStatus[8]; /*前一次8列鍵的狀態(tài)存入數(shù)組的低4位*/

char CurKeyStatus[8]; /*當有8列鍵的狀態(tài)存入數(shù)組的低4位*/

char ScanData; /*當前用于掃描的數(shù)據(jù)*/

char RetData; /*臨時存儲回讀的數(shù)據(jù)*/

char KeyBuff[10]; /*鍵盤緩沖區(qū)*/

char Khead; /*鍵盤緩沖區(qū)頭指針*/

char Krear; /*鍵盤緩沖區(qū)尾指針*/

char ChatterCount; /*消抖動計數(shù)器*/

char ScanEnd; /*一遍掃描結束標志*/

char KeyChanged; /*按鍵改變標志*/

const char DisplayCode[0][2]; /*0~9的顯示編碼,每個編碼占2字節(jié)*/

3.2 程序初始化

進行顯示方式設置、I/O端口設置、中斷系統(tǒng)設置初始化的具體程序段如下:

DI(); /*關中斷*/

DSPM0=0x00; /*9段顯示,段顯示方式,系統(tǒng)時鐘4.9152MHz*/

DSPM1=0xB3; /*23位顯示,亮度為2/16,顯示周期為416.7μs*/

PM12=0x0F; /*P12端口的低四位用于鍵盤回讀,設為輸出模式*/

KSIF=0; /*清除中斷請求標志*/

KSMK=0; /*清除中斷屏蔽標志,允許INTKS中斷*/

Khead=9; /*初始化鍵盤緩沖區(qū)*/

Krear=0; /*消抖動計數(shù)器置初值*/

Scandata=0x01; /*鍵盤掃描數(shù)據(jù)置初值*/

ScanFinish=0; /*一遍掃描結束標志置初值*/

KeyChanged=0; /*按鍵改變標志置初值*/

EI(); /*開中斷*/

3.3 顯示程序

下面的程序可實現(xiàn)在指定位置顯示一個數(shù)字的功能。其中能數(shù)digit為要顯示的數(shù)字,范圍是0~9;position為顯示位置,從右向左與0~11相對應。

void DisplayDigit(char digit,char position)

{if((digit<10)&&(digit>=0)&&(position>=0)&&(position<12) /*在顯示范圍之內(nèi)*/

{pokeb(0xFA60+position,DisplayCode[digit][1]); /*編碼的低字節(jié)*/

{pokeb(0xFA70+position,DisplayCode[digit][0])}; /*編碼的高字節(jié)*/

}

中斷處理程序流程如圖3所示。

4 小結

在其他單片機系統(tǒng)中,通常由軟件定時中斷來逐位刷新顯示和掃描鍵盤,這樣將增加軟件的復雜性,并且會占用較多的CPU資源。而μPD780208所具有的FIP顯示控制/驅動器可實現(xiàn)硬件的自動顯示刷新功能,在初始位置完成后,軟件的工作只是將顯示數(shù)據(jù)按要求的格式放入FIP顯示RAM區(qū)而無需額外編程,由于定時刷新顯示的作由硬件完成,因此在很大程序上降低了CPU的資源占用率。同時,由于FIP顯示時序中提供有鍵盤掃描時序,從而進一步簡化了軟件編程,并且減少了定時中斷占用。這樣,在單片機的資源并不豐富的資源條件下,FIP顯示控制/驅動器的優(yōu)越性得到了充分體現(xiàn)。

  • 上一篇: IMP803高電壓電致發(fā)光燈驅動器原理與應用
  • 下一篇: LCD動態(tài)顯示驅動芯片MAX7231原理與應用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1