用87LPC76x單片機(jī)構(gòu)成的鍵盤顯示電路
發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):551
    
    
    摘要:本文介紹了一種性價比較高的顯示/鍵盤電路的結(jié)構(gòu)及工作原理。以p87lpc76x系列單片機(jī)為核心構(gòu)成專用的顯示/鍵盤電路,它具有功能強(qiáng)、價格低廉、對外提供標(biāo)準(zhǔn)的i2c接口等特點,在系統(tǒng)中可以將它作為一個標(biāo)準(zhǔn)元件使用。
    
    關(guān)鍵詞:單片機(jī);i2c接口;顯示/鍵盤電路
    在一些智能化儀表中,人機(jī)接口通常是led數(shù)碼管顯示器和小型鍵盤。常見的工作方式有兩種:一是直接使用系統(tǒng)中的cpu對顯示器進(jìn)行動態(tài)掃描和鍵盤檢測,為保證顯示的穩(wěn)定和鍵盤的及時響應(yīng),cpu需要頻繁的執(zhí)行動態(tài)掃描程序,顯然在cpu工作比較繁忙的情況下不太適用;二是用專用的顯示、鍵盤芯片如8279、saa1064等,這些芯片由于種種原因在實際應(yīng)用中總有不便之處,如可顯示的位數(shù)均較少,價格較高等。phlips公司的p87lpc76x系列單片機(jī)屬51系列,其體積小、功能強(qiáng)、價格低廉,有很高的性價比,本文介紹一種利用該系列單片機(jī)構(gòu)成的具有一定通用性的顯示、鍵盤電路。
    
    
    
    圖1 硬件電路圖
    
    p87lpc76x單片機(jī)簡介
    p87lpc76x單片機(jī)共有p87lpc760、p87lpc761、p87lpc762、p87lpc764、p87lpc767、p87lpc768等型號,該芯片采用加速的51內(nèi)核,在相同的時鐘頻率下,其速度是標(biāo)準(zhǔn)51的2倍,它們除引腳數(shù)目、存儲器容量和一些特殊的i/o功能外,其大部分功能均相同。下面以87lpc762為例進(jìn)行說明。87lpc762為20腳封裝,內(nèi)有2kb的程序存儲器,128b的數(shù)據(jù)存儲器,兩個16位定時/計數(shù)器,有一個標(biāo)準(zhǔn)串行通訊口,一個i2c接口,內(nèi)部帶有振蕩器、上電復(fù)位和看門狗電路。在使用其內(nèi)部振蕩器和上電復(fù)位電路的情況下,可以有多達(dá)18根i/o線;特別值得一提的是,它的i/o口都可有上拉,其中p0口還專門設(shè)有鍵盤中斷功能,若利用這些口線作為按鍵,則當(dāng)有任一鍵按下時會產(chǎn)生相應(yīng)的中斷。
    硬件設(shè)計
    
    
    
    圖2 寄存器的地址安排
    
    d7 d6 d5 d4 d3 d2 d1 d0
    d3-d0,顯示的led位數(shù)
    d4 數(shù)據(jù)格式,0-ascii碼,1-bcd碼
    d6 鍵盤工作方式,0-簡易按鍵,1-掃描鍵盤
    d5,d7 保留
    
    圖3 控制寄存器格式
    
    本設(shè)計用87lpc762組成一個最小的單片機(jī)系統(tǒng)。為使成本最低,結(jié)構(gòu)最簡單,再考慮到其可靠性要求不是太高,故使用單片機(jī)內(nèi)部的振蕩器、上電復(fù)位和看門狗電路,這樣可以有18根i/o線可供使用?紤]到驅(qū)動的led數(shù)碼管的位數(shù)和單片機(jī)口線的驅(qū)動能力,通過87lpc762的串行接口,使用移位寄存器進(jìn)行擴(kuò)展。本應(yīng)用中,由于顯示的總位數(shù)為8位led,故使用了2片移位寄存器74hc595,其中一片用作顯示的位控,一片用作段控。根據(jù)74hc系列芯片的輸出驅(qū)動特性,可以不使用限流電阻,直接用74hc595的輸出驅(qū)動數(shù)碼管的段和各位。使用結(jié)果表明在電源電壓為5v,顯示的數(shù)碼管數(shù)目不是太多的條件下,有較好的亮度,并可長期穩(wěn)定工作。按鍵可直接連接在87lpc762的p0口,這樣其電路結(jié)構(gòu)最為簡單,工作時可使用87lpc762的按鍵中斷方式,不用附加任何外部元件。但使用87lpc762在不用掃描方式時最多只可以有8個按鍵,這里利用p0.0~p0.7作為輸入,可以有8個按鍵,這在一般情況下已經(jīng)夠用;如需要的按鍵數(shù)目較多,可以使用掃描式鍵盤。顯示/鍵盤部分和系統(tǒng)中主cpu之間的數(shù)據(jù)交換使用i2c接口,87lpc762作為從器件;工作時,系統(tǒng)的主cpu只需將要顯示的數(shù)據(jù)通過i2c接口,以標(biāo)準(zhǔn)的格式發(fā)送到87lpc762即可。另外87lpc762使用一根i/o線作為向系統(tǒng)主cpu發(fā)送中斷申請的信號線,當(dāng)有按鍵按下時,87lpc762分析識別后向系統(tǒng)主cpu發(fā)出中斷申請,系統(tǒng)主cpu響應(yīng)中斷后,通過i2c接口,從87lpc762中讀出鍵值即可。本設(shè)計的硬件電路如圖1所示。
    軟件設(shè)計
    軟件設(shè)計主要包括顯示驅(qū)動程序的設(shè)計、鍵盤識別分析程序及i2c接口程序的設(shè)計。顯示程序設(shè)計比較簡單,讓87lpc762的串行接口工作在方式0,用一個定時/計數(shù)器工作在定時方式,按顯示的位數(shù)和掃描頻率確定定時常
    
    
    摘要:本文介紹了一種性價比較高的顯示/鍵盤電路的結(jié)構(gòu)及工作原理。以p87lpc76x系列單片機(jī)為核心構(gòu)成專用的顯示/鍵盤電路,它具有功能強(qiáng)、價格低廉、對外提供標(biāo)準(zhǔn)的i2c接口等特點,在系統(tǒng)中可以將它作為一個標(biāo)準(zhǔn)元件使用。
    
    關(guān)鍵詞:單片機(jī);i2c接口;顯示/鍵盤電路
    在一些智能化儀表中,人機(jī)接口通常是led數(shù)碼管顯示器和小型鍵盤。常見的工作方式有兩種:一是直接使用系統(tǒng)中的cpu對顯示器進(jìn)行動態(tài)掃描和鍵盤檢測,為保證顯示的穩(wěn)定和鍵盤的及時響應(yīng),cpu需要頻繁的執(zhí)行動態(tài)掃描程序,顯然在cpu工作比較繁忙的情況下不太適用;二是用專用的顯示、鍵盤芯片如8279、saa1064等,這些芯片由于種種原因在實際應(yīng)用中總有不便之處,如可顯示的位數(shù)均較少,價格較高等。phlips公司的p87lpc76x系列單片機(jī)屬51系列,其體積小、功能強(qiáng)、價格低廉,有很高的性價比,本文介紹一種利用該系列單片機(jī)構(gòu)成的具有一定通用性的顯示、鍵盤電路。
    
    
    
    圖1 硬件電路圖
    
    p87lpc76x單片機(jī)簡介
    p87lpc76x單片機(jī)共有p87lpc760、p87lpc761、p87lpc762、p87lpc764、p87lpc767、p87lpc768等型號,該芯片采用加速的51內(nèi)核,在相同的時鐘頻率下,其速度是標(biāo)準(zhǔn)51的2倍,它們除引腳數(shù)目、存儲器容量和一些特殊的i/o功能外,其大部分功能均相同。下面以87lpc762為例進(jìn)行說明。87lpc762為20腳封裝,內(nèi)有2kb的程序存儲器,128b的數(shù)據(jù)存儲器,兩個16位定時/計數(shù)器,有一個標(biāo)準(zhǔn)串行通訊口,一個i2c接口,內(nèi)部帶有振蕩器、上電復(fù)位和看門狗電路。在使用其內(nèi)部振蕩器和上電復(fù)位電路的情況下,可以有多達(dá)18根i/o線;特別值得一提的是,它的i/o口都可有上拉,其中p0口還專門設(shè)有鍵盤中斷功能,若利用這些口線作為按鍵,則當(dāng)有任一鍵按下時會產(chǎn)生相應(yīng)的中斷。
    硬件設(shè)計
    
    
    
    圖2 寄存器的地址安排
    
    d7 d6 d5 d4 d3 d2 d1 d0
    d3-d0,顯示的led位數(shù)
    d4 數(shù)據(jù)格式,0-ascii碼,1-bcd碼
    d6 鍵盤工作方式,0-簡易按鍵,1-掃描鍵盤
    d5,d7 保留
    
    圖3 控制寄存器格式
    
    本設(shè)計用87lpc762組成一個最小的單片機(jī)系統(tǒng)。為使成本最低,結(jié)構(gòu)最簡單,再考慮到其可靠性要求不是太高,故使用單片機(jī)內(nèi)部的振蕩器、上電復(fù)位和看門狗電路,這樣可以有18根i/o線可供使用?紤]到驅(qū)動的led數(shù)碼管的位數(shù)和單片機(jī)口線的驅(qū)動能力,通過87lpc762的串行接口,使用移位寄存器進(jìn)行擴(kuò)展。本應(yīng)用中,由于顯示的總位數(shù)為8位led,故使用了2片移位寄存器74hc595,其中一片用作顯示的位控,一片用作段控。根據(jù)74hc系列芯片的輸出驅(qū)動特性,可以不使用限流電阻,直接用74hc595的輸出驅(qū)動數(shù)碼管的段和各位。使用結(jié)果表明在電源電壓為5v,顯示的數(shù)碼管數(shù)目不是太多的條件下,有較好的亮度,并可長期穩(wěn)定工作。按鍵可直接連接在87lpc762的p0口,這樣其電路結(jié)構(gòu)最為簡單,工作時可使用87lpc762的按鍵中斷方式,不用附加任何外部元件。但使用87lpc762在不用掃描方式時最多只可以有8個按鍵,這里利用p0.0~p0.7作為輸入,可以有8個按鍵,這在一般情況下已經(jīng)夠用;如需要的按鍵數(shù)目較多,可以使用掃描式鍵盤。顯示/鍵盤部分和系統(tǒng)中主cpu之間的數(shù)據(jù)交換使用i2c接口,87lpc762作為從器件;工作時,系統(tǒng)的主cpu只需將要顯示的數(shù)據(jù)通過i2c接口,以標(biāo)準(zhǔn)的格式發(fā)送到87lpc762即可。另外87lpc762使用一根i/o線作為向系統(tǒng)主cpu發(fā)送中斷申請的信號線,當(dāng)有按鍵按下時,87lpc762分析識別后向系統(tǒng)主cpu發(fā)出中斷申請,系統(tǒng)主cpu響應(yīng)中斷后,通過i2c接口,從87lpc762中讀出鍵值即可。本設(shè)計的硬件電路如圖1所示。
    軟件設(shè)計
    軟件設(shè)計主要包括顯示驅(qū)動程序的設(shè)計、鍵盤識別分析程序及i2c接口程序的設(shè)計。顯示程序設(shè)計比較簡單,讓87lpc762的串行接口工作在方式0,用一個定時/計數(shù)器工作在定時方式,按顯示的位數(shù)和掃描頻率確定定時常
熱門點擊
- 單片機(jī)多字節(jié)BCD碼加法減法
- PCF8563 I2C實時時鐘/日歷芯片在8
- P89C51RD2的Boot ROM與ISP
- DVB-C信道解調(diào)解碼芯片GX1001的設(shè)計
- C51絕對地址訪問
- 用MCS-51單片機(jī)串行口對MAX7219及
- 測試PIC單片機(jī)如何省電
- C8051與SRAM的高速接口
- 指針類型和存儲區(qū)的關(guān)系詳解
- 帶VCC輸入引腳的硅序列碼芯片DS2411及
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究