武漢理工大學單片機課程設計-報告_第1頁
武漢理工大學單片機課程設計-報告_第2頁
武漢理工大學單片機課程設計-報告_第3頁
武漢理工大學單片機課程設計-報告_第4頁
武漢理工大學單片機課程設計-報告_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上單片機實習報告書 學生姓名: 車 琳 專業(yè)班級: 通信1101班 指導教師: 鐘 毅 工作單位: 信息工程學院 中文標題: 基于51單片機鍵盤通信系統(tǒng) 英文標題:basic on stc 51 keyboard communication system要求完成的主要任務: 1.單片機最小系統(tǒng)的設計、焊接、調試。(包括4X4鍵盤、顯示電路、及串行接口通信)2.完成ISP下載電路的設計、焊接。3.完成系統(tǒng)軟件的設計,包括程序結構設計、流程圖繪制、程序設計。(實現(xiàn)功能選擇、數(shù)據(jù)輸入、數(shù)據(jù)顯示、數(shù)據(jù)通信等功能)4.利用仿真軟件完成系統(tǒng)仿真工作5.在單片機最小系統(tǒng)硬件上實現(xiàn)任務

2、實習目的:1理論目的 實習目的之一是為了鞏固課堂理論學習,并能用所學理論知識應用于實際的應用系統(tǒng)中。2實踐目的實習目的之二是通過設計具體的鍵盤及串口通信來掌握單片機的硬件電路的設計、焊接以及軟件設計,鍛煉實際動手能力。時間安排:序號階段內容 所需時間序號階段內容 所需時間1方案設計 2天5電路焊接 2天2硬件設計 2天6系統(tǒng)調試 1天3軟件設計 3天7實習報告 1天4系統(tǒng)仿真 1天 合 計 12天專心-專注-專業(yè)目 錄摘 要 單片機就是一塊硅片上集成了微處理器、存儲器及各種輸入輸出接口的芯片,這樣的芯片就具有了計算機的屬性,因而被稱為單片微型計算機,簡稱單片機。由RAM ,ROM,CPU構成,

3、定時,計數(shù)和多種接口于一體的微控制器。它體積小,成本低,功能強,廣泛應用于智能產(chǎn)業(yè)和工業(yè)自動化上。而51系列單片機是各單片機中最為典型和最有代表性的一種。這次課程設計通過對它的學習,應用,從而達到學習、設計、開發(fā)軟、硬的能力。本次課程設計包括STC89S52單片機最小系統(tǒng)包括復位和時鐘電路及供電系統(tǒng)、4×4矩陣鍵盤、獨立6個8段LED數(shù)碼管顯示電路以及串口通信。4X4矩陣鍵盤將16個按鍵排成4行4列,第一行將每個按鍵的一端連接在一起構成一個行線,第一列的將每個按鍵的另一端連接在一起構成列線,我們將這八根線接到單片機的8個I/O口上,通過程序掃描鍵盤就可以16個鍵。而數(shù)碼顯示管則是由八

4、個發(fā)光二極管點亮,分為共陰極和共陽極。串行通信是將數(shù)據(jù)字節(jié)分成為一位一位的形式在一條傳輸線上逐個的傳送,此時只需要一條數(shù)據(jù)線,外加一條公共信號地線和若干控制信號線。關鍵詞: 單片機 矩陣鍵盤 串口通信 數(shù)碼顯示管 Abstract Single-chip computer is a piece of silicon wafers used microprocessor, memory, and various input/output interface chip, chip has the computer such as the properties of the so called si

5、ngle chip microcomputer, referred to as "single chip microcomputer.By RAM, ROM and CPU, timing, count and various interface in the integration of the micro controller.It has small volume, low cost, strong function, is widely used in intelligent industry and industrial automation.And 51 series m

6、icrocontroller is the single chip microcomputer in one of the most typical and most representative.Of the study and application of the curriculum design based on it, so as to study, design and develop the ability of soft and hard. The curriculum design includes STC89S52 SCM smallest system including

7、 reset and clock circuit and power supply system, 4 * 4 matrix keyboard, independent six section 8 of the LED digital tube display circuit and serial communication.4 x4 matrix keyboard will be 16 in 4 row four columns, the first line of each key-press together constitute a line at the end of the lin

8、e, the first column of each key-press together constitute a column on the other side of the line, we are going to the eight lines received eight microcontroller I/O port, by scanning the keyboard can be 16 key program.The digital display tube is composed of eight leds light up, divided into common c

