單片機應(yīng)用實踐——基于鍵盤輸入單元的單片機實驗或仿真和C語言開發(fā)_第1頁
單片機應(yīng)用實踐——基于鍵盤輸入單元的單片機實驗或仿真和C語言開發(fā)_第2頁
單片機應(yīng)用實踐——基于鍵盤輸入單元的單片機實驗或仿真和C語言開發(fā)_第3頁
單片機應(yīng)用實踐——基于鍵盤輸入單元的單片機實驗或仿真和C語言開發(fā)_第4頁
單片機應(yīng)用實踐——基于鍵盤輸入單元的單片機實驗或仿真和C語言開發(fā)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計任務(wù)書學(xué)生姓名: 專業(yè)班級: 指導(dǎo)教師: 工作單位: 題目:基于鍵盤輸入單元的單片機實驗或仿真和C語言開發(fā)初始條件:具備單片機和C語言的理論知識;具備電子電路的基礎(chǔ)知識和設(shè)計能力;具備查閱資料的基本方法;熟悉常用的電子器件;熟悉Protues、Keil軟件的使用。要求完成的主要任務(wù):(包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)1設(shè)計一種基于單片機的行列式鍵盤輸入模塊,能檢測并判斷是否有鍵按下;對按鍵開關(guān)進(jìn)行時延的消抖;確定按鍵的鍵值,并實現(xiàn)相應(yīng)狀態(tài)的輸入顯示。2要求進(jìn)行電路實驗或仿真,使用C語言進(jìn)行程序的開發(fā)。時間安排:一周,其中3天程序設(shè)計,2天程序調(diào)試指導(dǎo)教師簽名:

2、 年 月 日系主任(或責(zé)任教師)簽名: 年 月 日武漢理工大學(xué)單片機應(yīng)用實踐課程設(shè)計說明書目 錄摘要I1 概述11.1 51單片機簡介11.2 Keil軟件簡介21.3 Protues軟件簡介32 總體設(shè)計52.1 功能分析52.2 系統(tǒng)總體設(shè)計53 硬件模塊73.1 矩陣鍵盤輸入模塊73.2 STC89C51最小系統(tǒng)模塊83.3 LCD1602液晶顯示模塊93.4 循環(huán)流水燈模塊104 程序代碼115 Protues仿真146 實物制作及調(diào)試156.1 實物展示156.2 實物調(diào)試177 心得與體會20參考文獻(xiàn)21附錄:元件清單表22摘要此次單片機應(yīng)用實踐目的是基于鍵盤輸入單元的單片機實驗或

3、仿真和C語言開發(fā)。本文先就本次應(yīng)用實踐進(jìn)行功能分析和系統(tǒng)設(shè)計,之后詳細(xì)介紹了各個硬件模塊,給出了程序代碼,并通過Protues對設(shè)計電路進(jìn)行仿真。然后附上了實物制作圖及調(diào)試結(jié)果。本次應(yīng)用實踐完成了基于單片機的行列式鍵盤輸入模塊,能檢測并判斷是否有鍵按下;對按鍵開關(guān)進(jìn)行時延的消抖;確定按鍵的鍵值,并實現(xiàn)相應(yīng)狀態(tài)的輸入顯示;同時拓展了控制循環(huán)流水燈功能。關(guān)鍵詞:單片機,矩陣鍵盤,C語言,Protues1AbstractThe purpose of this practice is to do microcontroller application experiment or simulation

4、and C language development that based on keyboard input unit. This article first on this application practice functional analysis and system design, and then details the various hardware modules, gives the program code and design by Protues circuit simulation. Then attach the physical production and

5、 commissioning results in Fig. The completed application practice microcontroller-based determinant of the keyboard input module that can detect and determine whether a key is pressed; the key switch to debounce delay; OK button keys, and enter the appropriate state to achieve display; at the same t

6、ime expand the control loop water lights function.Keywords: Microcontroller, Matrix keyboard, C language, ProtuesIII1 概述1.1 51單片機簡介單片機,全稱單片微型計算機(single-chip microcomputer),又稱微控制器(microcontroller),是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計數(shù)器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬

7、多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機系統(tǒng),在工業(yè)控制領(lǐng)域廣泛應(yīng)用。與應(yīng)用在個人電腦中的通用型微處理器相比,它更強調(diào)自供應(yīng)(不用外接硬件)和節(jié)約成本。運算器由運算部件算術(shù)邏輯單元、累加器和寄存器等幾部分組成。算術(shù)邏輯單元的作用是把傳來的數(shù)據(jù)進(jìn)行算術(shù)或邏輯運算,輸入來源為兩個8位數(shù)據(jù),分別來自累加器和數(shù)據(jù)寄存器。算術(shù)邏輯單元能完成對這兩個數(shù)據(jù)進(jìn)行加、減、與、或、比較大小等操作,最后將結(jié)果存入累加器;控制器由程序計數(shù)器、指令寄存器、指令譯碼器、時序發(fā)生器和操作控制器等組成,是發(fā)布命令的“決策機構(gòu)”,即協(xié)調(diào)和指揮整個微機系統(tǒng)的操作;主要寄存器包括:累加器A、數(shù)

8、據(jù)寄存器DR、指令寄存器IR、指令譯碼器ID、程序計數(shù)器PC、地址寄存器AR等。51單片機是對所有兼容Intel 8031指令系統(tǒng)的單片機的統(tǒng)稱。該系列單片機的始祖是Intel的8031單片機,后來隨著Flash rom技術(shù)的發(fā)展,8031單片機取得了長足的進(jìn)展,成為應(yīng)用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應(yīng)用于工業(yè)測控系統(tǒng)之中。很多公司都有51系列的兼容機型推出,今后很長的一段時間內(nèi)將占有大量市場。51單片機是基礎(chǔ)入門的一個單片機,還是應(yīng)用最廣泛的一種。52系列的單片機一般不具備自編程能力。MCS-51單片機內(nèi)部包含哪些主要邏輯功能部件有:(1)一個8位的

9、微處理器CPU。(2)一個片內(nèi)振蕩電路和時鐘電路,只需外面接上一晶振或輸入振蕩信號就可產(chǎn)生單片機所需要的各種時鐘信號。 (3)4KB的片內(nèi)程序存儲器ROM,用于燒錄運行的程序、常數(shù)數(shù)據(jù)。(4)128B的片內(nèi)數(shù)據(jù)存儲器RAM,在程序運行時可以隨時寫入數(shù)據(jù)和讀出,用于存放函數(shù)相互傳遞的數(shù)據(jù)、接收的外部數(shù)據(jù)、最后結(jié)果以及顯示的數(shù)據(jù)等。(5)可尋址64KB外部數(shù)據(jù)存儲器和64KB外部程序存儲空間的控制電路。(6)4個8位并行I/O端,每個端口既可以用作輸入,也可以用于輸出。 (7)兩個16位的定時器/計數(shù)器,每個定時器/計數(shù)器可以設(shè)置為計數(shù)方式,用于對外部事件信號進(jìn)行計數(shù),也可以設(shè)置為定時方式,滿足各

10、種定時要求。 (8)一個可編程全雙工串行I/O口,用于單片機之間的串行通信,或者單片機與PC機、其它設(shè)備、其它芯片之間的串行通信。 (9)5個中斷源、兩個優(yōu)先級嵌套中斷系統(tǒng)。1.2 Keil軟件簡介單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-5

11、1系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境將這些部分組合在一起。 (1)系統(tǒng)概述 Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。 (2)Keil C51單片機軟件開發(fā)系統(tǒng)

