




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目錄摘要2第一章硬件部分3第一節(jié) AT89C513第二節(jié)4*4矩陣式鍵盤6第三節(jié) LED數(shù)碼管8第四節(jié) 硬件電路連接10第二章 軟件部分12第一節(jié) 所用軟件簡介12第二節(jié) 程序流程圖14第三節(jié) 程序17第三章 仿真結(jié)果19心得體會21參考文獻(xiàn)22摘要電子信息行業(yè)將是人類社會的高科技行業(yè)之一,是設(shè)施現(xiàn)代化的基礎(chǔ),也是人類通往科技巔峰的直通車。電子行業(yè)的發(fā)展很重要,而計算機(jī)技術(shù)是現(xiàn)代科技發(fā)展的重要組成部分。矩陣式鍵盤控制系統(tǒng)可以提高效率,是進(jìn)行按鍵操作管理的有效方法,它可以提高系統(tǒng)準(zhǔn)確性,有利于資源的節(jié)約,降低對操作者本身的要求。并能正確、實(shí)時、高效地顯示按鍵信息,以提高工作效率和資源利用率。矩陣
2、式鍵盤是當(dāng)今使用最為廣泛的鍵盤模式,該系統(tǒng)以N個端口連接控制N*N個按鍵,并通過單片機(jī),顯示在LED數(shù)碼管上。單片機(jī)控制鍵盤顯示系統(tǒng),可以對不同的按鍵進(jìn)行實(shí)時顯示,其核心是單片機(jī)、鍵盤矩陣電路和數(shù)碼管顯示電路。4*4矩陣式鍵盤以AT89C51單片機(jī)為核心,主要由矩陣式鍵盤電路、顯示電路等組成,軟件選用C語言編程。單片機(jī)將檢測到的按鍵信號轉(zhuǎn)換成數(shù)字量,顯示于LED顯示器上。該系統(tǒng)靈活性強(qiáng),易于操作,可靠性高,廣泛應(yīng)用于各種場合。第一章 硬件部分第一節(jié) AT89C51AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read
3、 Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。引腳如圖所示 AT89C51圖1 AT89C51管腳圖AT89C51其具有以下特性:與MCS-51 兼容 4K字節(jié)可編程FLASH存儲器 壽命:1000寫/擦循環(huán) 數(shù)據(jù)保留時間:10年 全靜態(tài)工作:0Hz-24MHz 三級程序存儲器鎖定 128×8位內(nèi)部RAM 32可編程I/O線 兩個16位定時器/計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 特性概述:AT89C51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Fl
4、ash 閃速存儲器,128字節(jié)內(nèi)部RAM,32 個I/O 接口,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。 管腳說明:VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存
5、儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須接上拉電阻。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為低八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外
6、部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示: P3.0 RX
7、D(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5 T1(記時器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3口同時為閃爍編程和編程校驗(yàn)接收一些控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。 ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器
8、頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1
9、時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 第二節(jié)4*4矩陣式鍵盤1.2.1 矩陣式鍵盤介紹矩陣式鍵盤(或者叫行列
10、式鍵盤)常應(yīng)用在按鍵數(shù)量比較多的系統(tǒng)之中。這種鍵盤由行線和列線組成,按鍵設(shè)置在行、列結(jié)構(gòu)的交叉點(diǎn)上,行、列線分別接在按鍵開關(guān)的兩端。行列式鍵盤可分為非編碼鍵盤和編碼鍵盤兩大類。編碼鍵盤內(nèi)部設(shè)有鍵盤編碼器,被按下鍵的鍵號由鍵盤編碼器直接給出,同時具有防抖和解決重鍵的功能。非編碼鍵盤通常采用軟件的方法,逐行逐列檢查鍵盤狀態(tài),當(dāng)有鍵按下時,通過計算或查表的方法獲取該鍵的鍵值,通常,計算機(jī)通過程序控制對鍵盤掃描,從而獲取鍵值,根據(jù)計算機(jī)掃描的方法可以分為定時掃描法和中斷掃描法兩種。本系統(tǒng)中的4*4矩陣式鍵盤結(jié)構(gòu)簡單,按鍵數(shù)較少,采用非編碼式鍵盤,當(dāng)有鍵按下時,由單片機(jī)通過程序掃描確定鍵值,并將獲得的鍵
11、值通過LED數(shù)碼管顯示出來,4*4矩陣式鍵盤結(jié)構(gòu)及鍵值分布如下圖:圖2 4*4矩陣鍵盤原理結(jié)構(gòu)圖1234567890ABCDEF圖3 鍵盤鍵值分布1.2.2 鍵盤掃描原理為了更加貼近實(shí)際應(yīng)用,本系統(tǒng)采用中斷式掃描法,這樣可以節(jié)約單片機(jī)開銷,提高單片機(jī)工作效率,使得單片機(jī)在沒有鍵盤輸入時可以處理其他工作,其具體工作過程為:在沒有鍵按下時矩陣鍵盤行線接高電平,列線接低電平,當(dāng)某個鍵被按下時,該按鍵所在行線電位被拉低,觸發(fā)單片機(jī)的外部中斷INT0,進(jìn)入中斷子程序,在中斷程序中,單片機(jī)對矩陣鍵盤進(jìn)行掃描以確定按下的鍵值,掃描過程如下:1、 檢測行線電平,確定是否有按鍵被按下;2、 延時去抖動;3、 重
12、新確認(rèn)是否有按鍵被按下,若有,掃描鍵值,若沒有,返回主程序;4、 掃描鍵值,首先行線接高電平,列線接低電平,對行線電平進(jìn)行檢測,以確定按下的鍵所在的行;5、 行線接低電平,列線接高點(diǎn)平,對列線電平進(jìn)行檢測,確定按下的鍵所在的列;6、 將掃描所得的按鍵值送入LED數(shù)碼管顯示。第三節(jié) LED數(shù)碼管LED(發(fā)光二級管)顯示器件是計算機(jī)控制控制系統(tǒng)中的廉價輸出設(shè)備,它由多個發(fā)光二極管組成,能顯示許多種字符。由于制作材料不同,LED可以發(fā)出紅、黃、籃、紫等各種單色光,一個發(fā)光二級管正常發(fā)光時的電流大約為10mA,本系統(tǒng)中使用的是七段共陰極LED數(shù)碼管。圖4、5所示為七段共陰極LED顯示器件的結(jié)構(gòu)及外形圖
13、。七段LED顯示器件就是將7個發(fā)光二極管按一定的方式組合在一起,如圖4所示。abcdefgCOMagdfebc圖4 7段LED顯示器件外形圖aaaaaaaCOM 圖5 7段LED顯示器件結(jié)構(gòu)圖下表給出了共陰極7段LED顯示器件所能顯示的部分字符與7段控制顯示代碼的對應(yīng)關(guān)系表1 . 共陰極7段LED顯示器件所能顯示的部分字符與7段控制顯示代碼的對應(yīng)關(guān)系顯示字符控制顯示代碼(十六進(jìn)制)顯示字符控制顯示代碼(十六進(jìn)制)106A7725BB7C34FC39466D5E56DE7967DF71707H7687FP7396F-4003F不顯示00在本系統(tǒng)中,4*4鍵盤共有16個鍵,對其編號09,AF,所以
14、用一個7段數(shù)碼管靜態(tài)顯示即可滿足即時顯示按鍵信息的要求。所謂靜態(tài)顯示,就是當(dāng)顯示器件顯示某個字符時,相應(yīng)的顯示段(發(fā)光二級管)恒定地導(dǎo)通或截止,直到顯示另一個字符為止。這種顯示方式顯示一個字符時,只需要微處理器送一次代碼,因此占用機(jī)時少,而且顯示穩(wěn)定可靠,其缺點(diǎn)是,使用元器件相對較多,且線路比較復(fù)雜,相對而言成本較高,比較適合顯示位數(shù)較少的情況。第四節(jié) 硬件電路連接1.4.1 單片機(jī)始終電路時鐘信號用來提供單片機(jī)片內(nèi)各種微操作的時間基準(zhǔn),時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出
15、端,由于采用內(nèi)部方式時,電路簡單,所得的時鐘信號比較穩(wěn)定,實(shí)際使用中常采用這種方式,如圖6所示在其外接晶體振蕩器(簡稱晶振)或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構(gòu)成一個自激振蕩器并產(chǎn)生振蕩時鐘脈沖。圖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)開始正常工作。單片機(jī)的復(fù)位是靠外電路來實(shí)現(xiàn)的,在正常運(yùn)
16、行情況下,只要RST引腳上出現(xiàn)兩個機(jī)器周期時間以上的高電平,即可引起系統(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)上電時RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(開關(guān))復(fù)位。本系統(tǒng)采用上電復(fù)位方式。圖6中R2、R3和C3組成上電復(fù)位電路,其值R2、R3取為1K, C3取為10pF。1.4.3 矩陣式鍵盤電路4*4矩陣式鍵盤接于單片機(jī)的P2口,P2.0P2.3接行線,P2.4P2.7接列線,初始化
17、和無按鍵按下時,P2.0P2.3輸出高電平,P2.4P2.7輸出低電平,當(dāng)P2.0P2.3中某個位為低電平時說明有按鍵按下,觸發(fā)單片機(jī)中斷完成相應(yīng)功能,鍵盤與單片機(jī)的連接如圖5.1.4.4 LED數(shù)碼管顯示電路LED顯示器接在單片機(jī)的P1口,其中P1.0P1.6接LED的控制端,P1.7接COM端,工作時P1.7端始終輸出低電平,P1.0P1.6根據(jù)要顯示的字符輸出相應(yīng)的數(shù)據(jù)。LED與單片機(jī)的連接如圖5.。1.4.5 中斷觸發(fā)電路本系統(tǒng)采用中斷處理方式,可以提高單片機(jī)的數(shù)據(jù)處理能力,有利于節(jié)能。由矩陣鍵盤連接電路可知,無按鍵按下時,行線始終為高電平,當(dāng)有按鍵按下時,相應(yīng)的行線被拉為低電平,利用
18、這一規(guī)律設(shè)計按鍵的中斷觸發(fā)電路:將四條行線接到74LS21(4輸入與門)經(jīng)過與運(yùn)算后接到單片機(jī)的P3.2(INT0)口,設(shè)置INT0為下降沿觸發(fā),當(dāng)行線中任意一條為低電平時,觸發(fā)INT0中斷,單片機(jī)調(diào)用中斷子程序檢測鍵值并輸出到LED顯示。電路圖如圖6.此外,長時間無按鍵按下時,為了節(jié)能,可以關(guān)閉LED顯示,單片機(jī)關(guān)閉LED顯示通過外部電路觸發(fā)INT1中斷完成。如圖6所示,其中R1為1K。復(fù)位電路接在P3.3(INT1)口,設(shè)置INT1中斷為低電平觸發(fā)方式,當(dāng)OFF按鍵按下時P3.3輸入低電平,觸發(fā)INT1中斷,單片機(jī)調(diào)用相應(yīng)中斷程序使P1輸出全為低電平,LED不顯示字符圖6 系統(tǒng)硬件連接圖第
19、二章 軟件部分第一節(jié) 所用軟件簡介2.1.1 KeilKeil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面,并將這些部分組合在一起。其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會令你事半功倍。Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。 1 系統(tǒng)概述 Keil
20、C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。Keil C51單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu) C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)
21、。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 使用獨(dú)立的Keil仿真器時,注意事項(xiàng) 仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 仿真芯片的31腳(/EA)已接至高電平,所以仿真時只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿
22、真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用。2.1.2 ProteusProteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面
23、,它也支持IAR、Keil和MPLAB等多種編譯器。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。廣泛應(yīng)用于各個領(lǐng)域。Proteus為用戶提供了豐富的資源,主要有:1Proteus可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有30多個元件庫。 2Proteus可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、SPI調(diào)試器、I2C調(diào)試器、信號發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。理論上同一種儀
24、器可以在一個電路中隨意的調(diào)用。 3除了現(xiàn)實(shí)存在的儀器外,Proteus還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實(shí)時地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標(biāo),例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結(jié)果的影響。 4Proteus可提供的調(diào)試手段 Proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。在PROTEUS繪制好原理圖后,調(diào)入已編譯好的目標(biāo)代碼文件:*.HEX,可以在PROTEUS的原理圖中看到模擬的實(shí)物運(yùn)行狀態(tài)和過程。 PROTEUS 是單片機(jī)課堂教學(xué)的先進(jìn)助手。 P
25、ROTEUS不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn)難以達(dá)到的效果。 它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。 課程設(shè)計、畢業(yè)設(shè)計是學(xué)生走向就業(yè)的重要實(shí)踐環(huán)節(jié)。由于PROTEUS提供了實(shí)驗(yàn)室無法相比的大量的元器件庫,提供了修改電路設(shè)計的靈活性、提供了實(shí)驗(yàn)室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實(shí)踐精神、創(chuàng)造精神的平臺 隨著科技的發(fā)展,“計算機(jī)仿真技術(shù)”
26、已成為許多設(shè)計部門重要的前期設(shè)計手段。它具有設(shè)計靈活,結(jié)果、過程的統(tǒng)一的特點(diǎn)??墒乖O(shè)計時間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險。相信在單片機(jī)開發(fā)應(yīng)用中PROTEUS也能茯得愈來愈廣泛的應(yīng)用。 使用Proteus 軟件進(jìn)行單片機(jī)系統(tǒng)仿真設(shè)計,是虛擬仿真技術(shù)和計算機(jī)多媒體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計能力及仿真軟件的操作能力;在單片機(jī)課程設(shè)計和全國大學(xué)生電子設(shè)計競賽中,我們使用 Proteus 開發(fā)環(huán)境對學(xué)生進(jìn)行培訓(xùn),在不需要硬件投入的條件下,學(xué)生普遍反映,對單片機(jī)的學(xué)習(xí)比單純學(xué)習(xí)書本知識更容易接受,更容易提高。實(shí)踐證明,在使用 Proteus 進(jìn)行系統(tǒng)仿真開發(fā)成功之后再
27、進(jìn)行實(shí)際制作,能極大提高單片機(jī)系統(tǒng)設(shè)計效率。因此,Proteus 有較高的推廣利用價值。第二節(jié) 程序流程圖開始主程序初始化LED數(shù)碼管接通矩陣鍵盤行線高電平,列線低電平開中斷INT0、INT1是否關(guān)閉LED顯示執(zhí)行INT0中斷服務(wù)程序設(shè)置中斷INT0、INT1觸發(fā)方式執(zhí)行INT1中斷服務(wù)程序是否有按鍵按下是是否否圖7 主程序流程圖INT0中斷服務(wù)程序確認(rèn)是否有按鍵按下延時去抖動重新確認(rèn)是否有按鍵按下判斷被按下鍵所在的行和列將所得鍵值送到LED顯示返回主程序是否是否INT1中斷服務(wù)子程序確認(rèn)OFF鍵是否按下延時去抖動重新確認(rèn)OFF鍵是否按下關(guān)閉LED數(shù)碼管顯示返回主程序否否是是圖8 中斷服務(wù)程序
28、流程圖第三節(jié) 程序#include<reg51.h>void main()P1=0x00; /初始化LED數(shù)碼管TCON=0x01; /設(shè)置INT0、INT1觸發(fā)方式IE=0x85; /使能INT0、INT1中斷while(1)P2=0x0f; /接通矩陣鍵盤 void counter0(void) interrupt 0 /INT0中斷服務(wù)程序char key,key_h,key_l,delay;if(P2!=0x0f) /確認(rèn)是否有鍵按下for(delay=0;delay<100;delay+); /延時去抖動if(P2!=0x0f) /重新確認(rèn)是否有鍵按下P2=0x0f
29、;key_h=P20x0f; /檢測按鍵所在行P2=0xf0;key_l=P20xf0; /檢測按鍵所在列key=key_h+key_l;switch(key) /確定按鍵值并送入LED顯示case 0x11:P1=0x06;break;case 0x21:P1=0x5b;break;case 0x41:P1=0x4f;break;case 0x81:P1=0x66;break;case 0x12:P1=0x6d;break;case 0x22:P1=0x7d;break;case 0x42:P1=0x07;break;case 0x82:P1=0x7f;break;case 0x14:P1=
30、0x6f;break;case 0x24:P1=0x3f;break;case 0x44:P1=0x77;break;case 0x84:P1=0x7c;break;case 0x18:P1=0x39;break;case 0x28:P1=0x5e;break;case 0x48:P1=0x79;break;case 0x88:P1=0x71;break;default : P1=0x00;break;void counter1(void) interrupt 1 /INT1中斷服務(wù)程序char i;if(P33=0) /確認(rèn)OFF鍵是否按下for(i=0;i<100;i+); /延時去抖動if(P33=0) /重新確認(rèn)復(fù)位鍵是否按下P1=0x00; /關(guān)閉LED顯示第三章 仿真結(jié)果本章舉幾個方針結(jié)果的例子圖9 1行1列(1)按下時仿真結(jié)果圖10錄管2 難,比如很多關(guān)于單片機(jī)的基礎(chǔ)知識學(xué)的不是很好, 191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919191919
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國全自動剖溝機(jī)數(shù)據(jù)監(jiān)測研究報告
- 山東省德州市寧津縣2024-2025學(xué)年九年級上學(xué)期期末化學(xué)試卷(含答案)
- 高中禁毒測試題及答案
- 2019-2025年軍隊(duì)文職人員招聘之軍隊(duì)文職法學(xué)自我提分評估(附答案)
- 2019-2025年消防設(shè)施操作員之消防設(shè)備高級技能提升訓(xùn)練試卷A卷附答案
- 2023-2024學(xué)年廣東省廣州四中教育集團(tuán)七年級(下)期中數(shù)學(xué)試卷(含答案)
- 汽油檢測知識培訓(xùn)課件
- (一模)哈三中2025屆高三第一次模擬考試 物理試題(含答案)
- 安徒生童話之丑小鴨的感悟
- 煤炭買賣居間合同
- 2024年批次杭州市教育局所屬事業(yè)單位招聘筆試真題
- 2024年海東市第二人民醫(yī)院自主招聘專業(yè)技術(shù)人員考試真題
- 《VAVE價值工程》課件 - 創(chuàng)造最大化的價值與效益
- 中醫(yī)養(yǎng)生保健知識科普
- 社區(qū)居委會2025年工作總結(jié)暨2025年工作計劃
- 2024年天翼云認(rèn)證運(yùn)維工程師考試復(fù)習(xí)題庫(含答案)
- 水果聯(lián)營合同范例
- 江蘇卷2024年高考語文第一次模擬考試一(原卷版+解析版)
- 實(shí)驗(yàn)室儀器設(shè)備售后服務(wù)承諾書(7篇)
- 《主管技能訓(xùn)練》課件
- 2024解析:第十六章電壓和電阻-講核心(解析版)
評論
0/150
提交評論