版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 單片機原理及應用課程設計報告數(shù)碼管顯示4×4矩 陣鍵盤的鍵盤號專 業(yè): 自動化 班 級: 1106 姓 名: 王佳俊 學 號: 110240171 指導教師: 卜旭芳 2014年 10月15日1、課程設計目的1.1鞏固和加深對單片機原理和接口技術知識的理解;1.2培養(yǎng)根據(jù)課題需要選學參考書籍、查閱手冊和文獻資料的能力;1.3學會方案論證的比較方法,拓寬知識,初步掌握工程設計的基本方法;1.4掌握常用儀器、儀表的正確使用方法,學會軟、硬件的設計和調(diào)試方法;1.5能按課程設計的要求編寫課程設計報告,能正確反映設計和實驗成果,能用計算機繪制電路圖和流程圖。2、課程設計要求單片機的P1口的
2、P1.0P1.7連接4×4矩陣鍵盤,P0口控制一只數(shù)碼管,當4×4矩陣鍵盤中的某一按鍵按下時,數(shù)碼管上顯示對應的鍵號。例如,1號鍵按下時,數(shù)碼管顯示“1”, 14號鍵按下時,數(shù)碼管顯示“E”等等。3、硬件設計3.1 設計思想分析本任務的要求,在課程設計的基礎上,添加要求,使設計能夠完成當4×4矩陣鍵盤中的某一按鍵按下時,數(shù)碼管上顯示對應的鍵號。3.2主要元器件介紹:AT89C51單片機 LED數(shù)碼管 4X4矩陣鍵盤3.3 功能電路介紹AT89C51單片機:控制器。程序中將單片機的引腳置高電平低電平,單片機通過讀取IO引腳的電平,在根據(jù)讀取的數(shù)據(jù)去查找數(shù)組中相應的按
3、鍵值,然后在送到數(shù)碼管也就是P0口去顯示.(51單片機通過IO口來讀取鍵盤的電平,再通過程序來查找對應的數(shù)值,在送到數(shù)碼管去顯示)LED數(shù)碼管 :輸出設備 4X4矩陣鍵盤:輸入設備4、軟件設計4.1 設計思想通過對矩陣鍵盤的逐行掃描,來獲得所按下鍵的鍵盤號,最終通過數(shù)碼管顯示出來。4.2軟件流程圖開始初始化結束,返回若有按鍵按下,顯示鍵盤號掃描鍵盤第一行若無按鍵按下掃描鍵盤第二行若無按鍵按下掃描鍵盤第三行若無按鍵按下掃描鍵盤第四行若無按鍵按下結束,返回4.3源程序#include<reg52.h>#define uchar unsigned char#define uint uns
4、igned intuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/定義顯示段碼uchar num,temp;void delay(uchar k)/定義延時函數(shù) uchar i,j; for(i=k;i>0;i-) for(j=110;j>0;j-); void disp(char num1)/定義顯示函數(shù) P0=tablenum1;/將段碼值送入P0口顯示char keyscan()/定義鍵盤檢測函數(shù) P1=0xfe;/給P1口送檢測
5、信號11111110,即先檢測第一列有無按鍵被按下(key1key4) temp=P1;/將檢測信號賦給變量temp temp=temp&0xf0;/與11110000相“與”去除低四位檢測部分 while(temp!=0xf0)/判斷是否有按鍵被按下,即key1-key4有任意按鍵被按下temp便不等于0xff delay(5);/按鍵防抖動延時(時間要求不嚴格) while(temp!=0xf0)/延時之后再次判斷 temp=P1;/進入函數(shù)說明有按鍵被按下,再將p1值賦給temp進行判斷是哪位被按下 switch(temp)/利用switch函數(shù)判斷temp值 case 0xee
6、:/若P0等于0xee,即11101110,則由判斷為0的位被按下即第四位(最低位),則應賦值num為0; num=0; break; case 0xde:/11011110同理判斷其為第三位被按下(該行第二位)num=1 num=1; break; case 0xbe:/同上則num=2 num=2; break; case 0x7e:/同上num=3 num=3; break; while(temp!=0xf0)/判斷按鍵是否松開,循環(huán)判斷直至按鍵松開 temp=P1; temp=temp&0xf0; P1=0xfd;/給P1口再次送檢測信號11111101,來檢測第二列有無按鍵被
7、按下(key5key8),以下幾步同上 temp=P1; temp=temp&0xf0; while(temp!=0xf0) delay(5); while(temp!=0xf0) temp=P1; switch(temp) case 0xed: num=4; break; case 0xdd: num=5; break; case 0xbd: num=6; break; case 0x7d: num=7; break; while(temp!=0xf0) temp=P1; temp=temp&0xf0; P1=0xfb;/給P1口再次送檢測信號11111011,來檢測第三列有
8、無按鍵被按下(key9key12),以下幾步同上 temp=P1; temp=temp&0xf0; while(temp!=0xf0) delay(5); while(temp!=0xf0) temp=P1; switch(temp) case 0xeb: num=8; break; case 0xdb: num=9; break; case 0xbb: num=10; break; case 0x7b: num=11; break; while(temp!=0xf0) temp=P1; temp=temp&0xf0; P1=0xf7;/給P1口再次送檢測信號11110111,
9、來檢測第四列有無按鍵被按下(key13key16),以下幾步同上 temp=P1; temp=temp&0xf0; while(temp!=0xf0) delay(5); while(temp!=0xf0) temp=P1; switch(temp) case 0xe7: num=12; break; case 0xd7: num=13; break; case 0xb7: num=14; break; case 0x77: num=15; break; while(temp!=0xf0) temp=P1; temp=temp&0xf0; return num;/子函數(shù)最后返回num值void main() P0=0x00;/清屏 delay(5);/延時 while(1)/主循環(huán) disp(keyscan();/檢測并顯示 5、調(diào)試運行電路圖 依次按下開關k1-k16,數(shù)碼管會對應顯示出0f的16個數(shù)字K=5的數(shù)碼管顯示4.K=16時的數(shù)碼管顯示F: 6、設計心得體會硬件設計方面,此課題所需的硬件并不負責,只許少量的導線、簡單的電路便可以完成。軟件設計方面,我感覺到在編寫循環(huán)嵌套程序時非常容易出錯,需要反復的查錯和耐心的調(diào)試。我雖然能夠編寫出程序,其可讀性卻有待于提高。經(jīng)過這次課程設計,我對51
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《供配電技術》第1章 教案
- 綜合實踐的心得體會范文
- 文員的實習報告
- 青春的三分鐘演講稿范文(33篇)
- 房屋轉讓合同
- 少先隊緬懷先烈活動方案
- DB12-T 1090-2021 1:500 1:2000基礎地理信息要素數(shù)據(jù)庫技術規(guī)范
- 2024年心電圖機項目資金籌措計劃書代可行性研究報告
- 財務報表分析 教案 項目六 財務報表綜合分析
- 2023-2024學年廣東省深圳市華附集團八年級(下)期中英語試卷
- 印刷服務 投標方案(技術方案)
- 三級公立醫(yī)院績效考核微創(chuàng)手術目錄(2022版)
- HJ 704-2014 土壤 有效磷的測定 碳酸氫鈉浸提-鉬銻抗分光光度法
- 責任保險行業(yè)市場調(diào)研分析報告
- 中醫(yī)護理三基理論知識試題庫及參考答案
- 醫(yī)院信息化建設管理制度
- 2024年醫(yī)學高級職稱-普通外科學(醫(yī)學高級)筆試考試歷年高頻考點試題摘選含答案
- 生鮮配送操作規(guī)范
- 教師心理健康B證心得體會7篇
- 同底數(shù)冪的乘法練習
- 生物醫(yī)學工程前沿之生物醫(yī)學檢測與疾病診斷
評論
0/150
提交評論