12、的整體結(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)。目標(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中。

13、(3)Keil C51單片機軟件開發(fā)系統(tǒng)的優(yōu)點首先,Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。其次,與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。1.3 Protues軟件簡介 Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件,從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計,迄今為止是世界上唯一將電路仿真軟件、PCB設(shè)計軟件和

14、虛擬模型仿真軟件三合一的設(shè)計平臺。   Proteus軟件的特點是:(1)實現(xiàn)了單片機仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。 (2)支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。 (3)提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能

15、,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。(4)具有強大的原理圖繪制功能。Proteus是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。 Proteus不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當(dāng)程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機實驗教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、

16、運行結(jié)果等。課程設(shè)計、畢業(yè)設(shè)計是學(xué)生走向就業(yè)的重要實踐環(huán)節(jié)。由于Proteus提供了實驗室無法相比的大量的元器件庫,提供了修改電路設(shè)計的靈活性、提供了實驗室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學(xué)生實踐精神、創(chuàng)造精神的平臺隨著科技的發(fā)展,“計算機仿真技術(shù)”已成為許多設(shè)計部門重要的前期設(shè)計手段。它具有設(shè)計靈活,結(jié)果、過程的統(tǒng)一的特點??墒乖O(shè)計時間大為縮短、耗資大為減少,也可降低工程制造的風(fēng)險。相信在單片機開發(fā)應(yīng)用中Proteus也能茯得愈來愈廣泛的應(yīng)用。2 總體設(shè)計2.1 功能分析 此次課設(shè)的題目是基于鍵盤輸入單元的單片機實驗或仿真和C語言開發(fā):設(shè)計一種基于單片機的行列式鍵盤輸

17、入模塊,能檢測并判斷是否有鍵按下;對按鍵開關(guān)進(jìn)行時延的消抖;確定按鍵的鍵值,并實現(xiàn)相應(yīng)狀態(tài)的輸入顯示。要求進(jìn)行電路實驗或?qū)嶒?,并使用C語言進(jìn)行程序的開發(fā)。 設(shè)計電路采用STC89C51單片機作為核心,由矩陣鍵盤電路、譯碼電路、顯示電路、流水燈電路等模塊構(gòu)成,分別對按鍵信息和顯示電路以及軟、硬件各個部分進(jìn)行控制。實際運作時,單片機會將檢測到的按鍵信號處理、轉(zhuǎn)換成數(shù)字,顯示于LCD1602液晶上。系統(tǒng)主要結(jié)構(gòu)可以拆分如下:(1)矩陣鍵盤:按鍵傳送輸入信息;本次設(shè)計使用16個獨立的按鍵形成4*4矩陣鍵盤;(2)STC89C51:采用軟件編程來實現(xiàn)按鍵信息的提取和轉(zhuǎn)換;(3)LCD1602液晶:用于顯

18、示最終被單片機轉(zhuǎn)換過的按鍵信息。(4)8個相同的發(fā)光二極管:通過軟件程序編寫來控制流水燈左右循環(huán)移位。2.2 系統(tǒng)總體設(shè)計系統(tǒng)總體設(shè)計框圖如圖1所示,整個系統(tǒng)采用+5V直流供電,由4*4矩陣鍵盤輸入,單片機檢測并判斷是否有鍵按下,當(dāng)有按鍵被按下時,按鍵信息被輸入到經(jīng)過編程的單片機STC89C51中進(jìn)行提取與轉(zhuǎn)換:對按鍵開關(guān)進(jìn)行時延的消抖,同時確定按鍵的鍵值,最后實現(xiàn)將相應(yīng)狀態(tài)的輸入顯示到LCD1602液晶上以及控制流水燈電路。 4*4矩陣鍵盤 STC89C51單片機 流水燈電路 液晶顯示電路圖1 系統(tǒng)總體設(shè)計框圖 系統(tǒng)可以完成檢測并判斷是否有鍵按下;對按鍵開關(guān)進(jìn)行時延的消抖;確定按鍵的鍵值,并

19、實現(xiàn)相應(yīng)狀態(tài)的輸入顯示;同時拓展了控制循環(huán)流水燈功能。通過keil編程和protues仿真可以實現(xiàn)并驗證系統(tǒng)是否完成相應(yīng)的功能及其拓展功能。3 硬件模塊圖2 總體電路圖3.1 矩陣鍵盤輸入模塊圖3 矩陣鍵盤輸入模塊本次設(shè)計采用4*4的矩陣鍵盤,如圖3所示。矩陣鍵盤的行線和列線分別通過兩并行接口和CPU通信,按鍵設(shè)置在行、列交點上,行、列線分別連接到按鍵開關(guān),行線通過上拉電阻接到+5V上。在接鍵盤的行線和列線的兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),為回饋信號。由行掃描值和列回饋信號共同形成鍵編碼。用STC89C51的并行口P1設(shè)計4*4矩陣鍵盤,其接鍵盤行線

