【正文】
環(huán)的演出,那么我只是一個安靜的演員。//打開串口中斷 while(1) //主循環(huán)不做任何動作 { } } void UART_SER(void)interrupt 4 //串行中斷服務(wù)程序 { unsigned char Temp。icount。 if(LEDIndex==7) LEDDirection=!LEDDirection。 void delay1(unsigned int delay_time)。 A機(jī)程序: include include sbit K1=P3^7。 void main() //主程序 { UART_init()。 } ES=1。 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 32 SBUF=4。//定時器 1工作方式 2, 8位自動重裝 TH1=0XF3。 write_data(0x30+temp1%100/10)。 if(AA100) { temp1=AA。 void main() { UART_init()。//延遲 delay(50000)。 } else { ES=0。 } delay(50000)。//開串口中斷 } void ser() interrupt 4 //中斷 { RI=0。 EA=1。//等待接受完成 TI=0。 //發(fā)送標(biāo)志位置零等待下次發(fā)送 while(!KB)。 LED1=LED1。 void UART_init(void)。 } void ser() interrupt 4 //空閑時隙中斷 { RI=0。 } void DS18B20_dis() { write_mand(0x80)。 } } void UART_init(void) //初始化異步傳輸時隙 { SCON=0X50。 } else { ES=0。 // 等待發(fā)送完 TI=0。//延時 void UART_init(void)。 delayms(10)。 unsigned char i=0。 while(1) { if(LEDDirection) P2=(0x01LEDIndex)。 } 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 29 發(fā)光二極管子程序: include void Delay1ms(unsigned int count) { unsigned int i,j。 EA=1。 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 26 參考文獻(xiàn) [1]沙愛軍 , 基于單片機(jī)的超聲波測距系統(tǒng)的研究與設(shè)計(jì) [J].電子科技, 2020, 22( 11). [2]胡漢才.單片機(jī)原理與其接口技術(shù)(第二版)[ M].北京:清華大學(xué)出版社, 2020. [3]彭偉,單片機(jī) C語言程序設(shè)計(jì)實(shí)例 100例 .電子工業(yè)出版社 .2020, 06 [4] 高峰 . 單片微機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)及實(shí)用技術(shù) . 北京:機(jī)械工業(yè)出版社, 2020 [4] 陳光東,趙性初 . 單片微型計(jì)算機(jī)原理與接口技術(shù) . 武漢:華中科技大學(xué)出版社,1995 [6]夏繼強(qiáng) . 單片機(jī)實(shí)驗(yàn)與實(shí)踐教程 . 北京:北京航空航天大學(xué)出版社 , 2020 [7]張傳新,徐少杰. PC機(jī)與 MCS51 單片機(jī)主從多機(jī)通信控制程序的研究 [J].伊圖里河分局研究所,鐵路計(jì)算機(jī)應(yīng)用第 5 卷第 2期 P1012. [8]黃亮.基于 AT89C51 單片機(jī)的串行通信程序設(shè)計(jì) [J]. 中國地質(zhì)大學(xué),單片機(jī)實(shí)用電子制作 2932. 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 27 謝辭 光陰似箭, 日月如棱。 51系列單片機(jī)有一個可編程的全雙工串行通信接口,它可作異步接收發(fā)送 器用,也可做同步移位寄存器用,其幀格式可有 8位、 10位或 11位,并能設(shè)置 各種波特率,給使用帶來很大的靈活性。 圖 46 數(shù)碼管顯示加 1 圖 47 是溫度傳感器,這 Protues 仿真中,用它來調(diào)節(jié) LCD 上顯示的溫度。下面是整個系統(tǒng)的程序流程圖,如圖 44所示。 LED 的接入放在 P2 口, 口是準(zhǔn)雙向接口,可以做輸入或輸出口使用,所以 K2 放在 口, P3 口為多功能口,它的每一位都有各自的第二功能,所以 K1 放在 口,具體接口在程序里控制好就可以了。 LCD、數(shù)碼管接入 本次 設(shè)計(jì)采用的排阻是 RESPACK8,共 9個腳。 在 MCS51 單片機(jī)中,當(dāng) P0 口的一個位寫入 0 時,這個位被拉低。 對于 DS18B20 的寫 時的 時序仍然 是 分為寫“ 0”時序和寫“ 1”時序兩個過程。 圖 310 溫度傳感器與 mcs51 單片機(jī)( B 機(jī))的連接 B 機(jī)控制 DS18B20 溫度轉(zhuǎn)換 根據(jù) DS18B20 的通信協(xié)議, B機(jī)控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對 DS18B20 進(jìn)行復(fù)位, 在 復(fù)位成功 之 后 就會 發(fā)送 ROM 指令一條,最后 就是 發(fā)送 RAM 指令 了 ,這樣 就能 對 DS18B20 溫度傳感器 進(jìn)行預(yù)定操作。如圖 37 是內(nèi)部方式的時鐘電路。 在 MCS- 51單片機(jī)片 內(nèi) 是 一個高增益反相放大器,輸入端為 XTAL1為 反相放大器, XTAL2為 輸出端,由該放大器構(gòu)成的振蕩電路和時鐘電路 便 構(gòu)成了單片機(jī)時鐘方式。 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 12 開始通信時,信號線為空閑(邏輯 1) 模式時 , 如果 檢測到 從 1跳變到 0時, 便 開始接收時鐘吲數(shù)。 RS232 連接方式 兩 RS232 把他們連接起來就可以構(gòu)成一個實(shí)用的系統(tǒng),用一個圖就可以很清晰的看清楚他們之 間的連接,如圖 33??傊菊n題研究的內(nèi)容最主要是實(shí)現(xiàn)兩單片機(jī)的通信, LED 閃爍和溫度控制是他實(shí)現(xiàn)的表現(xiàn)形式。 這 其中,方式 0及 方式 2的波特率是固定 不變 的, 但是 方式 1和方式3的波特率是可 以 變的, 它是 由定時器 T1溢出率決定。對于偶和奇校驗(yàn)的情況,串口會設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個值 確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。 停止位:用于表示單個包的最后一位。 數(shù)據(jù)位: 是一個 衡量通信中 的 實(shí)際數(shù)據(jù)位的 一個重要 參數(shù)。 要進(jìn)行兩個端口的通信 , 就必須配置這些參數(shù) : 波特率:這是一個通信速度衡量的參數(shù)。 半 雙 工發(fā)收發(fā) 收乙甲 圖 25 半雙工方式 串行異步通信 串行異步通信 時,接收方不斷地檢測或監(jiān)視串行輸入線上的電平變化,當(dāng)檢測到有效起始位出現(xiàn)時,便知道接著是有效字符位的到來,并開始接收有效字符,當(dāng)檢測到停止位時,就知道傳輸?shù)淖址Y(jié)束了。具體說,在發(fā)送端, 我們需要把 并行 傳輸?shù)?數(shù)據(jù)轉(zhuǎn)換為串行 傳輸?shù)?數(shù)據(jù); 但是 在接收端, 我們 要把接收到的串行 傳輸?shù)?數(shù)據(jù)轉(zhuǎn)換為并行傳輸?shù)?數(shù)據(jù) , 當(dāng)數(shù)據(jù)發(fā)送 及 接收分流 時 , 采用 兩根不同的傳輸 數(shù)據(jù) 線傳送 的時候 ,通信 的 雙方都 可以 在同一 時間 進(jìn)行發(fā)送和接收 數(shù)據(jù)的 操作, 以 這樣的傳送方式 傳送我們就稱為 全雙工 制式 ,在全雙工方式 中 ,通信系統(tǒng) 中的 每一端都設(shè)置了發(fā)送器 及 接收器,因此,能控制數(shù)據(jù)同時 地 在兩個方向上傳送。發(fā)送方對接收方的同步可以通過外同步和自同步兩種方法實(shí)現(xiàn)。 在 并行通信 中,一個字節(jié)( 8 位)數(shù)據(jù)是在 8條并行傳輸線上同時由源傳到目的地;而在 串行通信 方式中,數(shù)據(jù)是在單條 1 位寬的傳輸線上一位接一位地順序傳送。 本課題要實(shí)現(xiàn)的內(nèi)容 ( 1)在系統(tǒng)中擴(kuò)展 RS232 串行通信接口,使 A、 B 兩臺 MCS51 單片機(jī)通過 該接口相連接。 時鐘電路, 12MHz。今后它仍將是科技界、工業(yè)界廣泛選擇應(yīng)用的 8 位微控制器,仍將是單片機(jī)應(yīng)用的主流機(jī)種。對于畫設(shè)計(jì)的系統(tǒng)電路圖有很大的幫助。而 RS232 是一種比較成熟的串口,所以本次設(shè)計(jì)使用 RS232 串口, 用串口通信時發(fā)送和接收到的每一個字符實(shí)際上都是一次一位的傳送的,每一位為 1或者為 0。 關(guān)鍵詞 :串行通信 RS232 串口 波特率 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) Abstract MCU serial munication is a important application. In munication field, there are two types of data munication mode: parallel munication and serial munication. With the development of puter work and hierarchical distributed microputer application system, the function of the munication is more and more important. Communication refers to puter information transmission to the outside world, both transmission between the puter and the puter,Also includes the puter and external device, such as terminals, printers, and transmission between devices such as disk. Serial munication refers to using a data line, to transmit data a bit a ground in turn, each data holds a fixed length of time. Its just a few lines can exchange information between the systems, especially used in puter and puter, puter and remote munication between the peripherals. When using a serial port munication sending and receiving to each and every one of the characters are in fact a a delivery, each one is or is zero. This design is to use single chip microputer to plete a system, realize the serial munication between the two MCU. And USES DS18B20 temperature sensor, temperature is measured by a singlechip puter and send to other displayed on a single chip microputer. For single chip microputer serial port munication is of great significance, not only can realize the MCU data transmission to the puter side, but also c