數(shù)字顯示與鍵盤輸入設(shè)計武漢理工

上傳人:仙*** 文檔編號:29316937 上傳時間:2021-10-07 格式:DOC 頁數(shù):20 大?。?.02MB
收藏 版權(quán)申訴 舉報 下載
數(shù)字顯示與鍵盤輸入設(shè)計武漢理工_第1頁
第1頁 / 共20頁
數(shù)字顯示與鍵盤輸入設(shè)計武漢理工_第2頁
第2頁 / 共20頁
數(shù)字顯示與鍵盤輸入設(shè)計武漢理工_第3頁
第3頁 / 共20頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)字顯示與鍵盤輸入設(shè)計武漢理工》由會員分享,可在線閱讀,更多相關(guān)《數(shù)字顯示與鍵盤輸入設(shè)計武漢理工(20頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、武漢理工大學(xué)課程設(shè)計學(xué) 號: 012111034課 程 設(shè) 計題 目數(shù)字顯示與鍵盤輸入設(shè)計學(xué) 院計算機科學(xué)與技術(shù)學(xué)院專 業(yè)計算機科學(xué)與技術(shù)班 級姓 名指導(dǎo)教師袁小玲 2013年7月4日目錄課程設(shè)計任務(wù)書2數(shù)字顯示與鍵盤輸入設(shè)計31.系統(tǒng)描述:31.1實驗?zāi)康模?1.2實驗設(shè)備:31.3實驗要求:32.實驗過程:32.1實驗原理:32.2實驗步驟:82.2.2軟件設(shè)計:92.2.3設(shè)計成功標(biāo)志:102.3程序設(shè)計:102.4 程序代碼:113.調(diào)試過程:153.1 程序編譯調(diào)試154.課程設(shè)計總結(jié)17本科生課程設(shè)計成績評定表18課程設(shè)計任務(wù)書學(xué)生姓名: 專業(yè)班級: 計算機zy1101班 指導(dǎo)教師

2、: 袁小玲 工作單位:計算機科學(xué)與技術(shù)學(xué)院題 目: 數(shù)字顯示與鍵盤輸入例程設(shè)計初始條件:1. 課程設(shè)計使用ZG211硬件綜合實驗平臺(8051單片機),配有課程設(shè)計接口芯片和輔助芯片以及器件;2. ZG211有程序設(shè)計集成開發(fā)環(huán)境,程序設(shè)計語言為C語言;3. ZG211硬件綜合實驗平臺使用說明書;要求完成的主要任務(wù): (包括課程設(shè)計工作量及其技術(shù)要求,撰寫說明書具體要求)1. 學(xué)習(xí)使用ZG211硬件綜合實驗平臺,程序設(shè)計集成開發(fā)環(huán)境;2. 根據(jù)課程設(shè)計題目,進行需求分析,搞清楚課程設(shè)計需要設(shè)計需求和需要解決的設(shè)計內(nèi)容。3. 查閱和學(xué)習(xí)課程設(shè)計題目需要的接口芯片資料,掌握接口芯片的使用方法和編程

3、要領(lǐng)。查閱和學(xué)習(xí)課程設(shè)計題目需要的輔助芯片以及器件資料。4. 設(shè)計接口芯片和輔助芯片以及器件與8051單片機連接硬件電路原理圖。5. 設(shè)計與硬件電路原理圖對應(yīng)的C語言程序(或8051匯編語言)。給出程序流程圖。在集成開發(fā)環(huán)境中調(diào)試程序。給出程序的詳細注釋。能夠解釋使用程序模擬電路時序信號和數(shù)據(jù)。6. 撰寫課程設(shè)計報告,1)詳細陳述以上的設(shè)計過程;2)詳細陳述電路的調(diào)試過程。時間安排:第187周:1. 熟悉ZG211硬件綜合實驗平臺,KEILC UVISION2 集成開發(fā)環(huán)境;查閱接口芯片資料,熟悉接口芯片和它的使用方法。2. 設(shè)計硬件電路原理圖,。第19周:1. 使用C語言或匯編語言設(shè)計和調(diào)試

