課程設(shè)計(jì)制作單片機(jī)的4X4矩陣鍵盤(pán)_第1頁(yè)
課程設(shè)計(jì)制作單片機(jī)的4X4矩陣鍵盤(pán)_第2頁(yè)
課程設(shè)計(jì)制作單片機(jī)的4X4矩陣鍵盤(pán)_第3頁(yè)
課程設(shè)計(jì)制作單片機(jī)的4X4矩陣鍵盤(pán)_第4頁(yè)
課程設(shè)計(jì)制作單片機(jī)的4X4矩陣鍵盤(pán)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(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、目錄摘要2第一章硬件部分3第一節(jié) AT89C513第二節(jié)4*4矩陣式鍵盤(pán)6第三節(jié)LED數(shù)碼管8第四節(jié)硬件電路連接10第二章軟件部分12第一節(jié)所用軟件簡(jiǎn)介12第二節(jié)程序流程圖14第三節(jié)程序17第三章 仿真結(jié)果19心得體會(huì)21參考文獻(xiàn)22摘要電子信息行業(yè)將是人類(lèi)社會(huì)的高科技行業(yè)之一,是設(shè)施現(xiàn)代化的基礎(chǔ),也是 人類(lèi)通往科技巔峰的直通車(chē)。電子行業(yè)的發(fā)展很重要,而計(jì)算機(jī)技術(shù)是現(xiàn)代科技 發(fā)展的重要組成部分。矩陣式鍵盤(pán)控制系統(tǒng)可以提高效率,是進(jìn)行按鍵操作管理的有效方法,它可 以提高系統(tǒng)準(zhǔn)確性,有利于資源的節(jié)約,降低對(duì)操作者本身的要求。并能正確、 實(shí)時(shí)、高效地顯示按鍵信息,以提高工作效率和資源利用率。矩陣式鍵

2、盤(pán)是當(dāng)今使用最為廣泛的鍵盤(pán)模式,該系統(tǒng)以X個(gè)端口連接控制 N*N個(gè)按鍵,并通過(guò)單片機(jī),顯示在LED數(shù)碼管上。單片機(jī)控制鍵盤(pán)顯示系統(tǒng), 可以對(duì)不同的按鍵進(jìn)行實(shí)時(shí)顯示,其核心是單片機(jī)、鍵盤(pán)矩陣電路和數(shù)碼管顯示 電路。4*4矩陣式鍵盤(pán)以AT89C51單片機(jī)為核心,主要由矩陣式鍵盤(pán)電路、顯示 電路等組成,軟件選用C語(yǔ)言編程。單片機(jī)將檢測(cè)到的按鍵信號(hào)轉(zhuǎn)換成數(shù)字量, 顯示于LED顯示器上。該系統(tǒng)靈活性強(qiáng),易于操作,可靠性高,廣泛應(yīng)用于各種 場(chǎng)合。2345673910111213141516打181920TXD F3.1 W0P3.2 SmP3.3 T0P3.4 T_K.5 WP3.6 P3.7 XTAL2

3、 XTALl YSS10J/2.3.4.567 11 11 11 11 11 1* 11 FFFFFFFFATOO9C5 -403938373535343332IT3D2928272625列2322IT第一章硬件部分第一節(jié) AT89C51AT89C51 是一種帶 4K 字節(jié) FLASH 存儲(chǔ)器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器, 俗稱單片機(jī)o AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且 價(jià)廉的方案。引腳如圖所示' VCC PO.OP0.1P0.2P0.3

4、P0.4P0.5P0.6P0.7EAATPP2.7P2.6P2.5P2.4P23P2.2P2.1P2.0圖1 AT89C51管腳圖AT89C51其具有以下特性: 與MCS-51兼容4K字節(jié)可編程FLASH存儲(chǔ)器 壽命:1000寫(xiě)/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10年 全靜態(tài)工作:0Hz-24MHz 三級(jí)程序存儲(chǔ)器鎖定128X8位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路特性概述:AT89C51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi) 部RAM, 32個(gè)I/O接口,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)

