8255LCD動態顯示4X4鍵盤

2023-01-27 06:24:06 字數 3711 閱讀 8282

南京郵電大學通達學院

課程設計實驗報告

實驗名稱基於8255的lcd顯示的動態顯示器設計

班級080061

學號08006129

姓名卓曉寒

指導老師林建中

開課時間 2011/2012學年, 第一學期 _

基於8255的lcd動態顯示器設計

一、 設計要求

能夠學會利用proteus軟體的mcs51微控制器**學習,根據提供的參考工程,在proteus平台自己重新設計實驗電路所需要的電氣原理圖,並在此基礎上編寫相對應的程式,實現其功能,學習proteus軟體的使用,其中包括原理圖器件的選取、原理圖的電氣連線、程式的編寫編譯以及執行,並能查出其錯誤等。

二、 實驗內容

設計一基於8255的lcd動態顯示器

三、 實驗要求

1. 用數碼管或lcd正常顯示數字「12345678」。

2. 通過按鍵可改變顯示方式。

3. 設計顯示屏的動態效果,用10個按鍵,每鍵對應一種滾動技術。

另註,實驗發揮部分:

1. 設計所有動作的聯合效果。

2. 設計二個變速按鍵,可多級改變滾動速度。

3. 設計一台魔術電子種,採用自動變換,隨機組合,資料每10秒變換一次。

動態顯示格式:

1. 靜止

2. 整體閃爍

3. 單字閃爍

4. 整體向前、向後滾動

5. 單字移動

6. 兩邊向中間壓縮

7. 中間向兩邊擴張

8. 上下壓縮

9. 文字上下滾動

10. 組合動作(每一字元執行上述乙個動作,並同時運動)

四、 實驗儀器及實驗環境

(1)586微型計算機系統

(2)proteus**軟體

(3)medwin軟體

(4)微控制器開發系統

五、 設計思路

根據實驗給出的要求,我們選擇了lm016llcd進行動態顯示。並通過按鍵切換不同的功能,來達到分別顯示各種要求的動態效果。

實驗要求進行檢控式lcd動態顯示。定時器t0作為每0.01秒加一的定時器;題目中的要求是用十種動態效果,由於本人對微控制器研究膚淺加之有直接可以輸入的p1埠。

故將監控調為八種功能,對應的分別為:

1. 靜止

2. 整體閃爍

3. 單字閃爍

4. 整體向前、向後滾動

5. 單字移動

6. 兩邊向中間壓縮

7. 中間向兩邊擴張

8. 上下壓縮

9. 文字上下滾動

10. 組合動作(每一字元執行上述乙個動作,並同時運動)

六、 實驗過程

本次課程設計是在理論課程的基礎上,目的在於培養我們的動手能力,通過電路設計、理論計算、實際程式設計、除錯、測試、分析查詢故障,解決在實際設計中的問題,使設計好的電路能正常工作,並可能結合實際的實驗板進行**測試。在此次課題設計的過程中,我們人員分配為兩人一組,並由指導老師分發課題。我們的課題為「基於8255的lcd動態顯示器設計」。

在考慮本次設計過程中,依據設計基本要求,並且基於8255通用可程式設計器件等條件,我們把8255器件用來擴充套件i/o口,以備外接一4x4鍵盤,以滿足通過10個按鍵來控制10種動態顯示,以及通過該i/o口外接一lcd顯示器(當然,實驗中我們發現不用8255擴充套件i/o口,微控制器at89c51的四個i/o埠已能滿足該實驗需要)。為了能讓各器件間聯絡起來我們又新增了一些邏輯器件,如:與非門等以及74hc573位址鎖存器等。

最終設計的電路圖如圖(1):

圖(1)

圖中主要器件如表(a):

表(a)

其中主要部分器件使用說明如下:

i .4x4矩陣式鍵盤識別技術

a) 鍵盤鍵號圖

用at89c51的並行口p1接4×4矩陣鍵盤,以p1.0-p1.3作輸入線,以p1.4-p1.7作輸出線;對應的按鍵的序號排列如圖(2)。

圖(2)

b) 4×4矩陣鍵盤識別處理

每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩並行介面和cpu通訊。每個按鍵的狀態同樣需變成數字量「0」和「1」,開關的一端(行線)通過電阻接vcc,而接地是通過程式輸出數字「0」實現的。