9、athode and anode.Serial communication is the data bytes into an a on a transmission line one by one, in the form of transmission, at this time, only need a cable with a public signal ground and several control signal lines. Key words: single chip microcomputer matrix keyboard serial communication di

10、gital display tube1 引言1.1單片機介紹單片機就是一塊硅片上集成了微處理器、存儲器及各種輸入輸出接口的芯片,這樣的芯片就具有了計算機的屬性,因而被稱為單片微型計算機,簡稱單片機。通俗的語言來講,單片機就是一塊集成芯片,但這塊集成芯片具有一些特殊的功能,而它的功能的實現(xiàn)要靠我們使用者自己來編程完成,我們編程的目的就是控制這塊芯片的各個引腳在不同時間輸出不同的電平,進而控制與單片機各個引腳相連接的外圍電路的電氣狀態(tài)。即將計算機主機CPU、內存和I/O接口集成在一小塊硅片上的微型機。 圖1-1單片機內部結構圖一片MCS-51單片機芯片內包含一個8位CPU、振蕩器和時鐘電路、至少1

11、28字節(jié)的內部數(shù)據(jù)存儲器可尋址外部程序存儲器和數(shù)據(jù)存儲器個64k字節(jié)21個特殊功能寄存器4個并行I/O接口2個16位定時/計數(shù)器至少5個中斷源提供兩級中斷優(yōu)先級可實現(xiàn)兩級中斷服務程序嵌套。具有可位尋址功能有較強的布爾處理能力。各功能單元包括IO端口和定時器/計數(shù)器等都由特殊功能寄存器SFR集中管理 。 AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機,片內含8k bytes的可反復擦寫的只讀程序存儲器(PEROM)和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),與標準MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,

12、片內置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C52單片機適合于許多較為復雜控制應用場合。主要性能參數(shù):·與MCS-51產(chǎn)品指令和引腳完全兼容·8k字節(jié)可重擦寫Flash閃速存儲器·1000次擦寫周期·全靜態(tài)操作:0Hz24MHz·三級加密程序存儲器·256×8字節(jié)內部RAM·32個可編程IO口線·3個16位定時計數(shù)器·8個中斷源·可編程串行UART通道·低功耗空閑和掉電模式功能特性概述:AT89C52提供以下標準功能:8k字節(jié)Flash閃速存儲器,

13、256字節(jié)內部RAM,32個IO口線,3個16位定時計數(shù)器,一個6向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。芯片引腳圖如圖2所示。 圖1-2 AT89C52芯片引腳圖 P0口:P0口是一組8位漏極開路型雙向IO口,也即地址數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口P0寫“l(fā)”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數(shù)據(jù)總線復用,在訪問期間激活內部上拉電阻。P1口:P1是一個帶內部上拉電阻的8位雙向IO口,P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“l(fā)”

14、,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。P2口:P2是一個帶有內部上拉電阻的8位雙向IO口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“l(fā)”,通過內部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。P3口:P3口是一組帶有內部上拉電阻的8位雙向IO口。P3口輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“l(fā)”時,它們被內部上拉電阻拉高并可作為輸入端口。此時,

15、被外部拉低的P3口將用上拉電阻輸出電流(IIL)。RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。ALE:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的l6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。EA:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平

16、(接地)。XTAL1:振蕩器反相放大器的及內部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。1.2單片機最小系統(tǒng)1.2.1復位電路 復位電路,就是 利用它把電路恢復到起始狀態(tài)。以便回到原始狀態(tài),重新進行計算。復位電路主要有四種類型:(1)微分型復位電路;(2)積分型復位電路;(3)比較器型復位電路;(4)型復位電路。其最小系統(tǒng)復位電路如圖1-3所示。 圖1-3 復位電路 51單片機最小系統(tǒng)復位電路的極性電容的大小直接影響單片機的復位時間,一般采用10到30uF,51單片機最小系統(tǒng)容值越大需要的復位時間越短。51單片機最小系統(tǒng)晶振Y1也可以采用6MHz或者11.0592MHz,在正常

