基于51單片機(jī)鍵盤通信系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
基于51單片機(jī)鍵盤通信系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)
基于51單片機(jī)鍵盤通信系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)
基于51單片機(jī)鍵盤通信系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)
基于51單片機(jī)鍵盤通信系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.Word資料單片機(jī)實(shí)習(xí)報(bào)告書中文標(biāo)題:基于51單片機(jī)鍵盤通信系統(tǒng)英文標(biāo)題:basiconstc51keyboardcommunicationsystem要求完成的主要任務(wù):1.單片機(jī)最小系統(tǒng)的設(shè)計(jì)、焊接、調(diào)試。(包括4X4鍵盤、顯示電路、及串行接口通信)2.完成ISP下載電路的設(shè)計(jì)、焊接。3.完成系統(tǒng)軟件的設(shè)計(jì),包括程序結(jié)構(gòu)設(shè)計(jì)、流程圖繪制、程序設(shè)計(jì)。(實(shí)現(xiàn)功能選擇、數(shù)據(jù)輸入、數(shù)據(jù)顯示、數(shù)據(jù)通信等功能)4.利用仿真軟件完成系統(tǒng)仿真工作5.在單片機(jī)最小系統(tǒng)硬件上實(shí)現(xiàn)任務(wù)實(shí)習(xí)目的:1.理論目的實(shí)習(xí)目的之一是為了鞏固課堂理論學(xué)習(xí),并能用所學(xué)理論知識(shí)應(yīng)用于實(shí)際的應(yīng)用系統(tǒng)中。2.實(shí)踐目的實(shí)習(xí)目的之二是通過設(shè)計(jì)具體的鍵盤及串口通信來(lái)掌握單片機(jī)的硬件電路的設(shè)計(jì)、焊接以及軟件設(shè)計(jì),鍛煉實(shí)際動(dòng)手能力。時(shí)間安排:序號(hào)階段內(nèi)容所需時(shí)間序號(hào)階段內(nèi)容所需時(shí)間1方案設(shè)計(jì)2天5電路焊接2天2硬件設(shè)計(jì)2天6系統(tǒng)調(diào)試1天3軟件設(shè)計(jì)3天7實(shí)習(xí)報(bào)告1天4系統(tǒng)仿真1天合計(jì)12天Word資料目錄摘要 IAbstract II1引言 11.1單片機(jī)介紹 11.2單片機(jī)最小系統(tǒng) 31.2.1復(fù)位電路 31.2.2振蕩電路 41.3各功能模塊 51.3.1矩陣鍵盤電路 51.3.2數(shù)碼管顯示電路 61.3.3串行通信電路 82仿真電路及實(shí)物調(diào)試運(yùn)行圖 112.1整體電路仿真圖 112.2實(shí)物運(yùn)行結(jié)果 123心得體會(huì) 154參考資料 16附1:主系統(tǒng)程序:#include<reg51.h> 17附2:子系統(tǒng)程序: 22Word資料摘要單片機(jī)就是一塊硅片上集成了微處理器、存儲(chǔ)器及各種輸入輸出接口的芯片,這樣的芯片就具有了計(jì)算機(jī)的屬性,因而被稱為單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。由RAM,ROM,CPU構(gòu)成,定時(shí),計(jì)數(shù)和多種接口于一體的微控制器。它體積小,成本低,功能強(qiáng),廣泛應(yīng)用于智能產(chǎn)業(yè)和工業(yè)自動(dòng)化上。而51系列單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次課程設(shè)計(jì)通過對(duì)它的學(xué)習(xí),應(yīng)用,從而達(dá)到學(xué)習(xí)、設(shè)計(jì)、開發(fā)軟、硬的能力。本次課程設(shè)計(jì)包括STC89S52單片機(jī)最小系統(tǒng)包括復(fù)位和時(shí)鐘電路及供電系統(tǒng)、4×4矩陣鍵盤、獨(dú)立6個(gè)8段LED數(shù)碼管顯示電路以及串口通信。4X4矩陣鍵盤將16個(gè)按鍵排成4行4列,第一行將每個(gè)按鍵的一端連接在一起構(gòu)成一個(gè)行線,第一列的將每個(gè)按鍵的另一端連接在一起構(gòu)成列線,我們將這八根線接到單片機(jī)的8個(gè)I/O口上,通過程序掃描鍵盤就可以16個(gè)鍵。而數(shù)碼顯示管則是由八個(gè)發(fā)光二極管點(diǎn)亮,分為共陰極和共陽(yáng)極。串行通信是將數(shù)據(jù)字節(jié)分成為一位一位的形式在一條傳輸線上逐個(gè)的傳送,此時(shí)只需要一條數(shù)據(jù)線,外加一條公共信號(hào)地線和若干控制信號(hào)線。關(guān)鍵詞:?jiǎn)纹瑱C(jī)矩陣鍵盤串口通信數(shù)碼顯示管AbstractSingle-chipcomputerisapieceofsiliconwafersusedmicroprocessor,memory,andvariousinput/outputinterfacechip,chiphasthecomputersuchasthepropertiesofthesocalledsinglechipmicrocomputer,referredtoas"singlechipmicrocomputer.ByRAM,ROMandCPU,timing,countandvariousinterfaceintheintegrationofthemicrocontroller.Ithassmallvolume,lowcost,strongfunction,iswidelyusedinintelligentindustryandindustrialautomation.And51seriesmicrocontrolleristhesinglechipmicrocomputerinoneofthemosttypicalandmostrepresentative.Ofthestudyandapplicationofthecurriculumdesignbasedonit,soastostudy,designanddeveloptheabilityofsoftandhard.