5、 構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降 至OHz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式 停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù) 工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部 件工作直到下一個(gè)硬件復(fù)位。管腳說(shuō)明:VCC:供電電壓。GND:接地。P0 口: P0 口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O 口,每腳可吸收8TTL門(mén)電 流。當(dāng)P0 口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程 序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FI

6、ASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須 接上拉電阻。P1 口: P1 口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O 口,P1 口緩沖器 能接收輸出4TTL門(mén)電流。P1 口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸 入,P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。 在FLASH編程和校驗(yàn)時(shí),P1 口作為低八位地址接收。P2 口: P2 口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O 口,P2 口緩沖器可接 收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2 口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出 電流。這是由于內(nèi)部上拉的緣故。P2

7、口當(dāng)用于外部程序存儲(chǔ)器或16位地址 外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。在給出地址“1”時(shí), 它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2 口輸 岀其特殊功能寄存器的內(nèi)容。P2 口在FLASH編程和校驗(yàn)時(shí)接收高八位地址 信號(hào)和控制信號(hào)。P3 口: P3 口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O 口,可接收輸出4 個(gè)TTL門(mén)電流。當(dāng)P3 口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作 輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由 于上拉的緣故。P3 口也可作為AT89C51的一些特殊功能口,如下表所示:P3. 0 RXD (審行輸入口)

8、P3. 1 TXD (串行輸出口)P3. 2 /INTO (外部中斷0)P3. 3 /INT1 (外部中斷1)P3.4 T0 (記時(shí)器0外部輸入)P3. 5 T1 (記時(shí)器1外部輸入)P3.6 /WR (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7 /RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的 高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存 地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí), ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的

9、1/6。因 此它可用作對(duì)外部輸出的脈沖或用于定時(shí)U的。然而要注意的是:每當(dāng)用 作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在 SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX, MOVC指令是ALE才起作 用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止, 置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在山外部程序存儲(chǔ)器取指期間, 每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 /PSEN信號(hào)將不出現(xiàn)。/EA/VPP :當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器 (OOOOH-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加

10、密方式1時(shí),/EA將 內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH 編程期間,此引腳也用于施加12V編程電源(VPP)oXTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸岀。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以 配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū) 動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā) 器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平 要求的寬度。第二節(jié)4*4矩陣式鍵盤(pán)1. 2.1矩陣式鍵盤(pán)介紹矩陣式鍵盤(pán)

11、(或者叫行列式鍵盤(pán))常應(yīng)用在按鍵數(shù)量比較多的系統(tǒng)之中。這 種鍵盤(pán)山行線和列線組成,按鍵設(shè)置在行、列結(jié)構(gòu)的交義點(diǎn)上,行、列線分別接 在按鍵開(kāi)關(guān)的兩端。行列式鍵盤(pán)可分為非編碼鍵盤(pán)和編碼鍵盤(pán)兩大類(lèi)。編碼鍵盤(pán) 內(nèi)部設(shè)有鍵盤(pán)編碼器,被按下鍵的鍵號(hào)山鍵盤(pán)編碼器直接給出,同時(shí)具有防抖和 解決重鍵的功能。非編碼鍵盤(pán)通常采用軟件的方法,逐行逐列檢查鍵盤(pán)狀態(tài),當(dāng) 有鍵按下時(shí),通過(guò)計(jì)算或查表的方法獲取該鍵的鍵值,通常,計(jì)算機(jī)通過(guò)程序控 制對(duì)鍵盤(pán)掃描,從而獲取鍵值,根據(jù)計(jì)算機(jī)掃描的方法可以分為定時(shí)掃描法和中 斷掃描法兩種。本系統(tǒng)中的4*4矩陣式鍵盤(pán)結(jié)構(gòu)簡(jiǎn)單,按鍵數(shù)較少,釆用非編碼式鍵盤(pán),當(dāng) 有鍵按下時(shí),山單片機(jī)通過(guò)程

