




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 1實(shí)驗(yàn)六 基于arm的鍵盤及數(shù)碼管驅(qū)動(dòng)實(shí)驗(yàn) 2 2一、實(shí)驗(yàn)?zāi)康囊弧?shí)驗(yàn)?zāi)康?.掌握鍵盤及數(shù)碼管驅(qū)動(dòng)原理。2.掌握zlg7290芯片的使用方法。3.掌握i2c總線的協(xié)議標(biāo)準(zhǔn)。4.掌握l(shuí)inux下鍵盤驅(qū)動(dòng)的實(shí)現(xiàn)方法。二、實(shí)驗(yàn)內(nèi)容二、實(shí)驗(yàn)內(nèi)容編寫測(cè)試程序控制鍵盤和數(shù)碼管。3 3三、預(yù)備知識(shí)三、預(yù)備知識(shí)1.了解arm9處理器結(jié)構(gòu)2.了解i2c協(xié)議四、四、 實(shí)驗(yàn)設(shè)備與工具實(shí)驗(yàn)設(shè)備與工具硬件:arm嵌入式開(kāi)發(fā)平臺(tái),pc 機(jī)pentium100 以上。軟件:pc機(jī)linux操作系統(tǒng)minicom amrlinux開(kāi)發(fā)環(huán)境4 4五、五、 實(shí)驗(yàn)原理與說(shuō)明實(shí)驗(yàn)原理與說(shuō)明1 1、zlg7290zlg7290寄存
2、器介紹寄存器介紹 zlg7290內(nèi)部有16個(gè)8bits寄存器,訪問(wèn)這些寄存器需要通過(guò)i2c 總線接口來(lái)實(shí)現(xiàn).訪問(wèn)內(nèi)部寄存器要通過(guò)“i2c總線地址+子地址”的方式來(lái)實(shí)現(xiàn)。zlg7290b 的i2c 總線器件地址是70h(寫操作)和71h(讀操作)。5 5l鍵值寄存器鍵值寄存器key(地址:(地址:01h) 如果某個(gè)普通鍵(k1k56)被按下,則微控制器可以從鍵值寄存器key中讀取相應(yīng)的鍵值156。如果微控制器發(fā)現(xiàn)zlg7290 的int 引腳產(chǎn)生了中斷請(qǐng)求,而從key 中讀到的鍵值是0,則表示按下的可能是功能鍵。鍵值寄存器key 的值在被讀走后自動(dòng)變成0。6 6l 顯示緩沖區(qū)顯示緩沖區(qū)dpram
3、0dpram0dpram7dpram7(地址:(地址:10h10h17h17h) dpram0dpram7 這8 個(gè)寄存器的取值直接對(duì)應(yīng)8個(gè)數(shù)碼管的顯示內(nèi)容。每個(gè)寄存器的8 個(gè)位 分 別 對(duì) 應(yīng) 數(shù) 碼 管 的a,b,c,d,e,f,dp 段,msb 對(duì)應(yīng)a,lsb 對(duì)應(yīng)dp。例如大寫字母h 的字型數(shù)據(jù)為6eh(不帶小數(shù)點(diǎn))或6fh(帶小數(shù)點(diǎn))。7 7l 命令緩沖區(qū)命令緩沖區(qū)cmdbuf0 cmdbuf0 和和cmdbuf1cmdbuf1(地址:(地址:07h 07h 和和08h08h) 通過(guò)向命令緩沖區(qū)寫入相關(guān)的控制命令可以實(shí)現(xiàn)段尋址、下載顯示數(shù)據(jù)、控制閃爍等功能。8 82 2、zlg729
4、0zlg7290控制命令介紹控制命令介紹 寄存器cmdbuf0(地址:07h)和cmdbuf1(地址:08h)共同組成命令緩沖區(qū)。通過(guò)向命令緩沖區(qū)寫入相關(guān)的控制命令可以實(shí)現(xiàn)段尋址、下載顯示數(shù)據(jù)、控制閃爍等功能。9 9l 下載數(shù)據(jù)并譯碼(下載數(shù)據(jù)并譯碼(downloaddownload) 在指令格式中,高4 位的0110 是命令字段;a3a2a1a0 是數(shù)碼管顯示數(shù)據(jù)的位地址(其中a3 留作以后擴(kuò)展之用, 實(shí) 際 使 用 時(shí) 取 0 即 可 ) , 位 地 址 編 號(hào) 依 次 為0,1,2,3,4,5,6,7,代表8個(gè)數(shù)碼管,dp 控制小數(shù)點(diǎn)是否點(diǎn)亮,0點(diǎn)亮,1熄滅;flash 表示是否要閃爍,
5、0正常顯示,1閃爍;d4d3d2d1d0 是要顯示的數(shù)據(jù),包括10 種數(shù)字和21 種字母。顯示數(shù)據(jù)按照表一中的規(guī)則進(jìn)行譯碼:1010表一表一 下載數(shù)據(jù)并譯碼命令規(guī)下載數(shù)據(jù)并譯碼命令規(guī)則則1111l閃爍控制(閃爍控制(flashflash) 在命令格式中,高4 位的0111 是命令字段;xxxx 表示無(wú)關(guān)位,通常取值0000;第2 字節(jié)的fn(n07)控制數(shù)碼管相應(yīng)位的閃爍屬性,0正常顯示,1閃爍。復(fù)位后,所有位都不閃爍。12123 3、 linuxlinux下下i2ci2c驅(qū)動(dòng)接口函數(shù)介紹驅(qū)動(dòng)接口函數(shù)介紹 linux為我們提供了一系列的接口函數(shù),通過(guò)調(diào)用這些函數(shù)可以很方便的訪問(wèn)到我們的i2c設(shè)
6、備,達(dá)到對(duì)它的操作和控制。在本實(shí)驗(yàn)中,就是通過(guò)調(diào)用這些函數(shù),完成對(duì)zlg7290內(nèi)部寄存器的配置,從而驅(qū)動(dòng)鍵盤和數(shù)碼管按照我們需要的方式工作。下面對(duì)接口函數(shù)進(jìn)行介紹:13133 3、 linuxlinux下下i2ci2c驅(qū)動(dòng)接口函數(shù)介紹驅(qū)動(dòng)接口函數(shù)介紹l 打開(kāi)設(shè)備:打開(kāi)設(shè)備: 在linux下編程實(shí)現(xiàn)對(duì)具體設(shè)備的操作,首先要做的就是打開(kāi)要操作的設(shè)備文件,zlg7290設(shè)備的設(shè)備文件是“/dev/zlg7290/0”。 具體實(shí)現(xiàn)函數(shù)是: fd=open(“/dev/zlg7290/0”,o_rdwr)1414l 向設(shè)備寫數(shù)據(jù)(向設(shè)備寫數(shù)據(jù)(1/21/2):): 具體實(shí)現(xiàn)過(guò)程是先寫入要配置的寄存器的
7、地址,然后寫入要配置的值,具體實(shí)現(xiàn)函數(shù)是: unsigned char temp2; /定義一個(gè)數(shù)組用于存放要發(fā)送的數(shù)據(jù),包括寄存器地址和要寫入該寄存器內(nèi)的值 temp0=address; /將要配置的寄存器的地址address寫入temp0中。 temp1=data; /將要寫入該寄存器中 的值data寫入/temp1中。 write(fd,temp,2); /用write函數(shù)向設(shè)備寫入數(shù)據(jù)temp,首先寫入地址address,然后寫入值data。1515l 向設(shè)備寫數(shù)據(jù)(向設(shè)備寫數(shù)據(jù)(2/22/2):): 配置一般的寄存器都是這個(gè)步驟,但是唯一例外的是配置命令寄存器cmdbuf0和cmdb
8、uf1,因?yàn)閷懭朊罴拇嫫髦械拿畲a均為16bit,因此需要通過(guò)兩步完成對(duì)命令碼的發(fā)送,具體實(shí)現(xiàn)代碼如下: unsigned char temp3; temp0=address; temp1=cmd1; /要寫入的命令碼的高八位 temp2=cmd2; /要寫入的命令碼的低八位 write(fd,temp,3); 1616l 關(guān)閉設(shè)備:關(guān)閉設(shè)備: close(fd);1717l數(shù)碼管位碼鍵盤鍵值、布局圖數(shù)碼管位碼鍵盤鍵值、布局圖1818六、實(shí)驗(yàn)步驟六、實(shí)驗(yàn)步驟 (詳見(jiàn)實(shí)驗(yàn)指導(dǎo)書(shū))(詳見(jiàn)實(shí)驗(yàn)指導(dǎo)書(shū))1.在數(shù)碼管上顯示數(shù)據(jù)有兩種方法,一種方法是直接向8個(gè)數(shù)據(jù)緩沖區(qū)dpram0dpram7寫入數(shù)據(jù)分
9、別控制每個(gè)數(shù)碼管的8個(gè)獨(dú)立led的亮滅,使其顯示不同的數(shù)據(jù)。2.在數(shù)碼管上顯示數(shù)據(jù)的另一種方法是直接向命令寄存器cmdbuf0或cmdbuf1寫入“下載數(shù)據(jù)并譯碼”命令,直接控制數(shù)碼管的顯示內(nèi)容,具體譯碼規(guī)則如表一所示。3.當(dāng)某個(gè)按鍵被按下時(shí),可以通過(guò)讀取“鍵值寄存器key(地址:01h)”的值來(lái)得到鍵值,將所按鍵的鍵值顯示在數(shù)碼管上。4.zlg7290提供數(shù)碼管的閃爍功能,通過(guò)向命令寄存器發(fā)送閃爍控制命令可以控制某個(gè)數(shù)碼管閃爍。通過(guò)按鍵控制數(shù)碼管的閃爍,具體功能是當(dāng)按下鍵盤1-4時(shí),控制數(shù)碼管1-4閃爍。19195、打開(kāi)一個(gè)終端1,將四個(gè)源文件交叉編譯成arm下的可執(zhí)行文件example1-example4(具體參見(jiàn)實(shí)驗(yàn)五一些步驟)6、重新打開(kāi)一個(gè)終端2,輸入
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 準(zhǔn)備2024年演出經(jīng)紀(jì)人資格證考試的心理建設(shè)與試題及答案
- 領(lǐng)導(dǎo)力在房地產(chǎn)行業(yè)的價(jià)值試題及答案
- 2024營(yíng)養(yǎng)師考試特別提示試題及答案
- 打造演出經(jīng)紀(jì)人職業(yè)生涯的試題及答案
- 2024年?duì)I養(yǎng)師資格證職業(yè)規(guī)劃試題及答案
- 營(yíng)養(yǎng)師考試實(shí)戰(zhàn)指導(dǎo)與試題及答案
- 演出經(jīng)紀(jì)人資格證考試全面復(fù)習(xí)資料與試題及答案
- 2024營(yíng)養(yǎng)師考試免試條件試題及答案
- 2024年演出經(jīng)紀(jì)人考試經(jīng)驗(yàn)建議:試題及答案
- 針對(duì)不同飲食需求的營(yíng)養(yǎng)分析試題及答案
- CVP中心靜脈壓CVP監(jiān)測(cè)
- 13詩(shī)第十二-整本書(shū)閱讀系列《經(jīng)典常談》名著閱讀與練習(xí)
- 生物制藥工藝學(xué)第四
- 游戲法緩解小班幼兒入園焦慮的個(gè)案研究
- 《你說(shuō)它是啥東西》設(shè)計(jì)
- 宮頸錐切日間手術(shù)臨床路徑(婦科)及表單
- 甘肅地質(zhì)災(zāi)害危險(xiǎn)性評(píng)估規(guī)程DB62-2023
- GA/T 1073-2013生物樣品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、異丙醇和正丁醇的頂空-氣相色譜檢驗(yàn)方法
- 住宅建筑設(shè)計(jì)原理(二)課件
- 2023年滄州交通發(fā)展(集團(tuán))有限責(zé)任公司招聘筆試模擬試題及答案解析
- 科技項(xiàng)目研發(fā)經(jīng)費(fèi)歸集課件
評(píng)論
0/150
提交評(píng)論