4、接口程序。2. 撰寫計算機硬件綜合設(shè)計報告。指導(dǎo)教師簽名: 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日數(shù)字顯示與鍵盤輸入設(shè)計1.系統(tǒng)描述:1.1實驗?zāi)康模? 掌握對單片機IO口的操作,及中斷的應(yīng)用2 掌握顯示接口芯片CH451的運用1.2實驗設(shè)備:1 PC 機一臺2 ZG-211 單片機系統(tǒng)實驗板一塊3 實驗連接線若干4 芯片:CH451,89S525 并口編程線一根6 配套電源1 個1.3實驗要求:1 能正常操作LED數(shù)碼顯示2 能通過中斷方式接收按鍵信息2.實驗過程:2.1實驗原理:本實驗的顯示接口采用 CH451 芯片。該芯片整合了數(shù)碼管顯示驅(qū)動和鍵盤掃描控制可以動態(tài)驅(qū)動8 位數(shù)碼

5、管或者64 位LED,具有BCD 譯碼、閃爍、移位等功能;同時還可以進行64 鍵的鍵盤掃描;芯片內(nèi)部有多個寄存器控制整個芯片的運行,其中有8 個寄存器存入所要顯示的數(shù)字,每個寄存器有8 位,每一位控制一個數(shù)碼管其中的一段(1 為點亮,0 為熄滅)。單片機通過4 根信號線(串行數(shù)據(jù)輸入線DIN、串行數(shù)據(jù)時鐘線DCLK、串行數(shù)據(jù)加載線LOAD、串行數(shù)據(jù)輸出線DOUT)控制CH451,顯示數(shù)據(jù),同時通過CH451 對鍵盤的掃描,達到人機交換信息的目的。該芯片與實驗板相關(guān)器件連接原理圖如下:CH451原理圖CH451引腳圖 CH451操作命令表1 空操作:0000XXXXXXXXB空操作命令不對CH4

6、51 產(chǎn)生任何影響。為了在不影響CH451 的前提下變化DCLK 以清除看門狗計時,也可以發(fā)送空操作命令??詹僮髅羁梢灾话l(fā)送有效數(shù)據(jù)B8B11,簡化描述是0000。2 芯片內(nèi)部復(fù)位:001000000001B內(nèi)部復(fù)位命令將CH451 的各個寄存器和各種參數(shù)復(fù)位到默認的狀態(tài)。芯片上電時,CH451總是被復(fù)位,此時各個寄存器均復(fù)位為0,各種參數(shù)均恢復(fù)為默認值。3 字數(shù)據(jù)左移:001100000000B字數(shù)據(jù)左移命令將CH451 的字數(shù)據(jù)左移一次,即從DIG0 向DIG7 移動一位,然后最右邊的DIG0 補進數(shù)據(jù)00H。例如,在數(shù)碼管DIG7DIG0 顯示“87654321”時,執(zhí)行字數(shù)據(jù)左移命令

7、,顯示變?yōu)椤?654321 ”(不譯碼方式)或者“76543210”(BCD 譯碼方式)。4 字數(shù)據(jù)右移:001100000010B字數(shù)據(jù)右移命令將CH451 的字數(shù)據(jù)右移一次,即從DIG7 向DIG0 移動一位,然后最左邊的DIG7 補進數(shù)據(jù)00H。例如,在數(shù)碼管DIG7DIG0 顯示“87654321”時,執(zhí)行字數(shù)據(jù)右移命令,顯示變?yōu)椤?8765432”(不譯碼方式)或者“08765432”(BCD 譯碼方式)。5 字數(shù)據(jù)左循環(huán):001100000001B字數(shù)據(jù)左循環(huán)命令將CH451 的字數(shù)據(jù)左循環(huán)一次,即從DIG0 向DIG7 移動一位,然后最右邊的DIG0 補進原DIG7 的數(shù)據(jù)。例如

