電子線路綜合設(shè)計(jì)單片機(jī)串行通信發(fā)射機(jī)_第1頁(yè)
電子線路綜合設(shè)計(jì)單片機(jī)串行通信發(fā)射機(jī)_第2頁(yè)
電子線路綜合設(shè)計(jì)單片機(jī)串行通信發(fā)射機(jī)_第3頁(yè)
電子線路綜合設(shè)計(jì)單片機(jī)串行通信發(fā)射機(jī)_第4頁(yè)
電子線路綜合設(shè)計(jì)單片機(jī)串行通信發(fā)射機(jī)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、電子線路綜合設(shè)計(jì) 單片機(jī)串行通信發(fā)射機(jī) 一選題背景和意義1單片機(jī)目前,單片機(jī)正朝著高性能和多品種方向發(fā)展,今后單片機(jī)的發(fā)展趨勢(shì)將進(jìn)一步向著cmos化、低功耗化、低電壓化、低噪聲與高可靠性、大容量化、高性能化、小容量、低價(jià)格化、外圍電路內(nèi)裝化和串行擴(kuò)展技術(shù)。隨著半導(dǎo)體集成工藝的不斷發(fā)展,單片機(jī)的集成度將更高、體積將更小和功能將更強(qiáng),應(yīng)用也會(huì)更廣泛。單片機(jī)主要有如下特點(diǎn):1.有優(yōu)異的性能價(jià)格比。2.集成度高、體積小、有很高的可靠性。單片機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連線,大大提高了單片機(jī)的可靠性和抗干擾能力。另外,其體積小,對(duì)于強(qiáng)磁場(chǎng)環(huán)境易于采取屏蔽措施,適合

2、在惡劣環(huán)境下工作。3.制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)中均有極豐富的轉(zhuǎn)移指令、i/o口的邏輯操作以及位處理功能。單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微機(jī)。4.低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。5.外部總線增加了i2c(inter-integrated circuit)及spi(serial peripheral interface)等串行總線方式,進(jìn)一步縮小了體積,簡(jiǎn)化了結(jié)構(gòu)。6.單片機(jī)的系統(tǒng)擴(kuò)展和系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。由于單片機(jī)具有顯著的優(yōu)點(diǎn),它已成為科技領(lǐng)域的有力工具,人類生活的得力助手。它的應(yīng)用遍及各個(gè)領(lǐng)域,主要表現(xiàn)在以下幾個(gè)

3、方面:1.單片機(jī)在智能儀表中的應(yīng)用2.單片機(jī)在機(jī)電一體化中的應(yīng)用3.單片機(jī)在實(shí)時(shí)控制中的應(yīng)用4.單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用5.單片機(jī)在人類生活中的應(yīng)用單片機(jī)已成為計(jì)算機(jī)發(fā)展和應(yīng)用的一個(gè)重要方面,另一方面,單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能通過單片機(jī)來實(shí)現(xiàn)了。這種用軟件代替硬件的控制技術(shù)也稱為微控制技術(shù),是對(duì)傳統(tǒng)控制技術(shù)的一次革命。a:由單片機(jī)組成控制器的結(jié)構(gòu)和特點(diǎn): 單片微型計(jì)算機(jī)是微型計(jì)算機(jī)發(fā)展中的一個(gè)重要分支,是把構(gòu)成一臺(tái)微型計(jì)算機(jī)的主要部件如中央處理器(cpu)、存儲(chǔ)器(ram/rom)