12、序掃描確定鍵值,并將獲得的鍵值通過(guò)LED數(shù)碼管 顯示出來(lái),4*4矩陣式鍵盤(pán)結(jié)構(gòu)及鍵值分布如下圖: S E HEJ H E BS H S EEl 0 E E圖3鍵盤(pán)鍵值分布1. 2. 2鍵盤(pán)掃描原理為了更加貼近實(shí)際應(yīng)用,本系統(tǒng)采用中斷式掃描法,這樣可以節(jié)約單片機(jī)開(kāi) 銷(xiāo),提高單片機(jī)工作效率,使得單片機(jī)在沒(méi)有鍵盤(pán)輸入時(shí)可以處理其他工作,其 具體工作過(guò)程為:在沒(méi)有鍵按下時(shí)矩陣鍵盤(pán)行線接高電平,列線接低電平,當(dāng)某個(gè)鍵被按下時(shí), 該按鍵所在行線電位被拉低,觸發(fā)單片機(jī)的外部中斷INTO,進(jìn)入中斷子程序, 在中斷程序中,單片機(jī)對(duì)矩陣鍵盤(pán)進(jìn)行掃描以確定按下的鍵值,掃描過(guò)程如下:1、檢測(cè)行線電平,確定是否有按鍵被

13、按下;2、延時(shí)去抖動(dòng);3、重新確認(rèn)是否有按鍵被按下,若有,掃描鍵值,若沒(méi)有,返回主程序;4、掃描鍵值,首先行線接高電平,列線接低電平,對(duì)行線電平進(jìn)行檢測(cè), 以確定按下的鍵所在的行;5、行線接低電平,列線接高點(diǎn)平,對(duì)列線電平進(jìn)行檢測(cè),確定按下的鍵所 在的列;6、將掃描所得的按鍵值送入LED數(shù)碼管顯示。第三節(jié)LED數(shù)碼管LED (發(fā)光二級(jí)管)顯示器件是計(jì)算機(jī)控制控制系統(tǒng)中的廉價(jià)輸出設(shè)備,它 由多個(gè)發(fā)光二極管組成,能顯示許多種字符。由于制作材料不同,LED可以發(fā) 岀紅、黃、籃、紫等各種單色光,一個(gè)發(fā)光二級(jí)管正常發(fā)光時(shí)的電流大約為10mA, 本系統(tǒng)中使用的是七段共陰極LED數(shù)碼管。圖4、5所示為七段共

14、陰極LED顯示器件的結(jié)構(gòu)及外形圖。七段LED顯示 器件就是將7個(gè)發(fā)光二極管按一定的方式組合在一起,如圖4所示。ab c d e fgCOM圖47段LED顯示器件外形圖aaaCOM圖57段LED顯示器件結(jié)構(gòu)圖下表給出了共陰極7段LED顯示器件所能顯示的部分字符與7段控制顯示代碼的對(duì)應(yīng)關(guān)系表1共陰極7段LED顯示器件所能顯示的部分字符與7段控制顯示代碼的對(duì)應(yīng)關(guān)系顯示字符控制顯示代碼(十六進(jìn)制)顯示字符控制顯示代碼(十六進(jìn)制)106A7725BB7C34FC39466D5E56DE7967DF71707H7687FP7396F-4003F不顯示00在本系統(tǒng)中,4*4鍵盤(pán)共有16個(gè)鍵,對(duì)其編號(hào)09,

15、AF,所以用一個(gè)7段 數(shù)碼管靜態(tài)顯示即可滿足即時(shí)顯示按鍵信息的要求。所謂靜態(tài)顯示,就是當(dāng)顯示 器件顯示某個(gè)字符時(shí),相應(yīng)的顯示段(發(fā)光二級(jí)管)恒定地導(dǎo)通或截止,直到顯 示另一個(gè)字符為止。這種顯示方式顯示一個(gè)字符時(shí),只需要微處理器送一次代碼,因此占用機(jī)時(shí)少,而且顯示穩(wěn)定可靠,其缺點(diǎn)是,使用元器件相對(duì)較多,且線路 比較復(fù)雜,相對(duì)而言成本較高,比較適合顯示位數(shù)較少的情況。第四節(jié)硬件電路連接14.1單片機(jī)始終電路時(shí)鐘信號(hào)用來(lái)提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn),時(shí)鐘信號(hào)通常用兩種 電路形式得到:內(nèi)部振蕩和外部振蕩。單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增 益反向放大器,引腳XTAL1和XTAL2分別是此放大電

