數(shù)字顯示與鍵盤輸入例程設(shè)計(jì)_圖文_第1頁
數(shù)字顯示與鍵盤輸入例程設(shè)計(jì)_圖文_第2頁
數(shù)字顯示與鍵盤輸入例程設(shè)計(jì)_圖文_第3頁
數(shù)字顯示與鍵盤輸入例程設(shè)計(jì)_圖文_第4頁
數(shù)字顯示與鍵盤輸入例程設(shè)計(jì)_圖文_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 課 程 設(shè) 計(jì)題 目數(shù)字顯示與鍵盤輸入設(shè)計(jì) 學(xué) 院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 專 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè) 班 級(jí)計(jì)算機(jī) 1006 班 姓 名張亞輝 指導(dǎo)教師唐 建雄2013 年 7 月 1 日目 錄課程設(shè)計(jì)說明書 . 2 數(shù)字顯示與鍵盤輸入設(shè)計(jì) . 3 1. 實(shí)驗(yàn)描述:. 3 1.1實(shí)驗(yàn)?zāi)康?. 3 1.2實(shí)驗(yàn)設(shè)備:. 31.3設(shè)計(jì)要求:. 32. 實(shí)驗(yàn)過程:. 3 2.1實(shí)驗(yàn)原理:. 3 2.2實(shí)驗(yàn)步驟:.8 2.2.1硬件連接:.8 2.2.2軟件設(shè)計(jì):.9 2.2.3設(shè)計(jì)成功標(biāo)志:.102.3程序代碼:.103. 調(diào)試過程 . 15 3.1程序編譯調(diào)試 . 15 3.2在線編程寫入程序 .