4、和各種功能i/o接口集成在一塊芯片上的單芯片微型計(jì)算機(jī)(single chip micro computer),簡(jiǎn)稱單片機(jī).由于它的結(jié)構(gòu)與指令功能都是按工業(yè)控制要求設(shè)計(jì)的,且近年來單片機(jī)著力擴(kuò)展了各種控制功能如a/d、pwm等,因此我們更多時(shí)候稱其為一個(gè)單片形態(tài)的微控制器(single chip micro controller),或直接稱其為微控制器(micro controller)。b:用單片機(jī)組成的微機(jī)控制系統(tǒng)具有以下特點(diǎn):1.受集成度限制,片內(nèi)存儲(chǔ)器容量較小,一般片內(nèi)rom小于48k字節(jié),片內(nèi)ram小于256字節(jié);但可在外部進(jìn)行擴(kuò)展,如mcs51系列單片機(jī)的片外可擦可編程只讀存儲(chǔ)器(

5、eprom)、靜態(tài)隨機(jī)存儲(chǔ)器(sram)可分別擴(kuò)展至64k字節(jié)。2.可靠性高。單片機(jī)芯片本身是按工業(yè)控制環(huán)境要求設(shè)計(jì)的,其抗工業(yè)噪聲的能力優(yōu)于一般通用cpu;程序指令及其常數(shù)、表格固化在rom中不易破壞;常用信號(hào)通道均在一個(gè)芯片內(nèi),故可靠性高。3.易擴(kuò)展。片內(nèi)具有計(jì)算機(jī)正常運(yùn)行所必須的部件,芯片外部有許多供擴(kuò)展用的總線及并行、串行輸入/輸出端口,很容易構(gòu)成各種規(guī)模的微機(jī)控制系統(tǒng)。4.控制功能強(qiáng)。為了滿足工業(yè)控制要求,單片機(jī)的指令系統(tǒng)中有極豐富的條件分支轉(zhuǎn)移指令、i/o口的邏輯操作以及位處理功能。一般來說,單片機(jī)的邏輯控制功能及運(yùn)行速度均高于同一檔次的微處理器。5.一般的單片機(jī)內(nèi)無監(jiān)控程序或系統(tǒng)

6、管理軟件,軟件開發(fā)工作量大。但近年來已開始出現(xiàn)了片內(nèi)固化有basic解釋程序及froth操作系統(tǒng)的單片機(jī),使單片機(jī)系統(tǒng)的開發(fā)提高了一個(gè)新水平。此外,單片機(jī)成本低、集成度高、控制功能多,可靈活地組裝成各種智能控制裝置,并能有針對(duì)性設(shè)計(jì)成專用系統(tǒng),解決從簡(jiǎn)單到復(fù)雜的各種需要,實(shí)現(xiàn)最佳的性價(jià)比。特別是單片機(jī)與傳統(tǒng)機(jī)械產(chǎn)品相結(jié)合,使原有機(jī)械產(chǎn)品的結(jié)構(gòu)簡(jiǎn)化、控制智能化。如數(shù)控機(jī)床就是典型實(shí)例。近年來,單片機(jī)發(fā)展極快,其產(chǎn)量占微機(jī)產(chǎn)量的70%以上。目前,至少有50個(gè)系列400余種機(jī)型,性能和結(jié)構(gòu)各不相同,intel、motorola、zilcg等公司都有系列單片微型計(jì)算機(jī)。國(guó)內(nèi)普及的幾乎都是intel公司

7、的產(chǎn)品2串行通信發(fā)射機(jī)在通信領(lǐng)域內(nèi),有兩種數(shù)據(jù)通信方式:并行通信和串行通信。隨著計(jì)算機(jī)網(wǎng)絡(luò)化和微機(jī)分級(jí)分布式應(yīng)用系統(tǒng)的發(fā)展,通信的功能越來越重要。串行通信是指 使用一條數(shù)據(jù)線,將數(shù)據(jù)一位一位地依次傳輸,每一位數(shù)據(jù)占據(jù)一個(gè)固定的時(shí)間長(zhǎng)度。其只需要少數(shù)幾條線就可以在系統(tǒng)間交換信息,特別使用于計(jì)算機(jī)與計(jì)算機(jī)、計(jì)算機(jī)與外設(shè)之間的遠(yuǎn)距離通信 。其特點(diǎn)如下:1)傳輸線少2)長(zhǎng)距離傳送時(shí)成本低3) 傳輸速率低因此串行發(fā)射應(yīng)用愈來愈廣泛。而串行通信發(fā)射機(jī)是串行通信中極為重要的基礎(chǔ)。此次設(shè)計(jì)注重于對(duì)單片機(jī)串行發(fā)射的理論的理解,明白發(fā)射機(jī)的工作原理,以便以后單片機(jī)領(lǐng)域的開發(fā)和研制打下基礎(chǔ),提高自己的設(shè)計(jì)能力,培養(yǎng)