16、器的輸入端和輸出端,由于 釆用內(nèi)部方式時(shí),電路簡(jiǎn)單,所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)際使用中常采用這種 方式,如圖6所示在其外接晶體振蕩器(簡(jiǎn)稱晶振)或陶瓷諧振器就構(gòu)成了內(nèi)部振 蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一 起可構(gòu)成一個(gè)自激振蕩器并產(chǎn)生振蕩時(shí)鐘脈沖。圖6中外接晶體以及電容C1和C2構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、 快速起振的作用,其值為30pF左右,晶振頻率選11.0592MHz。1.4.2單片機(jī)復(fù)位電路為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器,必須利用復(fù)位電路,復(fù)位后 可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開(kāi)始正常工作。單片機(jī)的復(fù)位是

17、靠外電路來(lái)實(shí)現(xiàn)的,在正常運(yùn)行情況下,只要RST引腳上出 現(xiàn)兩個(gè)機(jī)器周期時(shí)間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果RST引腳上持續(xù) 為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存 器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)置為不定值,其余的寄存器全部清0, 內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時(shí)RAM的內(nèi)容是不定的。復(fù)位操作 有兩種情況,即上電復(fù)位和手動(dòng)(開(kāi)關(guān))復(fù)位。本系統(tǒng)采用上電復(fù)位方式。圖6中R2、R3和C3組成上電復(fù)位電路,其值R2、R3取為1KQ, C3取為 10pFo1.4.3矩陣式鍵盤(pán)電路4*4矩陣式鍵盤(pán)接于單片機(jī)的P2 口,P2.0P2.

18、3接行線,P2.4P2.7接列線, 初始化和無(wú)按鍵按下時(shí),P2.0P2.3輸出高電平,P2.4P2.7輸出低電平,當(dāng) P2.0P2.3中某個(gè)位為低電平時(shí)說(shuō)明有按鍵按下,觸發(fā)單片機(jī)中斷完成相應(yīng)功能,鍵盤(pán)與單片機(jī)的連接如圖5.1.4.4 LED數(shù)碼管顯示電路LED顯示器接在單片機(jī)的P1 口,其中P1.0P1.6接LED的控制端,P1.7接 COM端,工作時(shí)P1.7端始終輸出低電平,P1.0P1.6根據(jù)要顯示的字符輸出相 應(yīng)的數(shù)據(jù)。LED與單片機(jī)的連接如圖5,1.4.5中斷觸發(fā)電路本系統(tǒng)采用中斷處理方式,可以提高單片機(jī)的數(shù)據(jù)處理能力,有利于節(jié)能。 山矩陣鍵盤(pán)連接電路可知,無(wú)按鍵按下時(shí),行線始終為高電

19、平,當(dāng)有按鍵按 下時(shí),相應(yīng)的行線被拉為低電平,利用這一規(guī)律設(shè)汁按鍵的中斷觸發(fā)電路:將四條行線接到74LS21 (4輸入與門(mén))經(jīng)過(guò)與運(yùn)算后接到單片機(jī)的P3.2 (INTO) 口, 設(shè)置INTO為下降沿觸發(fā),當(dāng)行線中任意一條為低電平時(shí),觸發(fā)INTO中斷,單 片機(jī)調(diào)用中斷子程序檢測(cè)鍵值并輸出到LED顯示。電路圖如圖6.此外,長(zhǎng)時(shí)間無(wú)按鍵按下時(shí),為了節(jié)能,可以關(guān)閉LED顯示,單片機(jī)關(guān)閉LED顯示通過(guò)外部電路觸發(fā)INT1中斷完成。如圖6所示,其中R1為1K。復(fù)位 電路接在P3.3(INT1)口,設(shè)置INT1中斷為低電平觸發(fā)方式,當(dāng)OFF按鍵按下時(shí) P3.3輸入低電平,觸發(fā)INT1中斷,單片機(jī)調(diào)用相應(yīng)中斷

