<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > NEC單片機的FIP應用

NEC單片機的FIP應用

作者: 時(shí)間:2012-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏

1 概述

本文引用地址:http://dyxdggzs.com/article/170681.htm

日本公司生產(chǎn)的μPD780208系列8位屬于78K/0家庭中功能較強的一種系列。根據內部集成的ROM和RAM容量的不同,μPD780208系列分為5個(gè)型號,μPD780208芯片是最高型號。該芯片內部集成了8位78K0CPU內核、60kB的ROM和2192B的RAM之外,還有1個(gè)顯示驅動(dòng)/控制器、8位A/D轉換器、2個(gè)串行I/O口、5個(gè)定時(shí)/計數器、3個(gè)定時(shí)器輸出、1個(gè)可編程時(shí)鐘輸出、1個(gè)可編程蜂鳴器輸出、4個(gè)外部中斷源、12個(gè)內部中斷源和1個(gè)測試輸入。ΜPD780208支持雙時(shí)鐘,其電源電壓范圍為2.7~5.5V,可設定2種待機模式。其中的(Fluorescent

Indicator Panel)顯示控制/驅動(dòng)器是μPD780208系列所特有的,它的主要功能有自動(dòng)讀取顯示數據,以實(shí)現硬件自動(dòng)顯示刷新功能;控制顯示9~40段和2~16位;通過(guò)編程自由設定位信號輸出時(shí)序;并可編程調節8級顯示亮度。另外,μPD780208的顯示時(shí)序中還包含有鍵盤(pán)掃描時(shí)序,可輸出鍵盤(pán)掃描信號;并具有較高的驅動(dòng)能力,可直接驅動(dòng)FIP顯示器。

本文主要通過(guò)筆者在項目中的實(shí)際,給出將μPD780208中的FIP顯示控制/驅動(dòng)器用于顯示和鍵盤(pán)掃描結合的方案。

2 設計方案

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

2.1 硬件連接

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

2.2 初始化設置與資源分配

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

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

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

3 軟件設計

3.1 相關(guān)的數據結構和變量

使用的數據結構和變量的定義說(shuō)明如下:

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

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

char ScanData; /*當前用于掃描的數據*/

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

char KeyBuff[10]; /*鍵盤(pán)緩沖區*/

char Khead; /*鍵盤(pán)緩沖區頭指針*/

char Krear; /*鍵盤(pán)緩沖區尾指針*/

char ChatterCount; /*消抖動(dòng)計數器*/

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

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

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

蜂鳴器相關(guān)文章:蜂鳴器原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 應用 FIP 單片機 NEC

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>