ThecurriculumdesignincludesSTC89S52SCMsmallestsystemincludingresetandclockcircuitandpowersupplysystem,4*4matrixkeyboard,independentsixsection8oftheLEDdigitaltubedisplaycircuitandserialcommunication.4x4matrixkeyboardwillbe16in4rowfourcolumns,thefirstlineofeachkey-presstogetherconstitutealineattheendoftheline,thefirstcolumnofeachkey-presstogetherconstituteacolumnontheothersideoftheline,wearegoingtotheeightlinesreceivedeightmicrocontrollerI/Oport,byscanningthekeyboardcanbe16keyprogram.Thedigitaldisplaytubeiscomposedofeightledslightup,dividedintocommoncathodeandanode.Serialcommunicationisthedatabytesintoanaonatransmissionlineonebyone,intheformoftransmission,atthistime,onlyneedacablewithapublicsignalgroundandseveralcontrolsignallines.

Keywords:singlechipmicrocomputermatrixkeyboardserialcommunicationdigitaldisplaytube1引言1.1單片機(jī)介紹單片機(jī)就是一塊硅片上集成了微處理器、存儲(chǔ)器及各種輸入輸出接口的芯片,這樣的芯片就具有了計(jì)算機(jī)的屬性,因而被稱為單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。通俗的語(yǔ)言來(lái)講,單片機(jī)就是一塊集成芯片,但這塊集成芯片具有一些特殊的功能,而它的功能的實(shí)現(xiàn)要靠我們使用者自己來(lái)編程完成,我們編程的目的就是控制這塊芯片的各個(gè)引腳在不同時(shí)間輸出不同的電平,進(jìn)而控制與單片機(jī)各個(gè)引腳相連接的外圍電路的電氣狀態(tài)。即將計(jì)算機(jī)主機(jī)CPU、內(nèi)存和I/O接口集成在一小塊硅片上的微型機(jī)。圖1-1單片機(jī)內(nèi)部結(jié)構(gòu)圖一片MCS-51單片機(jī)芯片內(nèi)包含一個(gè)8位CPU、振蕩器和時(shí)鐘電路、至少128字節(jié)的內(nèi)部數(shù)據(jù)存儲(chǔ)器可尋址外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器個(gè)64k字節(jié)21個(gè)特殊功能寄存器4個(gè)并行I/O接口2個(gè)16位定時(shí)/計(jì)數(shù)器至少5個(gè)中斷源提供兩級(jí)中斷優(yōu)先級(jí)可實(shí)現(xiàn)兩級(jí)中斷服務(wù)程序嵌套。具有可位尋址功能有較強(qiáng)的布爾處理能力。各功能單元包括IO端口和定時(shí)器/計(jì)數(shù)器等都由特殊功能寄存器SFR集中管理。AT89C52是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C52單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。主要性能參數(shù):·與MCS-51產(chǎn)品指令和引腳完全兼容·8k字節(jié)可重擦寫Flash閃速存儲(chǔ)器·1000次擦寫周期·全靜態(tài)操作:0Hz-24MHz·三級(jí)加密程序存儲(chǔ)器·256×8字節(jié)內(nèi)部RAM·32個(gè)可編程I/O口線·3個(gè)16位定時(shí)/計(jì)數(shù)器·8個(gè)中斷源·可編程串行UART通道·低功耗空閑和掉電模式功能特性概述:AT89C52提供以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash閃速存儲(chǔ)器,256字節(jié)內(nèi)部RAM,32個(gè)I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)6向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。芯片引腳圖如圖2所示。圖1-2AT89C52芯片引腳圖P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口P0寫“l(fā)”時(shí),可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“l(fā)”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“l(fā)”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“l(fā)”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的l/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。EA:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。1.2單片機(jī)最小系統(tǒng)1.2.1復(fù)位電路復(fù)位電路,就是利用它把電路恢復(fù)到起始狀態(tài)。以便回到原始狀態(tài),重新進(jìn)行計(jì)算。單片機(jī)復(fù)位電路主要有四種類型:(1)微分型復(fù)位電路;(2)積分型復(fù)位電路;(3)比較器型復(fù)位電路;(4)看門狗型復(fù)位電路。其最小系統(tǒng)復(fù)位電路如圖1-3所示。圖1-3復(fù)位電路51單片機(jī)最小系統(tǒng)復(fù)位電路的極性電容的大小直接影響單片機(jī)的復(fù)位時(shí)間,一般采用10到30uF,51單片機(jī)最小系統(tǒng)容值越大需要的復(fù)位時(shí)間越短。51單片機(jī)最小系統(tǒng)晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情況下可以采用更高頻率的晶振,51單片機(jī)最小系統(tǒng)晶振的振蕩頻率直接影響單片機(jī)的處理速度,頻率越大處理速度越快。51單片機(jī)最小系統(tǒng)起振電容C2、C3一般采用15到33pF,并且電容離晶振越近越好,晶振離單片機(jī)越近越好。P0口為開漏輸出,作為輸出口時(shí)需加上拉電阻,阻值一般為10k。其他接口內(nèi)部有上拉電阻,作為輸出口時(shí)不需外加上拉電阻。1.2.2振蕩電路51單片機(jī)有兩種振蕩方式,為內(nèi)部振蕩和外部振蕩,內(nèi)部振蕩方式所得到時(shí)鐘信號(hào)比較穩(wěn)定,在實(shí)際電路中,一般是選用內(nèi)部振蕩方式。單片機(jī)的XTAL1腳和XTAL2腳之間并接一個(gè)晶體振蕩器就構(gòu)成了內(nèi)部振蕩方式。AT89S52單片機(jī)內(nèi)部有一個(gè)高增益的反相放大器,XTAL1為內(nèi)部反相放大器的輸入端,XTAL2為內(nèi)部反相放大器的輸出端,在其兩端接上晶振后,就構(gòu)成了自激振蕩電路,并產(chǎn)生振蕩脈沖,振蕩電路輸出的脈沖信號(hào)的頻率就是晶振的固有頻率。在實(shí)際應(yīng)用中通常還需要在晶振的兩端和地之間各并上一個(gè)小電容。實(shí)際的內(nèi)部振蕩方式的電路如圖1-4所示。圖1-4振蕩電路圖中,電容器C2、C3常稱為微調(diào)電容,其作用有三個(gè):快速起振、穩(wěn)定振蕩頻率、微調(diào)振蕩頻率。AT89S52單片機(jī)允許外接0~33MHz的晶振,電容器C2、C3可取5pF~33pF。一般情況下,使用頻率較低的晶振時(shí),C1、C2的容量可選大一點(diǎn)。為了減少寄生電容,更好地保證振蕩器穩(wěn)定可靠地工作,在實(shí)際裝配電路時(shí),晶振X和電容C2、C3應(yīng)盡可能地安裝在XTAL1(圖中為X1,單片機(jī)第19腳)、XTAL2(圖中為X2,單片機(jī)第18腳)引腳附近。1.3各功能模塊1.3.1矩陣鍵盤電路在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵加以連接。這樣,一個(gè)端口就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯。由此可見,在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤是合理的。確定矩陣式鍵盤上何鍵被按下用“行掃描法”。行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法,第一步:判斷鍵盤中有無(wú)鍵按下,將全部行線置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤中無(wú)鍵按下。第二步:判斷閉合鍵所在的位置,在確認(rèn)有鍵按下后,依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。對(duì)矩陣鍵盤還要消除按鍵在閉合和斷開時(shí)的抖動(dòng)??刹捎醚訒r(shí)方式軟件消除抖動(dòng)。其連接電路如圖1-5所示。圖1-5矩陣鍵盤電路1.3.2數(shù)碼管顯示電路7段數(shù)碼管一般由8個(gè)發(fā)光二極管組成,其中由7個(gè)細(xì)長(zhǎng)的發(fā)光二極管組成數(shù)字顯示,另外一個(gè)圓形的發(fā)光二極管顯示小數(shù)點(diǎn)。當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或一個(gè)筆畫發(fā)光??刂葡鄳?yīng)的二極管導(dǎo)通,就能顯示出各種字符,盡管顯示的字符形狀有些失真,能顯示的數(shù)符數(shù)量也有限,但其控制簡(jiǎn)單,使用也方便。發(fā)光二極管的陽(yáng)極連在一起的稱為共陽(yáng)極數(shù)碼管,陰極連在一起的稱為共陰極數(shù)碼管,如圖1-6所示。