8、創(chuàng)新能力,豐富自己的知識(shí)理論,做到理論和實(shí)際結(jié)合。本課題的重要意義還在于能在進(jìn)一步層次了解單片機(jī)的工作原理,內(nèi)部結(jié)構(gòu)和工作狀態(tài)。理解單片機(jī)的接口技術(shù),中斷技術(shù),存儲(chǔ)方式,時(shí)鐘方式和控制方式,這樣才能更好的利用單片機(jī)來做有效的設(shè)計(jì) 。 二系統(tǒng)概述1基本功能此次所做的單片機(jī)串行通信發(fā)射機(jī)主要在實(shí)驗(yàn)室完成,參考有關(guān)的書籍和資料,經(jīng)過討論,完成電路的設(shè)計(jì)、焊接、檢查、調(diào)試,再根據(jù)硬件和通信協(xié)議用匯編語(yǔ)言編寫發(fā)射和顯示程序,然后加電調(diào)試。最終達(dá)到以串行工作方式準(zhǔn)確無誤的發(fā)射和顯示信號(hào), 能夠方便地在單片機(jī)與單片機(jī)之間,構(gòu)成一個(gè)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)的無線串行數(shù)據(jù)傳輸通道。 2系統(tǒng)框圖 控制電路時(shí)鐘電路at8

9、9c51單片機(jī)顯示電路3工作原理單片機(jī)串行通信發(fā)射機(jī)采用串行工作方式,發(fā)射并顯示兩位數(shù)字信息,既顯示00-99,使數(shù)據(jù)能夠在不同地方傳遞。硬件部分主要分兩大塊,由at89c51和多個(gè)按鍵組成的控制模塊,包括時(shí)鐘電路、控制信號(hào)電路,時(shí)鐘采用6mhz晶振和30pf的電容來組成內(nèi)部時(shí)鐘方式,控制信號(hào)用手動(dòng)開關(guān)來控制,p1口來控制,p2、p3口產(chǎn)生信號(hào)并通過共陽(yáng)極數(shù)碼管來顯示,軟件采用匯編語(yǔ)言來編寫,發(fā)射程序在通信協(xié)議一致的情況下完成數(shù)據(jù)的發(fā)射,同時(shí)顯示程序?qū)Πl(fā)射的數(shù)據(jù)加以顯示。系統(tǒng)整體電路圖如下。三單元電路的設(shè)計(jì)與分析1at89c51單片機(jī)簡(jiǎn)介at89c51是美國(guó)atmel公司生產(chǎn)的低電壓,高性能的

10、cmos8位單片機(jī)片內(nèi)4kbytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(perom)和128bytes的隨機(jī)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(cpu)和flash存儲(chǔ)單元,功能強(qiáng)大。at89c51單片機(jī)可為你提供許多高性價(jià)的應(yīng)用場(chǎng)合,可靈活的應(yīng)用于各種控制領(lǐng)域。主要性能參數(shù):與mcs-51產(chǎn)品指令系統(tǒng)的全兼容 4k字節(jié)可重擦寫flash閃速存儲(chǔ)器1000次可擦寫周期全靜態(tài)操作:0hz-24mhz三級(jí)加密程序存儲(chǔ)器1288字節(jié)內(nèi)部ram 32個(gè)可編程i/o口線2個(gè)16位定時(shí)/計(jì)數(shù)器6個(gè)中斷源可編程串行uart通

11、道低功耗空閑和掉電模式 2.3.2.1 at89c51功能特性描述:at89c51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部ram,32個(gè)i/o口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)震蕩器及時(shí)鐘電路。同時(shí),at89c51可降至0hz的靜態(tài)邏輯操作,并支持兩種軟件的可選的節(jié)電工作模式??臻e方式停止cpu的工作,但允許ram,定時(shí)/計(jì)數(shù)器,竄行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但震蕩器停止工作并禁止所有部件工作直到下一個(gè)硬件復(fù)位。(1) at89c51引腳功能說明:vcc:電源電壓gnd:地p0口:po口是一組8位漏極開

12、路行雙向i/o口,也既地址/數(shù)據(jù)總線復(fù)用口??勺鳛檩敵隹谑褂脮r(shí),每位可吸收電流的方式驅(qū)動(dòng)8個(gè)ttl邏輯電路,對(duì)端口寫“1”可作為高阻抗輸入輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在flash編程時(shí),po口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求接上拉電阻。p1口:p1口是一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p1的輸入緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸出口。作輸入口時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)輸出一個(gè)電流(i)。

