微機(jī)原理鍵盤控制與顯示實(shí)驗(yàn)報(bào)告_第1頁
微機(jī)原理鍵盤控制與顯示實(shí)驗(yàn)報(bào)告_第2頁
微機(jī)原理鍵盤控制與顯示實(shí)驗(yàn)報(bào)告_第3頁
微機(jī)原理鍵盤控制與顯示實(shí)驗(yàn)報(bào)告_第4頁
微機(jī)原理鍵盤控制與顯示實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、專業(yè):電氣工程及其自動(dòng)化姓名:_學(xué)號(hào):_日期:_ _地點(diǎn):_ _實(shí)驗(yàn)報(bào)告課程名稱:_微機(jī)原理(實(shí)驗(yàn))_指導(dǎo)老師:_徐習(xí)東_成績(jī):_實(shí)驗(yàn)名稱:_鍵盤控制與顯示_實(shí)驗(yàn)類型:_軟件實(shí)驗(yàn)_同組學(xué)生姓名:_一、實(shí)驗(yàn)?zāi)康暮鸵螅ū靥睿┒?、?shí)驗(yàn)內(nèi)容和原理(必填)三、主要儀器設(shè)備(必填)四、操作方法和實(shí)驗(yàn)步驟五、實(shí)驗(yàn)數(shù)據(jù)記錄和處理六、實(shí)驗(yàn)結(jié)果與分析(必填)七、討論、心得【實(shí)驗(yàn)?zāi)康摹?. 通過實(shí)驗(yàn)掌握TMS320F2812通用輸入/輸出管腳直接控制外圍設(shè)備的方法2. 了解發(fā)光二極管的控制編程方法。3. 了解SPI的使用。4. 了解如何使用GpioA口進(jìn)行數(shù)據(jù)的鎖存5. 通過實(shí)驗(yàn)掌握TMS320F2812的擴(kuò)展端

2、口接收外圍設(shè)備信息的方法6. 了解鍵盤的使用原理及編程方法【實(shí)驗(yàn)內(nèi)容】1. 按鍵顯示程序,對(duì)按鍵記錄次數(shù),以二進(jìn)制顯示在16個(gè)LED上。2. 定時(shí)器編程,并用按鍵控制各位時(shí)分秒,使其能完成加減操作【實(shí)驗(yàn)儀器】TMS320F2812數(shù)字信號(hào)處理器與學(xué)生用集成板?!緦?shí)驗(yàn)步驟】1. 撰寫代碼2. 調(diào)試代碼3. 實(shí)現(xiàn)功能【實(shí)驗(yàn)代碼】一、定時(shí)器 宏定義和全局變量定義分析:這段代碼是初始宏定義,用于定義按鍵對(duì)應(yīng)的編碼與地址,然后同時(shí)定義了全局變量,包括時(shí)、分、秒,按鍵編碼,LED編碼和控制位。 共陽字形碼分析:由于這次實(shí)驗(yàn)要用到數(shù)碼管,所以我們要定義一個(gè)數(shù)碼管共陽端字形碼,使每一個(gè)代碼對(duì)應(yīng)一種顯示狀態(tài)。

3、SPI初始化子程序分析:這一段是本次實(shí)驗(yàn)的重點(diǎn),就是SPI初始化。1)SPICCR:用于控制SPI的狀態(tài),上下降沿發(fā)送,還有幾位的數(shù)據(jù)。其中第7位,即SPICCR.6是控制SPI在上下沿發(fā)送,1代表下降沿,2代表上升沿;第8位,即SPICCR.7是控制復(fù)位的,0代表為復(fù)位狀態(tài);低4位控制數(shù)據(jù)長(zhǎng)度,長(zhǎng)度等于n+1。2)SPICTL:SPICTL.3用來設(shè)定時(shí)鐘是否延遲半個(gè)周期,此程序中此位為0,即不延遲半個(gè)周期,其中SPICTL.2是控制主從模式的,然后1為主設(shè)備,0為從設(shè)備,SPICTL.1是設(shè)置Talk功能,1為使能。3)SPIBRR:配置波特率,即控制串行外設(shè)發(fā)送和接受的速度。然后,將GP

4、IO的F口低四位設(shè)置為專門外設(shè)引腳,即為SPI引腳。設(shè)置MUX控制是否為專門外設(shè)。 GPIO初始化分析:此部分為為GPIO初始化,即設(shè)置GPIO的功能,此部分里A11設(shè)置為通用I/O,在實(shí)際電路中是為了連接鎖存口。另外GPIOE與B的設(shè)置見注釋,分別作為片選和紅燈的控制。 鍵掃描程序分析:鍵掃描程序?yàn)閕nt類型,所以必須返回整形數(shù)據(jù),此程序中返回1或者0表示是否檢測(cè)到鍵被按下。首先通過E口控制選通的是低8位還是高8為。然后后面的If 和for語句為延時(shí)消抖,這是檢測(cè)程序中的關(guān)鍵,就是檢測(cè)B口是否有低電平出現(xiàn),如果有說明有鍵被按下,但是我們無法判斷,這個(gè)鍵是否被誤按下,所以要進(jìn)行一個(gè)空循環(huán),如果

