版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)通訊軟硬設(shè)計(jì)實(shí)驗(yàn)課題名稱:?jiǎn)纹瑱C(jī)通訊軟硬件的設(shè)計(jì)專業(yè)班級(jí):姓名:指導(dǎo)老師:2011年1月13日目錄TOC o 1-5 h z HYPERLINK l bookmark4 摘要3 HYPERLINK l bookmark6 第一章設(shè)計(jì)要求及功能4 HYPERLINK l bookmark8 第二章硬件設(shè)計(jì)4 HYPERLINK l bookmark10 一.AT89C52單片機(jī)簡(jiǎn)介4 HYPERLINK l bookmark18 二MAX232簡(jiǎn)介7 HYPERLINK l bookmark20 三.RS23串口通信標(biāo)準(zhǔn)8 HYPERLINK l bookmark22 四串口通信原理8 H
2、YPERLINK l bookmark30 第三章軟件設(shè)計(jì)11 HYPERLINK l bookmark32 80C51串行口的控制寄存器11 HYPERLINK l bookmark40 串行驅(qū)動(dòng)數(shù)碼管顯示13二.調(diào)試流程圖15 HYPERLINK l bookmark52 第四章串口通信調(diào)試16第五章程序源代碼16 HYPERLINK l bookmark58 第六章設(shè)計(jì)總結(jié)20 HYPERLINK l bookmark60 參考文獻(xiàn)21摘要計(jì)算機(jī)與計(jì)算機(jī)或計(jì)算機(jī)與終端之間的數(shù)據(jù)傳送可以用串行通信和并行通信兩種方式。憂郁串行同時(shí)方式具有使用線路少、成本低,特別是在遠(yuǎn)程傳輸時(shí),避免了多條線路
3、特性不一致而被廣泛采用。在串行通信時(shí),要求通訊雙方都采用一個(gè)標(biāo)準(zhǔn)接口,使不同的設(shè)備可以方便的連接起來進(jìn)行通訊。RS-232-C接口(又稱EIARS-232-C)是目前最常用的一種串行接口。它是在1970年由美國電子工業(yè)協(xié)會(huì)(EIA)聯(lián)合貝爾系統(tǒng),調(diào)制解調(diào)器廠家及計(jì)算機(jī)終端生產(chǎn)廠家公共制定的用于串行通訊的標(biāo)準(zhǔn)它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”該標(biāo)準(zhǔn)規(guī)定采用一個(gè)25個(gè)引腳的DB25連接器,對(duì)連接器的每個(gè)引腳的內(nèi)容加以規(guī)定,還對(duì)各種信號(hào)的電瓶加以規(guī)定。隨著計(jì)算機(jī)技術(shù)尤其是單片機(jī)技術(shù)的發(fā)展,人們已越來越多的采用單片機(jī)對(duì)一些工業(yè)控制系統(tǒng)中溫度、
4、流量和壓力等參數(shù)進(jìn)行檢測(cè)和控制。PC機(jī)具有強(qiáng)大的監(jiān)控的管理功能,而單片機(jī)具有快速及靈活的控制特點(diǎn),通過PC機(jī)的RS-232串行接口與外部設(shè)備進(jìn)行通信,是許多測(cè)控系統(tǒng)常用的一種通訊解決方案。因此如何實(shí)現(xiàn)PC機(jī)與單片機(jī)之間的通訊具有非常重要的現(xiàn)實(shí)意義。關(guān)鍵字:串行通信,RS-232,51單片機(jī),波特率第一章設(shè)計(jì)要求及功能單片機(jī)通訊軟硬設(shè)計(jì)設(shè)計(jì)要求:編程語言為C語言;基于單片機(jī)的硬件電路設(shè)計(jì)與調(diào)試;設(shè)計(jì)一個(gè)具有RS232串行通信接口的單片機(jī)系統(tǒng),系統(tǒng)可通過RS232接口與計(jì)算機(jī)的RS232接口進(jìn)行通信。用C語言編寫一個(gè)通信程序,實(shí)現(xiàn)從電腦鍵盤上鍵入一個(gè)字符(使用串口調(diào)試軟件或自己編寫上位機(jī)程序),發(fā)
5、送字符,單片機(jī)根據(jù)接收到的字符做出相應(yīng)的操作。單片機(jī)接收到字符1單片機(jī)最小系統(tǒng)板上的LED燈從D1到D8依次循環(huán)閃爍;單片機(jī)接收到字符2,:單片機(jī)最小系統(tǒng)板上的LED燈從D8到D1依次循環(huán)閃爍;單片機(jī)接收到字符3單片機(jī)最小系統(tǒng)板上的LED燈從D1D3D5D7D2D4D6D8依次循環(huán)閃爍;設(shè)計(jì)出電路原理圖,說明工作原理,編寫程序及程序流程圖,并進(jìn)行程序調(diào)試。第二章硬件設(shè)計(jì)一.AT89C52單片機(jī)簡(jiǎn)介AT89C52簡(jiǎn)介AT89C52是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公
6、司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式。其管腳:T
7、2/F1.0匚T2ES/P1.1匚P1仝匚F1.3CF1.4匚F1.5匚Fl.B匚Fl7匚EST匚KKD/F3.0匚THD/F3.1匚INTO/F3.2匚INTI/F33匚TO/F3.4匚T1/F3.5匚6匚ED/P3.7匚XTAL2匚MTAL1匚FDIPGITD匚40“338三日兇忙寸Ggh-LbG寸目口口口口口口口匚1mTiTiOO:遠(yuǎn)UUYUEUh苗遠(yuǎn)UUYUaYH口寸“山|-沖寸eWihuUUDDDDDDCDR口p程N(yùn)CJENMMNnSHdSd山5digVSSdSddpLiPLiS口門mnriirinri門1門口口門|口口門主要功能特性兼容MCS51指令系統(tǒng)8k可反復(fù)擦寫(1000次)
8、FlashROM32個(gè)雙向I/O口256x8bit內(nèi)部RAM3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHZ2個(gè)串行中斷可編程UART串行通道2個(gè)外部中斷源共8個(gè)中斷源2個(gè)讀寫中斷口線3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能AT89C52各引腳功能及管腳電壓概述:AT89C52P為40腳雙列直插封裝的8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì)會(huì)聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。主要管腳
9、有:XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接12MHz晶振。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負(fù)端。P0P3為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0端口(3239腳)被定義為N1功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13腳定義為IR輸入端,10腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12腳、27腳及28腳定義為握手信號(hào)功能端口,連接主板CPU的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)及會(huì)聚調(diào)整狀態(tài)進(jìn)
10、入的控制功能。P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口P0寫“1”時(shí),可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(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í),因
11、為內(nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX)Flash編程和程序校驗(yàn)期間,P1接收低8位地址。P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVXDPT
12、R指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVXRI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。二MAX232簡(jiǎn)介MAX232芯片是美信公司專門為電腦
13、的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。1*J23彳G61171C89T1INR20UT引腳介紹:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、&9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-2
14、32數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。主要特點(diǎn):1.符合所有的RS-232C技術(shù)標(biāo)準(zhǔn)2只需要單一+5V電源供電3.片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓4功耗低,典型供電電流5mA5內(nèi)部集成2個(gè)RS-232C驅(qū)動(dòng)器6內(nèi)部集成兩個(gè)RS-232C接收器三.RS23串口通信標(biāo)準(zhǔn)RS232串口通信協(xié)議串行通信接口標(biāo)準(zhǔn)經(jīng)過使用和發(fā)展,目前已經(jīng)有幾種。但都是在RS-232標(biāo)準(zhǔn)的基礎(chǔ)上經(jīng)過改進(jìn)而形成的。
15、所以,以RS-232C為主來討論RS-323C標(biāo)準(zhǔn)是美國EIA(電子工業(yè)聯(lián)合會(huì))與BELL等公司一起開發(fā)的1969年公布的通信協(xié)議。它適合于數(shù)據(jù)傳輸速率在020000b/s范圍內(nèi)的通信。這個(gè)標(biāo)準(zhǔn)對(duì)串行通信接口的有關(guān)問題,如信號(hào)線功能、電器特性都作了明確規(guī)定。由于通行設(shè)備廠商都生產(chǎn)與RS-232C制式兼容的通信設(shè)備,因此,它作為一種標(biāo)準(zhǔn),目前已在微機(jī)通信接口中廣泛采用。在討論RS-232C接口標(biāo)準(zhǔn)的內(nèi)容之前,先說明兩點(diǎn):首先,RS-232-C標(biāo)準(zhǔn)最初是遠(yuǎn)程通信連接數(shù)據(jù)終端設(shè)備DTE與數(shù)據(jù)通信設(shè)備DCE(DataCommunicationEquipment)而制定的。因此這個(gè)標(biāo)準(zhǔn)的制定,并未考慮計(jì)
16、算機(jī)系統(tǒng)的應(yīng)用要求。但目前它又廣泛地被借來用于計(jì)算機(jī)(更準(zhǔn)確的說,是計(jì)算機(jī)接口)與終端或外設(shè)之間的近端連接標(biāo)準(zhǔn)。顯然,這個(gè)標(biāo)準(zhǔn)的有些規(guī)定及和計(jì)算機(jī)系統(tǒng)是不一致的,甚至是相矛盾的。有了對(duì)這種背景的了解,我們對(duì)RS-232C標(biāo)準(zhǔn)與計(jì)算機(jī)不兼容的地方就不難理解了。其次,RS-232C標(biāo)準(zhǔn)中所提到的“發(fā)送”和“接收”,都是站在DTE立場(chǎng)上,而不是站在DCE的立場(chǎng)來定義的。由于在計(jì)算機(jī)系統(tǒng)中,往往是CPU和I/O設(shè)備之間傳送信息,兩者都是DTE,因此雙方都能發(fā)送和接收。PC機(jī)的RS232端口與一般單片機(jī)的UART接口從數(shù)據(jù)收發(fā)的時(shí)序上看,是一樣的協(xié)議,不同的是兩者用以表達(dá)邏輯“1”和“0”的規(guī)定是不一樣
17、的,即電平是不兼容的。RS232端口用正負(fù)電壓來表示邏輯狀態(tài),與TTL(單片機(jī)的UART接口電平)以高低電平表示邏輯狀態(tài)的規(guī)定是不同的。因此,為了能夠同計(jì)算機(jī)接口和終端的TTL器件連接,必須進(jìn)行電平和邏輯關(guān)系的變換。實(shí)現(xiàn)這種變換的方法可用分立元件,也可用集成電路芯片。MAX232芯片就是目前應(yīng)用較為廣泛的電平轉(zhuǎn)換器件,它可以實(shí)現(xiàn)TTL到EIA雙向電平變換;該芯片支持兩路串行異步通信,RIN1為第一路輸入,ROUT1為第一路輸出;RIN2為第二路輸入管腳,ROUT2為第二路輸出。四串口通信原理串口通訊對(duì)單片機(jī)而言意義重大,不但可以實(shí)現(xiàn)將單片機(jī)的數(shù)據(jù)傳輸?shù)接?jì)算機(jī)端,而且也能實(shí)現(xiàn)計(jì)算機(jī)對(duì)單片機(jī)的控制
18、。由于其所需電纜線少,接線簡(jiǎn)單,所以在較遠(yuǎn)距離傳輸中,得到了廣泛的運(yùn)用。串口通信的工作原理請(qǐng)同學(xué)們參看教科書。以下對(duì)串口通信中一些需要同學(xué)們注意的地方作一點(diǎn)說明:1、波特率選擇波特率(BoudRate)就是在串口通信中每秒能夠發(fā)送的位數(shù)(bits/second)。MSC-51串行端口在四種工作模式下有不同的波特率計(jì)算方法。其中,模式0和模式2波特率計(jì)算很簡(jiǎn)單,請(qǐng)同學(xué)們參看教科書;模式1和模式3的波特率選擇相同,故在此僅以工作模式1為例來說明串口通信波特率的選擇。在串行端口工作于模式1,其波特率將由計(jì)時(shí)/計(jì)數(shù)器1來產(chǎn)生,通常設(shè)置定時(shí)器工作于模式2(自動(dòng)再加模式)。在此模式下波特率計(jì)算公式為:波特
19、率=(1+SMOD)*晶振頻率/(384*(256-TH1)其中,SMOD寄存器PCON的第7位,稱為波特率倍增位;TH1定時(shí)器的重載值。在選擇波特率的時(shí)候需要考慮兩點(diǎn):首先,系統(tǒng)需要的通信速率。這要根據(jù)系統(tǒng)的運(yùn)作特點(diǎn),確定通信的頻率范圍。然后考慮通信時(shí)鐘誤差。使用同一晶振頻率在選擇不同的通信速率時(shí)通信時(shí)鐘誤差會(huì)有很大差別。為了通信的穩(wěn)定,我們應(yīng)該盡量選擇時(shí)鐘誤差最小的頻率進(jìn)行通信。下面舉例說明波特率選擇過程:假設(shè)系統(tǒng)要求的通信頻率在20000bit/s以下,晶振頻率為12MHz,設(shè)置SMOD=1(即波特率倍增)。則TH1=256-62500/波特率根據(jù)波特率取值表,我們知道可以選取的波特率有
20、:1200,2400,4800,960019200。列計(jì)數(shù)器重載值,通信誤差如下表:2、通信協(xié)議的使用通信協(xié)議是通信設(shè)備在通信前的約定。單片機(jī)、計(jì)算機(jī)有了協(xié)議這種約定,通信雙方才能明白對(duì)方的意圖,以進(jìn)行下一步動(dòng)作。假定我們需要在PC機(jī)與單片機(jī)之間進(jìn)行通信,在雙方程式設(shè)計(jì)過程中,有如下約定:0 xA1:單片機(jī)讀取P0端口數(shù)據(jù),并將讀取數(shù)據(jù)返回PC機(jī);0 xA2:單片機(jī)從PC機(jī)接收一段控制數(shù)據(jù);0 xA3:單片機(jī)操作成功信息。在系統(tǒng)工作過程中,單片機(jī)接收到PC機(jī)數(shù)據(jù)信息后,便查找協(xié)議,完成相應(yīng)的操作。當(dāng)單片機(jī)接收到0 xA1時(shí),讀取P0端口數(shù)據(jù),并將讀取數(shù)據(jù)返回PC機(jī);當(dāng)單片機(jī)接收到0 xA2時(shí),
21、單片機(jī)等待從PC機(jī)接收一段控制數(shù)據(jù);當(dāng)PC機(jī)接收到0 xA3時(shí),就表明單片機(jī)操作已經(jīng)成功。3、硬件連接51單片機(jī)有一個(gè)全雙工的串行通訊口,所以單片機(jī)和計(jì)算機(jī)之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如計(jì)算機(jī)的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專用芯片MAX232進(jìn)行轉(zhuǎn)換,雖然也可以用幾個(gè)三極管進(jìn)行模擬轉(zhuǎn)換,但是還是用專用芯片更簡(jiǎn)單可靠。我們采用了三線制連接串口,也就是說和計(jì)算機(jī)的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡(jiǎn)單的連接方法,但是對(duì)我們來說已經(jīng)足夠使用了,電路如下
22、圖所示,MAX232的第10腳和單片機(jī)的11腳連接,第9腳和單片機(jī)的10腳連接,第15腳和單片機(jī)的20腳連接。使用MAX232串口通信電路圖(9孔串口接頭)CL十17CC齊CL-rinurOHLMC2-Eiour7LIN15ir151141341312P3(11P3第三章軟件設(shè)計(jì)80C51串行口的控制寄存器SCON是一個(gè)特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:SM(KSM1|方式屮說飪液特任Op0=務(wù)位寄存辭01110位異步收發(fā)器魏位數(shù)據(jù)*可處1-0*2;11位異步收發(fā)器9磴數(shù)據(jù)片辦晶64或%hb3-11也異步收發(fā)器9位數(shù)據(jù)SM2:多機(jī)通信控制位,主要用于方式
23、2和方式3。當(dāng)接收機(jī)的SM2=1時(shí)可以利用收到的RB8來控制是否激活RI(RB8=0時(shí)不激活RI,收到的信息丟棄;RB8=1時(shí)收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走)。當(dāng)SM2=0時(shí),不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI(即此時(shí)RB8不具有控制RI激活的功能)。通過控制SM2,可以實(shí)現(xiàn)多機(jī)通信。在方式0時(shí),SM2必須是0。在方式1時(shí),若SM2=1,則只有接收到有效停止位時(shí),RI才置1。REN:允許串行接收位。由軟件置REN=1,則啟動(dòng)串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。TB8:在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,
24、可以用軟件規(guī)定其作用。可以用作數(shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式0和方式1中,該位未用。RB8:在方式2或方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式1時(shí),若SM2=0,則RB8是接收到的停止位。TI:發(fā)送中斷標(biāo)志位。在方式0時(shí),當(dāng)串行發(fā)送第8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行發(fā)送停止位的開始時(shí),由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請(qǐng)。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請(qǐng)。RI:接收中斷標(biāo)志位。在方式0時(shí),當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時(shí),或在其它方式,串行接收停止位的中間時(shí),由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請(qǐng)
25、。也必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷申請(qǐng)。PCON中只有一位SMOD與串行口工作有關(guān):率與SMOD有關(guān),當(dāng)SMOD=1時(shí),波特率提高一倍。復(fù)位時(shí),SMOD=0。方式1rxd起始停止位位采樣脈沖十加丫丁firmnnnruinim皿nruinmm皿門ruinrumRI(中斷標(biāo)志)用軟件置REN為1時(shí),接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測(cè)到RXD引腳輸入電平發(fā)生負(fù)跳變時(shí),則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時(shí),控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=
26、0(或接收到的停止位為1)時(shí),將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進(jìn)入RB8,并置RI=1,向CPU請(qǐng)求中斷。串行口工作之前,應(yīng)對(duì)其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時(shí)器1、串行口控制和中斷控制。具體步驟如下:確定T1的工作方式(編程TMOD寄存器);-計(jì)算T1的初值,裝載TH1、TL1;-啟動(dòng)T1(編程TCON中的TR1位);確定串行口控制(編程SCON寄存器);串行口在中斷方式工作時(shí),要進(jìn)行中斷設(shè)置(編程IE、IP寄存器)。二串行驅(qū)動(dòng)數(shù)碼管顯示MAX7219簡(jiǎn)介MAX7219是一種集成化的串行輸入/輸出共陰極顯示驅(qū)動(dòng)器,它連接微處理器8位數(shù)字的7段數(shù)字LED顯
27、示,也可以連接條線圖顯示器或者64個(gè)獨(dú)立的LED。其上包括一個(gè)片上的B型BCD編碼器、多路掃描回路,段字驅(qū)動(dòng)器,而且還有一個(gè)8*8的靜態(tài)RAM用來存儲(chǔ)每一個(gè)數(shù)據(jù)。只有一個(gè)外部寄存器用來設(shè)置各個(gè)LED的段電流。MAX7221與SPI、QSPI以及MICROWIRE相兼容,同時(shí)它有限制回轉(zhuǎn)電流的段驅(qū)動(dòng)來減少EMI(電磁干擾)。一個(gè)方便的四線串行接口可以聯(lián)接所有通用的微處理器。每個(gè)數(shù)據(jù)可以尋址在更新時(shí)不需要改寫所有的顯示。MAX7219/MAX7221同樣允許用戶對(duì)每一個(gè)數(shù)據(jù)選擇編碼或者不編碼。整個(gè)設(shè)備包含一個(gè)150A的低功耗關(guān)閉模式,模擬和數(shù)字亮度控制,一個(gè)掃描限制寄存器允許用戶顯示1-8位數(shù)據(jù),
28、還有一個(gè)讓所有LED發(fā)光的檢測(cè)模式。其功能特點(diǎn):10MHz連續(xù)串行口獨(dú)立的LED段控制數(shù)字的譯碼與非譯碼選擇150口A的低功耗關(guān)閉模式亮度的數(shù)字和模擬控制高電壓中斷顯示共陰極LED顯示驅(qū)動(dòng)限制回轉(zhuǎn)電流的段驅(qū)動(dòng)來減少EMI(MAX7219)SPI,QSPI,MICROWIRE串行接口(MAX7219)24腳的DIP和SO封裝管腳描述1:DIN串行數(shù)據(jù)輸入端口。在時(shí)鐘上升沿時(shí)數(shù)據(jù)被載入內(nèi)部的16位寄存器。2,3,5-8,10,11:DIG0-DIG7八個(gè)數(shù)據(jù)驅(qū)動(dòng)線路置顯示器共陰極為低電平。關(guān)閉時(shí)7219此管腳輸出高電平,7221呈現(xiàn)高阻抗。4,9:GND地線(4腳和9腳必須同時(shí)接地)12:LOAD
29、(MAX7219)載入數(shù)據(jù)。連續(xù)數(shù)據(jù)的后16位在LOAD端的上升沿時(shí)被鎖定。CS:(MAX7221)片選端。該端為低電平時(shí)串行數(shù)據(jù)被載入移位寄存器。連續(xù)數(shù)據(jù)的后16位在cs端的上升沿時(shí)被鎖定。13:CLK時(shí)鐘序列輸入端。最大速率為10MHz.在時(shí)鐘的上升沿,數(shù)據(jù)移入內(nèi)部移位寄存器。下降沿時(shí),數(shù)據(jù)從DOUT端輸出。對(duì)MAX7221來說,只有當(dāng)cs端為低電平時(shí)時(shí)鐘輸入才有效。14-17,20-23:SEG7段和小數(shù)點(diǎn)驅(qū)動(dòng),為顯示器提供電流。當(dāng)一個(gè)段驅(qū)A-SEGG,動(dòng)關(guān)閉時(shí),7219的此端呈低電平,7221呈現(xiàn)高阻抗。18:SET通過一個(gè)電阻連接到VDD來提高段電流。19:V+正極電壓輸入,+5V2
30、4:DOUT串行數(shù)據(jù)輸出端口,從DIN輸入的數(shù)據(jù)在16.5個(gè)時(shí)鐘周期后在此端有效。當(dāng)使用多個(gè)MAX7219/MAX7221時(shí)用此端方便擴(kuò)展。MAX7219管腳圖DIN1DIGO2DIG43GND4DIG65DIG26DIGS1DIG?8GNDgDIGSiaDIGT11LOAD(CS)112MAX7221DOUTSTGDShGUPSTGrSEGCgISLISEGGSTGFlStG卜SrGACLK(JMAX7221ONLYDIP/SO軟件編程此芯片驅(qū)動(dòng)七段數(shù)碼管采用的是串行驅(qū)動(dòng),要掌握好芯片的時(shí)序,做好MAX7219的初始化工作。然后驅(qū)動(dòng)數(shù)碼管,其時(shí)序圖為:DI5D1IDO1D0l5H;Alm葉D
31、0U1csDRLOW)二調(diào)試流程圖第四章串口通信調(diào)試串口通信調(diào)試工具:要設(shè)置好波特率,在發(fā)送后,字符再由單片機(jī)發(fā)回顯示在接收區(qū)。第五章程序源代碼#include#includeTOC o 1-5 h z#defineucharunsignedchar#defineDECODE_MODE0 x09#defineINTENSITY0 x0A#defineSCAN_LIMIT0 x0B#defineSHUT_DOWN0 x0C#defineDISPLAY_TEST0 x0F#definetime50voidinit_SCI();voidSCI_Send();voiddelay(intz);voidl
32、eft();voidright();voidinterval();voidhello();voidInit_Max7219(void);voidwrite_7219(ucharadd,uchardat);voidsend_byte(uchari);voidshort_delay(void);sbitCLK=P0A0;sbitDIN=P0A1;sbitLOAD=P0A2;intsecond=0,minute=0,clock=0,t_sec=0,t_min=0;unsignedchardd10=0 x7e,0 x30,0 x6d,0 x79,0 x33,0 x5b,0 x5f,0 x70,0 x7
33、f,0 x7b;charreceive;intflag;chartemp=0 xFE;chark=0,i=1;voidmain()init_SCI();Init_Max7219();for(i=1;i9;i+)write_7219(i,0 x00);while(1)switch(receive)case1:left();break;case2:right();break;case3:temp=0 xFE;interval();break;case4:hello();break;voidinit_SCI()TMOD=0 x20;/設(shè)置定時(shí)器1工作方式為2SCON=0 x50;/設(shè)置串口工作方式為
34、1,且啟動(dòng)串口接收數(shù)據(jù)TH1=0 xFD;/設(shè)置波特率為9600TL1=0XFD;/設(shè)置波特率為9600TR1=1;/定時(shí)器1啟動(dòng)PCON=0 x00;/SMOD設(shè)置為0EA=1;/開總中斷ES=1;/串口中斷允許voidSCI_interrupt()interrupt4if(RI=1)/接收完了for(i=1;i9;i+)write_7219(i,0 x00);RI=0;/addyourcodehere!receive=SBUF;flag=1;if(flag=1)SCI_Send();elseTI=0;voidSCI_Send()flag=0;ES=0;SBUF=receive;while(
35、!TI);TI=0;ES=1;voidleft()write_7219(1,dd1);P1=temp;temp=_crol_(temp,1);delay(time);voidright()write_7219(1,dd2);P1=temp;temp=_cror_(temp,1);delay(time);voidinterval()write_7219(1,dd3);P1=temp;/11111110temp=_crol_(temp,2);delay(time);P1=temp;/11111011temp=_crol_(temp,2);delay(time);P1=temp;/11101111t
36、emp=_crol_(temp,2);delay(time);P1=temp;/10111111temp=_crol_(temp,3);delay(time);P1=temp;/11111101temp=_crol_(temp,2);delay(time);P1=temp;/11110111temp=_crol_(temp,2);delay(time);P1=temp;/11011111temp=_crol_(temp,2);delay(time);P1=temp;/01110111/temp=_crol_(temp,2);delay(time);voidhello()write_7219(1
37、,0 x7e);write_7219(2,0 x0e);write_7219(3,0 x0e);write_7219(4,0 x4f);write_7219(5,0 x37);voidwrite_7219(ucharadd,uchardat)LOAD=1;send_byte(add);send_byte(dat);LOAD=0;short_delay();LOAD=1;CLK=0;short_delay();CLK=1;voidsend_byte(uchari)chark;for(k=0;k8;k+)if(0 x80&i)DIN=1;elseDIN=0;CLK=0;short_delay();CLK=1;short_delay();i*=2;voidInit_Max7219(void)/NormalOperationXXXXXXX1Shutdown/NormalOperationXXXXXXX0DisplayTestwrite_7219(SHUT_DOWN,0 xff);ModeXXXXXXXX0write_7219(DISPLAY_TEST,0 x00);ModeXXXXXXXX1write_7219(DECODE_MODE,0 x00);/DecodeModeSelectD7D01Bdecode0Nodecodewrite_7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度爬架租賃業(yè)務(wù)戰(zhàn)略合作框架合同4篇
- 二零二四年度新媒體主播網(wǎng)絡(luò)直播內(nèi)容版權(quán)合作合同3篇
- 2025年度美國新移民必知的移民政策解析與法律服務(wù)合同3篇
- 2025年度科技項(xiàng)目出差補(bǔ)貼與保障服務(wù)合同3篇
- 2025年度個(gè)人傭金提成及獎(jiǎng)勵(lì)合同3篇
- 二零二五版南匯農(nóng)業(yè)志版權(quán)授權(quán)合同4篇
- 二零二五年度物業(yè)小區(qū)門衛(wèi)安全防護(hù)服務(wù)合同4篇
- 二零二五年度智能電視操作系統(tǒng)授權(quán)使用合同4篇
- 二零二四年度醫(yī)療設(shè)備維修與保養(yǎng)服務(wù)外協(xié)合同
- 2025年度門面房租賃風(fēng)險(xiǎn)評(píng)估與管理合同4篇
- GB/T 45107-2024表土剝離及其再利用技術(shù)要求
- 2024-2025學(xué)年八年級(jí)上學(xué)期1月期末物理試題(含答案)
- 商場(chǎng)電氣設(shè)備維護(hù)勞務(wù)合同
- 《妊娠期惡心嘔吐及妊娠劇吐管理指南(2024年)》解讀
- 2023年國家公務(wù)員錄用考試《行測(cè)》真題(行政執(zhí)法)及答案解析
- 全國教學(xué)設(shè)計(jì)大賽一等獎(jiǎng)英語七年級(jí)上冊(cè)(人教2024年新編)《Unit 2 Were Family!》單元教學(xué)設(shè)計(jì)
- 2024智慧醫(yī)療數(shù)據(jù)字典標(biāo)準(zhǔn)值域代碼
- 年產(chǎn)12萬噸裝配式智能鋼結(jié)構(gòu)項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)備案
- 【獨(dú)家揭秘】2024年企業(yè)微信年費(fèi)全解析:9大行業(yè)收費(fèi)標(biāo)準(zhǔn)一覽
- 醫(yī)療器械經(jīng)銷商會(huì)議
- 《±1100kV特高壓直流換流變壓器使用技術(shù)條件》
評(píng)論
0/150
提交評(píng)論