13、flash編程和程序校驗(yàn)期間,p1口接收8位地址。p2口:p2口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向i/o口,p2的輸入緩沖極可以驅(qū)動(dòng)(輸入或輸出電流)4個(gè)ttl邏輯門電路。對(duì)端口“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)和作為輸出口,作輸出口時(shí),因?yàn)榇嬖趦?nèi)部上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問外部存儲(chǔ)器或1位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movxdptr指令)時(shí),p2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行movxri指令)時(shí),p2口線的內(nèi)容(也既特殊功能寄存器(sfr)區(qū)中r2寄存器的內(nèi)容),在整個(gè)訪問期間不改變。flash編程或校驗(yàn)時(shí),p2亦接收

14、高地址和其他控制信號(hào)。p3口:p3口是一組帶有內(nèi)部上拉電阻的8位雙向i/o口,p1的輸入緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)ttl邏輯門電路。對(duì)p3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸出端口。作輸出端口時(shí),被外部拉低的p3口將用上拉電阻輸出電流。p3口除可作為一般的i/o口線外,更重要的用途是它的第二功能,如表2.1所示:p3口還接收一些用于flas 閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)rst:復(fù)位輸出。當(dāng)震蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平使機(jī)器復(fù)位。 ale/當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié),即使不訪問外部字節(jié)

15、,ale仍時(shí)鐘震蕩頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘脈沖或用于定時(shí)目的。要注意的是:每次訪問外部存儲(chǔ)器時(shí)將跳過一個(gè)ale脈沖。對(duì)flash存儲(chǔ)器編程期間,該引腳還要輸入編程脈沖()。如有必要,可通過對(duì)特殊功能寄存器(sfr)區(qū)中的8eh單元的d0位置位,可禁止ale操作。該位置位后,只有一條movx和movc指令可激活。此外,此引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)該置ale無效。:程序存入允許()輸出的是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)at89c51端口at89c51由外部程序取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次有效,既輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,這兩

16、次有效的信號(hào)不出現(xiàn)。ea/vpp:外部訪問允許。欲使cpu僅訪問外部程序存儲(chǔ)器(地址為0000h-ffffh),ea端必須保持低電平(接地)。要注意的是:如果加密位lb1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存ea端狀態(tài)。flash存儲(chǔ)器編程時(shí),該引腳加上+12v的編程允許電源vpp,當(dāng)然這必須是該器件是使用12v的編程電壓vpp。xtal1:震蕩器反向放大器及內(nèi)部時(shí)鐘的輸入端。xaal2:震蕩器反向放大器的輸出端。時(shí)鐘震蕩器:at89c51中有一個(gè)構(gòu)成內(nèi)部震蕩器的高增益反向放大器,引腳xtal1和xtal2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英或陶瓷震蕩器一起構(gòu)成自激震蕩器震蕩電

17、路如圖。外接石英晶體(或陶瓷震蕩器)及電容c1、c2接在放大器的震蕩回路中構(gòu)成并聯(lián)震蕩電路。對(duì)外接電容c1、c2雖然沒有非常嚴(yán)格的要求,但電容的大小會(huì)輕微影響震蕩頻率的高低、震蕩工作的穩(wěn)定性、起震的難易程序及溫度穩(wěn)定性,如果使用石英晶體,推薦使用30pf10pf,而如果使用陶瓷諧振器建議選擇40pf10pf。用戶還可以采用外部時(shí)鐘,采用外部時(shí)鐘如圖所示。在這種情況下,外部時(shí)鐘脈沖接到xtal1端,既內(nèi)部時(shí)鐘發(fā)生器的輸入端,xtal2懸空。 圖2.3 內(nèi)部震蕩電路 圖2.4 外部震蕩電路由于外部時(shí)鐘信號(hào)是通過一個(gè)2分頻的觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的所以外部 at89c51寄存器寄存器內(nèi)容寄存器內(nèi)容

18、pc0000htmod00hacc00htcom00hb00hth000hpsw00htlo00hsp07hth100h0dptr0000hth100hp1p30ffhscon00hipxxx00000sbuf不定ie0xxx00000pcon0xxx00000時(shí)鐘的占空比沒有特殊要求,但最小高電平持續(xù)的時(shí)間和最大低電平持續(xù)的時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。flash閃速存儲(chǔ)器的編程:at89c51單片機(jī)內(nèi)部有4k字節(jié)的flash perom,這個(gè)flash存儲(chǔ)存儲(chǔ)陣列出廠時(shí)已處于擦除狀態(tài)(既所有存儲(chǔ)單元的內(nèi)容均為ffh),用戶隨時(shí)可對(duì)其進(jìn)行編程。程序接收高電壓(+12v)或低電壓(vcc)的允