圖1-6數(shù)碼管引腳排列7段數(shù)碼管每段的驅(qū)動(dòng)電流和其他單個(gè)LED發(fā)光二極管一樣,一般為5~10mA;正向電壓隨發(fā)光材料不同表現(xiàn)為1.8~2.5V不等。7段數(shù)碼管的顯示方法可分為靜態(tài)顯示與動(dòng)態(tài)顯示,本設(shè)計(jì)只用到動(dòng)態(tài)顯示,故只介紹動(dòng)態(tài)顯示。所謂動(dòng)態(tài)顯示就是一位一位地輪流點(diǎn)亮各位顯示器(掃描),對(duì)于顯示器的每一位而言,每隔一段時(shí)間點(diǎn)亮一次。雖然在同一時(shí)刻只有一位顯示器在工作(點(diǎn)亮),但利用人眼的視覺暫留效應(yīng)和發(fā)光二極管熄滅時(shí)的余輝效應(yīng),看到的卻是多個(gè)字符“同時(shí)”顯示。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需一個(gè)8位I/O口(稱為掃描口或字位口),控制各位LED顯示器所顯示的字形也需要一個(gè)8位口(稱為數(shù)據(jù)口或字形口)。動(dòng)態(tài)顯示器的優(yōu)點(diǎn)是節(jié)省硬件資源,成本較低,但在控制系統(tǒng)運(yùn)行過程中,要保證顯示器正常顯示,CPU必須每隔一段時(shí)間執(zhí)行一次顯示子程序,這占用了CPU的大量時(shí)間,降低了CPU工作效率,同時(shí)顯示亮度較靜態(tài)顯示器低。綜合以上考慮,本設(shè)計(jì)用共陰數(shù)碼管做動(dòng)態(tài)顯示。用鎖存器74HC573擴(kuò)展P0口,其連接電路圖如圖1-7。圖1-7數(shù)碼管1.3.3串行通信電路1.單片機(jī)串行通信方式介紹串行通信是將數(shù)據(jù)字節(jié)分成一位一位的形式在一條傳輸線上逐個(gè)地傳送。串行通信的特點(diǎn):傳輸線少,長(zhǎng)距離傳送時(shí)成本低,且可以利用電話網(wǎng)等現(xiàn)成的設(shè)備,但數(shù)據(jù)的傳送控制比并行通信復(fù)雜。51單片機(jī)內(nèi)部有一個(gè)全雙工串行接口。一般來(lái)說,只能接受或只能發(fā)送的稱為單工串行;既可接收又可發(fā)送,但不能同時(shí)進(jìn)行的稱為半雙工;能同時(shí)接收和發(fā)送的串行口稱為全雙工串行口。SBUF寄存器:它是兩個(gè)在物理上獨(dú)立的接收、發(fā)送緩沖器,可同時(shí)發(fā)送、接收數(shù)據(jù),可通過指令對(duì)SBUF的讀寫來(lái)區(qū)別是對(duì)接收緩沖器的操作還是對(duì)發(fā)送緩沖器的操作。從而控制外部?jī)蓷l獨(dú)立的收發(fā)信號(hào)線RXD(P3.0)、TXD(P3.1),同時(shí)發(fā)送、接收數(shù)據(jù),實(shí)現(xiàn)全雙工。串行口控制寄存器SCON(見表1-1)。表1-1串行口控制寄存器SCON表中各位(從左至右為從高位到低位)含義如下。SM0和SM1:串行口工作方式控制位,其定義如表1-2所示。表1-2串行口工作方式控制位其中,fOSC為單片機(jī)的時(shí)鐘頻率;波特率指串行口每秒鐘發(fā)送(或接收)的位數(shù)。SM2:多機(jī)通信控制位。該僅用于方式2和方式3的多機(jī)通信。其中發(fā)送機(jī)SM2=1(需要程序控制設(shè)置)。接收機(jī)的串行口工作于方式2或3,SM2=1時(shí),只有當(dāng)接收到第9位數(shù)據(jù)(RB8)為1時(shí),才把接收到的前8位數(shù)據(jù)送入SBUF,且置位RI發(fā)出中斷申請(qǐng)引發(fā)串行接收中斷,否則會(huì)將接受到的數(shù)據(jù)放棄。當(dāng)SM2=0時(shí),就不管第位數(shù)據(jù)是0還是1,都將數(shù)據(jù)送入SBUF,并置位RI發(fā)出中斷申請(qǐng)。工作于方式0時(shí),SM2必須為0。REN:串行接收允許位:REN=0時(shí),禁止接收;REN=1時(shí),允許接收。TB8:在方式2、3中,TB8是發(fā)送機(jī)要發(fā)送的第9位數(shù)據(jù)。在多機(jī)通信中它代表傳輸?shù)牡刂坊驍?shù)據(jù),TB8=0為數(shù)據(jù),TB8=1時(shí)為地址。RB8:在方式2、3中,RB8是接收機(jī)接收到的第9位數(shù)據(jù),該數(shù)據(jù)正好來(lái)自發(fā)送機(jī)的TB8,從而識(shí)別接收到的數(shù)據(jù)特征。TI:串行口發(fā)送中斷請(qǐng)求標(biāo)志。當(dāng)CPU發(fā)送完一串行數(shù)據(jù)后,此時(shí)SBUF寄存器為空,硬件使TI置1,請(qǐng)求中斷。CPU響應(yīng)中斷后,由軟件對(duì)TI清零。RI:串行口接收中斷請(qǐng)求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時(shí),此時(shí)SBUF寄存器為滿,硬件使RI置1,請(qǐng)求中斷。CPU響應(yīng)中斷后,用軟件對(duì)RI清零。電源控制寄存器PCON(見表1-3)。表1-3PCON寄存器表中各位(從左至右為從高位到低位)含義如下。SMOD:波特率加倍位。SMOD=1,當(dāng)串行口工作于方式1、2、3時(shí),波特率加倍。SMOD=0,波特率不變。2.RS-232C接口RS-232C是EIA(美國(guó)電子工業(yè)協(xié)會(huì))1969年修訂RS-232C標(biāo)準(zhǔn)。RS-232C定義了數(shù)據(jù)終端設(shè)備(DTE)與數(shù)據(jù)通信設(shè)備(DCE)之間的物理接口標(biāo)準(zhǔn)。其功能特性如圖1-8所示。圖1-8RS232C功能特性3.80C51串行口的工作方式一、方式0方式0時(shí),串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入或輸出口。數(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位起始位,8位數(shù)據(jù)位,1位停止位。用軟件置REN為1時(shí),接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測(cè)到RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的停止位為1)時(shí),將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進(jìn)入RB8,并置RI=1,向CPU請(qǐng)求中斷。三、方式2和方式3方式2或方式3時(shí)為11位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳。方式2和方式3時(shí)起始位1位,數(shù)據(jù)9位(含1位附加的第9位,發(fā)送時(shí)為SCON中的TB8,接收時(shí)為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時(shí)器T1的溢出率決定。四、波特率的計(jì)算在串行通信中,收發(fā)雙方對(duì)發(fā)送或接收數(shù)據(jù)的速率要有約定。通過軟件可對(duì)單片機(jī)串行口編程為四種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時(shí)器T1的溢出率來(lái)決定。串行口的四種工作方式對(duì)應(yīng)三種波特率。由于輸入的移位時(shí)鐘的來(lái)源不同,所以,各種方式的波特率計(jì)算公式也不相同。方式0的波特率=fosc/12(公式1)方式2的波特率=(2SMOD/64)*fosc(公式2)方式1的波特率=(2SMOD/32)*(T1溢出率)(公式3)方式3的波特率=(2SMOD/32)*(T1溢出率)(公式4)當(dāng)T1作為波特率發(fā)生器時(shí),最典型的用法是使T1工作在自動(dòng)再裝入的8位定時(shí)器方式(即方式2,且TCON的TR1=1,以啟動(dòng)定時(shí)器)。這時(shí)溢出率取決于TH1中的計(jì)數(shù)值。T1溢出率=fosc/{12×[256-(TH1)]}(公式5)在單片機(jī)的應(yīng)用中,常用的晶振頻率為:12MHz和11.0592MHz。所以,選用的波特率也相對(duì)固定。常用的串行口波特率以及各參數(shù)的關(guān)系如表1-4所示。本實(shí)習(xí)所用晶振為11.0592MHz,選用定時(shí)器1為波特率發(fā)生器工作于方式2,串口通信方式采用方式1,所以定時(shí)器1的初值為TH1=0XFD,TL1=0XFD。表1-4常用波特率與定時(shí)器1的參數(shù)關(guān)系表2仿真電路及實(shí)物調(diào)試運(yùn)行圖2.1整體電路仿真圖電路用proteus進(jìn)行仿真,用兩塊單片機(jī)最小系統(tǒng)板進(jìn)行實(shí)物搭建。主系統(tǒng)部分使用共陰極顯示屏,子系統(tǒng)部分使用共陽(yáng)極顯示屏。整體電路仿真圖如圖3-1所示。圖3-1整體電路仿真圖2.2實(shí)物運(yùn)行結(jié)果1)給單片機(jī)上電后,單片機(jī)顯示如下。如圖3-2所示圖3-2數(shù)碼管初始顯示2)按下數(shù)字鍵3,進(jìn)行十進(jìn)制數(shù)的輸入。此時(shí)數(shù)碼管顯示結(jié)果如圖3-3所示。圖3-3數(shù)據(jù)輸入初始顯示圖按下數(shù)據(jù)鍵,輸入四位十進(jìn)制,順序是從左往右輸入,之后按下enter鍵,將數(shù)據(jù)存入。顯示結(jié)果和圖3-4所示結(jié)果一致。圖3-4依次按下數(shù)字鍵后的實(shí)物調(diào)試圖數(shù)據(jù)輸錯(cuò)后按下鍵14,即清除鍵,即可重新輸入。顯示結(jié)果如下:圖3-5按清除鍵后的實(shí)物調(diào)試圖進(jìn)行數(shù)據(jù)顯示時(shí),首先要按下鍵7,進(jìn)入數(shù)據(jù)顯示狀態(tài)。再按下鍵0到9,可以顯示0到9序號(hào)里面存的數(shù)據(jù)。顯示結(jié)果如下:圖3-6按顯示鍵后的實(shí)物調(diào)試圖6)進(jìn)行串行通信時(shí),首先按下鍵11,進(jìn)入串行通信狀態(tài)。將兩個(gè)系統(tǒng)連接起來(lái)以后,在發(fā)送系統(tǒng)中輸入十進(jìn)制數(shù),在輸出系統(tǒng)中可以顯示相同數(shù)據(jù)并且方向相同。如圖3-7所示。圖3-6串行通信的實(shí)物調(diào)試圖3心得體會(huì)在這次設(shè)計(jì)過程中,體現(xiàn)出自己?jiǎn)为?dú)仿真的能力以及綜合運(yùn)用知識(shí)的能力,體會(huì)到了學(xué)以致用、突出自己勞動(dòng)成果的喜悅心情,從中發(fā)現(xiàn)自己平時(shí)學(xué)習(xí)的不足和薄弱環(huán)節(jié),從而加以彌補(bǔ)。在電路的設(shè)計(jì)仿真整個(gè)過程中,我深刻地認(rèn)識(shí)到了耐心與細(xì)心的重要性,我將嚴(yán)格要求自己,養(yǎng)成一絲不茍的學(xué)習(xí)和生活態(tài)度,為以后走向社會(huì)打基礎(chǔ)。本次課程設(shè)計(jì)對(duì)我專業(yè)知識(shí)的運(yùn)用進(jìn)行了全方面的考核與檢測(cè),同時(shí)更加強(qiáng)了學(xué)習(xí)專業(yè)知識(shí)的決心,以及對(duì)以后從事電子方面的信心。平時(shí)看課本時(shí),有時(shí)問題老是弄不懂,做完課程設(shè)計(jì),那些問題就迎刃而解了。而且還可以記住很多東西。比如一些程序的調(diào)用,通過動(dòng)手實(shí)踐讓我們對(duì)調(diào)用映象深刻。所以這個(gè)課程設(shè)計(jì)對(duì)我們的作用是非常大的。通過課程設(shè)計(jì),使我深深地體會(huì)到,干任何事都必須耐心、細(xì)致。在編程過程中,有的時(shí)候犯了一些小錯(cuò)誤很正常,發(fā)現(xiàn)錯(cuò)誤要積極思考,耐心尋找,越是心煩意亂則更難查錯(cuò)。在以后的學(xué)習(xí)生活以至于工作中,我們一定要養(yǎng)成一種高度負(fù)責(zé)、一絲不茍的良好習(xí)慣。這次課程設(shè)計(jì)使我在工作風(fēng)度上得到了一次難得的磨練。也衷心感謝老師和同學(xué)對(duì)我悉心的指導(dǎo)。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說是困難重重,難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固。4參考資料[1]尹勇撒繼銘等,單片計(jì)算機(jī)原理及應(yīng)用(第1版),科學(xué)出版社,2013年[2]謝自美.電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試(第三版).武漢:華中科技大學(xué)出版社[3]李群芳.單片微型計(jì)算機(jī)與接口技術(shù)(第3版).電子工業(yè)出版社,2008[4]劉教瑜.單片機(jī)原理及應(yīng)用.武漢理工大學(xué)出版社,2011[5]張東亮.單片機(jī)原理與應(yīng)用.人民郵電出版社,2009附1:主系統(tǒng)程序:#include<reg51.h>#include<intrins.h>bitFlag;unsignedintReData,SenData;//chartable[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84};//數(shù)碼管代碼chartable[17]={~0xc0,~0xf9,~0xa4,~0xb0,~0x99,~0x92,~0x82,~0xf8,~0x80,~0x90,~0x88,~0x83,~0xc6,~0xa1,~0x86,~0x84};//數(shù)碼管代碼//chartable[17]={0xc0,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xfc};chardis_buf;chari=0,j=0,k=0,inp1=0,inp2=0,inp3=0,on_off=0,disp=0;//初始化控制變量chartemp,key,num,m,n;chara[11][5];voidkeydown(void);voidkeyscan(void);voiddisplay(void);voidinit(void); voiddelay(intz){ intx,y; for(x=0;x<z;x++) for(y=0;y<110;y++);}voidmain(){ P0=0xff; P2=0xff; dis_buf=0xbf; while(1) { for(m=0;m<10;m++) for(n=0;n<5;n++) a[m][n]=0; display(); }} voidkeydown(void) { P1=0xf0; if(P1!=0xf0) { keyscan(); //掃描函數(shù) while(P1!=0xF0); }}voidkeyscan(void){ intm,n;//**********為每個(gè)按鈕設(shè)置一個(gè)編號(hào)key********************************** P1=0x0f; //低四位輸入 delay(1); temp=P1; temp=(~temp)&0x0f; if(temp==1) key=0; elseif(temp==2) key=4; elseif(temp==4) key=8; elseif(temp==8) key=12; P1=0xf0; delay(1); temp=P1; temp=(temp>>4); temp=(~temp)&0x0f; if(temp==1) key=key+0; elseif(temp==2) key=key+1; elseif(temp==4) key=key+2; elseif(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ù)輸入開關(guān) } elseif(key==7) //數(shù)據(jù)顯示按鈕 { disp=1; num=0; } elseif(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++) a[m][n]=0; } elseif(key==12) //回車按鈕 { inp1++; if(inp1==2){inp1=0;j=0;} } elseif(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++) a[m][n]=0; } elseif(key==14) //輸入清除按鈕 { for(j=0;j<6;j++)a[i][j]=0; inp1=0; j=0; } }else{ //數(shù)據(jù)按鈕輸入 if(key<3){num=key+1;} //num為1~3 elseif(key>3&&key<7){num=key;} //num為4~6 elseif(key>7&&key<11){num=key-1;} //num為7~9 elseif(key==13){num=0;} //num為0 if(disp==0&&on_off==1){ if(inp1==0){i++;a[i][0]=num;} //數(shù)據(jù)存儲(chǔ) elseif(inp1==1){j++;a[i][j]=num;} }elseif(inp2==1) { for(i=5;i>0;i--)a[0][i]=a[0][i-1]; a[0][0]=num; SBUF=num; } } }/* */ voiddisplay(void) { while(1){ P0=0x40; P2=0; keydown(); while(on_off){ //數(shù)據(jù)輸入和顯示 P2=0xfe; P0=table[a[i][0]]; delay(10); P2=0xfb; P0=table[a[i][1]]; delay(10); P2=0xf7; P0=table[a[i][2]]; delay(10); P2=0xef; P0=table[a[i][3]]; delay(10); P2=0xdf; P0=table[a[i][4]]; delay(10); keydown(); while(disp) { keydown(); for(m=0;m<11;m++) { if(num==a[m][0])k=m; } P2=0xfe; P0=table[a[k][0]]; delay(10); P2=0xfb; P0=table[a[k][1]]; delay(10); P2=0xf7; P0=table[a[k][2]]; delay(10); P2=0xef; P0=table[a[k][3]]; delay(10); P2=0xdf; P0=table[a[k][4]]; delay(10); } } while(in

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論