鍵盤處理程式的任務是:確定有無鍵按下,判斷哪乙個鍵按下,鍵的功能是什麼;還要消除按鍵在閉合或斷開時的抖動。兩個並行口中,乙個輸出掃瞄碼,使按鍵逐行動態接地,另乙個並行口輸入按鍵狀態,由行掃瞄值和回饋訊號共同形成鍵編碼而識別按鍵。

c) 鍵盤掃瞄程式框圖

wait

沒有沒有

有有沒有沒有

有有沒有沒有

有有沒有沒有

有有wait

注:在上圖中呼叫相應按鍵識別子程式轉入顯示子程式

ii . 8255通用可程式設計器件

8255是一種通用的可程式設計並行i/o介面電路,在微控制器應用系統中被廣泛用作可程式設計外部i/o並行介面。

8255的結構及其引腳:

8255有3個8位的並行口pa、pb、pc。8255的引腳如左圖所示。圖中有關引腳含義如下:

① d0-d7:雙向三態資料匯流排;

② cs:選片訊號輸入線,低電平有效;

③ reset:復位訊號輸入線,高電平時有效,復位後,pa口、pb口、pc口均為輸入方式;

④ pa、pb、pc:3個8位i/o口;

⑤ rd:讀選通訊號輸入線,低電平時有效;

⑥ wr:寫選通訊號輸入線,低電平時有效;

⑦ a1,a0:埠位址輸入線,用於選擇內部埠暫存器;

⑧ vcc:電源+5v;

gnd:地線。

下表列出了cpu對8255埠的定址和操作狀態:

由總圖可以看出,a、b、c口的埠位址取決於a15(p2.7),和低位a1、a0,本次設計採用資料匯流排到a口,因此則a的埠位址為(0100)b,本次在設計中採取7ffch。

七、 部分實驗效果圖

1) 靜止

2) 兩邊向中間壓縮

3) 整體向前、向後滾動

八、 實驗程式

c語言:

庫檔案#include<>

#include<>

巨集定義#define uint unsigned int

#define uchar unsigned char

晶元埠位址定義

#define com8255 xbyte[0x7fff8255的命令口

#define pa8255 xbyte[0x1fff8255的pa

#define pb8255 xbyte[0x3fff8255的pb

#define pc8255 xbyte[0x5fff8255的pc

#define dac0832 xbyte[0xefffdac0832口

#define adc0804 xbyte[0xf7ffadc0804口

系統控制引腳定義

sbit rs=p3^01602的資料/命令控制口口

sbit rw=p3^11602的讀寫控制端

sbit en=p3^21602的使能控制端

sbit con=p3^374hc573的鎖存端

鍵盤引腳定義

//鍵盤引腳定義

sbit key1=p1^0;

sbit key2=p1^1;

sbit key3=p1^2;

sbit key4=p1^3;

sbit key5=p1^4;

sbit key6=p1^5;

sbit key7=p1^6;

定義系統變數

LCD常識lcd入門

lcd常識 內容提要 一 液晶顯示器基本常識 二 液晶顯示器件的結構 三 液晶顯示器件的基本效能 四 液晶顯示器件的基本引數 五 ic與lcd的常見連線方式 六 lcd專業術語解釋 七 液晶顯示原理 一 液晶顯示器基本常識 液晶顯示是一種被動的顯示,它不能發光,只能使用周圍環境的光。它顯示圖案或字元...

8255A晶元介紹

8255a是一種可程式設計的i o介面晶元,可以與mcs 51系統微控制器以及外設直接相連,廣泛用作外部並行i o擴充套件介面。1 8255a的內部結構 8255a內部由pa pb pc三個8位可程式設計雙向i o口,a組控制器和b組控制器,資料緩衝器及讀寫控制邏輯四部分電路組成。8255a結構框圖...

LCD螢幕知識

it世界 acer 文 2004 10 16 16 37 42 閱讀 2471次 佔筆記本40 價值 lcd螢幕知識你知道多少?acer 許多朋友在選購筆記本的時候往往太過於注意產品的配置,諸如處理器頻率多少?硬碟轉速多快以及記憶體有多大容量。其實大家都忘記了乙個最重要的方面,那就是筆記本的螢幕。對...