8、,在數(shù)碼管DIG7DIG0 顯示“87654321”時,執(zhí)行字數(shù)據(jù)左循環(huán)命令,顯示變?yōu)椤?6543218”。6 字數(shù)據(jù)右循環(huán):001100000011B字數(shù)據(jù)右循環(huán)命令將CH451 的字數(shù)據(jù)右循環(huán)一次,即從DIG7 向DIG0 移動一位,然后最左邊的DIG7 補進原DIG0 的數(shù)據(jù)。例如,在數(shù)碼管DIG7DIG0 顯示“87654321”時,執(zhí)行字數(shù)據(jù)右循環(huán)命令,顯示變?yōu)椤?8765432”。7 設(shè)定系統(tǒng)參數(shù):010000000WDOGKEYBDISPB設(shè)定系統(tǒng)參數(shù)命令用于設(shè)定CH451 的系統(tǒng)級參數(shù):看門狗使能WDOG,鍵盤掃描使能KEYB,顯示驅(qū)動使能DISP。各個參數(shù)均通過1 位數(shù)據(jù)控制

9、,將相應(yīng)的數(shù)據(jù)位置為1 則啟用該功能,否則關(guān)閉該功能(默認值)。例如,命令數(shù)據(jù)010000000101B 表示啟用看門狗的功能、關(guān)閉鍵盤掃描的功能、啟用顯示掃描驅(qū)動的功能。8 設(shè)定顯示參數(shù):0101MODELIMITINTENSITYB設(shè)定顯示參數(shù)命令用于設(shè)定CH451 的顯示參數(shù):譯碼方式MODE,掃描極限LIMIT,顯示亮度INTENSITY。譯碼方式MODE 通過1 位數(shù)據(jù)控制,置1 時選擇BCD 譯碼方式,置0 時選擇不譯碼方式(默認值)。掃描極限LIMIT 通過3 位數(shù)據(jù)控制,數(shù)據(jù)001B111B 和000B 分別設(shè)定掃描極限為17 和8(默認值)。顯示亮度INTENSITY 通過4

10、 位數(shù)據(jù)控制,數(shù)據(jù)0001B1111B 和0000B 分別設(shè)定顯示驅(qū)動占空比為1/1615/16 和16/16(默認值)。例如,命令數(shù)據(jù)010101110000B 表示選擇不譯碼方式、掃描極限為7、顯示驅(qū)動占空比為16/16;命令數(shù)據(jù)010110001010B 表示選擇BCD 譯碼方式、掃描極限為8、顯示驅(qū)動占空比為10/16。9 設(shè)定閃爍控制:0110D7SD6SD5SD4SD3SD2SD1SD0SB設(shè)定閃爍控制命令用于設(shè)定CH451 的閃爍顯示屬性:D7SD0S 分別對應(yīng)于8 個字驅(qū)動DIG7DIG0。閃爍屬性D7SD0S 分別通過1 位數(shù)據(jù)控制,將相應(yīng)的數(shù)據(jù)位置為1 則使能閃爍顯示,否則

11、為正常顯示,不閃爍(默認值)。例如,命令數(shù)據(jù)011000100001B 表示設(shè)定數(shù)碼管DIG5 和DIG0 閃爍顯示,其余數(shù)碼管正常顯示,不閃爍。10 加載字數(shù)據(jù):1DIG_ADDRDIG_DATAB加載字數(shù)據(jù)命令用于將字數(shù)據(jù)DIG_DATA 寫入DIG_ADDR 指定地址的數(shù)據(jù)寄存器中。DIG_ADDR 通過3 位數(shù)據(jù)指定數(shù)據(jù)寄存器的地址,數(shù)據(jù)000B111B 分別指定地址07,對應(yīng)于DIG0DIG7 引腳驅(qū)動的8 個數(shù)碼管。DIG_DATA 是8 位的字數(shù)據(jù)。例如,命令數(shù)據(jù)100001111001B 表示將字數(shù)據(jù)79H 寫入第1 個數(shù)據(jù)寄存器,如果是不譯碼方式,則DIG0引腳驅(qū)動的數(shù)碼管將