20、,輸出接地信號,接列線,輸入回饋信號,以檢測按鍵是否按下。此外,還要消除按鍵在閉合或斷開時的抖動。消除抖動的方法采用延時方式軟件消除抖動(延時后再重讀,以跳過抖動期)。K1K2K3K4K5K6K7K8顯示“1”顯示“2”顯示“3”顯示“4”顯示“5”顯示“6”顯示“7”顯示“8”K9K10K11K12K13K14K15K16顯示“9”選中第一位選中第二位選中第三位加1減1燈定時左移燈定時右移按鍵從左至右,從上到下依次記為K1-K16,各鍵具有的功能如表1所示:表1 矩陣鍵盤按鍵含義表3.2 STC89C51最小系統(tǒng)模塊 STC89C51單片機的最小系統(tǒng)模塊由STC89C51單片機、時鐘電路和復(fù)

21、位電路構(gòu)成,如圖4所示。圖4 STC89C51最小系統(tǒng)模塊1、 時鐘電路: 單片機的時鐘信號用來提供單片機內(nèi)各種微操作的時間基準(zhǔn)。8XX51單片機的時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳XTAL1和XTAL2外接晶振就構(gòu)成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反向放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器,產(chǎn)生時鐘脈沖。內(nèi)部振蕩中的兩個電容器起穩(wěn)定振蕩頻、快速起振的作用,電容值一般為5-30pF。內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定實用電路中使用較多。外部振蕩方式是把已有的時鐘信號引入單片機內(nèi)。這種方式適宜用來使單片機的時鐘與外部信號保持一致。本次課程設(shè)計的時鐘電路

22、采用內(nèi)部振蕩方式。2、復(fù)位電路: 復(fù)位操作完成單片機內(nèi)電路的初始化,使單片機從一確定的狀態(tài)開始運行。當(dāng)8XX51單片機的復(fù)位引腳RST出現(xiàn)5ms以上的高電平時,單片機就完成了復(fù)位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序,因此要求單片機復(fù)位后能脫離復(fù)位狀態(tài)。復(fù)位操作通常有兩種基本形式:上電復(fù)位、開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。開關(guān)復(fù)位要求在電源接通的條件下,在單片機運行期間,如果發(fā)生死機,用按鈕開關(guān)操作使單片機復(fù)位。圖4中的復(fù)位電路為上電且開關(guān)復(fù)位電路,上電后,由于電容充電,使RST持續(xù)一段高電平時間,從而實現(xiàn)上電且開關(guān)復(fù)位的操作。通常選擇。3.

23、3 LCD1602液晶顯示模塊本方案采用LCD1602液晶來顯示按鍵的鍵值及鍵值的變化,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。圖5 LCD1602液晶顯示模塊如圖5所示,為LCD1602液晶顯示的接線圖。其中RS(數(shù)據(jù)/命令選擇)、RW(讀/寫選擇)、E(使能信號)為控制端,連接至單片機的P0口的5、6、7腳,D0-D7為數(shù)據(jù)端,連接至單片機的P2口。3.4 循環(huán)流水燈模塊循環(huán)流水燈模塊電路采用8個相同的發(fā)光二極管組成,上拉

24、100的電阻的主要目的是起限流保護二極管的作用。電路接到單片機的P0和P3口,軟件程序通過單片機的提取和轉(zhuǎn)換來控制流水燈左循環(huán)移位或者右循環(huán)移位。圖6 流水燈模塊4 程序代碼系統(tǒng)主函數(shù)如下所示:#include<reg52.h>#include <LCD1602.h>#include<key.h>unsigned char j = 0;unsigned char a,b=0,c3=0,m=0,LED;void main() LCD1602_Init(); /LCD1602初始化 T0_init(); /定時器0初始化 LED=0XFE; while(1) a

