2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  學(xué) 年 設(shè) 計(jì) 報(bào) 告</p><p>  設(shè)計(jì)題目 4*4矩陣鍵盤設(shè)計(jì) </p><p>  所學(xué)專業(yè) 網(wǎng)絡(luò)工程 </p><p>  指導(dǎo)教師 </p><p>  2012

2、年 8 月 30 日</p><p><b>  學(xué)年設(shè)計(jì)任務(wù)書</b></p><p><b>  目錄</b></p><p><b>  摘要4</b></p><p><b>  1 緒論5</b></p><p>&l

3、t;b>  1.1研究背景5</b></p><p><b>  1.2主要工作5</b></p><p><b>  1.3本文結(jié)構(gòu)5</b></p><p><b>  2 總體設(shè)計(jì)5</b></p><p>  2.1 需求分析5</p&

4、gt;<p>  2.2系統(tǒng)總體設(shè)計(jì)5</p><p>  2.3 主要設(shè)計(jì)軟件介紹6</p><p>  2.3.1 PROTEUS軟件簡(jiǎn)介6</p><p>  2.3.2 KEIL簡(jiǎn)介6</p><p>  3 硬件電路設(shè)計(jì)6</p><p>  3.1 芯片選型7</p>

5、<p>  3.2 時(shí)鐘和復(fù)位電路7</p><p>  3.3 矩陣式鍵盤電路8</p><p>  3.4 顯示電路8</p><p>  3..5 蜂鳴器電路9</p><p><b>  3.6 總電路9</b></p><p>  4 系統(tǒng)軟件設(shè)計(jì)9</p&

6、gt;<p>  4.1軟件流程圖9</p><p>  4.2 程序代碼10</p><p>  5 系統(tǒng)測(cè)試與數(shù)據(jù)分析12</p><p><b>  6 結(jié)束語(yǔ)14</b></p><p><b>  致謝15</b></p><p><b

7、>  參考文獻(xiàn)15</b></p><p><b>  4*4矩陣鍵盤設(shè)計(jì)</b></p><p>  摘要:隨著21世紀(jì)的到來(lái),電子信息行業(yè)將是人類社會(huì)的高科技行業(yè)之一,式設(shè)施現(xiàn)代化的基礎(chǔ),也是人類通往科技巔峰的直通路。電子行業(yè)的發(fā)展從長(zhǎng)遠(yuǎn)來(lái)看很重要,但最主要的還是科技問(wèn)題。</p><p>  矩陣式鍵盤提高效率進(jìn)行按鍵

8、操作管理有效方法,它可以提高系統(tǒng)準(zhǔn)確性,有利于資源的節(jié)約,降低對(duì)操作者本身素質(zhì)的要求。是它能準(zhǔn)時(shí)、實(shí)時(shí)、高效地顯示按鍵信息,以提高工作效率和資源利用率。</p><p>  矩陣式鍵盤乃是當(dāng)今使用最為廣泛的鍵盤模式,該系統(tǒng)以N個(gè)端口連接控制N*N個(gè)按鍵,顯示在LED數(shù)碼管上。單片機(jī)控制依據(jù)這是鍵盤顯示系統(tǒng),該系統(tǒng)可以對(duì)不同的按鍵進(jìn)行實(shí)時(shí)顯示,其核心是單片機(jī)和鍵盤矩陣電路部分,主要對(duì)按鍵與顯示電路的關(guān)系、矩陣式技術(shù)

9、及設(shè)備系統(tǒng)的硬件、軟件等各個(gè)部分進(jìn)行實(shí)現(xiàn)。</p><p>  4*4矩陣式鍵盤采用AT89C51單片機(jī)為核心,主要由矩陣式鍵盤電路、譯碼電路、顯示電路等組成,軟件選用C語(yǔ)言編程。單片機(jī)將檢測(cè)到的按鍵信號(hào)轉(zhuǎn)換成數(shù)字量,顯示于LED顯示器上。該系統(tǒng)靈活性強(qiáng),易于操作,可靠性高,將會(huì)有更廣闊的開發(fā)前景。</p><p>  關(guān)鍵詞:AT89C51;單片機(jī);蜂鳴器;顯示電路;矩陣鍵盤;</