5、再檢測(cè)到,說明這個(gè)鍵按下不是因?yàn)榘存I自身的抖動(dòng)。另外,這段代碼里還有一個(gè)細(xì)節(jié),就是D口的出現(xiàn),這句話只是為了進(jìn)行一個(gè)空操作,進(jìn)行檢測(cè)按鍵是否松開。 控制調(diào)時(shí)子程序分析:KEYFUNCTION程序是為了做一個(gè)控制時(shí)鐘的功能,按下一個(gè)鍵對(duì)應(yīng)一個(gè)功能選項(xiàng)。由于選擇項(xiàng)比較多,所以用switch比較好。然后CTRL代表選定的位,是時(shí),還是分,還是秒。然后通過三位的數(shù)值到LEDCODE中查表獲得數(shù)碼管顯示的值。其中上調(diào)或者下降哪一位要根據(jù)CTRL的值判斷。LIGHT代表數(shù)碼管的代號(hào)。 顯示模塊分析:顯示程序中就要用到SPI的串行功能了,需要先對(duì)數(shù)據(jù)進(jìn)行鎖存,然后是上升沿有效,即上升沿時(shí)將數(shù)據(jù)送到數(shù)碼管的引

6、腳上。如何發(fā)送數(shù)據(jù)即通過SPI,先將數(shù)據(jù)寫入SPITXBUF,即發(fā)送緩存器中,然后發(fā)送緩存器會(huì)將數(shù)據(jù)傳送過去。SPISTS.bit.INT_FLAG代表中斷標(biāo)志位,如果數(shù)據(jù)從SPIDAT移出后,這個(gè)中斷標(biāo)志位會(huì)置1。此時(shí)while語句的功能就是說如果數(shù)據(jù)沒有被發(fā)送出去,則一直會(huì)進(jìn)行空操作,直到數(shù)據(jù)被發(fā)送出去為止。 中斷分析:此時(shí)的中斷是進(jìn)行定時(shí)器的自增過程,即實(shí)現(xiàn)時(shí)鐘功能。二、鍵盤顯示定義編碼分析:此向量表與第一個(gè)程序相同,即作為索引用,編入數(shù)碼管可顯示內(nèi)容的編碼。 main函數(shù)分析:首先初始化程序,然后就不斷得執(zhí)行一個(gè)while循環(huán),就是檢測(cè)有沒有按鍵被按下,如果被按下就繼續(xù)執(zhí)行顯示程序。然

7、后LEDOUT函數(shù)與前幾次程序一樣,作為點(diǎn)燈模塊,作為計(jì)數(shù)的顯示。三、總結(jié)編程要點(diǎn)可刪語句1) SpiaRegs.SPIRXBUF = SpiaRegs.SPIRXBUF;2)if(GpioDataRegs.GPBDAT.all|0x00FF) != 0xFFFF) for(i=0;i3000;i+); /依據(jù)你需要防抖延時(shí)的時(shí)間根據(jù),此語句的多少。A,E,F(xiàn),B對(duì)應(yīng)端口1) A11的通用接口用于連接鎖存器2) E口的低三位為74LVC138的控制信號(hào),進(jìn)行片選3) F的第四位專用外設(shè)對(duì)應(yīng)于SPI4) B口的通用IO輸出對(duì)應(yīng)于紅燈SPI的使用1) 初始化SPI,確定SPI的上升/下降沿,是否延

8、遲半個(gè)周期,主從控制器,是否處于復(fù)位狀態(tài),數(shù)據(jù)的位數(shù)等等。2) 將GPIOF的第四位設(shè)為1,即專用外設(shè)引腳。3) 寫入數(shù)據(jù)發(fā)送,用SPITXBUF,讀用SPIRXBUF,判斷是否已經(jīng)發(fā)送可以檢測(cè)中斷使能標(biāo)記防抖延時(shí)防抖延時(shí)的作用就是在檢測(cè)到低電平時(shí)加一個(gè)空循環(huán)進(jìn)行排除。很多時(shí)候,一個(gè)動(dòng)作,不論是人為還是程序內(nèi)部,處理都需要時(shí)間,所以空循環(huán)的應(yīng)用十分重要?!締栴}的提出與解決】 為什么每次按下鍵盤,輸出有延遲一次?因?yàn)橐痪湔Z句SPITXBUF=SPITXBUF。由于這句話代表SPITXBUF中又被寫入相同的內(nèi)容,所以又被傳輸了一次,又因?yàn)橛墟i存,所以輸出呈現(xiàn)延遲一次的情況。 為什么要用GpioA口?用GpioA口是因?yàn)槠?1位對(duì)應(yīng)于鎖存器,要用到鎖存信號(hào),所以要用GpioA口。 為什么要用GpioDataRegs.GPDDAT.bit.GPIOD1=!GpioDataRegs.GPDDAT.bit.GPIOD1?進(jìn)行一個(gè)空循環(huán),本身沒有什么意義。【實(shí)驗(yàn)心得】本次實(shí)驗(yàn)微機(jī)原理實(shí)驗(yàn),我們組準(zhǔn)備比較充分,因此也比較早的完成。然而我們?cè)诮Y(jié)束后對(duì)每句代碼進(jì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)論