19、許編程信號(hào)。低電壓編程模式,適用與用戶在線編程系統(tǒng)。而高電平模式可與通用eprom編程程序兼容。編程方法:編程前需設(shè)置好地址、數(shù)據(jù)及控制信號(hào),編程單元的地址就、加在p1口和p2口的p2.0p2.3(11位地址范圍為0000h0fffh),數(shù)據(jù)從p0口輸入,引腳p2.6、p2.7和p3.6、p3.7的電平設(shè)置見表。psen為低電平,rst保持高電平,ea/vp 引腳是編程電源的輸入端,按要求加上編程電壓,ale/prog引腳輸入編程脈沖(負(fù)脈沖)編程時(shí)可采用420mhz的時(shí)鐘震蕩器at89c51的編程方法如下:1.0 在地址線上加上要編程單元的地址信號(hào)。1.在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。2.激

20、活相應(yīng)的控制信號(hào)。3.在高電壓編程時(shí),將ea/vpp端加上+1v編程電壓。4.每對(duì)flash存儲(chǔ)陣列寫入一個(gè)字節(jié),加上一個(gè)ale/prog編程脈沖。(2) at89c51控制信號(hào)rst/vpd(9腳)復(fù)位信號(hào)時(shí)鐘電路工作后,在引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平,芯片內(nèi)部進(jìn)行初始復(fù)位,復(fù)位后片內(nèi)存儲(chǔ)器的狀態(tài)如表所示,p1p3口輸出高電平,初始值07h寫入堆棧指針sp、清0程序計(jì)數(shù)器pc和其余特殊功能寄存器,但始終不影響片內(nèi)ram狀態(tài),只要該引腳保持高電平,89c51將循環(huán)復(fù)位,rat/vpd從高電平到低電平單片機(jī)將從0號(hào)單元開始執(zhí)行程序,另外該引腳還具有復(fù)用功能,只要將vpd接+5v備用電源,一旦v

21、cc電位突然降低或斷電,能保護(hù)片內(nèi)ram中的信息不丟失,恢復(fù)電后能正常工作。at89c81通常采用上電自動(dòng)復(fù)位和開關(guān)手動(dòng)復(fù)位,我們采用的是手動(dòng)復(fù)位開關(guān)如圖所示:圖3.4 手動(dòng)開關(guān)手動(dòng)開關(guān)未按下之前,電容正極處于家電狀態(tài),當(dāng)按鍵按下去后,vcc與gnd導(dǎo)通,電容放電,從而實(shí)現(xiàn)放電。整體電路的控制由按鍵控制,電路圖如下:2 單片機(jī)的串行接口mcs-51單片機(jī)內(nèi)部有一個(gè) 全雙工的串行接收和發(fā)射緩沖器(sbuff),這兩個(gè)在物理上獨(dú)立的接收發(fā)射器,即可以接收也可以發(fā)射數(shù)據(jù),但接收緩沖器只可以讀出不能寫入,而發(fā)送緩沖器只能寫入不能讀出,它們的地址是99h。這個(gè)通信口即可以用于網(wǎng)絡(luò)通信,亦可以實(shí)現(xiàn)串行異步

22、通信,還可以構(gòu)成同步移位寄存器使用。如果在串行口的輸入輸出引腳上加上電平轉(zhuǎn)換器,就可以方便的構(gòu)成標(biāo)準(zhǔn)的rs-232接口。下面我們分別介紹。(1 )基本概念數(shù)據(jù)通信的傳輸方式:常用于數(shù)據(jù)通信的傳輸方式有單工、半雙工、全雙工和工方式。a 單工方式:數(shù)據(jù)僅按一個(gè)固定的方向傳送。因?yàn)檫@種傳輸方式的用途有限,常用于串行口的打印數(shù)據(jù)傳輸與簡(jiǎn)單系統(tǒng)間的數(shù)據(jù)采集。b 雙工方式:數(shù)據(jù)可以實(shí)現(xiàn)雙向傳送,但不能同時(shí)進(jìn)行,實(shí)際的應(yīng)用采用某種協(xié)議實(shí)現(xiàn)收發(fā)開關(guān)轉(zhuǎn)換。c 全雙工方式:允許雙方同時(shí)進(jìn)行數(shù)據(jù)雙向傳送,但一般全雙工電路的線路和設(shè)備比較復(fù)雜。d 多工方式:以上三種傳輸方式都是同一線路傳輸一種頻率信號(hào),為了充分的利用