20、程序使P1輸出全為低電平,LED不顯示字符XICRYSTAL丄C2aXUL1PJOAOJ PJ tuwiPJ7JU12P2JUDPJ 4心PJPJCJUKMHruwrP2t*JWl AUP2HAM P24ACFXP2!AOP1®pzi-AMP1.1P12POP14Pi VTJOP2*TTP»1 P1 P"叫的 ra 'toU1«3o寧JJJ-0汗0 JjU2A圖6系統(tǒng)硬件連接圖第二章軟件部分第一節(jié)所用軟件簡(jiǎn)介2.1.1 KeilKe訂C51是美國(guó)Ke訂Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件 開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)

21、構(gòu)性、可讀性、可維護(hù)性上有 明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加 深刻。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具, 全Windows界面,并將這些部分組合在一起。其方便易用的集成環(huán)境、強(qiáng)大的 軟件仿真調(diào)試工具也會(huì)令你事半功倍。Keil C51生成的目標(biāo)代碼效率非常之 高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能 體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。1. 系統(tǒng)概述Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全 Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就 能體會(huì)到Keil C51生成的LI標(biāo)代

22、碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代 碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。2. Keil C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開(kāi)發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整 個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。 然后分別曲C51及C51編譯器編譯生成H標(biāo)文件(.OBJ)。H標(biāo)文件可曲 LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)日 標(biāo)文件(.ABS)o ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,

23、以供調(diào)試器 dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可山仿真器使用直接對(duì)LI 標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM中。使用獨(dú)立的Keil仿真器時(shí),注意事項(xiàng)仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。仿真芯片的31腳(/EA)已接至高電平,所以仿真時(shí)只能使用片內(nèi)ROM, 不能使用片外ROM:但仿真器外引插針中的31腳并不與仿真芯片的31腳 相連,故該仿真器仍可插入到擴(kuò)展有外部ROM (其CPU的/EA引腳接至低 電平)的目標(biāo)系統(tǒng)中使用。2.1.2 ProteusProt

24、eus是世界上著名的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/DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年 乂增加了 Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在 編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。

25、 它是U前最好的仿真單片機(jī)及外圉器件的工具。雖然LI前國(guó)內(nèi)推廣剛起步,但已 受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作 者的青睞。廣泛應(yīng)用于各個(gè)領(lǐng)域。Proteus為用戶提供了豐富的資源,主要有:1. Proteus可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等 數(shù)千種元器件,有30多個(gè)元件庫(kù)。2. Proteus可提供的仿真儀表資源:示波器、邏輯分析儀、虛擬終端、 SPI調(diào)試器、I2C調(diào)試器、信號(hào)發(fā)生器、模式發(fā)生器、交直流電壓表、交直 流電流表。理論上同一種儀器可以在一個(gè)電路中隨意的調(diào)用。3. 除了現(xiàn)實(shí)存在的儀器外,Proteus還提供了 一個(gè)圖形顯示功能,

26、可以 將線路上變化的信號(hào),以圖形的方式實(shí)時(shí)地顯示出來(lái),其作用與示波器相 似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo),例如極高的輸 入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對(duì)測(cè)量結(jié)果的影響。4. Proteus可提供的調(diào)試手段Proteus提供了比較豐富的測(cè)試信號(hào)用于電路的測(cè)試。這些測(cè)試信號(hào)包括模擬信號(hào)和數(shù)字信號(hào)。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的H標(biāo)代碼文件:*.HEX, 可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過(guò)程。PROTEUS是單片機(jī)課堂教學(xué)的先進(jìn)助手。PROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí) 例運(yùn)行過(guò)程形象化。前者可在相

27、當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者 則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。這在 相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路 連接、電路檢測(cè)、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。由于PROTEUS 提供了實(shí)驗(yàn)室無(wú)法相比的大量的元器件庫(kù),提供了修改電路設(shè)計(jì)的靈活性、 提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了 培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺(tái)隨著科技的發(fā)展,“計(jì)算機(jī)仿真技術(shù)”已成為許多設(shè)計(jì)部門(mén)重要的前期設(shè) 計(jì)手段。它具有設(shè)計(jì)靈活,結(jié)果、過(guò)程的統(tǒng)一的特點(diǎn)??墒乖O(shè)