2、163.3實(shí)驗(yàn)結(jié)果顯示 . 164. 課程設(shè)計(jì)總結(jié):. 17 本科生課程設(shè)計(jì)成績?cè)u(píng)定表 . 18課程設(shè)計(jì)任務(wù)書學(xué)生姓名:張亞輝 專業(yè)班級(jí):計(jì)算機(jī) 1006班 指導(dǎo)教師:唐建雄 工作單位:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 題 目 : 數(shù)字顯示與鍵盤輸入設(shè)計(jì)初始條件:1. 課程設(shè)計(jì)使用 ZG211硬件綜合實(shí)驗(yàn)平臺(tái)(8051單片機(jī) ,配有課程設(shè)計(jì)接口芯片 和輔助芯片以及器件;2. ZG211有程序設(shè)計(jì)集成開發(fā)環(huán)境,程序設(shè)計(jì)語言為 C 語言;3. ZG211硬件綜合實(shí)驗(yàn)平臺(tái)使用說明書;要求完成的主要任務(wù) :(包括課程設(shè)計(jì)工作量及其技術(shù)要求,撰寫說明書具體要 求1. 學(xué)習(xí)使用 ZG211硬件綜合實(shí)驗(yàn)平臺(tái),程序設(shè)計(jì)集

3、成開發(fā)環(huán)境;2. 根據(jù)課程設(shè)計(jì)題目,進(jìn)行需求分析,搞清楚課程設(shè)計(jì)需要設(shè)計(jì)需求和需要解決的 設(shè)計(jì)內(nèi)容。3. 查閱和學(xué)習(xí)課程設(shè)計(jì)題目需要的接口芯片資料, 掌握接口芯片的使用方法和編程 要領(lǐng)。查閱和學(xué)習(xí)課程設(shè)計(jì)題目需要的輔助芯片以及器件資料。4. 設(shè)計(jì)接口芯片和輔助芯片以及器件與 8051單片機(jī)連接硬件電路原理圖。5. 設(shè)計(jì)與硬件電路原理圖對(duì)應(yīng)的 C 語言程序 (或 8051匯編語言 。 給出程序流程圖。 在集成開發(fā)環(huán)境中調(diào)試程序。給出程序的詳細(xì)注釋。能夠解釋使用程序模擬電路 時(shí)序信號(hào)和數(shù)據(jù)。6. 撰寫課程設(shè)計(jì)報(bào)告, 1 詳細(xì)陳述以上的設(shè)計(jì)過程; 2 詳細(xì)陳述電路的調(diào)試過程。 時(shí)間安排:第 17周:

4、1. 熟悉 ZG211硬件綜合實(shí)驗(yàn)平臺(tái), KEILC UVISION2集成開發(fā)環(huán)境;查閱接 口芯片資料,熟悉接口芯片和它的使用方法。2. 設(shè)計(jì)硬件電路原理圖, 。第 18周:1. 使用 C 語言或匯編語言設(shè)計(jì)和調(diào)試接口程序。2. 撰寫計(jì)算機(jī)硬件綜合設(shè)計(jì)報(bào)告。指導(dǎo)教師簽名:年 月 日 系主任(或責(zé)任教師簽名:年 月 日數(shù)字顯示與鍵盤輸入設(shè)計(jì) 1. 系統(tǒng)描述:1.1實(shí)驗(yàn)?zāi)康?1 掌握對(duì)單片機(jī) IO 口的操作,及中斷的應(yīng)用2 掌握顯示接口芯片 CH451的運(yùn)用1.2實(shí)驗(yàn)設(shè)備:1 PC 機(jī)一臺(tái)2 ZG-211 單片機(jī)系統(tǒng)實(shí)驗(yàn)板一塊3 實(shí)驗(yàn)連接線若干4 芯片:CH451, 89S525 并口編程線一根6

5、 配套電源 1 個(gè)1.3設(shè)計(jì)要求:1 能正常操作 LED 數(shù)碼顯示2 能通過中斷方式接收按鍵信息2. 實(shí)驗(yàn)過程:2.1實(shí)驗(yàn)原理:本實(shí)驗(yàn)的顯示接口采用 CH451 芯片。該芯片整合了數(shù)碼管顯示驅(qū)動(dòng) 和鍵盤掃描控制可以動(dòng)態(tài)驅(qū)動(dòng) 8 位數(shù)碼管或者 64 位 LED ,具有 BCD 譯碼、 閃爍、移位等功能;同時(shí)還可以進(jìn)行 64 鍵的鍵盤掃描;芯片內(nèi)部有多個(gè) 寄存器控制整個(gè)芯片的運(yùn)行,其中有 8 個(gè)寄存器存入所要顯示的數(shù)字,每 個(gè)寄存器有 8 位,每一位控制一個(gè)數(shù)碼管其中的一段(1 為點(diǎn)亮, 0 為熄 滅 。 單片機(jī)通過 4 根信號(hào)線 (串行數(shù)據(jù)輸入線 DIN 、 串行數(shù)據(jù)時(shí)鐘線 DCLK 、 串行數(shù)

6、據(jù)加載線 LOAD 、串行數(shù)據(jù)輸出線 DOUT 控制 CH451,顯示數(shù)據(jù),同 時(shí)通過 CH451 對(duì)鍵盤的掃描,達(dá)到人機(jī)交換信息的目的。該芯片與實(shí)驗(yàn)板 相關(guān)器件連接原理圖如下:CH451原理圖CH451引腳圖 CH451操作命令表 1空操作:0000XXXXXXXXB空操作命令不對(duì) CH451 產(chǎn)生任何影響。 為了在不影響 CH451 的前提 下變化 DCLK 以清除看門狗計(jì)時(shí), 也可以發(fā)送空操作命令。 空操作命令 可以只發(fā)送有效數(shù)據(jù) B8B11,簡化描述是 0000。2芯片內(nèi)部復(fù)位:001000000001B內(nèi)部復(fù)位命令將 CH451 的各個(gè)寄存器和各種參數(shù)復(fù)位到默認(rèn)的狀 態(tài)。芯片上電時(shí),

7、 CH451總是被復(fù)位,此時(shí)各個(gè)寄存器均復(fù)位為 0,各 種參數(shù)均恢復(fù)為默認(rèn)值。3字?jǐn)?shù)據(jù)左移:001100000000B字?jǐn)?shù)據(jù)左移命令將 CH451 的字?jǐn)?shù)據(jù)左移一次, 即從 DIG0 向 DIG7 移 動(dòng)一位, 然后最右邊的 DIG0 補(bǔ)進(jìn)數(shù)據(jù) 00H 。 例如, 在數(shù)碼管 DIG7DIG0 顯示“ 87654321”時(shí),執(zhí)行字?jǐn)?shù)據(jù)左移命令,顯示變?yōu)椤?7654321 ” (不譯碼方式或者“ 76543210”(BCD 譯碼方式。4字?jǐn)?shù)據(jù)右移:001100000010B字?jǐn)?shù)據(jù)右移命令將 CH451 的字?jǐn)?shù)據(jù)右移一次, 即從 DIG7 向 DIG0 移 動(dòng)一位, 然后最左邊的 DIG7 補(bǔ)進(jìn)數(shù)據(jù)

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

9、7 向DIG0 移動(dòng)一位,然后最左邊的 DIG7 補(bǔ)進(jìn)原 DIG0 的數(shù)據(jù)。例如,在數(shù) 碼管 DIG7DIG0 顯示“ 87654321”時(shí),執(zhí)行字?jǐn)?shù)據(jù)右循環(huán)命令,顯示 變?yōu)椤?18765432”。7設(shè)定系統(tǒng)參數(shù):010000000WDOGKEYBDISPB8設(shè)定顯示參數(shù):0101MODELIMITINTENSITYB10加載字?jǐn)?shù)據(jù):1DIG_ADDRDIG_DATAB11讀取按鍵代碼:0111XXXXXXXXB讀取按鍵代碼命令用于獲得 CH451 最近檢測到的有效按鍵的按鍵 代碼。 該命令是唯一的具有數(shù)據(jù)返回的命令, CH451 從 DOUT 引腳輸出 按鍵代碼,按鍵代碼總是 7 位數(shù)據(jù),最