17、工作的情況下可以采用更高頻率的晶振,51單片機最小系統(tǒng)晶振的振蕩頻率直接影響單片機的處理速度,頻率越大處理速度越快。51單片機最小系統(tǒng)起振電容C2、C3一般采用15到33pF,并且電容離晶振越近越好,晶振離單片機越近越好。P0口為開漏輸出,作為輸出口時需加上拉電阻,阻值一般為10k。其他接口內部有上拉電阻,作為輸出口時不需外加上拉電阻。1.2.2振蕩電路51單片機有兩種振蕩方式,為內部振蕩和外部振蕩,內部振蕩方式所得到時鐘信號比較穩(wěn)定,在實際電路中,一般是選用內部振蕩方式。單片機的XTAL1腳和XTAL2腳之間并接一個晶體振蕩器就構成了內部振蕩方式。AT89S52單片機內部有一個高增益的反相放

18、大器,XTAL1為內部反相放大器的輸入端,XTAL2為內部反相放大器的輸出端,在其兩端接上晶振后,就構成了自激振蕩電路,并產(chǎn)生振蕩脈沖,振蕩電路輸出的脈沖信號的頻率就是晶振的固有頻率。在實際應用中通常還需要在晶振的兩端和地之間各并上一個小電容。實際的內部振蕩方式的電路如圖1-4所示。圖1-4 振蕩電路圖中,電容器C2、C3常稱為微調電容,其作用有三個:快速起振、穩(wěn)定振蕩頻率、微調振蕩頻率。AT89S52單片機允許外接033MHz的晶振,電容器C2、C3可取5pF33pF。一般情況下,使用頻率較低的晶振時,C1、C2的容量可選大一點。為了減少寄生電容,更好地保證振蕩器穩(wěn)定可靠地工作,在實際裝配電

19、路時,晶振X和電容C2、C3應盡可能地安裝在XTAL1(圖中為X1,單片機第19腳)、XTAL2(圖中為X2,單片機第18腳)引腳附近。1.3各功能模塊1.3.1 矩陣鍵盤電路在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口就可以構成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。確定矩陣式鍵盤上何鍵被按下用“行掃描法”。行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,第一步:判斷鍵盤中有無鍵按下,將全部行線置低電平,然后檢測列線的狀態(tài)。

20、只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。第二步:判斷閉合鍵所在的位置,在確認有鍵按下后,依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。 對矩陣鍵盤還要消除按鍵在閉合和斷開時的抖動??刹捎醚訒r方式軟件消除抖動。其連接電路如圖 1-5所示。圖1-5 矩陣鍵盤電路1.3.2 數(shù)碼管顯示電路7 段數(shù)碼管一般由 8 個發(fā)光二極管組成,其中由 7 個細長的發(fā)光二極管

21、組成數(shù)字顯示,另外一個圓形的發(fā)光二極管顯示小數(shù)點。當發(fā)光二極管導通時,相應的一個點或一個筆畫發(fā)光。控制相應的二極管導通,就能 顯示出各種字符, 盡管顯示的字符形狀有些失真,能顯示的數(shù)符數(shù)量也有限,但其控制簡單,使用也方便。 發(fā)光二極管的陽極連在一起的稱為共陽極數(shù)碼管, 陰極連在一起的稱為共陰極數(shù)碼管,如圖1-6 所示。 圖1-6 數(shù)碼管引腳排列7 段數(shù)碼管每段的驅動電流和其他單個LED發(fā)光二極管一樣,一般為 510mA;正向電壓隨發(fā)光材料不同表現(xiàn)為 1.82.5V 不等。 7段數(shù)碼管的顯示方法可分為靜態(tài)顯示與動態(tài)顯示,本設計只用到動態(tài)顯示,故只介紹動態(tài)顯示。所謂動態(tài)顯示就是一位一位地

22、輪流點亮各位顯示器(掃描),對于顯示器的每一位而言,每隔一段時間點亮一次。雖然在同一時刻只有一位顯示器在工作(點亮),但利用人眼的視覺暫留效應和發(fā)光二極管熄滅時的余輝效應,看到的卻是多個字符“同時”顯示。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需一個8位I/O口(稱為掃描口或字位口),控制各位LED顯示器所顯示的字形也需要一個8位口(稱為數(shù)據(jù)口或字形口)。 動態(tài)顯示器的優(yōu)點是節(jié)省硬件資源,成本較低,但在控制系統(tǒng)運行過程中,要保證顯示器正常顯示,CPU 必須每隔一段時間執(zhí)行一次顯示子程序,這占用了 CPU 的大量時間,降低了CPU工作效率,同時顯示亮度較靜態(tài)顯示器低。綜合以上考慮,本設