10、p><p><b>  1 緒論</b></p><p><b>  1.1研究背景</b></p><p>  隨著21世紀(jì)的到來(lái),以前的單個(gè)端口連接的按鍵已經(jīng)不能滿足人們?cè)诖笮突蚬矆?chǎng)合的需求。電子信息行業(yè)將是人類社會(huì)的高科技行業(yè)之一,4*4矩陣鍵盤設(shè)計(jì)是當(dāng)今社會(huì)中使用的最廣的技術(shù)之一。鑒于此,研究人員通過(guò)不斷地實(shí)驗(yàn)與研究

11、開發(fā),最終研發(fā)出采用矩陣鍵盤設(shè)計(jì)的N個(gè)端口連接N*N個(gè)按鍵,來(lái)滿足人們的需求,對(duì)于這,我們本次的實(shí)驗(yàn)在于設(shè)計(jì)驗(yàn)證4*4矩陣鍵盤的功能。</p><p><b>  1.2主要工作</b></p><p>  本論文主要研究單片機(jī)控制的鍵盤識(shí)別顯示系統(tǒng),分別對(duì)按鍵信息和顯示電路以及軟、硬件各個(gè)部分進(jìn)行研究。按下任意鍵時(shí),數(shù)碼管都會(huì)顯示其鍵的序號(hào),掃描程序首先判斷按鍵發(fā)生

12、在哪一列,然后根據(jù)所發(fā)生的行附加不同的值,從而得到按鍵的序號(hào)。</p><p><b>  1.3本文結(jié)構(gòu)</b></p><p>  ① 根據(jù)矩陣式鍵盤的特點(diǎn),進(jìn)行鍵盤控制系統(tǒng)的整體研究與設(shè)計(jì);</p><p> ?、?熟練掌握protues軟件的使用,并能夠按要求對(duì)設(shè)計(jì)的電路進(jìn)行仿真,實(shí)現(xiàn)相應(yīng)的功能;</p><p>

13、; ?、?LED實(shí)時(shí)顯示按鍵的信息;</p><p> ?、懿捎密浖幊痰姆椒▽?shí)現(xiàn)按鍵信息的提取和顯示</p><p><b>  2 總體設(shè)計(jì)</b></p><p><b>  2.1 需求分析</b></p><p>  矩陣鍵盤是提高效率進(jìn)行按鍵操作管理的有效工具,它可以提高系統(tǒng)準(zhǔn)確性,有利

14、于資源的節(jié)約,降低對(duì)操作者本身素質(zhì)的要求。它能準(zhǔn)確、實(shí)時(shí)、高效地顯示按鍵信息,以提高工作效率和資源利用率。</p><p><b>  2.2系統(tǒng)總體設(shè)計(jì)</b></p><p>  圖 2.2系統(tǒng)組成框</p><p>  2.3 主要設(shè)計(jì)軟件介紹</p><p>  本設(shè)計(jì)利用KEIL編程軟件對(duì)音樂(lè)盒源程序進(jìn)行編程并

15、調(diào)試,配合PROTEUS仿真軟件對(duì)硬件進(jìn)行仿真調(diào)試,兩種軟件的簡(jiǎn)介如下。</p><p>  2.3.1 PROTEUS軟件簡(jiǎn)介</p><p>  Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工

16、具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC

17、33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。 </p><p>  2.3.2 KEIL簡(jiǎn)介</p><p>  單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)

18、器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方

19、案,通過(guò)一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語(yǔ)言而僅用</p

20、><p><b>  3 硬件電路設(shè)計(jì)</b></p><p><b>  3.1芯片選型</b></p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,

21、俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p>  圖2-1 單片機(jī)AT89C51 引腳圖</p><p>  3.2 時(shí)鐘和復(fù)位電路</p>&

22、lt;p>  AT89C51中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1,C2雖然沒(méi)有什么嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電

23、容使用30PF10PF,而如果使用陶瓷振蕩器建議選擇40PF10PF。用戶也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時(shí)鐘信號(hào)是通過(guò)一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。</p><p>  圖3.2 時(shí)鐘和復(fù)位

24、電路示意圖</p><p>  3.3 矩陣式鍵盤電路</p><p>  矩陣鍵盤又稱為行列式鍵盤,它用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵。這樣鍵盤中按鍵個(gè)數(shù)是4×4個(gè)。這種行列式鍵盤結(jié)構(gòu)有效提高單片機(jī)系統(tǒng)中I/O的利用率。如下圖所示:</p><p>  圖3.3 矩陣式鍵盤電路示意圖<