28、計(jì)時(shí)間大為 縮短、耗資大為減少,也可降低工程制造的風(fēng)險(xiǎn)。相信在單片機(jī)開(kāi)發(fā)應(yīng)用 中PROTEUS也能茯得愈來(lái)愈廣泛的應(yīng)用。使用Proteus軟件進(jìn)行單片機(jī)系統(tǒng)仿真設(shè)計(jì),是虛擬仿真技術(shù)和計(jì)算機(jī) 多媒體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計(jì)能力及仿真軟 件的操作能力;在單片機(jī)課程設(shè)計(jì)和全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽中,我們使 用Proteus開(kāi)發(fā)環(huán)境對(duì)學(xué)生進(jìn)行培訓(xùn),在不需要硬件投入的條件下,學(xué)生 普遍反映,對(duì)單片機(jī)的學(xué)習(xí)比單純學(xué)習(xí)書(shū)本知識(shí)更容易接受,更容易提高。 實(shí)踐證明,在使用Proteus進(jìn)行系統(tǒng)仿真開(kāi)發(fā)成功之后再進(jìn)行實(shí)際制作, 能極大提高單片機(jī)系統(tǒng)設(shè)計(jì)效率。因此,Proteus有較高的推廣利用

29、價(jià)值。第二節(jié)程序流程圖開(kāi)始主E呈序初始化LED數(shù)碼管設(shè)宜中斷INTO、INTI觸發(fā)方式開(kāi)中斷INTO. INTI接通矩陣鍵盤(pán)行線高電平,列線低電平執(zhí)行INTO中斷服務(wù)程序執(zhí)行INT1中斷服務(wù)程序圖7主程序流程圖圖8中斷服務(wù)程序流程圖第三節(jié)程序#include<reg51 h>void main()Pl=0x00;TCON=0x01;IE=0x85;while(l)P2=0x0f;void counterO(void) internipt 0char key,key_h,key_I,delay;初始化LED數(shù)碼管設(shè)置INTO、INTI觸發(fā)方式使能INTO、INTI中斷接通矩陣鍵盤(pán)if

30、(P2!=0x0f)for(delay=0;delay< 1 OO;delay+);if(P2!=0x0f)P2=0x0f;key_h=P2A0x0f:P2=OxfO;/INTO中斷服務(wù)程序確認(rèn)是否有鍵按下延時(shí)去抖動(dòng)重新確認(rèn)是否有鍵按下key_l=P2AOxfO;key 二 key_h+key_I;switch(key)case 0x11 :Pl=0x06;break;檢測(cè)按鍵所在行檢測(cè)按鍵所在列確定按鍵值并送入LED顯示case 0x21:P1 =0x5b;break;case 0x41:P1 =0x4f;break; case 0x81:P1 =0x66;break;case Ox

31、12:P 1 =0x6d;break;case Ox22:P 1 =0x7d;break;case 0x42:P 1 =0x07:break;case Ox82:P 1 =0x7f;break;case 0xl4:Pl=0x6f;break;case 0x24:P 1 =0x3f;break;case 0x44:P 1 =0x77:break;case 0x84:P 1 =0x7c;break;case Ox 18:P 1 =0x39;break;case Ox28:P 1 =0x5e;break;case 0x48: P1 =0x 79: break;case Ox88:Pl =0x71;break;default: Pl=OxOO;break;voidcounter 1 (void) internipt 1/INTI中斷服務(wù)程序char i;if(P3A3=0)確認(rèn)OFF鍵是否按下延時(shí)去抖動(dòng)for(i=0;i<100:i+);if(P3A3=0)P1=0x00;重新確認(rèn)復(fù)位鍵是否按下關(guān)閉LED顯示第三章仿真結(jié)果本章舉兒個(gè)方針結(jié)果的例子丄C12Z37TeT7 TTTT.>XI柏卜CRYSTALPJ0AO5 P3 tdUJt P3 2AXX2 PJ 3 AIM P “心 P3t»

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論