23、計用共陰數(shù)碼管做動態(tài)顯示。用鎖存器74HC573擴展P0口,其連接電路圖如圖1-7。圖1-7 數(shù)碼管1.3.3串行通信電路1 單片機串行通信方式介紹串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個地傳送。串行通信的特點:傳輸線少,長距離傳送時成本低,且可以利用電話網(wǎng)等現(xiàn)成的設備,但數(shù)據(jù)的傳送控制比并行通信復雜。51 單片機內部有一個全雙工串行接口。一般來說,只能接受或只能發(fā)送的稱為單工串行;既可接收又可發(fā)送,但不能同時進行的稱為半雙工;能同時接收和發(fā)送的串行口稱為全雙工串行口。SBUF 寄存器:它是兩個在物理上獨立的接收、發(fā)送緩沖器,可同時發(fā)送、接收數(shù)據(jù),可通過指令對SBUF 的讀寫來

24、區(qū)別是對接收緩沖器的操作還是對發(fā)送緩沖器的操作。從而控制外部兩條獨立的收發(fā)信號線RXD(P3.0)、TXD(P3.1),同時發(fā)送、接收數(shù)據(jù),實現(xiàn)全雙工。串行口控制寄存器SCON(見表1-1)。表1-1 串行口控制寄存器SCON表中各位(從左至右為從高位到低位)含義如下。SM0 和SM1 :串行口工作方式控制位,其定義如表1-2 所示。表1-2 串行口工作方式控制位其中,fOSC 為單片機的時鐘頻率;波特率指串行口每秒鐘發(fā)送(或接收)的位數(shù)。SM2 :多機通信控制位。 該僅用于方式2 和方式3 的多機通信。其中發(fā)送機SM2 1(需要程序控制設置)。接收機的串行口工作于方式2 或3,SM2=1 時

25、,只有當接收到第9 位數(shù)據(jù)(RB8)為1 時,才把接收到的前8 位數(shù)據(jù)送入SBUF,且置位RI 發(fā)出中斷申請引發(fā)串行接收中斷,否則會將接受到的數(shù)據(jù)放棄。當SM2=0 時,就不管第位數(shù)據(jù)是0 還是1,都將數(shù)據(jù)送入SBUF,并置位RI 發(fā)出中斷申請。工作于方式0 時,SM2 必須為0。REN :串行接收允許位:REN =0 時,禁止接收;REN =1 時,允許接收。TB8 :在方式2、3 中,TB8 是發(fā)送機要發(fā)送的第9 位數(shù)據(jù)。在多機通信中它代表傳輸?shù)牡刂坊驍?shù)據(jù),TB8=0 為數(shù)據(jù),TB8=1 時為地址。RB8 :在方式2、3 中,RB8 是接收機接收到的第9 位數(shù)據(jù),該數(shù)據(jù)正好來自發(fā)送機的TB

26、8,從而識別接收到的數(shù)據(jù)特征。TI :串行口發(fā)送中斷請求標志。當CPU 發(fā)送完一串行數(shù)據(jù)后,此時SBUF 寄存器為空,硬件使TI 置1,請求中斷。CPU 響應中斷后,由軟件對TI 清零。RI :串行口接收中斷請求標志。當串行口接收完一幀串行數(shù)據(jù)時,此時SBUF 寄存器為滿,硬件使RI 置1,請求中斷。CPU 響應中斷后,用軟件對RI 清零。電源控制寄存器PCON(見表1-3) 。表1-3 PCON寄存器表中各位(從左至右為從高位到低位)含義如下。SMOD :波特率加倍位。SMOD=1,當串行口工作于方式1、2、3 時,波特率加倍。SMOD=0,波特率不變。2 RS-232C接口RS-232C是

27、EIA(美國電子工業(yè)協(xié)會)1969年修訂RS-232C標準。RS-232C定義了數(shù)據(jù)終端設備(DTE)與數(shù)據(jù)通信設備(DCE)之間的物理接口標準。其功能特性如圖1-8所示。圖1-8 RS232C功能特性3.80C51串行口的工作方式 一、方式0方式0時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴展并行輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。二、方式1方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中1位起

28、始位,8位數(shù)據(jù)位,1位停止位。用軟件置REN為1時,接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進行最后一次移位。當RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進入RB8,并置RI=1,向CPU請求中斷。三、方式2和方式3方式2或方式3時為11位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳 。方式2和方式3時起