25、/p><p><b>  3.4 顯示電路</b></p><p>  本設(shè)計(jì)用單片機(jī)的P0口來(lái)控制LED顯示器的數(shù)字顯示。當(dāng)按鍵有按下時(shí),LED數(shù)碼管將對(duì)應(yīng)顯示出該音符數(shù)字或字母。從而可以通過(guò)手動(dòng)和眼來(lái)確定所按的哪個(gè)音符,應(yīng)該發(fā)出哪個(gè)音符的聲音如圖3.4所示。</p><p>  圖3.4 顯示電路示意圖</p><p>

26、<b>  3.5 蜂鳴器電路</b></p><p>  播放模式其實(shí)就是喇叭,它連接到P3.0口上,當(dāng)有按鍵按下時(shí),就會(huì)發(fā)出聲音。如下圖所示:</p><p>  圖3.5蜂鳴器電路示意圖</p><p><b>  3.6 總電路</b></p><p>  圖3.6 總電路示意圖</p

27、><p><b>  4 系統(tǒng)軟件設(shè)計(jì)</b></p><p><b>  4.1軟件流程圖</b></p><p>  圖4.1軟件流程示意圖</p><p><b>  4.2 程序代碼</b></p><p>  #include<reg51.h

28、></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p><b>  //段碼</b></p><p>  uchar code DSY_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0

29、x92,0x82,0xf8,0x80,0x90,</p><p>  0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00};</p><p>  sbit BEEP=P3^7;</p><p>  //上次按鍵和當(dāng)前按鍵的序號(hào),該矩陣中序號(hào)范圍0~15,16 表示無(wú)按鍵</p><p>  uchar Pre_KeyNo=1

30、6,KeyNo=16;</p><p><b>  //延時(shí)</b></p><p>  void DelayMS(uint x)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  whil

31、e(x--) for(i=0;i<120;i++);</p><p><b>  }</b></p><p><b>  //矩陣鍵盤掃描</b></p><p>  void Keys_Scan()</p><p><b>  {</b></p><

32、p>  uchar Tmp;</p><p>  P1=0x0f; //高4 位置0,放入4 行</p><p>  DelayMS(1);</p><p>  Tmp=P1^0x0f;//按鍵后0f 變成0000XXXX,X 中一個(gè)為0,3 個(gè)仍為1,通過(guò)異或把3 個(gè)1 變?yōu)?,唯一的0 變?yōu)?</p><p>  switch(Tm

33、p) //判斷按鍵發(fā)生于0~3 列的哪一列</p><p><b>  {</b></p><p>  case 1: KeyNo=0;break;</p><p>  case 2: KeyNo=1;break;</p><p>  case 4: KeyNo=2;break;</p><p>

34、  case 8: KeyNo=3;break;</p><p>  default:KeyNo=16; //無(wú)鍵按下</p><p><b>  }</b></p><p>  P1=0xf0; //低4 位置0,放入4 列</p><p>  DelayMS(1);</p><p>  Tmp

35、=P1>>4^0x0f;//按鍵后f0 變成XXXX0000,X 中有1 個(gè)為0,三個(gè)仍為1;高4 位轉(zhuǎn)移到低4 位并異或得到改變的值</p><p>  switch(Tmp) //對(duì)0~3 行分別附加起始值0,4,8,12</p><p><b>  {</b></p><p>  case 1: KeyNo+=0;break;

36、</p><p>  case 2: KeyNo+=4;break;</p><p>  case 4: KeyNo+=8;break;</p><p>  case 8: KeyNo+=12;</p><p><b>  }</b></p><p><b>  }</b>&

37、lt;/p><p><b>  //蜂鳴器</b></p><p>  void Beep()</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(i=0;i<100;i++)<

38、;/p><p><b>  {</b></p><p>  DelayMS(1);</p><p>  BEEP=~BEEP;</p><p><b>  }</b></p><p><b>  BEEP=0;</b></p><p>

39、;<b>  }</b></p><p><b>  //主程序</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  P0=0x00;</b></p><p>&l

40、t;b>  BEEP=0;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  P1=0xf0;</b></p><p>  if(P1!=0xf0) Keys_Scan(); //