25、=keyscan(); /按鍵掃描if(a>0&&a<10) /鍵值為1-9,顯示鍵值cb=a;Disp1Char(b+12,1,cb+0x30); if(a=10) b=0; /鍵值為10,選中百位if(a=11) b=1; /鍵值為11,選中十位if(a=12) b=2; /鍵值為12,選中個位if(a=13) /鍵值為13,進(jìn)行加1顯示a=0;cb+=1;if(cb=10) cb=0;Disp1Char(b+12,1,cb+0x30); if(a=14) /鍵值為14,進(jìn)行減1顯示a=0;if(cb=0) cb=10;cb-=1;Disp1Char(b+12,

26、1,cb+0x30); if(a=15) /鍵值為15,LED流水燈1s循環(huán)左移 TR0 = 1;m=1;if(a=16) /鍵值為16,LED流水燈1s循環(huán)左移 TR0 = 1;m=2;void T0_init() /T0初始化TMOD = 0x01;TH0 = (65536-50000) / 256;TL0 = (65536-50000) % 256;EA = 1;ET0 = 1;void T0_ser() interrupt 1 /T0中斷服務(wù)TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;j+;if(j=20) /每1s移位一次j = 0

27、;if(m=1) P0=(P0|0x1f)&(LED>>3)|0xe0);P3=LED;LED =(LED<<1)|(LED>>7);if(m=2) P0=(P0|0x1f)&(LED>>3)|0xe0);P3=LED;LED =(LED>>1)|(LED<<7);5 Protues仿真圖7 Protues仿真電路將程序代碼在Keil中進(jìn)行編譯和連接,生成KEX文件,再把Keil生成的HEX文件下載到Protues仿真的單片機中,在元器件都找到后,我們可以先進(jìn)行排版再按照電路圖連接,然后可以點擊運行觀察現(xiàn)象

28、,看與自己設(shè)置的符合否,如果不相符再查找錯誤進(jìn)行修改,尤其注意程序的部分。圖8 Protues仿真結(jié)果6 實物制作及調(diào)試6.1 實物展示矩陣鍵盤采用印制電路板(PCB線路板)制作:圖9 矩陣鍵盤元件圖圖10 矩陣鍵盤焊接電路主體部分采用萬用板手工焊接:圖12 單片機最小系統(tǒng)、液晶顯示及流水燈元件圖圖13 單片機最小系統(tǒng)及流水燈焊接電路6.2 實物調(diào)試將各電路板根據(jù)電路圖用杜邦線連接好,檢查電路連接無誤后接上直流+5V電源,此時LCD1602液晶顯示屏亮起,屏幕顯示“The key is: ”。調(diào)試時,首先依次按下K1K9鍵時顯示屏分別顯示數(shù)字19;按下K10鍵之后再任意按下數(shù)字鍵,該位數(shù)值變?yōu)?/p>

29、該數(shù)字鍵對應(yīng)數(shù)值;按下K11鍵之后再任意按下數(shù)字鍵,出現(xiàn)第二位且數(shù)值為該數(shù)字鍵對應(yīng)數(shù)值;按下K12鍵之后再任意按下數(shù)字鍵,出現(xiàn)第三位且數(shù)值為該數(shù)字鍵對應(yīng)數(shù)值;按下K10鍵選中第一位之后再按下K13鍵,第一位數(shù)值加一;按下K10鍵選中第一位之后再按下K14鍵,第一位數(shù)值減一;按下K15鍵,流水燈由左至右循環(huán)亮起;按下復(fù)位鍵之后再按下K16鍵,流水燈由右至左循環(huán)亮起;在任何狀態(tài)下按下復(fù)位鍵,顯示屏清空、流水燈全滅。圖1417為實物調(diào)試過程記錄。圖14 調(diào)試按鍵K3按下圖15 調(diào)試流水燈右循環(huán)圖16 調(diào)試流水燈左循環(huán)圖17 調(diào)試輸入三位數(shù)675所以,各按鍵的功能為:K1K9:輸入數(shù)字19;K10:選中第一位;K11:選中第二位;K12:選中第三位;K13:加一;K14:減一;K15:流水燈右循環(huán)亮起;K16:流水燈左循環(huán)亮起。7 心得與體會本次單片機應(yīng)用實踐課題為基于鍵盤輸入單元的單片機實驗或仿真和C語言開發(fā),從拿到題到查資料,從完善原理圖到寫報告文檔,我收獲了許多。不僅要運用學(xué)過的單片機、C語言編程等知識,還要學(xué)會查閱各種圖書資料和工具書,并將新知識和所學(xué)的結(jié)合起來為自己所用。     通過此次單片機應(yīng)用實踐,一方面進(jìn)一步鞏固了所學(xué)的知識,理論和實踐

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論