29、始位1位,數(shù)據(jù)9位(含1位附加的第9位,發(fā)送時為SCON中的TB8,接收時為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時器T1的溢出率決定。 四、波特率的計算在串行通信中,收發(fā)雙方對發(fā)送或接收數(shù)據(jù)的速率要有約定。通過軟件可對單片機串行口編程為四種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率來決定。串行口的四種工作方式對應三種波特率。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不相同。方式0的波特率 = fosc/12 (公式1)方式2的波特率 =(2SMO

30、D/64)* fosc (公式2)方式1的波特率 =(2SMOD/32)*(T1溢出率) (公式3)方式3的波特率 =(2SMOD/32)*(T1溢出率) (公式4)當T1作為波特率發(fā)生器時,最典型的用法是使T1工作在自動再裝入的8位定時器方式(即方式2,且TCON的TR1=1,以啟動定時器)。這時溢出率取決于TH1中的計數(shù)值。T1 溢出率 = fosc /12×256 (TH1) (公式5)在單片機的應用中,常用的晶振頻率為:12MHz和11.0592MHz。所以,選用的波特率也相對固定。常用的串行口波特率以及各參數(shù)的關系如表1-4所示。本實習所用晶振為11.0592MHz,選用定

31、時器1為波特率發(fā)生器工作于方式2,串口通信方式采用方式1,所以定時器1的初值為TH1=0XFD,TL1=0XFD。表1-4 常用波特率與定時器1的參數(shù)關系表2 仿真電路及實物調試運行圖2.1 整體電路仿真圖電路用proteus進行仿真,用兩塊單片機最小系統(tǒng)板進行實物搭建。主系統(tǒng)部分使用共陰極顯示屏,子系統(tǒng)部分使用共陽極顯示屏。整體電路仿真圖如圖3-1所示。圖3-1 整體電路仿真圖2.2 實物運行結果1)給單片機上電后,單片機顯示如下。如圖3-2所示圖3-2 數(shù)碼管初始顯示2) 按下數(shù)字鍵3,進行十進制數(shù)的輸入。此時數(shù)碼管顯示結果如圖3-3所示。圖3-3 數(shù)據(jù)輸入初始顯示圖3) 按下數(shù)據(jù)鍵,輸入

32、四位十進制,順序是從左往右輸入,之后按下enter鍵,將數(shù)據(jù)存入。顯示結果和圖3-4所示結果一致。圖3-4 依次按下數(shù)字鍵后的實物調試圖4) 數(shù)據(jù)輸錯后按下鍵14,即清除鍵,即可重新輸入。顯示結果如下:圖3-5 按清除鍵后的實物調試圖5) 進行數(shù)據(jù)顯示時,首先要按下鍵7,進入數(shù)據(jù)顯示狀態(tài)。再按下鍵0到9,可以顯示0到9序號里面存的數(shù)據(jù)。顯示結果如下:圖3-6 按顯示鍵后的實物調試圖6)進行串行通信時,首先按下鍵11,進入串行通信狀態(tài)。將兩個系統(tǒng)連接起來以后,在發(fā)送系統(tǒng)中輸入十進制數(shù),在輸出系統(tǒng)中可以顯示相同數(shù)據(jù)并且方向相同。如圖3-7所示。圖3-6 串行通信的實物調試圖3 心得體會 在這次設計

33、過程中,體現(xiàn)出自己單獨仿真的能力以及綜合運用知識的能力,體會到了學以致用、突出自己勞動成果的喜悅心情,從中發(fā)現(xiàn)自己平時學習的不足和薄弱環(huán)節(jié),從而加以彌補。在電路的設計仿真整個過程中,我深刻地認識到了耐心與細心的重要性,我將嚴格要求自己,養(yǎng)成一絲不茍的學習和生活態(tài)度,為以后走向社會打基礎。本次課程設計對我專業(yè)知識的運用進行了全方面的考核與檢測,同時更加強了學習專業(yè)知識的決心,以及對以后從事電子方面的信心。平時看課本時,有時問題老是弄不懂,做完課程設計,那些問題就迎刃而解了。而且還可以記住很多東西。比如一些程序的調用,通過動手實踐讓我們對調用映象深刻。所以這個課程設計對我們的作用是非常大的。通過課

