版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、南京郵電大學(xué)通達(dá)學(xué)院課程設(shè)計實(shí)驗(yàn)報告實(shí)驗(yàn)名稱 基于8255的L C D顯示的動態(tài)顯示器設(shè)計班級080061學(xué)號08006129姓 名卓曉寒指導(dǎo)老師 _林建中開課時間 2011/2012 學(xué)年, 第 一 學(xué)期基于8 2 5 5的L C D動態(tài)顯示器設(shè)計1、 設(shè)計要求能夠?qū)W會利用Proteus軟件的MCS5印片機(jī)仿真學(xué)習(xí),根據(jù)提供的參考工程,在 Proteus 平臺自己重新設(shè)計實(shí)驗(yàn)電路所需要的電氣原理圖,并在此基礎(chǔ)上編寫相對應(yīng)的程序,實(shí)現(xiàn)其功能,學(xué)習(xí) Proteus 軟件的使用,其中包括原理圖器件的選取、原理圖的電氣連接、程序的編寫編譯以及運(yùn)行,并能查出其錯誤等。2、 實(shí)驗(yàn)內(nèi)容設(shè)計一基于8 2 5
2、 5的L C D動態(tài)顯示器3、 實(shí)驗(yàn)要求1 用數(shù)碼管或LCD正常顯示數(shù)字“ 12345678”。2 通過按鍵可改變顯示方式。3 設(shè)計顯示屏的動態(tài)效果,用10 個按鍵,每鍵對應(yīng)一種滾動技術(shù)。另注 , 實(shí)驗(yàn)發(fā)揮部分:1 設(shè)計所有動作的聯(lián)合效果。2 設(shè)計二個變速按鍵,可多級改變滾動速度。3 設(shè)計一臺魔術(shù)電子種,采用自動變換,隨機(jī)組合,數(shù)據(jù)每10 秒變換一次。動態(tài)顯示格式:4 靜止5 整體閃爍6 單字閃爍7 整體向前、向后滾動8 單字移動9 兩邊向中間壓縮10 中間向兩邊擴(kuò)張11 上下壓縮12 文字上下滾動13 組合動作(每一字符執(zhí)行上述一個動作,并同時運(yùn)動)4、 實(shí)驗(yàn)儀器及實(shí)驗(yàn)環(huán)境( 1 ) 586
3、 微型計算機(jī)系統(tǒng)( 2) proteus 仿真軟件( 3) MEDWIN 軟件( 4)單片機(jī)開發(fā)系統(tǒng)5、 設(shè)計思路根據(jù)實(shí)驗(yàn)給出的要求,我們選擇了LM016LLCD 進(jìn)行動態(tài)顯示。并通過按鍵切換不同的功能,來達(dá)到分別顯示各種要求的動態(tài)效果。實(shí)驗(yàn)要求進(jìn)行檢控式 LCD動態(tài)顯示。定時器 T0作為每0.01秒加一的定時器;題目中的要求是用十種動 態(tài)效果,由于本人對單片機(jī)研究膚淺加之有直接可以輸入的pl端口。故將監(jiān)控調(diào)為八種功能,對應(yīng)的分別為:0.靜止1 .整體閃爍2 .單字閃爍3 .整體向前、向后滾動4 .單字移動5 .兩邊向中間壓縮6 .中間向兩邊擴(kuò)張7 .上下壓縮8 .文字上下滾動9 .組合動作(
4、每一字符執(zhí)行上述一個動作,并同時運(yùn)動)6、 實(shí)驗(yàn)過程本次課程設(shè)計是在理論課程的基礎(chǔ)上,目的在于培養(yǎng)我們的動手能力, 通過電路設(shè)計、理論計算、實(shí)際編程、調(diào)試、測試、分析查找故障,解決在實(shí)際設(shè)計中的問題,使設(shè)計好的電路 能正常工作,并可能結(jié)合實(shí)際的實(shí)驗(yàn)板進(jìn)行下載測試。在此次課題設(shè)計的過程中,我們?nèi)藛T分配為兩人一組,并由指導(dǎo)老師分發(fā)課題。我們的課題為“基于8255的LCDa態(tài)顯示器設(shè)計”。在考慮本次設(shè)計過程中,依據(jù)設(shè)計基本要求,并且基于8255通用可編程器件等條件,我們把8255器件用來擴(kuò)展I/O 口,以備外接一 4X4鍵盤,以滿足通過10個按鍵來控制10種動 態(tài)顯示,以及通過該I/O 口外接一 L
5、CD顯示器(當(dāng)然,實(shí)驗(yàn)中我們發(fā)現(xiàn)不用8255擴(kuò)展I/O 口, 單片機(jī)AT89C51的四個I/O端口已能滿足該實(shí)驗(yàn)需要)。為了能讓各器件間聯(lián)系起來我們又添 加了一些邏輯器件,如:與非門等以及 74HC573®址鎖存器等。最終設(shè)計的電路圖如圖(1):圖(1)器件名稱器件型號單片機(jī)AT89C51可編程I/O接口芯片8255地址鎖存器74HC573LCD顯春LM016L圖中主要器件如表(a):表(a)其中主要 部分器件 使用說明 如下:I.4X4矩陣式鍵盤識別技術(shù)a)鍵盤鍵號圖用AT89C51的并彳T口 P1接4X4矩陣鍵盤,以P1.0 P1.3作輸入線,以P1.4P1.7作輸出線;對應(yīng)的按
6、鍵的序號排列如圖(2)。A:R210k , «TEXT:10k - <TEXT:R4 1 I10k eTEXT-R5 -4110k hTEX口 圖(2)b) 4X4矩陣鍵盤識別處理每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩 陣的行線和列線分別通過兩并行接口和 CPU!信。每個按鍵的狀態(tài)同樣需變成數(shù)字 量“0”和“1”,開關(guān)的一端(行線)通過電阻接 VCC而接地是通過程序輸出數(shù) 字“0”實(shí)現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下, 鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出 掃描碼,使按鍵逐行動態(tài)接地,另
7、一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信 號共同形成鍵編碼而識別按鍵。c)鍵盤掃描程序框圖29WAIT注:在上圖中根據(jù)當(dāng)前狀態(tài)識別按鍵調(diào)用相應(yīng)按鍵識別子程序存轉(zhuǎn)入顯示子程序AD0AD,AD2AD3AD4AD5AD6AD"U2434D0PA0D1PA1D2PA2D3PA3D4PA4D5PA5D6PA6D7PA7RDPB0WR"PB1A0PB2A1PB3RESETPB4PB5CS-PB6PB7PC0PC1PC2PC3PC4PC5PC6PC733332-231-14030293 a 3oo、a 928-2753619-2T22-23-2T514-iT169835A1561713
8、1211108255A可編程外部I/O并行接口II . 8255通用可編程器件8255 是一種通用的可編程并行I/O接口電路,在單片機(jī)應(yīng)用系統(tǒng)中被廣泛用作8255的結(jié)構(gòu)及其引腳:8255有3個8位的并行口 PA PB PG 8255 的引腳如左圖所示。圖中有關(guān)引腳含義如下:D0-D7:雙向三態(tài)數(shù)據(jù)總線;CS:選片信號輸入線,低電平有效; RESET復(fù)位信號輸入線,高電平時有效, 復(fù)位后,PAD、PB口、PC口均為輸入方PA PB PC 3 個 8 位 I/O 口;RD讀選通信號輸入線,低電平時有效; WR寫選通信號輸入線,低電平時有效; A1, A0:端口地址輸入線,用于選擇內(nèi)部 端口寄存器;
9、VCC 電源+5V;GND地線。卜表列出了 CPU寸8255端口的尋址和操作狀態(tài):A1A0RDWRCS輸入操作(讀)0001 :0A 數(shù):居總線0101 10B 數(shù):居總線10010C 一數(shù):居總線輸出操作(寫)0010 10數(shù)據(jù)總_A 口01100數(shù)據(jù)總e 口10100數(shù)據(jù)總線一 口 11110 I0數(shù)據(jù)總線f控制口禁止操作XXXX1數(shù)據(jù)總線為高阻 111010非法操作XX110數(shù)據(jù)總線為高阻由總圖可以看出,A B C 口的端口地址取決于 A15 (P2.7),和低位A1、A0, 本次設(shè)計采用數(shù)據(jù)總線到 A口,因此則A的端口地址為(01* * * *00) B, 本次在設(shè)計中采取7FFCH7
10、、 部分實(shí)驗(yàn)效果圖1)靜止3)2)兩邊向中間壓縮LCD1-LMCI-16L<TEXT>整體向前、向后滾動8、 實(shí)驗(yàn)程序C 語言:/* 庫文件*/#include<reg52.h>#include<absacc.h>/* 宏定義*/#define uint unsigned int#define uchar unsigned char/* 芯片端口地址定義 */#define COM8255 XBYTE0X7FFF/8255的命令口#define PA8255XBYTE0X1FFF/8255的PA#define PB8255XBYTE0X3FFF/8255的P
11、B#define PC8255XBYTE0X5FFF/8255的PC#define DAC0832 XBYTE0XEFFF/DAC0832 口#define ADC0804 XBYTE0XF7FF/ADC0804 口/* 系統(tǒng)控制引腳定義*/sbit RS=P3A0;/1602的數(shù)據(jù)/命令控制口 口sbit RW=P3A1;/1602 的讀寫控制端sbit EN=P3A2;/1602 的使能控制端sbit CON=P3A3;/74HC573 的鎖存端/* 鍵盤引腳定義*/ / 鍵盤引腳定義sbit key1=P1A0;sbit key2=P1A1;sbit key3=P1A2;sbit key
12、4=P1A3;sbit key5=P1A4;sbit key6=P1A5;sbit key7=P1A6;/* 定義系統(tǒng)變量*/bit flag=0;/ 定義狀態(tài)標(biāo)志位uchar value;uchar str8;uchar code InitialCode=0xfe,0xfd,0xfb,0xf7;/*/* 形式參數(shù):void/* 返回值 :void/* 函數(shù)描述: 延時函數(shù)/*void delayms(uchar x)uchar y;for(;x>0;x-)for(y=150;y>0;y-) ;*/*/*/*/ms延時函數(shù)*/*/*LCD1602*/驅(qū)動函數(shù)*/* 形式參數(shù):voi
13、d/* 返回值 :void/*函數(shù)描述:LCD1602寫命令函數(shù)*/*/*/*/*void WriteCom(uchar COM) RS=0;EN=0;PA8255=COM;delayms(5);EN=1;delayms(5);EN=0;/*/* 形式參數(shù):void/* 返回值 :void/*函數(shù)描述:LCD1602寫坐標(biāo)函數(shù)*/*/*/*void WritePos(uchar x,uchar y)if(x=1)WriteCom(0x80+y-1);if(x=2)WriteCom(0x80+0x40+y-1);*/*/* 形式參數(shù):void/* 返回值 :void/*函數(shù)描述:LCD1602寫
14、數(shù)據(jù)函數(shù)*/*/*/*void WriteData(uchar DATA) RS=1;EN=0;PA8255=DATA;delayms(5);EN=1;delayms(5);EN=0;/*/* 形式參數(shù):void/* 返回值 :void/* 函數(shù)描述: 掃描鍵盤函數(shù)/*void keyscan()uchar i=0,j=0;PB8255=0xf0;if(PB8255!=0xf0)*/*/*/*/*/*/delayms(1);if(PB8255!=0xf0) switch(PB8255) case 0xe0:j=1; break;case 0xd0:j=2;break;case 0xb0:j=3
15、;break;case 0x70:j=4; break;PB8255=0x0f;/ 反轉(zhuǎn)switch(PB8255) case 0x0e:i=0;break;case 0x0d:i=1;break;case 0x0b:i=2;break;case 0x07:i=3;break; value=i*4+j-1,flag=1;while(PB8255!=0x0f); / 按鍵彈起/*/* 形式參數(shù):void/* 返回值 :void/* 函數(shù)描述 : 系統(tǒng)初始化函數(shù)*/*/*/*/*void Initial()CON=1;*/COM8255=0x80;BC 為標(biāo)準(zhǔn) IO/鎖存器地址鎖存輸入輸出方式設(shè)置
16、 定義8255的A 口為輸出/1602 液晶讀寫端清零RW=0;WriteCom(0x38);WriteCom(0x0c);WriteCom(0x06);/ 清屏*/WriteCom(0x01);/*/* 形式參數(shù):void*/* 返回值 :void*/* 函數(shù)描述 : 數(shù)據(jù)格式轉(zhuǎn)換函數(shù)*/*/void Trans_Data() str0=0x31;str1=0x32;str2=0x33;str3=0x34;str4=0x35;str5=0x36;str6=0x37;str7=0x38;/*/* 形式參數(shù):void*/* 返回值 :void*/*函數(shù)描述:LCD1602狀態(tài)1函數(shù)*/*/voi
17、d State1()uchar i=0;WriteCom(0x06);while(value=0)keyscan();Trans_Data();WritePos(1,5);for(i=0;i<8;i+)WriteData(stri);WriteCom(0x01);/*/* 形式參數(shù):void*/* 返回值 :void*/*函數(shù)描述:LCD1602狀態(tài)2函數(shù)*/*/void State2()uchar i=0;WriteCom(0x01); while(value=1) keyscan();Trans_Data();WritePos(1,5);WriteCom(0x0c);for(i=0;
18、i<8;i+)WriteData(stri);delayms(1000);WriteCom(0x08);delayms(1000);WriteCom(0x0c);WriteCom(0x01);*/*/* 形式參數(shù):void/* 返回值 :void/*函數(shù)描述:LCD1602狀態(tài)3函數(shù)*/*/*/*/*void State3()uchar i=0;bit flag=0;WritePos(1,5);for(i=0;i<8;i+)WriteData(stri);while(value=2)keyscan();Trans_Data();flag=flag;if(flag=0)str0=
19、39; 'WritePos(1,5);for(i=0;i<8;i+)WriteData(stri);delayms(1000);WriteCom(0x01);*/*/* 形式參數(shù):void/* 返回值 :void/*函數(shù)描述:LCD1602狀態(tài)4函數(shù)*/*/*/*/*void State4()uchar i=0;WritePos(1,5);for(i=0;i<8;i+)WriteData(stri); while(value=3) WriteCom(0x07); keyscan();Trans_Data();WritePos(1,25); for(i=0;i<8;i+
20、) WriteData(stri); delayms(100);WriteCom(0x01);*/*/* 形式參數(shù):void/* 返回值 :void/*函數(shù)描述:LCD1602狀態(tài)5函數(shù)*/*/*/*/*void State5()uchar i=0,j=1;WritePos(1,5);while(value=4)keyscan();Trans_Data();WritePos(1,j+);if(j=20)j=1;for(i=0;i<8;i+)WriteData(stri);delayms(5);WriteCom(0x01);WriteCom(0x01);*/* 形式參數(shù):void/* 返回
21、值 :void/*函數(shù)描述:LCD1602狀態(tài)6函數(shù)*/*/*/*/*void State6()uchar i=0,j=1;WriteCom(0x06);WritePos(1,5); while(value=5) keyscan();Trans_Data();WritePos(1,j+);if(j=10)j=1;for(i=0;i<8;i+)WriteData(stri); delayms(1000);WriteCom(0x01);WriteCom(0x01);*/*/* 形式參數(shù):void/* 返回值 :void/*函數(shù)描述:LCD1602狀態(tài)7函數(shù)*/*/*/*/*void Stat
22、e7()uchar i=0,j=14,k=0;WritePos(1,5);for(i=0;i<8;i+)WriteData(stri); while(value=6) keyscan();Trans_Data();WritePos(1,k+); if(k=6)k=0;for(i=0;i<4;i+)WriteData(stri);WritePos(1,j-);if(j=9)j=14;for(i=4;i<8;i+)WriteData(stri);delayms(1000);WriteCom(0x01);WriteCom(0x01);*/*/* 形式參數(shù):void/* 返回值 :v
23、oid/*函數(shù)描述:LCD1602狀態(tài)8函數(shù)*/*/*/*/*void State8()uchar i=0,j=5,k=10;WritePos(1,5);for(i=0;i<8;i+)WriteData(stri);while(value=7)keyscan();Trans_Data();WritePos(1,j-);if(j=0)j=5;for(i=0;i<4;i+)WriteData(stri);WritePos(1,k+); if(k=14)k=10;for(i=4;i<8;i+)WriteData(stri);delayms(1000);WriteCom(0x01);
24、WriteCom(0x01);/*/* 形式參數(shù):void*/* 返回值 :void*/*函數(shù)描述:LCD1602狀態(tài)9函數(shù)*/*/void State9()uchar i=0;WritePos(1,5);for(i=0;i<8;i+)WriteData(stri); while(value=8) keyscan();Trans_Data();WriteCom(0x01);WritePos(1,5);for(i=0;i<8;i+)WriteData(stri);delayms(1000);WriteCom(0x01);WritePos(2,5);for(i=0;i<8;i+)
25、WriteData(stri);delayms(1000);WriteCom(0x01);/*/* 形式參數(shù):void*/* 返回值 :void*/*函數(shù)描述:LCD1602狀態(tài)10函數(shù)*/*void State10()uchar i=0;WritePos(1,5);for(i=0;i<8;i+)WriteData(stri);while(value=9)WriteCom(0x07);keyscan();Trans_Data();WritePos(1,17);WriteCom(0x0c); for(i=0;i<8;i+) WriteData(stri); delayms(10);delayms(1000);WriteCom(0x08);delayms(1000)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 連鑄機(jī)課程設(shè)計
- 二零二五版廠房物業(yè)智慧社區(qū)建設(shè)服務(wù)合同2篇
- 材料力學(xué)課程設(shè)計感想
- 離婚協(xié)議書范本(標(biāo)準(zhǔn)格式)
- 2025年度土地買賣意向金約束合同4篇
- 二零二五年柴油運(yùn)輸與智能物流系統(tǒng)集成合同范本2篇
- 2025年度智能設(shè)備研發(fā)與銷售合作協(xié)議3篇
- 2025版魯0832執(zhí)恢255號智慧農(nóng)業(yè)科技推廣應(yīng)用合同4篇
- 二零二五版建筑安裝工程承包合同印花稅稅務(wù)籌劃方案執(zhí)行合同3篇
- 二零二五版企業(yè)內(nèi)部敬業(yè)文化推廣合同模板3篇
- 2024年吉林高考語文試題及答案 (2) - 副本
- 拆除電纜線施工方案
- 搭竹架合同范本
- Neo4j介紹及實(shí)現(xiàn)原理
- 銳途管理人員測評試題目的
- 焊接材料-DIN-8555-標(biāo)準(zhǔn)
- 工程索賠真實(shí)案例范本
- 重癥醫(yī)學(xué)科運(yùn)用PDCA循環(huán)降低ICU失禁性皮炎發(fā)生率品管圈QCC持續(xù)質(zhì)量改進(jìn)成果匯報
- 個人股權(quán)證明書
- 醫(yī)院運(yùn)送工作介紹
- 重癥患者的容量管理
評論
0/150
提交評論