![雙機通信系統(tǒng)單片機課程設(shè)計_第1頁](http://file4.renrendoc.com/view/6f1a23c8e7536143717adb837c34f689/6f1a23c8e7536143717adb837c34f6891.gif)
![雙機通信系統(tǒng)單片機課程設(shè)計_第2頁](http://file4.renrendoc.com/view/6f1a23c8e7536143717adb837c34f689/6f1a23c8e7536143717adb837c34f6892.gif)
![雙機通信系統(tǒng)單片機課程設(shè)計_第3頁](http://file4.renrendoc.com/view/6f1a23c8e7536143717adb837c34f689/6f1a23c8e7536143717adb837c34f6893.gif)
![雙機通信系統(tǒng)單片機課程設(shè)計_第4頁](http://file4.renrendoc.com/view/6f1a23c8e7536143717adb837c34f689/6f1a23c8e7536143717adb837c34f6894.gif)
![雙機通信系統(tǒng)單片機課程設(shè)計_第5頁](http://file4.renrendoc.com/view/6f1a23c8e7536143717adb837c34f689/6f1a23c8e7536143717adb837c34f6895.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
設(shè)計大概..........................................................21整體設(shè)計........................................................3設(shè)計要求..................................................3設(shè)計方案..................................................32雙機通訊硬件設(shè)計................................................4AT89C51簡介..............................................4AT89C51串行口的工作方式..................................5晶振電路設(shè)計..............................................8復(fù)位電路設(shè)計..............................................8接口電路的設(shè)計............................................9輸入輸出電路設(shè)計..........................................113雙機通訊軟件設(shè)計...............................................13串行通訊軟件實現(xiàn).........................................13串行通訊程序流程.........................................13程序清單.................................................164軟件仿真......................................................205硬件連接......................................................216設(shè)計總結(jié)......................................................23參照文件.........................................................24設(shè)計大概要構(gòu)成一個較大規(guī)模的控制系統(tǒng),常常需要采納多機控制實現(xiàn),而AT89C51單片機有一個異步通訊方式的全雙工串行接口,可以方便地構(gòu)成雙機、多機系統(tǒng)。而串行通訊也成為單片機與單片機、單片機與上位機之間進行數(shù)據(jù)傳輸?shù)闹饕绞剑且环N適用于遠距離通訊的數(shù)據(jù)傳輸方式。串行通訊是單片機的一個重要應(yīng)用。本次課程設(shè)計就是要利用單片機來完成一個系統(tǒng),實現(xiàn)雙片單片機串行通訊。通訊的結(jié)果適用數(shù)碼管進行顯示,數(shù)碼管采納查表方式顯示。兩個單片機之間采納RS232進行雙機通訊。在通訊過程中,使用通訊協(xié)議進行通訊。要點詞:單片機;串行通訊;接口整體設(shè)計設(shè)計要求設(shè)計一個單片機雙機通訊系統(tǒng),單片機A接1個8位按鍵開關(guān),單片機B接8個發(fā)光二極管,經(jīng)過串行通訊實現(xiàn)由A機撥碼開關(guān)控制B機發(fā)光二極管的亮滅。設(shè)計方案本次設(shè)計,對于兩片AT89C51,采納RS-232進行雙機通訊。如圖1所示,發(fā)送方的數(shù)據(jù)由串行口TXD段輸出,經(jīng)過電平變換芯片MAX232將TTL電平變換為RS-232電平輸出,經(jīng)過傳輸線將信號傳達到接收端。接收方也使用MAX232芯片進行電平變換后,信號到達接收方串行口的接收端。接收方接收后,在LED二極管上顯示接收的對應(yīng)信息。晶振電路復(fù)位電路路撥碼開關(guān)電路
發(fā)接送接口接口收機機
晶振電路復(fù)位電路顯示電路圖1雙機通訊系統(tǒng)原理框圖軟件部分,經(jīng)過通訊協(xié)議進行發(fā)送接收,發(fā)送機先送聯(lián)系信號給接收機,當(dāng)接收機接收到聯(lián)系信號后,向發(fā)送機回答一個應(yīng)答信號,表示同意接收。發(fā)送機收到應(yīng)答信號后開始發(fā)送數(shù)據(jù),每發(fā)送一個數(shù)據(jù)塊字節(jié)都要計算“校驗和”,假定數(shù)據(jù)長度為16個字節(jié),初步地點為40H,一個數(shù)據(jù)塊發(fā)送達成后馬上發(fā)送“校驗和”。接收機接收數(shù)據(jù)并存入數(shù)據(jù)緩沖區(qū)初步地點也為40H,每接收到一個數(shù)據(jù)字節(jié)便計算一次“校驗和”,當(dāng)接收到一個數(shù)據(jù)塊后,在接受發(fā)送機發(fā)來的“校驗和”,并將它與接收機計算的校驗和進行比較。若兩者相等,說明接受正確,接收機回答00H,發(fā)送機結(jié)束發(fā)送;若兩者不等,說明接受不正確,接收機回答0FFH,央求重發(fā),發(fā)送機重新發(fā)送數(shù)據(jù)一次。接收機接收到數(shù)據(jù)后經(jīng)過發(fā)光二極管LED顯示發(fā)送機的發(fā)送狀態(tài)。雙機通訊硬件設(shè)計2.1AT89C51簡介AT89C51是一個帶有4k字節(jié)儲蓄器的單片機,它擁有128字節(jié)內(nèi)部RAM;32個I/O口線和;兩個16位準(zhǔn)時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通訊口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。悠閑方式停止CPU的工作,但同意RAM,準(zhǔn)時/計數(shù)器,串行通訊口及中斷系統(tǒng)連續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并嚴(yán)禁其余所有零件工作直到下一個硬件復(fù)位。如圖2所示,DIP40封裝的AT89C51的各個引腳及其功能。圖2AT89C51單片機引腳封裝AT89C51單片機各個引腳功能以下:(1)電源幾時鐘引腳?VCC(40號引腳):電源接入引腳?VSS(20號引腳):接地引腳?XTAL1(19號引腳):晶振接入的一個引腳?XTAL2(18號引腳):晶振接入的另一個引腳(2)控制線引腳?RST/VPD(9號引腳):復(fù)位信號輸入引腳/備用電源輸入引腳?ALE/PROG(30號引腳):地點鎖存同意信號輸出引腳/編程脈沖輸入引EA/VPP(31號引腳):內(nèi)外儲蓄器選擇引腳/片內(nèi)EPROM編程電壓輸入引腳PSEN(29號引腳):外面程序儲蓄器選通訊號輸出引腳3)I/O引腳—(39—32號引腳):一般I/O口引腳/低位地點總線引腳—P1.7(1—8號引腳):一般I/O口引腳—P2.7(21—28號引腳):一般I/O口引腳/高位地點總線引腳—P3.7(10—17號引腳):一般I/O口引腳或第二功能引腳P3.0(10號引腳):RXD串行口輸入P3.1(11號引腳):TXD串行口輸出P3.2(12號引腳):INT0外面中斷0輸入P3.3(13號引腳):INT1外面中斷1輸入P3.4(14號引腳):T0準(zhǔn)時器0的外面輸入P3.5(15號引腳):T1準(zhǔn)時器1的外面輸入P3.6(16號引腳):WR片外數(shù)據(jù)儲蓄器“寫”選通控制輸出P3.7(17號引腳):RD片外數(shù)據(jù)儲蓄器“讀”選通控制輸出2.2AT89C51串行口的工作方式AT89C51的串行口是一個可編程全雙工的通訊接口,擁有通訊異步接受和發(fā)送的所有功能,能同時進行數(shù)據(jù)的接收和發(fā)送,也可作為同步移位存放器使用。AT89C51的串行口主要由兩個獨立的串行數(shù)據(jù)緩沖存放器SBUF(一個發(fā)送緩沖存放器,一個接收緩沖存放器),串行口控制存放器、輸入移位存放器及若干控制門電路構(gòu)成。串行口數(shù)據(jù)緩沖存放器SBUFAT89C51可以經(jīng)過特別功能存放器SBUF的讀寫操作,實現(xiàn)對串行接收或串行發(fā)送存放器的接見,串行接收和串行發(fā)送存放器在串行口內(nèi)部是兩個獨立的儲蓄單元,共用同一個地點99H。串行口數(shù)據(jù)傳達使用的是內(nèi)部數(shù)據(jù)傳達指令“MOVA,SBUF”或“MOVSBUF,A”.當(dāng)執(zhí)行寫操作時,接見串行發(fā)送存放器;當(dāng)執(zhí)行讀操作時,接見串行接收存放器。串行口控制存放器SCONAT89C51串行口工作的設(shè)定、接收與發(fā)送控制的設(shè)置都是經(jīng)過對串行口控制存放器SCON的編程確立的。SCON是一個特別功能存放器,其地點為98H,可位尋址,其各位的作用定義以下:表2控制存放器SCON9FH
9EH
9DH
9CH
9BH
9AH
99H
98HSCON(98H)
SM0
SM1
SM2
REN
TB8
RB8
TI
RISM0
、SM1:串行口工作方式選擇位,工作方式選擇如表
2所示。此中
fosc是晶體振蕩器的頻率。SM2:多機通訊控制位。在方式
0下,SM2應(yīng)為
0;在方式
1下,假如
SM2=0,則只有收到有效的停止位時才會激活RI;在方式2和方式3下,如置SM2=1則只有收到第9位數(shù)據(jù)為1時,RI被激活(RI=1,申請中斷,要求CPU取走數(shù)據(jù))。REN:同意接收控制位。由軟件置位或清零。REN=1,同意接收;REN=0,禁止接收。TB8:在方式2和方式3下,存放要發(fā)送的第9位數(shù)據(jù),常用作奇偶校驗位。在多機通訊中,可作為差別地點幀或數(shù)據(jù)幀的表記位,若為地點幀,TB8=1;若為數(shù)據(jù)幀,TB8=0。RB8:在方式2和方式3下,存放接收到的第9位數(shù)據(jù);在方式1下,如SM2=0,則該位為接收到的停止位;方式0不用此位。TI:發(fā)送中斷標(biāo)記。在方式0下,發(fā)送完第8位數(shù)據(jù)位時,由硬件置位;在其余方式下,當(dāng)開始發(fā)送停止位時,由硬件將TI置位,即是向CPU申請中斷,CPU可以發(fā)送下一幀數(shù)據(jù)。在任何方式下,TI必然由軟件清零。RI:接收中斷標(biāo)記。在方式0下,接收完第8位數(shù)據(jù)時,由硬件置位;在其余方式下,當(dāng)接收到停止位時RI置位,即申請中斷,要求CPU取走數(shù)據(jù)。它必然由軟件清零。表3串行口工作方式選擇SM0SM1方式功能波特率SM0SM1方式功能波特率000同步移位fosc/1210211位fosc/16或fosc/32存放器UART01110位UART可變11311位可變UART本設(shè)計發(fā)送機串行口的工作方式為方式1,即控制存放器SCON中內(nèi)容以下:表4發(fā)送機控制存放器SCON9FH9EH9DH9CH9BH9AH99H98HSCON(98H)SM0SM1SM2RENTB8RB8TIRI01000000接收機的串行口的工作方式為方式1,即控制存放器SCON中內(nèi)容以下:表5接收機控制存放器SCON9FH9EH9DH9CH9BH9AH99H98HSCON(98H)SM0SM1SM2RENTB8RB8TIRI01010000串口以方式1發(fā)送,由CPU執(zhí)行一條寫發(fā)送存放器指令“MOVSBUF,A”,即可將數(shù)據(jù)位逐個由TXD端發(fā)送。當(dāng)發(fā)送一幀數(shù)據(jù)后,將TI置1。串口以方式1接受,需控制SMOD中的REN為1(SMOD為特別功能存放器PCON的最高位),此時對RXD引腳進行采樣,當(dāng)采樣到初步地點有效時,開始接收數(shù)據(jù)。當(dāng)一幀數(shù)據(jù)接收達成,且RI=0,SM2=0或接收到RB8=1時,接收數(shù)占有效,此時可利用讀接收存放器指令“MOVA,SBUF”將數(shù)據(jù)送入CPU。同時將RI置1。若要再次發(fā)送或接收數(shù)據(jù),必然將TI、RI清零。(3)波特率的計算依據(jù)表2可知串口工作方式方式1時一幀數(shù)據(jù)為10位(8位數(shù)據(jù)位,初步位、停止位各1位)。其傳輸波特率是可變的,由準(zhǔn)時器T1的溢出率來決定。波特率=(2SMOD/32)(T1溢出率)當(dāng)T1作為波特率發(fā)生器時,最典型的用法是使T1工作在自動再裝入的8位準(zhǔn)時器方式(即方式2,且TCON的TR=1,以啟動準(zhǔn)時器)。這時溢出率取決于TH1中的計數(shù)值。TH1溢出率fOSC/12256TH1在單片機的應(yīng)用中,常用的晶振頻率fosc為:12MHz和。在本設(shè)計中晶振頻率采納fosc=11,。0592MHz。即波特率為波特率=2SMODfosc(TH1)3212256晶振電路設(shè)計AT89C51單片機內(nèi)部有一震蕩電路,只要在單片機的XTL1(19號)和XTAL218號)引腳外接石英晶體(簡稱晶振)就構(gòu)成了自激振蕩器并在單片機內(nèi)部產(chǎn)生時鐘脈沖信號。如圖3所示,圖中電容器C1和C2的作用是堅固頻率和快速起振,電容值為5~30pF,典型值為30pF,本設(shè)計取30pF。晶振CYS的振蕩頻率范圍為~12MHz,典型值為12MHz和6MHz,本設(shè)計取12MHz。圖3晶振電路復(fù)位電路設(shè)計AT89C51單片機的RST(9號)引腳引入高電平并保持兩個機器周期時,單片機內(nèi)部就執(zhí)行復(fù)位操作。在實質(zhì)中AT89C51平常有兩種操作方式復(fù)位,一種是上電復(fù)位;另一種是按鍵上電復(fù)位。在雙機通訊系統(tǒng)的設(shè)計中使用按鍵上電復(fù)位,如圖4所示。圖4復(fù)位電路單片機復(fù)位后進入初始化狀態(tài)。初始化后,程序計數(shù)器PC=0000H,所以程序從0000H地點單元開始執(zhí)行。單片機啟動后,片內(nèi)RAM為隨機值,運轉(zhuǎn)中的復(fù)位操作不改變片內(nèi)RAM的內(nèi)容。特別功能存放器復(fù)位后的狀態(tài)是確立的。P0~P3為FFH,SP為07H,SBUF不定,IP、IE和PCON的有效位為0,其余的特別功能存放器的狀態(tài)均為00H。接口電路的設(shè)計(1)直接通訊單片機與單片機進行雙擊串行通行時,可將兩個單片機的串口直接連接,接線圖如圖5所示,這類接線傳輸距離短,抗攪亂能力差。圖5直接通訊接線圖(2)串口通訊單片機與單片機進行雙擊串行通行時,AT89C51串行接口的信號電平為TTL種類,抗攪亂性差、傳輸距離短。為了提升串行通訊的靠抗性,延長通訊距離,一般設(shè)計采納標(biāo)準(zhǔn)的串行接口。RS-232C接口是1969年EIA推出的串行通訊標(biāo)準(zhǔn),目前是PC機與通訊工業(yè)中應(yīng)用最廣的一種串行接口。數(shù)據(jù)傳輸速率在0~20kbps范圍內(nèi)的通訊,最大傳輸距離可達15m,能實現(xiàn)一發(fā)一收通訊,目前常用的RS—232C接口連接器有9針串口(DB—9)和25針串口(DB—25)。最常用的的是DB—9,常采納三線制接法,即發(fā)送數(shù)據(jù)線、接受數(shù)據(jù)線和接地線三腳相連。傳輸線采納障蔽雙絞線,如圖6所示。圖6DB—9三線制接法RS—232C信號的電平與單片機串口信號的電平不一致,兩者之間必然進行電平變換。使用電平變換芯片MAX232就可以實現(xiàn)RS232C/TTL電平的雙向變換。MAX232芯片使用單一的+5V電源供電,配接5個1uF電解電容即可達成RS232C電平的TTL電平之間的變換,其電路接線圖如圖7所示。圖7MAX232電平變換芯片電路接線圖表6DB—9常用信號引腳說明DB—9引腳信號名稱符號功能1載波檢測DCD接收遠程載波2接收數(shù)據(jù)RXD接受串行數(shù)據(jù)3發(fā)送數(shù)據(jù)TXD發(fā)送串行數(shù)據(jù)4數(shù)據(jù)準(zhǔn)備就緒DTR準(zhǔn)備就緒5信號的SGND信號公共地6數(shù)據(jù)準(zhǔn)備就緒DSR準(zhǔn)備就緒7發(fā)送央求RTS央求將線路切換到發(fā)送發(fā)式8同意發(fā)送CTS線路已接通,可以發(fā)送數(shù)據(jù)9振鈴指示RI數(shù)據(jù)通訊接通,終端設(shè)備被呼叫2.6輸入輸出電路設(shè)計P1口是AT89C51單片機的獨一的單功能口,僅能用作數(shù)據(jù)輸入/輸出口。P1口的位結(jié)構(gòu)如圖8所示圖8P1口的位結(jié)構(gòu)由圖8可知,P1口由一個輸出鎖存器,兩個三態(tài)輸入緩沖器和輸出驅(qū)動電路構(gòu)成。內(nèi)部設(shè)有上拉電阻。P1口是通用的準(zhǔn)雙向I/O口。輸出高電平常,能向外供給拉電流負載,不用再接上拉電阻。當(dāng)口用于輸入時,須向口鎖存器寫入“1”。輸入低電平有效。所以其輸入電路如圖9,輸出電路圖10:圖9發(fā)送機輸入電路圖10接收機輸出電路雙機通訊軟件設(shè)計經(jīng)過通訊協(xié)議進行發(fā)送接收。發(fā)送機先送聯(lián)系信號給接收機,當(dāng)接收機接收到聯(lián)系信號后,向發(fā)送機回答一個應(yīng)答信號,表示同意接收。發(fā)送機收到應(yīng)答信號后開始發(fā)送數(shù)據(jù),每發(fā)送一個數(shù)據(jù)塊字節(jié)都要計算“校驗和”,假定數(shù)據(jù)長度為16個字節(jié),初步地點為40H,一個數(shù)據(jù)塊發(fā)送達成后馬上發(fā)送“校驗和”。接收機接收數(shù)據(jù)并存入數(shù)據(jù)緩沖區(qū)初步地點也為40H,每接收到一個數(shù)據(jù)字節(jié)便計算一次“校驗和”,當(dāng)接收到一個數(shù)據(jù)塊后,在接受發(fā)送機發(fā)來的“校驗和”,并將它與接收機計算的校驗和進行比較。若兩者相等,說明接受正確,接收機回答00H,發(fā)送機結(jié)束發(fā)送;若兩者不等,說明接受不正確,接收機回答0FFH,央求重發(fā),發(fā)送機重新發(fā)送數(shù)據(jù)一次。接收機接收到數(shù)據(jù)后經(jīng)過發(fā)光二極管顯示發(fā)送機的發(fā)送狀態(tài)。串行通訊軟件實現(xiàn)1)串行口工作于方式1;用準(zhǔn)時器1產(chǎn)生9600bit/s的波特率。2)功能:將本機ROM中數(shù)碼表TAB[16]中的16個數(shù)發(fā)送到從機,并保存在從機內(nèi)部ROM中,從機收到這16個數(shù)據(jù)后送到一個數(shù)碼管循環(huán)顯示。3)通訊協(xié)議:發(fā)送機第一發(fā)送聯(lián)系信號(E1H),接收機接收到此后返回一個連絡(luò)信號(E2H)表示從機已準(zhǔn)備好接收。通訊過程使用第九位發(fā)送奇偶校驗位。接收機接收到一個數(shù)據(jù)后,馬上進行奇偶校驗,若數(shù)據(jù)沒有錯誤,則返回00H,不然返回FFH。發(fā)送機發(fā)送一個數(shù)據(jù)后,等候接收機返回數(shù)據(jù);若為00H,則連續(xù)發(fā)送下一個數(shù)據(jù),若為FFH,則重新發(fā)送數(shù)據(jù)。串行通訊程序流程(1)發(fā)送機程序流程依據(jù)通訊協(xié)議發(fā)送機需向接收機發(fā)送聯(lián)系信號“E1”,當(dāng)接收到應(yīng)答信號后,發(fā)送機發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù)達成后將校驗和發(fā)送至接收機,接收機進行校驗如果正確等候下一次發(fā)送;假如錯誤重新發(fā)送數(shù)據(jù)。其流程圖以下:開始設(shè)置波特率啟動準(zhǔn)時器T1設(shè)置串行口工作方式發(fā)送“E1”聯(lián)系信號N接收機同意發(fā)送?Y指針初始化校驗和清0發(fā)送1個數(shù)據(jù)字節(jié)求校驗和數(shù)據(jù)塊發(fā)送達成?Y發(fā)送校驗和
NN接收機接收正確?Y返回圖10發(fā)送流程圖(2)接收機程序流程依據(jù)通訊協(xié)議,接收機等候發(fā)送機發(fā)出的聯(lián)系信號“E1”并向發(fā)送機發(fā)送應(yīng)答信號“E2”,當(dāng)接收1個數(shù)據(jù)字節(jié)后求檢驗和,發(fā)送機在發(fā)送完一個數(shù)據(jù)塊后將發(fā)送機計算的校驗和發(fā)送至接收機,接收機將兩個校驗和進行比較,假如正確等候下一次接收;假如錯誤則發(fā)送犯錯標(biāo)記重新發(fā)送數(shù)據(jù)。其流程圖以下:開始設(shè)置波特率啟動準(zhǔn)時器T1設(shè)置串行口工作方式等候發(fā)送機聯(lián)系N發(fā)送機央求發(fā)送?Y發(fā)送應(yīng)答信號指針初始化校驗和清0接收1個數(shù)據(jù)字節(jié)求校驗和數(shù)據(jù)塊發(fā)送達成?Y
N比較校驗和發(fā)送犯錯標(biāo)記N接收機接收正確?Y返回圖11接收機流程圖程序清單基于AT89C51單片機雙機通訊時,串行輸入輸出可直接進行連接,實現(xiàn)雙機通訊。這樣連接方式,傳輸距離短,抗攪亂能力弱,但簡單實現(xiàn),其接線和程序較為簡單,其程序以下:(1)發(fā)送機程序ORG0000HAJMPMAINORGO1OOHMAIN:MOVSP,#6OHMOVSCON,#40HMOVTMOD,#20HMOVTH1,#0FDHMOVTL1,#0FDHSETBTR1MOVP1,#0FFHMOV30H,#0FFHK0:MOVA,P1CJNEA,30H,KISJMPK0KI:MOV30H,AMOVSBUF,ASJMPK0WAIT:JBCT1,K0SJMPWAITEND(2)接收機程序ORG0000HAJMPMAINORGO1OOHMAIN:MOVSP,#6OHMOVSCON,#50HMOVTMOD,#20HMOVTH1,#0FDHMOVTL1,#0FDHSETBTR1MOVP1,#0FFHK0:JBRI,KKSJMPK0MOVA,SBUFMOVP1,ACLRRISJMPK0END發(fā)送機與接收機也可以經(jīng)過串口進行通訊,這類通訊方式較上一種方式提升通訊距離,抗攪亂能力強,傳輸堅固,但其接線復(fù)雜,程序比較繁瑣。其程序以下:(1)發(fā)送程序清單ASTRT:CLREAMOVTMOD,#20H;準(zhǔn)時器1置為方式2MOVTH1,#0F4H;裝在準(zhǔn)時器初值,波特率為2400MOVTL1,#0F4HMOVPCON,#00HSETBTR1MOVSCON,#50H;設(shè)定串行口方式1,且準(zhǔn)備接受應(yīng)答信號ALOOP1:MOVSBUF,#0E1H;發(fā)送聯(lián)系信號JNBTI,$;等候一幀發(fā)送達成CLBTI;同意在發(fā)送JNBRI,$;等候接收機的應(yīng)答信號CLRRI;同意在接收MOVA,SBUF;接收機應(yīng)答后,讀至AXRLA,#0E2;判斷接收機能否準(zhǔn)備達成JNZALOOP1;接收機未準(zhǔn)備好,連續(xù)聯(lián)系A(chǔ)LOOP2:MOVP1,#0FFHMOV30H,#0FFH;設(shè)定撥碼開關(guān)初值MOVR7,#10H;設(shè)定數(shù)據(jù)塊長度MOVR6,#00H;清校驗和單元ALOOP3:MOVA,P1;讀入撥碼開關(guān)CJNEA,30H,ALOOP4SJMPALOOP3ALOOP4:MOV30H,A;存入撥碼開關(guān)新值MOVSBUF,A;發(fā)送一個數(shù)據(jù)字節(jié)MOVA,R6ADDA,P1;MOVR6,AINCR0JNBT1,$CLBT1DJNZR7,ALOOP3MOVSBUF,R6;JNBTI,$CLRTIJNBRI,$;CLRRIMOVA,SBUF;JNZALOOP2;SJMPALOOP3;END
;
;
求校驗和保存校驗和整個數(shù)據(jù)塊能否發(fā)送達成發(fā)送校驗和等候接收機應(yīng)答信號接收機應(yīng)答,讀至A接收機應(yīng)答錯誤,轉(zhuǎn)至重新發(fā)送進入下一循環(huán)傳達(2)接收程序清單BSTART:CLREAMOVTMOA,#20HMOVTH1,#0F4HMOVTL1,#0F4HMOVPCON,#00HSETBTR1MOVSCON,#5OHBLOOP1:JNBRI,$
;
;
設(shè)定串行口工作方式1,且準(zhǔn)備接收等候1號機的聯(lián)系信號CLRRIMOVA,SBUFXRLA,#0E2HJNZBLOOP1MOVSBUF,#0E2H
;;;
;
收到1號機的信號判斷能否為1號機聯(lián)系信號不是1號機聯(lián)系信號,再等候是1號機聯(lián)系信號,發(fā)應(yīng)答信號JNBT1,$CLRTIBLOOP2:MOVR0,#40HMOVR7,#10HMOVR6,#00H
;;
;
設(shè)定數(shù)據(jù)塊地點指針初值設(shè)定數(shù)據(jù)塊長度初值清校驗和單元BLOOP3:JNBRI,$CLRRIMOVA,SBUFMOV@R0,A;接收數(shù)據(jù)轉(zhuǎn)儲INCROADDA,R6;求校驗和MOVR6,ADJNZR7,BLOOP3;判斷數(shù)據(jù)塊能否接收達成JNBRI,$;達成,接收1號機發(fā)來的校驗和CLRRIMOVA,SBUFXRLA,R6;比較校驗和JZEND1MOVSBUF,#0FFH;校驗和相等,跳至發(fā)正確標(biāo)記JNBTI,#;校驗和不相等,發(fā)錯誤標(biāo)記CLRTI;轉(zhuǎn)重新接收SJMPBLOOP2END1:MOVSBUF,#00HRET軟件仿真Proteus7Professional是一種低投資的電子設(shè)計自動化軟件,它可以仿真單片機和周邊設(shè)備,可以仿真51系列、AVR、PIC等常用的MCU。與KEIL和MPLAB不一樣樣的是,它還可以仿真周邊的設(shè)備。比方,示波器、RAM、ROM、LED等。本次設(shè)計,經(jīng)過兩片兩片AT89C52單片機由8位按鍵開關(guān)分別控制8個指示燈。詳盡接線以下;發(fā)
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年亞麻漂染機項目可行性研究報告
- 2025至2030年機制磚項目投資價值分析報告
- 2025年度企業(yè)內(nèi)部治理規(guī)范與執(zhí)行合同
- 2025年度城市軌道交通建設(shè)借款房產(chǎn)抵押合同
- 2025年度商業(yè)保理業(yè)務(wù)擔(dān)保合同規(guī)范范本
- 2025年度國際海運代理服務(wù)合同規(guī)范文本
- 2025年度個人消費貸款合同規(guī)范范本
- 2025年度新能源電動汽車充電樁安裝與維護合同
- 二零二五年度棄土場生態(tài)保護與資源循環(huán)利用合同
- 2025年合同預(yù)算部應(yīng)收賬款管理與催收合作協(xié)議
- NS3000計算機監(jiān)控系統(tǒng)使用手冊
- 《妊娠期惡心嘔吐及妊娠劇吐管理指南(2024年)》解讀
- 《黑神話:悟空》跨文化傳播策略與路徑研究
- 《古希臘文明》課件
- 居家養(yǎng)老上門服務(wù)投標(biāo)文件
- 長沙市公安局交通警察支隊招聘普通雇員筆試真題2023
- 2025年高考語文作文滿分范文6篇
- 零售業(yè)連鎖加盟合同
- 2025高考語文復(fù)習(xí)之60篇古詩文原文+翻譯+賞析+情景默寫
- 成長型思維課件
- 2024-2025學(xué)年物理人教版八年級上冊-6.4-密度的應(yīng)用-課件
評論
0/150
提交評論