41、獲取鍵序號(hào)</p><p>  if(Pre_KeyNo!=KeyNo)</p><p><b>  {</b></p><p>  P0=~DSY_CODE[KeyNo];</p><p><b>  Beep();</b></p><p>  Pre_KeyNo=KeyN

42、o;</p><p><b>  }</b></p><p>  DelayMS(100);</p><p><b>  }</b></p><p><b>  }</b></p><p>  5 系統(tǒng)測(cè)試與數(shù)據(jù)分析</p><p&g

43、t;  依次按下開關(guān),數(shù)碼顯示管會(huì)對(duì)應(yīng)顯示出0~f共16個(gè)數(shù)字</p><p>  圖 5-1 初始界面</p><p>  圖 5-2部分結(jié)果顯示</p><p>  圖 5-3 部分結(jié)果顯示</p><p><b>  6 結(jié)束語(yǔ)</b></p><p>  經(jīng)過(guò)一周左右時(shí)間的努力,我們小組終

44、于完成了本次的學(xué)年設(shè)計(jì)。一個(gè)星期的學(xué)年設(shè)計(jì)對(duì)于我們初學(xué)者來(lái)說(shuō)并不簡(jiǎn)單。因?yàn)槲覀儗?duì)單片機(jī)這門課程學(xué)習(xí)的時(shí)間很少,這是一門理論與實(shí)踐相結(jié)合的課程,需要我們不斷的學(xué)習(xí)與實(shí)踐才能真正掌握這門課程。</p><p>  剛開始拿到選題,我們先是查找相關(guān)資料,從圖書館和網(wǎng)上找到相關(guān)的課題,參考借鑒別人的成果從而理清我們?cè)O(shè)計(jì)的思路。此次學(xué)年設(shè)計(jì)大致可以分為兩部分,電路圖部分和程序編程部分。其中電路圖又用到了Proteus仿真軟

45、件,由于之前沒(méi)有使用過(guò)該仿真軟件,所以在操作的過(guò)程中遇到了很多困難,但慶幸的是通過(guò)老師的講解和我們從網(wǎng)上找到的資料,對(duì)Proteus軟件有了很大的了解,同樣學(xué)會(huì)了一些簡(jiǎn)單的操作。至于編程部分我們感到也是有很大的難度,首先就是編程的keil uvision2軟件的操作與使用,這與我們往常使用的C語(yǔ)言編程軟件不同,相比之下更難使用。更有難度的是程序的編寫與調(diào)試。在編寫程序的過(guò)程中,我們遇到了各種各樣的問(wèn)題,這就需要我們冷靜的思考與集體的討論

46、。到后來(lái)我們還請(qǐng)教了其他的同學(xué),也詢問(wèn)過(guò)老師,最終一個(gè)合格的程序還是被我們編寫出來(lái)了。最后就需要我們將程序整合到51單片機(jī)中,在經(jīng)過(guò)幾次調(diào)試后,最終的結(jié)果還是符合這次學(xué)年設(shè)計(jì)的具體要求的。</p><p>  經(jīng)過(guò)這次的學(xué)年設(shè)計(jì),我們小組成員收獲了很多。第一次將理論知識(shí)與實(shí)踐相結(jié)合。還有的就是關(guān)于團(tuán)體合作的,沒(méi)有團(tuán)隊(duì)每一位成員的努力,我們是不可能這么快就完成了這次學(xué)年設(shè)計(jì)的任務(wù)。</p><p

47、><b>  致謝</b></p><p>  感謝此次學(xué)年設(shè)計(jì)為我們指導(dǎo)的老師,從選題之初,她就一直在幫助著我們。教我們安裝使用軟件,提供給我們參考資料。在撰寫文檔時(shí),是老師耐心的檢查出其中的錯(cuò)誤,指正出來(lái)讓我們改正,使得我們按時(shí)完成了任務(wù)。</p><p>  最后,再次感謝老師以及幫助過(guò)我們的同學(xué)!</p><p><b>

48、;  參考文獻(xiàn)</b></p><p>  [1] 何欽銘.顏暉.C語(yǔ)言程序設(shè)計(jì)[M].. 北京:高等教育出版社,2008.</p><p>  [2] 李朝青.單片機(jī)原理及接口技術(shù)[D].北京:北京航空航天大學(xué)出版社,2006;1-277.</p><p>  [3] 譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì)(第二版)[M],北京:清華大學(xué)出版社,1991.</p

溫馨提示

  • 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ù)僅提供信息存儲(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)論