12、顯示E;命令數(shù)據(jù)110010001000B 表示將字數(shù)據(jù)88H 寫入第5 個數(shù)據(jù)寄存器,如果是BCD 譯碼方式,則DIG4 引腳驅(qū)動的數(shù)碼管將顯示8.11 讀取按鍵代碼:0111XXXXXXXXB讀取按鍵代碼命令用于獲得CH451 最近檢測到的有效按鍵的按鍵代碼。該命令是唯一的具有數(shù)據(jù)返回的命令,CH451 從DOUT 引腳輸出按鍵代碼,按鍵代碼總是7 位數(shù)據(jù),最高位是狀態(tài)碼,位5位0 是掃描碼。讀取按鍵代碼命令的位數(shù)據(jù)B0B7 可以是任意值,所以控制器可以將該操作命令縮短為4 位數(shù)據(jù)B8B11。例如,CH451 檢測到有效按鍵并中斷,按鍵代碼是5EH,簡化描述1110HLHHHHL表示先向C

13、H451 發(fā)出讀取按鍵代碼命令0111XXXXXXXXB,然后從DOUT 獲得按鍵代碼5EH。CH451BCD碼譯碼表 2.2實驗步驟: 2.2.1硬件連接:CH451CPU89S52J5_89S52P34P15P33P32J23_CH451LOADDCLKDINDOUT將并口線插在實驗板與 PC 機的并口插座上;按上圖 連接實驗線路;仔細檢查無誤后,接通電源。(圖中箭頭表示需要接線的地方)(上圖為連線圖,也是接線成功后的圖)2.2.2軟件設(shè)計:進入 KEILC 環(huán)境編寫程序。89S52 首先向DIN 發(fā)送一個上升沿,通知CH451 數(shù)據(jù)線使能,然后89S52 發(fā)送010000000101,0

14、10110000000,通知CH451 打開鍵盤掃描功能,開啟顯示功能,選擇BCD 譯碼方式,在就可以向每個顯示寄存器送入要顯示的數(shù)據(jù)。例如:八個數(shù)碼管全顯示“8”時送入的二進制數(shù)據(jù)為:100000001000;100100001000;101000001000;101100001000;110000001000;110100001000;111000001000;111100001000;打開 89S52 的外部中斷1,并設(shè)置為下降沿中斷方式,當(dāng)KEY1-KEY5 任一鍵按下時,CH451的DOUT 腳會產(chǎn)生一個下降沿,這時89S52 便會產(chǎn)生一個中斷,并進入中斷程序。中斷程序中,應(yīng)首先關(guān)閉

15、中斷,然后向CH451 發(fā)送讀鍵值指令(0111),讀取鍵值。KEY1-KEY5 的鍵值分別為:0X40,0X49,0X52,0X5B,0X64. 在89S52在向CH451發(fā)送數(shù)據(jù)時,先發(fā)送低位數(shù)據(jù)。如二進制數(shù)據(jù):100000000101,先送1,再送0,再送1,依次類推;而接收時則相反,先接收高位。程序編譯成功后,打開聯(lián)機下載軟件,將HEX 文件下載到89S52 中,觀看程序運行結(jié)果,如有問題則修改程序,再次下載。調(diào)試成功后,將送顯程序,和讀取鍵值程序,各寫成一個函數(shù),供后續(xù)實驗?zāi)K調(diào)用。2.2.3設(shè)計成功標(biāo)志:1 啟動實驗板,自動顯示“-”2 按下1 號按鍵,顯示“001”3 按下2 號

16、按鍵,顯示“002”4 按下3 號按鍵,顯示“003”5 按下4 號按鍵,顯示“004”6 按下5 號按鍵,顯示“005”2.3程序設(shè)計: 程序原理圖2.4 程序代碼: /*|項目武漢理工大學(xué)教學(xué)實驗板(ZG211 定制) |文件Display.c |功能LED顯示演示程序 |編寫中格電子 |創(chuàng)建時間2005/09/08 |版本1.0 |版本說明 |修改歷史 |修改原因 |修改時間 |修改后特性 |*/#include reg52.h#include def.h#include display.h#include sub.h#include func.hextern unsigned char