23、線路資源,可通過使用多路復(fù)用器或多路集線器,采用頻分、時(shí)分、或碼分復(fù)用技術(shù),即可實(shí)現(xiàn)在同一線路上資源共享功能,我們稱之為多工傳輸方式。串行通信的兩種通信形式a. 異步通信 在這種通信方式中,接收器和發(fā)射器有各自的時(shí)鐘,他們的工作是非同步的,異步通信用一幀來表示一個(gè)字符,其內(nèi)容如下:一個(gè)起始位,緊接著是若干個(gè)數(shù)據(jù)位,圖 是傳輸45h的數(shù)據(jù)格式。b.同步通信 同步通信格式中,發(fā)送器和接收器由同一個(gè)時(shí)鐘源控制,為了克服在異步傳輸中,每傳輸一幀字符都必須加上起始位和停止位,占用了傳輸時(shí)間,在要求傳送的數(shù)據(jù)量較大的c. 串行數(shù)據(jù)通信的傳輸速率: 串行數(shù)據(jù)傳輸率有兩個(gè)概念,既美秒傳送的位數(shù)bps(bit

24、per second)和美秒符號(hào)數(shù)-波特率(band rate),在具有調(diào)治解調(diào)器的通信中,波特率與調(diào)治速率有關(guān)。(.2) mcs-51的串行和控制寄存器 1串行口和控制寄存器mcs-51單片機(jī)串行口專用寄存器結(jié)構(gòu)如圖所示。sbuf為串行口的收發(fā)緩沖器,它是一個(gè)可尋址的專用寄存器,其中包含了接收器和發(fā)射器寄存器,可以實(shí)現(xiàn)全雙工通信。但這兩個(gè)寄存器具有同一地址(99h)。mcs-51的串行數(shù)據(jù)傳輸很簡(jiǎn)單,只要向緩沖器寫入數(shù)據(jù)就可發(fā)送數(shù)據(jù)。而從接收緩沖器讀出數(shù)據(jù)既可接收數(shù)據(jù)。此外,接收緩沖器前還加上一級(jí)輸入移位寄存器,mcs-51這種結(jié)構(gòu)的目的在于接收數(shù)據(jù)時(shí)避免發(fā)生重疊現(xiàn)象,文獻(xiàn)稱這種結(jié)構(gòu)為雙緩沖

25、結(jié)構(gòu)。而發(fā)送數(shù)據(jù)就不需要這樣設(shè)計(jì),因?yàn)榘l(fā)送時(shí),cpu是主動(dòng)的,不可能出現(xiàn)這種情況。a:串行通信寄存器在上一節(jié)我們已經(jīng)分析了scon控制寄存器,它是一個(gè)可尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制,單元地址是98h,其結(jié)構(gòu)格式如下:scon寄存器結(jié)構(gòu)表1 寄存器scon結(jié)構(gòu)scond7d6d5d4d3d2d1d0sm0sm1sm2rentb8rb8tiri位地址9fh9eh8dh9ch9bh9ah99h98h下面我們對(duì)個(gè)控制位功能介紹如下:(1)sm0、sm1:串行口工作方式控制位 smo sm1 工作方式 功能說明 0 0 方式0 移位寄存器方式(用于i/o擴(kuò)展) 0 1 方式1 8位uart,

26、波特率可變(t1溢出率/ n) 1 0 方式2 9 位uart,波特率為fosc/64或fosc/321 1 方式3 9位uart,波特率可變(t1溢出率/ n) (2)sm2:多機(jī)通信控制位多機(jī)通信是工作方式2和方式3,sm2位主要用于方式2和方式3。接收狀態(tài),當(dāng)串行口工作方式2或3,以及sm2=1時(shí),只有當(dāng)接收到第9位數(shù)據(jù)(rb8)為1時(shí),才把接收的前8位數(shù)據(jù)送入sbuf,且置位ri發(fā)出中斷申請(qǐng),否則會(huì)將收到的數(shù)據(jù)放棄。當(dāng)sm2=0時(shí),只有在接收到有效停止位時(shí)才啟動(dòng)ri,若沒接收到有效停止位,則ri清“0”。在方式0中sm2應(yīng)該為“0”。ren:允許接收控制位。由軟件置“1”時(shí),允許接收;