10、高位是狀態(tài)碼,位 5位 0 是掃 描碼。 讀取按鍵代碼命令的位數(shù)據(jù) B0B7 可以是任意值, 所以控制器 可以將該操作命令縮短為 4 位數(shù)據(jù) B8B11。 例如, CH451 檢測到有效 按鍵并中斷,按鍵代碼是 5EH ,簡化描述 1110 HLHHHHL表示先向 CH451 發(fā)出讀取按鍵代碼命令 0111XXXXXXXXB ,然后從 DOUT 獲得按鍵代碼 5EH 。CH451BCD碼譯碼表 2.2實(shí)驗(yàn)步驟:2.2.1硬件連接: 將并口線插在實(shí)驗(yàn)板與 PC 機(jī)的并口插座上;按上圖 連接實(shí)驗(yàn)線路;仔細(xì)檢查無誤后,接通電源。(圖中箭頭表示需要接線的地方電路板連接實(shí)物圖 2.2.2軟件設(shè)計(jì):打開

11、89S52 的外部中斷 1,并設(shè)置為下降沿中斷方式,當(dāng) KEY1-KEY5 任一鍵按下時(shí), CH451的 DOUT 腳會(huì)產(chǎn)生一個(gè)下降沿,這時(shí) 89S52 便會(huì) 產(chǎn)生一個(gè)中斷,并進(jìn)入中斷程序。中斷程序中,應(yīng)首先關(guān)閉中斷,然 后向 CH451 發(fā)送讀鍵值指令(0111,讀取鍵值。 KEY1-KEY5 的鍵值分別為:0X40,0X49,0X52,0X5B,0X64.程序編譯成功后,打開聯(lián)機(jī)下載軟件,將 HEX 文件下載到 89S52 中, 觀看程序運(yùn)行結(jié)果,如有問題則修改程序,再次下載。調(diào)試成功后 , 將送顯程序,和讀取鍵值程序,各寫成一個(gè)函數(shù),供后續(xù)實(shí)驗(yàn)?zāi)K調(diào) 用。2.2.3設(shè)計(jì)成功標(biāo)志:1 啟動(dòng)

12、實(shí)驗(yàn)板,自動(dòng)顯示“ -”2 按下 1 號(hào)按鍵,顯示“ 001”3 按下 2 號(hào)按鍵,顯示“ 002”4 按下 3 號(hào)按鍵,顯示“ 003”5 按下 4 號(hào)按鍵,顯示“ 004”6 按下 5 號(hào)按鍵,顯示“ 005”2.3程序設(shè)計(jì):程序原理圖 2.4 程序代碼:/* | 項(xiàng)目 武漢理工大學(xué)教學(xué)實(shí)驗(yàn)板(ZG211 定制 | | 文件 Display.c | 功能 LED 顯示演示程序 | | 編寫 中格電子 | | 創(chuàng)建時(shí)間 2005/09/08 | 版本 1.0 | 版本說明 | 修改歷史 | 修改原因 | 修改時(shí)間 | 修改后特性 |*/ #include reg52.h#include de

13、f.h#include display.h#include sub.h#include func.hextern unsigned char 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;D

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

15、 disp_initialize | | 函數(shù)功能 向 CH451芯片發(fā)送初始化命令 | | 參數(shù) 無 | 返回值 無 |*/ void disp_initialize(chang_4052(1;DIN=0;DIN=1;DCLK=1;LOAD=1;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 0unsig

16、ned 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 啟動(dòng)實(shí)驗(yàn)板,自動(dòng)顯示“-” 16 武漢理工大學(xué)硬件綜合設(shè)計(jì)課程設(shè)計(jì)說明書 2 3 4 5 6 按下1 按下2 按下3 按下4 按下5 號(hào)按鍵,顯示“001” 號(hào)按鍵,顯示“002” 號(hào)按鍵,顯示“003” 號(hào)按鍵,顯示“004” 號(hào)按鍵,顯示“005” 4. 課程設(shè)計(jì)總結(jié): 在本次課程設(shè)計(jì)中,首先通過ZG211單片機(jī)系統(tǒng)實(shí)驗(yàn)指導(dǎo)書和各 芯片資料的仔細(xì)學(xué)習(xí),對(duì)實(shí)驗(yàn)的原

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論