17、 key_print;extern unsigned char key_data;/*|函數(shù)名send_disp_data|函數(shù)功能向CH451芯片發(fā)送命令|參數(shù)comm:命令體|_data:命令參數(shù)|返回值無|*/void send_disp_data(unsigned char comm, unsigned char _data)unsigned char i; /送8BIT數(shù)據(jù)for(i=0;ii)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;/送4BIT命令for(i=0;ii)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;LOAD=1;LOAD

18、=0;LOAD=1;/*|函數(shù)名send_comm|函數(shù)功能向CH451芯片發(fā)送命令|參數(shù)comm:命令體|返回值無|*/void send_comm(unsigned char comm)unsigned char i;/送4BIT命令for(i=0;ii)&0x01;DCLK = 1;DCLK = 0;DCLK = 1;LOAD=1;LOAD=0;LOAD=1;/*|函數(shù)名disp_initialize|函數(shù)功能向CH451芯片發(fā)送初始化命令|參數(shù)無|返回值無|*/void disp_initialize()chang_4052(1); DIN=0;DIN=1;DCLK=1;LOAD=1;

19、DOUT=1;send_disp_data( CH451_SETSYS, 0x03);/設(shè)定系統(tǒng)參數(shù)send_disp_data( CH451_SETDIS, 0x80);/設(shè)定顯示參數(shù)/*|函數(shù)名key|函數(shù)功能中斷函數(shù),獲取當(dāng)前按鍵狀態(tài)|參數(shù)無|返回值無|*/void key() interrupt 0 unsigned char i,temp;EX0 = 0;/關(guān)中斷key_data = 0;temp = 0;send_comm(CH451_KEY);for(i=0; i7; i+) temp = DOUT;key_data = key_data|(temp 啟動實驗板,自動顯示“-”2

20、 按下1 號按鍵,顯示“001”3 按下2 號按鍵,顯示“002”4 按下3 號按鍵,顯示“003”5 按下4 號按鍵,顯示“004”6 按下5 號按鍵,顯示“005”4.課程設(shè)計總結(jié)此次硬件課程設(shè)計是我們第一次接觸單片機,還是感覺到相當(dāng)陌生的,對于CH451芯片,我們以前都是沒有接觸過的,但是實驗本身并不是很難,主要原因在于接線方面還是很輕松的,還有關(guān)于單片機的代碼也可以直接得到,只需要我們在電腦上編譯調(diào)試通過然后下載到單片機的芯片上就可以。而這次實驗還是給了我很大的收獲:首先,讓我對編程有了更加深刻的認識,編程不僅僅是在電腦上寫程序并且運行,然后封裝成為一個軟件,更能夠借組與單片機實現(xiàn)更多

21、的功能,能夠在物聯(lián)網(wǎng)的道路上發(fā)揮更大的作用;其次了解了CH154芯片的結(jié)構(gòu)和功能,對于以后再學(xué)習(xí)單片機的相關(guān)知識打下了一個很好的基礎(chǔ);最后則是對并行接口和接口編程有了更加深刻的認識。本科生課程設(shè)計成績評定表班級:計算機ZY1101班姓名: 張瑞 學(xué)號:0121110340117序號評分項目滿分實得分1學(xué)習(xí)態(tài)度認真、遵守紀律102設(shè)計分析合理性103設(shè)計方案正確性、可行性、創(chuàng)造性204設(shè)計結(jié)果正確性405設(shè)計報告的規(guī)范性106設(shè)計驗收10總得分/等級評語:注:最終成績以五級分制記。優(yōu)(90-100分)、良(80-89分)、中(70-79分)、及格(60-69分)、60分以下為不及格指導(dǎo)教師簽名:201 年月日19

展開閱讀全文
溫馨提示:
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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!