27、軟件置“0”時(shí),不許接收。tb8:在方式3和方式3中要發(fā)送的第9位數(shù)據(jù),需要時(shí)用軟件置位和清零。tb8:在方式2和方式3中是接收到的第9位數(shù)據(jù)。在方式1時(shí),如sm2=0,rb8接收到的停止位。在方式0中,不使用rb8。ti:發(fā)送中斷標(biāo)志。由硬件在方式0發(fā)送完第8位時(shí)置“1”,或在其它方式中串行發(fā)送停止位的開始時(shí)置“1”。必須由軟件清“0”。ri:接收中斷標(biāo)志。由硬件在方式0串行發(fā)射第8位結(jié)束時(shí)置“1”b:特殊功能寄存器pconpcon:主要是是chmos型單片機(jī)的電源控制而設(shè)置的專用寄存器,單元地址為87h其機(jī)構(gòu)格式如下表: 特殊功能寄存器pcon pcond7d6d5d4d3d2d1d0位符

28、號(hào)smodgf1gf0pdidl在chmos型單片機(jī)中,除smod位外其它位均為虛設(shè)的,smod是串行波特率倍增位,當(dāng)smod=1時(shí)串行口波特率加倍,系統(tǒng)復(fù)位默認(rèn)為smod=0。c:中斷允許寄存器ie中斷允許寄存器這里重述一下對(duì)串行口有影響的位es。es為串行中斷允許控制位,es=1允許串行中斷,es=0,禁止串行中斷。.2 串行口工作方式串行口具有4種工作方式,我從應(yīng)用和畢業(yè)設(shè)計(jì)的角度,重點(diǎn)討論方式1發(fā)送。串行口定義為方式1時(shí)傳送1幀數(shù)據(jù)為10位,其中1位起始地址、8位數(shù)據(jù)位(先低位后高位)、1位停止位方式1的波特率可變,波特率=(t1的溢出率)中斷允許寄存器符號(hào)eaeset1ex1etoe

29、x0位地址afhaehadhachabhaaha8ha8h3 數(shù)碼顯示管要用單片機(jī)構(gòu)成發(fā)射機(jī),就需要一個(gè)人機(jī)界面。常采用的方式是led數(shù)碼管顯示測(cè)試結(jié)果,用一個(gè)小鍵盤執(zhí)行某些功能,如請(qǐng)零、預(yù)置值、改變測(cè)量范圍等等。 led顯示器的工作原理led顯示是用發(fā)光二極管顯示字段的顯示器件,也可稱為數(shù)碼管,其外形結(jié)構(gòu)如圖所示,由圖可見它由8個(gè)發(fā)光二極管構(gòu)成,通過不同的組合可用來顯示09、af及小數(shù)點(diǎn)?!?”字型數(shù)碼管led顯示器分為共陰極和共陽(yáng)極,共陰極是將8個(gè)發(fā)光二極管陰極連接在一起作為公共端,而共陽(yáng)極是將8個(gè)發(fā)光二極管的陽(yáng)極連接在一起作為公共端。我們這次就是采用的共陽(yáng)極led,所以這里要介紹共陽(yáng)極數(shù)

30、碼管。如圖所示,led顯示器有靜態(tài)和動(dòng)態(tài)顯示兩種方式,靜態(tài)顯示是將共陰極聯(lián)到一起接地,每位的顯示段(a-dp)分別與一個(gè)8位的鎖存器輸出相連。由于顯示的各位可以相互獨(dú)立,各位可以互相顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。并且由于各位由一個(gè)8位鎖存器控制段選線,故在同一時(shí)間內(nèi)每一位顯示的字符可以不同, 段碼與字型的關(guān)系段碼d7dpd6gd5fd4ed3dd2cd2bd0a字形3fh00111111006h0000001015bh0101101124fh01001111366h0110011046dh0110110157dh01111101607h000001117

