




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、、畢業(yè)設計的任務和具體要求:任務:畢業(yè)設計的任務:利用單片機仿真軟件實現4*4,16位矩陣式鍵盤設計畢業(yè)設計的具體要求:首先對設計題目進行分析,確定實現方法;繪制出原理框圖,確定控制量,輸出量;根據功能要求,繪制出程序流程圖;根據程序流程圖,編寫匯編程序;將編寫的程序輸入計算機,進行仿真;用AT89S51的并行口P1接4X4矩陣鍵盤,以Pl.OP1.3作輸入線,以P1.4P1.7作輸出線;在數碼管上顯示每個按鍵的“0F”序號。:、畢業(yè)設計應完成的圖紙:圖1-1:AT89C51引腳圖p4圖2-1:啟動時的屏幕ProteusISISp7圖2-2:ProteusISIS的工作界面p8圖2-3:輸入源
2、程序p9圖2-4:選擇CPU型號對話框p10圖2-5:添加文件到工程命令p11圖2-6:選中ASM源程序,加入到工程p11圖2-7:文件成功加入工程p12圖2-8:晶振頻率設置p12圖2-9:串口設置p13圖2-10:源程序的編譯p13圖3-1:硬件電路原理圖p17圖4-1:程序框圖p18圖5-1:仿真與調試設置對話框p23三、其他要求:認真做好試驗前的準備工作構思好整個工程流程,分步開始連接各部分的實際元件做到認真仔細爭取減少錯誤的產生,爭取順利完成電路的連接過程.最終達到預期的效果.四、畢業(yè)設計的期限:自2008年9月1日至2008年9月30日五、畢業(yè)設計(論文)進度計劃:起至日期工作內容
3、備注2008/9/1-2008/9/52008/9/6-2008/9/152008/9/16-2008/9/202008/9/20-2008/9/30一分析階段1所用元器件的功能及工作原理的分析2所要實現的功能及任務的分析二設計階段1.方案分析2編寫源程序3源程序的編譯調試與仿真三系統(tǒng)的完善錯誤的糾正四整理試驗報告系統(tǒng)使用說明畢業(yè)總結選擇適合自己的題目程序設計4*4矩陣鍵盤仿真摘要單片機自20世紀70年代問世以來,以其極高的性能價格比,受到人們的重視和關注,應用很廣、發(fā)展很快。單片機體積小、重量輕、抗干擾能力強、環(huán)境要求不高、價格低廉、可靠性高、靈活性好、開發(fā)較為容易。由于具有上述優(yōu)點,在我國
4、,單片機已廣泛地應用在工業(yè)自動化控制、自動檢測、智能儀器儀表、家用電器、電力電子、機電一體化設備等各個方面,而51單片機是各單片機中最為典型和最有代表性的一種。單片機系統(tǒng)的開發(fā)過程中,程序設計語言的選擇尤為重要。C51提供高效的代碼,結構化的編程和豐富的操作符,多被采用。C51是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能,而且可以直接實現對硬件的控制。本畢業(yè)設計以AT89S51芯片為核心,程序設計采用匯編語言,輔以必要的電路,并運用proteus軟件設計了4*4矩陣鍵盤仿真。TOC o 1-5 h z前言1 HYPERLINK l bookmark12 第一章單片
5、機的概述2 HYPERLINK l bookmark14 1.1什么是單片機2 HYPERLINK l bookmark16 MCS51單片機內部結構2 HYPERLINK l bookmark18 1.3單片機的應用領域3 HYPERLINK l bookmark20 1.4AT89C51簡介4 HYPERLINK l bookmark24 第二章軟件的介紹及使用7 HYPERLINK l bookmark26 Proteus軟件的介紹和使用72.1KeiluVision2軟件的介紹和使用9 HYPERLINK l bookmark44 第三章系統(tǒng)總體設計14 HYPERLINK l boo
6、kmark46 3.1系統(tǒng)原理14 HYPERLINK l bookmark48 3.2電路組成143.2.1鍵盤部分14 HYPERLINK l bookmark50 3.2.2LED顯示153.2.3晶振電路16 HYPERLINK l bookmark52 3.3系統(tǒng)功能和原理圖163.3.1實現功能163.3.2硬件電路原理圖16 HYPERLINK l bookmark54 3.4系統(tǒng)與硬件的連接17 HYPERLINK l bookmark56 第四章系統(tǒng)軟件設計18 HYPERLINK l bookmark58 4.1程序流程圖18 HYPERLINK l bookmark60
7、4.2源程序18 HYPERLINK l bookmark62 第五章程序的編譯調試與仿真21 HYPERLINK l bookmark64 5.1程序的編譯21 HYPERLINK l bookmark68 5.2調試與仿真22 HYPERLINK l bookmark86 第六章結束語24 HYPERLINK l bookmark88 6.1論文總結24 HYPERLINK l bookmark90 6.2工作展望24 HYPERLINK l bookmark92 參考文獻25 HYPERLINK l bookmark94 致謝25基于Proteus軟件的4*4矩陣鍵盤設計與仿真 刖言隨著
8、人們生活水平的提高,19世紀興起的數字電路以其先天的便捷、穩(wěn)定的優(yōu)點在現代電子技術電路中占有越來越重要的地位。數字電路與模擬電路相比有顯而易見的穩(wěn)定性。近年來,數字電路又有了巨大的發(fā)展??删幊踢壿嬈骷≒AL、GAL等)的發(fā)展和普及最終使IC的設計面向了用戶(這是模擬電路無法做到的),而這毫無疑問會給用戶帶來巨大的便捷,從而奠定它在電子電路中的對位。單片機技術的出現給現代工業(yè)測控領域帶來了一次技術革命。目前,單片機仍以其高可靠性、高性價比,在工業(yè)控制系統(tǒng)、數據采集系統(tǒng)、智能畫儀器儀表、智能家電等諸多領域得到了廣泛的應用。作為將要從事單片機應用系統(tǒng)開發(fā)方面的技術人員,掌握單片機的應用技術是必要的
9、。在單片機的應用過程中,單片機只是應用系統(tǒng)的一個核心部件,為把單片機系統(tǒng)應用于不同的領域,只掌握單片機的基礎知識是遠遠不夠的,要想構成一個完善的應用系統(tǒng),還要熟悉執(zhí)行機構及硬件接口電路的應用特性,同時,還應該掌握系統(tǒng)的結構布局、印刷電路板的結構布局及軟件的設計技巧這些書本上學不到的知識,因此為設計出完善的應用系統(tǒng),必須在實際工作中勤于實踐,逐步積累這方面的經驗。單片機將計算機的基本部件微型化,使之集成在一塊芯片上的微機。單片機有著體積小、功耗低、功能強、性能價格比高、易于推廣應用等顯著優(yōu)點,在許多領域得到日益廣泛的應用。單片機系統(tǒng)的開發(fā)過程中,程序設計語言的選擇尤為重要。C51提供高效的代碼,
10、結構化的編程和豐富的操作符,多被采用。C51是一種編譯型程序設計語言,它兼顧了多種高級語言的特點,并具備匯編語言的功能,而且可以直接實現對硬件的控制。此次設計選用的德國Keil公司開發(fā)的基于Windows平臺的單片機集成開發(fā)環(huán)境,是51單片機開發(fā)的優(yōu)秀軟件之一,它集編輯、編譯、仿真功能于一體,支持C語言、匯編語言的程序設計及調試,再加上單片處理器(89C51)、鍵盤、LED顯示器及單片機的晶振電路,最終實現基于單片機AT89C51的4*4矩陣鍵盤proteus仿真。第一章單片機的概述單片微型計算機(singlechipmicrocomputer)簡稱單片機,又稱微控制器(microcontro
11、llerunit)或嵌入式控制器(embeddedcontroller)。它將計算機的基本部件微型化,使之集成在一塊芯片上的微機。片內含有CPU、ROM、RAM、并行I/O、串行I/O、定時器/計數器、中斷控制、系統(tǒng)時鐘及系統(tǒng)總線。單片機有著體積小、功耗低、功能強、性能價格比高、易于推廣應用等顯著優(yōu)點,在自動化裝置、智能化儀器儀表、過程控制和家用電器等許多領域得到日益廣泛的應用。用C51進行單片機程序設計是單片機開發(fā)與應用的必然趨勢。采用C51可以很容易的進行單片機的程序移植工作,有利于產品中的單片機的重新選型。隨著國內單片機開發(fā)工具研制水平的提高,現在的單片機仿真器普遍支持C51程序的調試,
12、為單片機編程使用C51提供了便利的條件。1.1什么是單片機?單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。單片機內部也用和電腦功能類似的模塊,比如CPU,內存,并行總線,還有和硬盤作用相同的存儲器件1.2MCS51單片機內部結構CPUCPU即中央處理器的簡稱,是單片機的核心部件,它完成各種運算和控制操作,CPU由運算器和控制器兩部分電路組成。運算器電路運算器電路包括ALU(算術邏輯單元)、ACC(累加器)、B寄存器、狀態(tài)寄存器、暫存器1和暫存器2等
13、部件,運算器的功能是進行算術運算和邏輯運算。運算電路以ALU為核心單元,可以完成半字節(jié)、單字節(jié)以及多字節(jié)數據的運算操作,其中包括加、減、乘、除、十進制調整等算術運算以及與、或、異或、求補和循環(huán)等邏輯操作,運算結果的狀態(tài)由狀態(tài)寄存器保存??刂破麟娐房刂破麟娐钒ǔ绦蛴嫈灯鱌C、PC加1寄存器、指令寄存器、指令譯碼器、數據指針DPTR、堆棧指針SP、緩沖器以及定時與控制電路等??刂齐娐吠瓿芍笓]控制工作,協(xié)調單片機各部分正常工作。程序計數器PC用來存放即將要執(zhí)行的指令地址,它可以完成64K的外部存儲器尋址,執(zhí)行指令時,PC內容的高8位經P2口輸出,低8位經P0口輸出。數據指針DPTR為16位數據指針
14、,它可以對64K的外部數據存儲器和I/O口進行尋址,它的低8位為DPL(地址82H),高8位為DPH(地址為83H)。堆棧指針SP在片內RAM(128字節(jié))中開辟棧區(qū),并隨時跟蹤棧頂地址,它按先進后出的原則存取數據,上電復位后,SP指向07H。定時器/計數器MCS51單片機片內有兩個16位的定時/計數器,即定時器0和定時器1。它們可以用于定時控制、延時以及對外部事件的計數和檢測等。存儲器MCS51系列單片機的存儲器包括數據存儲器和程序存儲器,其主要特點是程序存儲器和數據存儲器的尋址空間是相互獨立的,物理結構也不相同。對MCS51系列(8031除外)而言,有4個物理上相互獨立的存儲器空間:即內、
15、外程序存儲器和內、外數據存儲器。對于8051其芯片中共有256個RAM單元,其中后128個單元被專用寄存器占用,只有前128個單元供用戶使用。并行I/O口MCS51單片機共有4個8位的I/O口(P0、P1、P2和P3),每一條I/O線都能獨立地用作輸入或輸出。P0口為三態(tài)雙向口,能帶8個TTL門電路,P1、P2和P3口為準雙向口,負載能力為4個TTL門電路。串行I/O口MCS51單片機具有一個采用通用異步工作方式的全雙工串行通信接口,可以同時發(fā)送和接收數據。它具有兩個相互獨立的接收、發(fā)送數據緩沖器,兩個緩沖器共用一個地址(99H),發(fā)送緩沖器只能寫入,不能讀出,接收緩沖器只能讀出,不能寫入。中
16、斷控制系統(tǒng)MCS51單片機的中斷功能較強,以滿足控制應用的需要。8051共有5個中斷源,即外中斷2個,定時/計數中斷2個,串行中斷1個。所有中斷分為高級和低級兩個中斷優(yōu)先級。時鐘電路MCS51芯片內部有時鐘電路,但晶體振蕩器和微調電容必須外接。時鐘電路為單片機產生時鐘脈沖序列,振蕩器的頻率范圍為1.2MHz12MHz,典型取值為6MHz??偩€以上所有組成部分都是通過總線連接起來,從而構成一個完整的單片機。系統(tǒng)的地址信號、數據信號和控制信號都是通過總線傳送的,總線結構減少了單片機的連線和引腳,提高了集成度和可靠性。1.3單片機的應用領域單片機是隨著大規(guī)模集成電路的出現極其發(fā)展,將計算機的CPU,
17、RAM,ROM,定時/計數器和多種I/O接口集成在一片芯片上,形成了芯片級的計算機,因此單片機早期的含義稱為單片微型計算機它擁有優(yōu)異的性價比、集成度高、體積小、可靠性高、控制功能強、低電壓、低功耗的顯著優(yōu)點.單片機的應用領域:單片機在智能儀器儀表中的應用;單片機在工業(yè)測控中的應用;單片機在計算機網絡和通訊技術中的應用;單片機在日常生活及家電中的應用;單片機在辦公自動化方面。1.4AT89C51簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度、非易失性存儲器制造技術制造,與工
18、業(yè)標準的MCS-51指令集和輸出管腳可以相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。引腳分布如下圖:_P10Z1“vtcpi.1r21Fd.DrADD1Pl.3匚3”PO.11AO1)P1H匸417PF魯P1.*匚5po.aiPItL百3-Sre.4Pl.ClcT”PO.&ADE)PI?cB3-i-|ACJHSTCCl3-2PPO.T1RXC)Pl.flT103I專JfWPP(TXDJPl.1r111ALE/P3-.2C12Zfi3PSEMnrrTj叭亠匚1A封
19、P2.Ji|A14k(TH)PB.4匚14Z7(TlJPj5匚1DbPS1l百RDP3.fiz1B25P2.J4A12F(PIT?P3fz17工鼻fri.J心uXTA.L2CnPI.2KTAL1匚19Z2hpi.iGNC匸2t21P3.&!直曲片AT89C51圖i-i引腳分布圖1.主要特性:與MCS-51兼容4K字節(jié)可編程閃爍存儲器壽命:1000寫/擦循環(huán)數據保留時間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8位內部RAM32可編程I/O線兩個16位定時器/計數器5個中斷源可編程串行通道低功耗的閑置和斷電模式片內振蕩器和時鐘電路2管腳說明:VCC:供電電壓。GND:接地。P
20、0口:P0口可作為通用的I/O口,但必須外接上拉電阻。作為輸入口,每個引腳可吸收8個TTL的灌電流。作為輸入時,首先應將該引腳置為1。在訪問外部數據存儲器或者程序存儲器時,這組線分時轉換地址(低8位)和數據總線。P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上
21、拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口
22、,如下所示:管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INTO(外部中斷0)P3.3/INT1(外部中斷1)P3.4TO(記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6/WR(外部數據存儲器寫選通)P3.7/RD(外部數據存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或
23、用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高
24、電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。第二章軟件的介紹及使用4*4矩陣鍵盤的仿真采用了兩個軟件:KeiluVision2和Proteus,現就這兩個軟件作進一步的介紹。2.1Proteus軟件的介紹和使用它運行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點是:實現了單片機仿真和SPICE電路仿真相結合。具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調試器、S
25、PI調試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。提供軟件調試功能。在硬件仿真系統(tǒng)中具有全速、單步、設置斷點等調試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調試環(huán)境,如KeilC51uVision2等軟件。具有強大的原理圖繪制功能。總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其
26、強大。(1)進入ProteusISIS雙擊桌面上的ISIS6Professional圖標或者單擊屏幕左下方的“開始”一“程序”一Proteus6Professional“ISIS6Professional,進入ProteusISIS集成環(huán)境。圖2-1Proteus啟動時的屏幕(2)工作界面ProteusISIS的工作界面是一種標準的Windows界面。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。繪圖工具欄(3)原理圖的繪制對象方位控制按鈕仿真進程控制按鈕狀態(tài)欄Proteus的智能化可以在你想
27、要畫線的時候進行自動檢測。當鼠標的指針靠近一個對象的連接點時,跟著鼠標的指針就會出現一個“X”號,鼠標左鍵點擊元器件的連接點,移動鼠標就出現了粉紅色的連接線變成了深綠色。如果你想讓軟件自動定出線路徑,只需左擊另一個連接點即可。這就是Proteus的線路自動路徑功能(簡稱WAR),如果你只是在兩個連接點用鼠標左擊,WAR將選擇一個合適的線徑。WAR可通過使用工具欄里的“WAR”命令按鈕來關閉或打開,也可以在菜單欄的“Tools”下找到這個圖標。如果你想自己決定走線路徑,只需在想要拐點處點擊鼠標左鍵即可。單片機電路的模擬程序的編譯該軟件有自帶編譯器,在ISIS添加上編寫好的程序,方法如下:點擊菜單
28、欄“Source”,在下拉菜單點擊“Add/RemoveSourceFiles(添加或刪除源程序)”出現一個對話框。點擊對話框的“NEW”按鈕,在出現的對話框找到文件設計好的huayang.asm,點擊打開;在“CodeGenerationTool”的下面找到“ASEM51”,然后點擊“OK”按鈕,設置完畢我們就可以編譯了。點擊菜單欄的“Source”,在下拉菜單點擊“BuildAll”,過一會,編譯結果的對話框就會出現在我們面前。如果有錯誤,對話框會告訴我們是哪一行出現了問題,點擊出錯的提示,光標不能跳到出錯地方,但是能告訴出錯的行號。模擬調試選中單片機AT899C51,左鍵點擊AT89C5
29、1,在出現的對話框里點擊ProgramFile按鈕,找到剛才編譯得到的HEX文件,然后點擊“OK”按鈕就可以模擬了。點擊模擬調試按鈕的運行按鈕,進人調試狀態(tài)。點擊按鍵鍵盤,看到發(fā)光二極管顯示相應0f的字符2.2KeiluVision2軟件的介紹Keil單片機集成開發(fā)軟件是目前最流行的MCS-51單片機開發(fā)軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理及一個功能強大的仿真調試器在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVisoin2)將這些部分組合在一起。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,使用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也
30、會令你事半功倍。Keil軟件使用的基本步驟輸入源程序-新建工程-工程詳細設置-源程序編譯得到目標代碼文件。第一步:雙擊KeiluVision2的桌面快捷方式,啟動Keil集成開發(fā)開發(fā)軟件。第二步:新建文本編輯窗。點擊工具欄上的新建文件快捷按鍵,即可在項目窗口的右側打開一個新的文本編輯窗。第三步:輸入源程序。在新的文本編輯窗中輸入匯編語言程序,盲皿日耳黑矚魏率率応鬼鬼鬼留|三|開臉a憑區(qū)i|曲艷眄艷圖2-3:輸入源程序第四步:保存源程序。保存文件時必須加上文件的擴展名,如果你使用匯編語言編程,那么保存時文件的擴展名為“.asm”,如果是C語言程序,文件的擴展名使用“*.C”。注:第3步和第4步之
31、間的順序可以互換,即可以先輸入源程序后保存,也可以先保存后輸入源程序第五步:新建立Keil工程。,點擊工程-新建工程命令,將出現保存對話在保存工程對話框中輸入你的工程的文件名,Keil工程默認擴展名為.uv2,輸入名稱后保存,將出現選擇設備對話框,在對話框中選擇CPU的型號。第六步:選擇CPU型號。為工程選擇CPU型號,本新建工程選擇了ATMEL公司的AT89C51單片機。圖2-4:選擇CPU型號對話框第七步:加入源程序到工程中。在選擇好CPU型號后,點擊確定按鈕返回主界面,此時可見到工程管理窗中出現“Target1”,點擊“Target1前面的“+”號展開下一層的“SourceGroup1”
32、文件夾,此時的新工程是空的,“SourceGroup1”文件夾中什么文件都沒有,必須把剛才輸入的源程序加入到工程當中。右擊工程管理窗中的“SourceGroup1”,出現下拉菜單,點擊“增加文件到組SourceGroup1命令,將出現添加文件對話框圖2-5:添加文件到工程命令在添加文件對話框中,找到要添加到工程中的源程序文件。注意:在對話框中的文件類型默認為C源文件(*.c),如果你要添加到工程中的是匯編語言程序,則在文件類型中必須選中“Asm源文件(*.a*;*.src)”,以*.asm為擴展名的匯編源程序才會出現在文件列表框雙擊該文件lichl.asm,即可將該文件添加到工程當中,另外也可
33、以單擊lichl.asm選中該文件,再點擊Add按鈕,也可以把文件加入工程中。圖2-6:選中ASM源程序,加入到工程中點擊Add按鈕后,把文件添加到工程中,再點擊“關閉”按鈕,返回到主界面。當給工程添加源程序文件成功后,工程管理器中的“SourceGroup1”文件夾的前面會出現一個“+”號,單擊“+”號,展開文件夾,雙擊即可打開該文件進行編輯修改源程序加|尋盤陌舊刪馳舸艷第八步:工程1文件夾上右擊,出圖圏聶藪Tareet1;嚴山十下面是MAIN:CLR:_JTarget1El-SourceGroup1匡lichl.asriitJ懣程睜已成功抑入王雙擊可以打開右邊的源-I,圖2-7:文件成功加
34、入工ELAY:MOV1:MOVR6DJNZR6ACALLDELAYSETBPl.7ACALLDELAYAJMPMAIN目標Target1屬性設置。如下現下拉菜單,點擊“目標Targett1屬性設置對話框大部分使用P1.怦示,在豐目管理窗中的Target工程目標Targe標”、“輸出”、“調試”三個頁面,下面對這三個頁面屬性”命令,就進入目標屬性設置界面。:認設置即可,我們主要設置其中的“目的設置進行介紹:1、工程目標屬性設置。該頁面單片機的晶振頻率,把晶振的頻率改為11.0592圖2-8:晶振頻率設置2、工程輸出設置。該頁面設置注意:如果要進行單片機寫片實驗,則一定要把“E生成HEX文件”選項
35、選中,程序編譯后才能生成我們寫單片機需要的HEX格式目標文件。3、工程調試設置。“調試”頁面設置。該頁分為左右兩半,左半邊是軟件仿真設置,而右半邊是硬件仿真設置,當你使用軟件仿真時,選中左邊的“S使用仿真器”;如果你使用硬件仿真器,那么就按下圖所示設置硬件仿真,同時把仿真器連接到你的電腦串口上。4、串口設置。把通信波特率選擇38400。第九步:至此,我們已經完成了從源程序輸入、工程建立、工程詳細設置的工作,接下來我們在文本編輯窗中繼續(xù)輸入或修改我們的源程序,使程序實現我們的目標,在檢查程序無誤后保存工程。接著如下圖12所示,點擊“構造目標”快捷按鈕,進行源程序的編譯連接,源程序編譯相關的信息會
36、出現在輸出窗口中的“構造”頁中。下圖12顯示編譯結果為0錯誤,0警告,同時產生了目標文件lichl.hex。我們可以對源程序進行反復修改,再編譯,理fdfd直到沒有錯誤為,每次修改源程序后一定要保存。uVision2C:DocuentsandSettingsAdinistratorMyDocuentsText1.asam嘆件E編輯囲J圖程2調試矽卜圉設備II具SVCS嵋口H幫助-QlT:arget1白JSoixrceGroup1”匡Textl.asmRP.CL2:RP.CJNCINCDJNZMOVAI:I:MOVMOVRLMOVDJNZAJMP近END:CHECK_Li:iOSE:一MOVMO
37、VORLCPLJNZCALLMOVAJMPDELAY_20MS:一MOVL4:MOVL3:NOPNOPAAFINDRE;在1列內沒找到,便數宇加丄R3ZL2;薊I斷生列掃描完了盪A,R2b#4;在丄行上沒找到.便數宇加4F!.2,AA,R1A;左移掃描下一行P-1.AR-5ZL1;.I斷4行掃描完了漫BACK1P1,#OFOHA,PlA,#OFHACHECK_LDOSEDELATESOHSBUTT0N_NUMBER,R2BACK1Rl,#0C8HR3,#018H目匯xt中從d11譴在Te接在df構正.X連正NfTarget11Text1.aisin.asm(54):曹告M1:MISSINGfd
38、fdu產生HEM文件.U錯誤(G,1警告(s).EHDSTATEMEbTTif|L:54C:12圖2-10:源程序的編譯第三章系統(tǒng)總體設計3.1系統(tǒng)原理鍵盤為4*4矩陣式連接,一共有16個按鍵。工作原理為:P1端的低四位為列,高四位行。所先置低四位為低,高四位為高,當有按鍵按下時高四位就會有某位被拉低。只要判斷高四位不為全高就說明有按鍵按下。判斷有按鍵按下后就要判斷是某位按下的,方法為,選將高四位的某一位置低。判斷低四位是否有低電平出現。依次對高四位的每位置低并判斷低四位出現的低電平。如高四位某位置低后低四某也有出現低電平。這樣就能判斷出低四位與高四位相連的位某位按鍵被按下了。通過定義好的編碼
39、就可以查出是某個按鍵被按下了,程序將按鍵值通過查表并發(fā)送到LED上顯示。3.2電路組成321鍵盤部分鍵盤是一組按鍵的集合,它是最常用的單片機輸入設備,操作人員可以通過鍵盤輸入數據或命令,實現簡單的人機通訊。鍵是一種常開型按鈕開關,平時(常態(tài))鍵的兩個觸點處于斷開狀態(tài),按下鍵時它們才閉合(短路)。鍵盤分編碼鍵盤和非編碼鍵盤,閉合鍵的識別由專用的硬件譯碼實現,并能產生鍵編號或鍵值的稱為編碼鍵盤,女如BCD碼鍵盤、ASCII碼鍵盤等;而缺少這種鍵盤編碼電路要靠自編軟件識別的稱為非編碼鍵盤。在單片機組成的電路系統(tǒng)及智能化儀器中,用得更多的是非編碼鍵盤。判別鍵值方法我們選用的4X4鍵盤,使用掃描法掃描鍵
40、值。過程如下:判別有無鍵按下。由單片機I/O口向鍵盤送(輸出)掃描字,然后讀入(輸入)行線狀態(tài)來判斷。其方法是:向列線輸出全掃描字00H,即把全部列線置為低電平,然后將行線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會有一根行線被拉至低電平,從而使行輸入不全為“1”。判斷鍵盤中哪一個鍵按下。由列線逐列置低電平后,檢查行輸入狀態(tài)。其方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為“1”,則所按下之鍵不在此列。如果不全為“1”,則所按下之鍵必在此列,而且是在與低電平行線相交的交點上的那個鍵。確定鍵盤上每個鍵的鍵值。鍵值賦值的最直接辦法是將行、列線按二進制順序排列,當某一鍵按下時,鍵盤掃描程
41、序執(zhí)行到該列置“0”電平,讀出各行狀態(tài)為非全“1”狀態(tài),這時的行、列數據組合成鍵值。鍵盤與單片機接口矩陣式鍵盤適用于按鍵數量較多的場合,它由行線和列線組成,按鍵位于行、列的交叉點上。一個4*4的行、列結構可以構成一個有16個按鍵的鍵盤。3.2.2LED顯示單片機應用系統(tǒng)中使用的顯示器主要有發(fā)光二極管顯示器,簡稱LED(LightEmittingDiode),近幾年也有配置CRT顯示器的。而目前在單片機系統(tǒng)中,通常用LED數碼顯示器來顯示各種數字或符號。由于它具有顯示清晰、亮度高、使用電壓低、壽命長的特點,因此使用非常廣泛。單片機中通常用七段LED構成字型“8”,另外,還有一個小數點發(fā)光二極管以
42、顯示小數位!這種顯示器有共陰和共陽兩種!發(fā)光二極管的陽極連在一起的(公共端)稱為共陽極顯示器,陰極連在一起的稱為共陰極顯示器。(1)LED顯示結構與原理LED(LightEmintngDiode)是當外加電壓超過額定電壓時發(fā)生擊穿而發(fā)出可見光。LED的工作電流通常在220mA范圍內,工作壓降2V左右,使用時必須加限流電阻。單片機應用系統(tǒng)通常使用8個發(fā)光二被管顯示器。其中7個發(fā)光二極管構成7筆字形,另一個構成小數點,通稱7段LED。LED分為共陰極接法(8個發(fā)光二極管陰極連在一起)和共陽極接法(8個發(fā)光二極管的陽極接在一起)。通過控制這個公共端,可使該位亮或暗。如共陰極端接地或共陽極接高電平,則
43、該位顯示器有效,反之無效。一位顯示器由8個發(fā)光二極管組成,其中,7個發(fā)光二極管構成字型“8”的各個筆劃(段)a_g,另一個小數點為dp發(fā)光二極管。當在某段發(fā)光二極管上施加一定的正向電壓時,該段筆畫即亮;不加電壓則暗。為了保護各段LED不被損壞,需外加限流電阻。(2)LED顯示器接口及顯示方式LED顯示器有靜態(tài)顯示方式和動態(tài)顯示方式兩種。靜態(tài)顯示就是當顯示器顯示某個字符時,相應的段恒定的導通或截止,直到顯示另一個字符為止。LED顯示器工作于靜態(tài)顯示方式時,各位的共陰極接地;若為共陽極則接+5V電源。正因為如此,靜態(tài)顯示器的亮度較高。這種顯示方式編程容易,管理也較簡單,但占用I/O口線資源較多。因
44、此,在顯示位數較多的情況下,一般都采用動態(tài)顯示方式。動態(tài)掃描是將各個LED數碼管的7段字線并聯使用,而每個數碼管的公共極(共陰極或共陽極)分別通過驅動器接I/O的一個口線。當輪流選通每個數碼管的公共極時,則數碼管將輪流顯示有關字符。由于入的視覺特性、所能看到的是同時燃亮的字符。3.2.3晶振電路簡單地說沒有晶振電路就沒有時鐘周期,沒有時鐘周期,就無法執(zhí)行程序代碼,單片機就無法工作。單片機工作時,是一條一條地從ROM中取指令,然后一步一步的執(zhí)行。單片機訪問一次存儲器的時間,稱之為而一個機器周期,這是一個時間基準。一個機器周期包括12個時鐘周期。如果一個單片機選擇了12MHZ晶振,它的時鐘周期是l
45、/12us,它的一個機器周期是12*(1/12)us,也就是lus。單片機的晶振電路是一種典型電路,分為內部時鐘方式和外部時鐘方式兩種。內部時鐘的晶振頻率一般選擇在4MHZ12MHZ之間,外接兩個諧振電容,該電容的典型值為30pF但是在實際應用時,需根據實際起振情況選擇。如果單片機的時鐘必須使用某一個外接的時鐘信號,就不要外界晶振。由于此時的外接晶振引腳上沒有晶振信號輸入,內部的時鐘電路將停振。這種方式稱為外部時鐘方式。3.3功能和原理圖3.3.1實現功能矩陣式鍵盤中的鍵實際上就是一個機械開關,該開關位于行線和列線的交點處。本設計使用的是4行*4列的16鍵陣列式鍵盤,當鍵被按下時,其交點的行線
46、和列線接通,相應行線或列線的電平發(fā)生變化,從而確定被按下的功能鍵。在仿真軟件中,按下相應的功能鍵后,LED顯示器就會顯示出0f相應的字符。3.3.2硬件電路原理圖C1RP1RESPACK-830pFC230pFR110K0C3riXTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1件XDP1.2P3.24NT0P1
47、.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD口X1“crYstAL718910uF2931TI10RR1393837363534212223242526272811RR2RR3RR4CR1CR2CR317CR4圖3-1:硬件電路原理圖3.4系統(tǒng)與硬件的連接把“單片機系統(tǒng)”區(qū)域中的P3.0-P3.7端口連接到“4X4行列式鍵盤”區(qū)域中的C1-C4R1-R4端口上。把“單片機系統(tǒng)”區(qū)域中的P0.0/AD0P0.7/AD7端口連接到“四路靜態(tài)數碼顯示模塊”區(qū)域中的任一a-h端口上;要求:P0.0/AD0對應著a,P0.1/AD1對應著
48、b,P0.7/AD7對應著h。第四章系統(tǒng)軟件設計4.1程序框圖P3=FFHnP3.2=0肓鍵按下嗎?有鍵按下嗎?延時10ms延時10ms真得有鍵按下嗎?真得有鍵按下嗎?根據當前狀態(tài)識別按腱根據當前狀態(tài)識別按鍵P3=FFHnP3.1=0P3=FFHnP3.3=0有鍵按下嗎?有鍵按下嗎?延時10ms延時10ms真得有鍵按下嗎?真得有鍵按下嗎?根據當前狀態(tài)識別按薩根據當前狀態(tài)識別按鍵P3=FFHnP3.0=0圖4-1:程序框圖4.2源程序匯編語言(AssemblyLanguage)是面向機器的程序設計語言.匯編語言是一種功能很強的程序設計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言。匯編作
49、為一門語言具有編程語言的一般特性,而高級語言大都編譯為匯編指令,最終轉化為機器指令得以執(zhí)行。本設計是采用匯編語言設計的,4X4矩陣式鍵盤程序如下:掃描結果是0,1,2,3,4,5,6,7,&9,a,b,c,d,e,f檢測按鍵子程序BUTTON_NUMBEREQU55H;鍵盤掃描結果KEY_TEST:MOVP1,#OFOH;MOVA,P1ORLA,#0FHCPLAJNZPRESS_BUTTONAJMPBACK1PRESS_BUTTON:CALLDELAY_20MSMOVR2,#0;存放按鍵值,從0開始MOVR4,#4;列掃描次數MOVR1,#11111110B;掃描第一行MOVA,R1LI:MO
50、VR3,#4MOVP1,AMOVA,P1RRCA;先右循環(huán)移動4次,使高四位變成第四位RRCARRCARRCAL2:RRCAJNCFINDINCR2;在1列內沒找到,使數字加1DJNZR3,L2;判斷4列掃描完了沒MOVA,R2ADDA,#4;在1行上沒找到,使數字加4MOVR2,AMOVA,R1RLA;左移掃描下一行MOVR1,ADJNZR5,L1;判斷4行掃描完了沒AJMPBACK1FIND:CHECK_丄OOSE:MOVPl,#0F0HMOVA,P1ORLA,#0FHCPLAJNZCHECK_LOOSECALLDELAY_20MSMOVBUTTON_NUMBER,R2AJMPBACK1D
51、ELAY_20MS:MOVRl,#0C8HL4:MOVR3,#018HL3:NOPNOPDJNZR3,L3DJNZR1,L4BACK1:RET第五章程序的編譯調試與仿真5.1程序的編譯第一步:雙擊KeiluVision2的桌面快捷方式,啟動Keil集成開發(fā)開發(fā)軟件。軟件啟動后的界面第二步:新建文本編輯窗。點擊工具欄上的新建文件快捷按鍵,即可在項目窗口的右側打開一個新的文本編輯窗第三步:輸入源程序。在新的文本編輯窗中輸入源程序,輸入匯編語言程序。第四步:保存源程序。保存文件時必須加上文件的擴展名,如果你使用匯編語言編程,那么保存時文件的擴展名為“.asm”。第五步:新建立Keil工程。點擊工程-
52、新建工程命令。在保存工程對話框中輸入你的工程的文件名,Keil工程默認擴展名為.uv2,輸入名稱后保存,將出現選擇設備對話框,在對話框中選擇CPU的型號。第六步:選擇CPU型號。為工程選擇CPU型號,本新建工程選擇了ATMEL公司的AT89C51.第七步:加入源程序到工程中。在選擇好CPU型號后,點擊確定按鈕返回主界面,此時可見到工程管理窗中出現“Target1”,點擊“Target1前面的“+”號展開下一層的“SourceGroup1”文件夾,此時的新工程是空的,“SourceGroup1”文件夾中什么文件都沒有,必須把剛才輸入的源程序加入到工程當中。右擊工程管理窗中的“SourceGrou
53、p1”,出現下拉菜單,點擊“增加文件到組SourceGroup1命令,將出現添加文件對話框。在添加文件對話框中,找到要添加到工程中的源程序文件。雙擊該文件lichl.asm,即可將該文件添加到工程當中,另外也可以單擊lichl.asm選中該文件,再點擊Add按鈕,也可以把文件加入工程中。此時此時應該點擊,確定”按鈕,返回到前一對話框,再點擊“關閉”按鈕,返回到主界面。當給工程添加源程序文件成功后,工程管理器中的“SourceGroup1”文件夾的前面會出現一個“+”號,單擊“+”號,展開文件夾,可以看到lich1.a,雙擊即可打開該文件進行編輯修改源程序第八步:工程目標Target1屬性設置。
54、在工程項目管理窗中的Target1文件夾上右擊,出現下拉菜單,點擊“目標Target1屬性”命令,就進入目標屬性設置界面。工程目標屬性設置。該頁面單片機的晶振頻率、存儲器等,我們把晶振的頻率改為11.0592,工程輸出設置。注意:如果要進行單片機寫片實驗,則一定要把“E生成HEX文件”選項選中,程序編譯后才能生成我們寫單片機需要的HEX格式目標文件。工程調試設置。該頁分為左右兩半,左半邊是軟件仿真設置,而右半邊是硬件仿真設置,當你使用軟件仿真時,選中左邊的“S使用仿真器”;如果你使用硬件仿真器,那么就按下圖所示設置硬件仿真,同時把仿真器連接到你的電腦串口上。串口設置。串口號根據你的仿真器實際連
55、接來設置,如你把仿真器接到COM2,那么就選擇COM2;通信波特率選擇38400即可。第九步:源程序的編譯成功此時我們可以在文本編輯窗中繼續(xù)輸入或修改我們的源程序,使程序實現我們的目標,在檢查程序無誤后保存工程。接著點擊“構造目標”快捷按鈕,進行源程序的編譯連接,源程序編譯相關的信息會出現在輸出窗口中的“構造”頁中。即顯示編譯結果為0錯誤,0警告,同時產生了目標文件lichl.hex。我們可以對源程序進行反復修改,再編譯,直到沒有錯誤為止。注意:每次修改源程序后一定要保存。5.2調試與仿真1、假若Keil與Proteus均已正確安裝在C:ProgramFiles的目錄里,把C:ProgramFilesLabcenterElectronicsProte
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省徐州市2024-2025學年高三下學期2月調研測試數學試卷(解析版)
- 內蒙古自治區(qū)赤峰市松山區(qū)2024-2025學年八年級上學期期末物理試題(原卷版+解析版)
- 4.3 探究熔化和凝固的特點 說課稿 2025年初中物理八年級上學期
- 年計生工作計劃
- 園長學期工作計劃
- 《深度學習項目案例開發(fā)》課件-任務三 使用數據增強抑制卷積神經網絡過擬合
- 浙江省臺州市溫嶺中學2024-2025學年高三下學期3月考試數學試題(原卷版+解析版)
- 《跨境電商》課件-8.產品優(yōu)化操作
- 農產品質量追溯與物流一體化解決方案
- 建設工程施工分包委托協(xié)議書
- 2025年聚焦全國兩會知識競賽題庫及答案(共100題)
- 2024智能網聯汽車零部件行業(yè)研究報告-2025-01-智能網聯
- 統(tǒng)計學專業(yè)大學生職業(yè)生涯發(fā)展
- 2025年中國融通資產管理集團限公司春季招聘(511人)高頻重點提升(共500題)附帶答案詳解
- 急性心肌梗死的急救與護理
- GB/T 9755-2024合成樹脂乳液墻面涂料
- T-CAMET 05002-2020 城市軌道交通隧道抗風壓防火門工程技術規(guī)范
- 2024年人力資源和社會保障部公開招聘工作人員歷年管理單位遴選500模擬題附帶答案詳解
- 文化地理學前沿理論-洞察分析
- 中國算力中心服務商分析報告(2024年)
- DB36T 1452-2021 城鎮(zhèn)地理實體空間數據規(guī)范
評論
0/150
提交評論