4x4鍵盤實驗報告.doc_第1頁
4x4鍵盤實驗報告.doc_第2頁
4x4鍵盤實驗報告.doc_第3頁
4x4鍵盤實驗報告.doc_第4頁
4x4鍵盤實驗報告.doc_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機及DSP課程設(shè)計報告專 業(yè): 班 級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 時 間: 一、設(shè)計目的為了進一步鞏固學(xué)習(xí)的理論知識,增強學(xué)生對所學(xué)知識的實際應(yīng)用能力和運用所學(xué)的知識解決實際問題的能力,開始為期兩周的課程設(shè)計。通過設(shè)計使學(xué)生在鞏固所學(xué)知識的基礎(chǔ)之上具有初步的單片機系統(tǒng)設(shè)計與應(yīng)用能力。1、通過本設(shè)計,使學(xué)生綜合運用單片機技術(shù)原理與應(yīng)用、DSP原理與應(yīng)用C語言程序設(shè)計以及數(shù)字電路、模擬電路等課程的內(nèi)容,為以后從事電子產(chǎn)品設(shè)計、軟件編程、系統(tǒng)控制等工作奠定一定的基礎(chǔ)。2、學(xué)會使用KEIL C和PROTEUS等軟件,用C語言或匯編語言編寫一個較完整的實用程序,并仿真運行,保證設(shè)計的正確性。3、了解單片機接口應(yīng)用開發(fā)的全過程:分析需求、設(shè)計原理圖、選用元器件、布線、編程、調(diào)試、撰寫報告等。二、硬件電路方案設(shè)計1、4X4鍵盤設(shè)計4x4鍵盤工作原理:每個按鍵都有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。鍵盤的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么?還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地;另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。2、數(shù)碼管顯示電路設(shè)計數(shù)碼管顯示原理:動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。這樣一來,就沒有必要每一位數(shù)碼管配一個鎖存器,從而大大地簡化了硬件電路。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應(yīng)略小于靜態(tài)顯示電路中的。 3、晶振和復(fù)位電路設(shè)計 4、系統(tǒng)總電路圖三、程序設(shè)計1、程序流程圖(1)鍵盤掃描P1=0xfe按鍵確認延時2ms再次確認按鍵編碼返回鍵值P1=0xfd按鍵確認延時2ms再次確認按鍵編碼返回鍵值P1=0xfb按鍵確認延時2ms再次確認按鍵編碼返回鍵值P1=0xf7按鍵確認延時2ms再次確認按鍵編碼返回鍵值 第一行掃描 第二行掃描 第三行掃描 第四行掃描P2=0xfe數(shù)碼管1亮P0=table;顯示數(shù)字延時5msP2=0xfd數(shù)碼管2P0=table延時5ms顯示數(shù)字仿真過程:1、在keil中運行程序,并生成hex文件保存。2、 proteus元件庫中選擇系統(tǒng)中所需的各元件,按設(shè)計的電路原理圖進行連接。3、 連接好電路后鼠標(biāo)雙擊AT89C52芯片,在“File”菜單中打開生成hex文件,下載完成后,點擊運行按鈕。注意:1、 在原理圖的繪制過程中對數(shù)碼管的選擇要注意考慮所寫程序,無法點亮?xí)r應(yīng)考慮共陽極數(shù)碼管或共陰極數(shù)碼管的選擇。 2、 P0口接數(shù)碼管時應(yīng)接上拉電阻,否則無法點亮參考文獻 1、單片接口技術(shù) 李航 電子科學(xué)出版社;2、模擬電子技術(shù)基礎(chǔ) 童詩白 華成英 高等教育出版社;3、數(shù)字電子技術(shù)基礎(chǔ) 閻石 高等教育出版社;4、51單片機設(shè)計與仿真原理 程候淵 北方工業(yè)出版社;5、 課程設(shè)計總結(jié)心得體會:由于我沒有過硬的技術(shù),所以選擇了鍵盤接口和顯示設(shè)計這個相對于其他比較簡單題目,望老師見諒。做完了本次課程設(shè)計,我收獲頗多,無論是學(xué)習(xí)上還是其他方面,都有所感悟。在學(xué)習(xí)上:我對單片機有關(guān)知識有了更深刻的了解,學(xué)到了許多以前書本上沒有的知識開闊了眼界和見識,“通信深似?!保皇菃纹瑱C一門就讓我深有體會。,并把理論運用到實踐中去,體會到了實踐的重要性。這次課程設(shè)計又為我們提供了一次自己動手操作實踐的機會。在上次的8路呼叫器的知識基礎(chǔ)上,我這次完成的很順利,對以往未完全掌握的知識進行了補充,對以往掌握的知識加深了了解。這次課程設(shè)計起到著承上啟下的作用,加深了過去的知識,打好了未來的實踐基礎(chǔ)每位同學(xué)對這次課程設(shè)計都付出了自己辛勞的汗水,這也使得他們的個人編程能力、電路設(shè)計能力、仿真調(diào)試能力都得到了一定程度的提高。替他方面:做事一定要認真,在仿真時候由于一個什么什么選錯了,導(dǎo)致仿真不能實現(xiàn),檢查了很多次才發(fā)現(xiàn),實屬不該;在編程時,也是由于一個不該犯的低級錯誤,導(dǎo)致了整個程序不能完美運行,這些都是不細心犯下的錯誤,以后一定要認真去做好每一件事,不讓不該犯的錯誤導(dǎo)致滿盤皆輸。此外,這次課程設(shè)計讓我對對Keil和Proteus兩款軟件有了更進一步認識,了解了單片機的電路圖的繪制、仿真方法,為以后的學(xué)習(xí)工,作打下了基礎(chǔ)。這次實習(xí)也暴露了我很多弱項,比如數(shù)電、模電學(xué)得不好,很多東西都是靠請教同學(xué)才懂??傊@次課程設(shè)計使我對通信專業(yè)有了更深一步的認識,極大地增加了我對該專業(yè)的興趣,相信我以后在通信這條道路上會走的更好!主程序:#include#define uint unsigned int#define uchar unsigned charuchar num,temp;uchar keyscan();void delay(uint z);void display(uchar aa);uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/*主函數(shù)*/void main()while(1) keyscan(); display(num);/*延時函數(shù)*/void delay(uint z)uint x,y;for(x=z;x0;x-)for(y=100;y0;y-);/*鍵盤掃描*/uchar keyscan()P1=0xfe;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0) temp=P1;switch(temp)case 0xee:num=11;break;case 0xde:num=12;break;case 0xbe:num=13;break;case 0x7e:num=14;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;P1=0xfd;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xed:num=21;break;case 0xdd:num=22;break;case 0xbd:num=23;break;case 0x7d:num=24;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;P1=0xfb;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xeb:num=31;break;case 0xdb:num=32;break;case 0xbb:num=33;break;case 0x7b:num=34;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;P1=0xf7;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case 0xe7:num=41;break;case 0xd7:num=42;break;case 0xb7:num=43;break;case 0x77:num=44;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;return

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論