31、7fh0111111186fh01101111977h01110111a7ch01110111b39h00111001c5eh01011110d79h01111001e71h01110000f這種方式占用鎖存器較多。動(dòng)態(tài)顯示是將所有位的段選線相應(yīng)的并聯(lián)在一起,由一個(gè)8位的i/o口控制,形成段選線的多路復(fù)用。而各位的陰極分別由相應(yīng)的i/o口控制,實(shí)現(xiàn)各位的分時(shí)選通。要led能夠顯示相應(yīng)的字符,就必須采用動(dòng)態(tài)掃描方式,只要每位顯示的時(shí)間足夠短,利用視覺暫留,則可造成多位同時(shí)顯示的假象,達(dá)成顯示的目的。在數(shù)字電路中常常要把數(shù)據(jù)或運(yùn)算結(jié)果通過半導(dǎo)體數(shù)碼管、液晶數(shù)碼和熒光數(shù)碼管,用十進(jìn)制數(shù)顯示出來。發(fā)光

32、二極管的工作電壓為1.5-3.0伏,工作電流為己毫安到幾十毫安,壽命很長(zhǎng)。半導(dǎo)體數(shù)碼管將十位數(shù)分成七個(gè)字段,每段為一個(gè)發(fā)光二極管,其字形結(jié)構(gòu)如圖所示,選擇不同的字段發(fā)光,可顯示出不同的字型。例如:當(dāng)a,b,c,d,e,f,g七個(gè)字段同時(shí)亮?xí)r,顯示8,b、c 段亮?xí)r,顯示出。共陽(yáng)極:把發(fā)光二極管的陽(yáng)極連在一起構(gòu)成共陽(yáng)極。使用時(shí)公共端接vcc,當(dāng)某陽(yáng)極為低電平時(shí),該發(fā)光二極管就導(dǎo)通發(fā)光。輸出一個(gè)段碼就可以控制led顯示器的字型,表 給出了段碼與字型的關(guān)系,假定a、b、c、d、e、f、g、dp分別對(duì)應(yīng)d0、d1、d2、d3、d4、d5、d6、d7。四軟件設(shè)計(jì)流程軟件的設(shè)計(jì)是我實(shí)驗(yàn)的另一個(gè)重要方面。它

33、的好壞直接關(guān)系實(shí)驗(yàn)成功與否。軟件是用匯編完成的,需要能熟練的掌握匯編語(yǔ)言,還要熟悉at89c51單片機(jī)。從程序流程圖、通信協(xié)議、波特率計(jì)算、編寫程序、編譯、和燒入軟件的操作,到最后的調(diào)試,是很復(fù)雜的。1程序流程圖2通信協(xié)議 串行口控制寄存器scon的設(shè)置串行口控制寄存器的基本情況在前面已經(jīng)介紹,這里不再重復(fù)。根據(jù)我們所做的內(nèi)容,我們采用了串行工作方式1,ren設(shè)置為“1”(允許接收),綜上所述我們?cè)O(shè)scon的初始值為50h,如下表所示: 串行口控制寄存器sm0sm1sm2rentb8tb8tiri010100003 定時(shí)器的初始化設(shè)置在定時(shí)器為方式1時(shí),方式字為: 定時(shí)計(jì)數(shù)器的初始化catec

34、/m1mo0010t1 t0gate:表示不參與控制c/:選擇計(jì)數(shù)/時(shí)鐘方式m1mo:選定定時(shí)器1工作方式2所以定時(shí)器tmod初始值為20h4 波特率計(jì)算晶震為6m,波特率為1.2k單片機(jī)工作方式為串行方式1,t1是方式2,所以1.2=1/16*xx=19.219.2=1/2*(256-y)y=217.6把十進(jìn)制轉(zhuǎn)換成十六進(jìn)制數(shù)為d9,所以初始值為d9。5 發(fā)射程序: org 0000h sjmp start org 0030hstart:mov 30h,#00h mov 31h,#00h mov a,30h mov dptr,#ddss movc a,a+dptr cpl a mov p0,

35、a mov a,31h movc a,a+dptr cpl a mov p2,a main:jb p1.0,m0 lcall dely0 jb p1.0,m0 lcall dely1 lcall z0 m0:jb p1.1,m1 lcall dely0 jb p1.1,m1 lcall dely1 lcall z1 m1:jb p1.2,m2 lcall dely0 jb p1.2,m2 lcall dely1 lcall dely1 lcall z2 m2:jb p1.3,m3 lcall dely0 jb p1.3,m3 lcall dely1 lcall z3 m3:ljmp maindely0: mov r7,#100 dly0: mov r6,#98 nop dly1: djnz r6,dly1 djnz r7,dly0 ret z0: inc 30h mov

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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)論