34、程設計,使我深深地體會到,干任何事都必須耐心、細致。在編程過程中,有的時候犯了一些小錯誤很正常,發(fā)現(xiàn)錯誤要積極思考,耐心尋找,越是心煩意亂則更難查錯。在以后的學習生活以至于工作中,我們一定要養(yǎng)成一種高度負責、一絲不茍的良好習慣。這次課程設計使我在工作風度上得到了一次難得的磨練。也衷心感謝老師和同學對我悉心的指導。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說是困難重重,難免會遇到過各種各樣的問題,同時在設計的過程

35、中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。4 參考資料1 尹勇 撒繼銘等,單片計算機原理及應用(第1版), 科學出版社, 2013年2 謝自美.電子線路設計·實驗·測試(第三版).武漢:華中科技大學出版社3 李群芳. 單片微型計算機與接口技術(第3版).電子工業(yè)出版社,20084 劉教瑜. 單片機原理及應用.武漢理工大學出版社,20115 張東亮. 單片機原理與應用.人民郵電出版社,2009附1:主系統(tǒng)程序:#include<reg51.h> #include <intrins.h> bit Flag; unsigne

36、d int ReData,SenData; /char table17= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84;/數(shù)碼管代碼 char table17= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84;/數(shù)碼管代碼 /char table17= 0xc0,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xfc; char dis_

37、buf; char i=0,j=0,k=0,inp1=0,inp2=0,inp3=0,on_off=0,disp=0; /初始化控制變量 char temp,key,num,m,n; char a115; void keydown(void); void keyscan(void); void display(void); void init(void); void delay(int z) int x,y;for(x=0;x<z;x+)for(y=0;y<110;y+); void main() P0=0xff; P2=0xff; dis_buf=0xbf; while(1) f

38、or(m=0;m<10;m+)for(n=0;n<5;n+)amn=0;display(); void keydown(void) P1=0xf0;if(P1!=0xf0)keyscan(); /掃描函數(shù)while(P1!=0xF0); void keyscan(void) int m,n; /*為每個按鈕設置一個編號key* P1=0x0f; /低四位輸入 delay(1); temp=P1; temp=(temp)&0x0f; if(temp=1)key=0; else if(temp=2)key=4; else if(temp=4)key=8; else if(tem

39、p=8)key=12; P1=0xf0; delay(1); temp=P1; temp=(temp>>4); temp=(temp)&0x0f; if(temp=1)key=key+0; else if(temp=2)key=key+1; else if(temp=4)key=key+2; else if(temp=8)key=key+3; if(key=3|key=7|key=11|key=12|key>13) /控制按鈕輸入 if(key=3)/數(shù)據(jù)輸入按鈕 on_off=1;/開數(shù)據(jù)輸入開關 else if(key=7)/數(shù)據(jù)顯示按鈕 disp=1;num=0

40、; else if(key=11) /串行通信 init();inp2=1,i=0,j=0,inp1=0,on_off=0,disp=0,num=0;for(m=0;m<10;m+)for(n=0;n<5;n+)amn=0; else if(key=12) /回車按鈕 inp1+; if(inp1=2) inp1=0;j=0; else if(key=15) /清楚按鈕 i=0,j=0,inp1=0,inp2=0,on_off=0,disp=0,num=0;for(m=0;m<10;m+)for(n=0;n<5;n+)amn=0; else if(key=14) /輸入

41、清除按鈕 for(j=0;j<6;j+) aij=0;inp1=0;j=0; else /數(shù)據(jù)按鈕輸入 if(key<3) num=key+1;/num為13 else if(key>3&&key<7) num=key;/num為46 else if(key>7&&key<11) num=key-1;/num為79 else if(key=13) num=0;/num為0if(disp=0&&on_off=1)if(inp1=0)i+; ai0=num;/數(shù)據(jù)存儲 else if(inp1=1) j+;aij=

42、num; else if(inp2=1)for(i=5;i>0;i-) a0i=a0i-1;a00=num;SBUF=num; /* */void display(void)while(1)P0=0x40;P2=0;keydown(); while(on_off)/數(shù)據(jù)輸入和顯示 P2=0xfe;P0=tableai0;delay(10);P2=0xfb;P0=tableai1;delay(10);P2=0xf7;P0=tableai2;delay(10);P2=0xef;P0=tableai3;delay(10);P2=0xdf;P0=tableai4;delay(10);keydown(); while(disp) keydown();for(m=0;m<11;m+)if(num=am0)k=m; P2=0xfe;P0=tableak0;delay(10);P2=0xfb;P0=tableak1;delay

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論