freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于mcs51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì)(文件)

 

【正文】 送和接收 數(shù)據(jù)的 操作, 以 這樣的傳送方式 傳送我們就稱為 全雙工 制式 ,在全雙工方式 中 ,通信系統(tǒng) 中的 每一端都設(shè)置了發(fā)送器 及 接收器,因此,能控制數(shù)據(jù)同時(shí) 地 在兩個(gè)方向上傳送。圖 24是收發(fā) 的 波特率相同的。 半 雙 工發(fā)收發(fā) 收乙甲 圖 25 半雙工方式 串行異步通信 串行異步通信 時(shí),接收方不斷地檢測(cè)或監(jiān)視串行輸入線上的電平變化,當(dāng)檢測(cè)到有效起始位出現(xiàn)時(shí),便知道接著是有效字符位的到來(lái),并開始接收有效字符,當(dāng)檢測(cè)到停止位時(shí),就知道傳輸?shù)淖址Y(jié)束了。 同 步通信 同步 通信 指的是數(shù)據(jù)傳送是 以數(shù)據(jù)塊 做 為單位 的 ,字符 和 字符之間、字符內(nèi)部的位 和 位之間都 是 同步 的 。 要進(jìn)行兩個(gè)端口的通信 , 就必須配置這些參數(shù) : 波特率:這是一個(gè)通信速度衡量的參數(shù)。 這就是說(shuō) 串口通信在數(shù)據(jù)線上的采樣率為 2400Hz。 數(shù)據(jù)位: 是一個(gè) 衡量通信中 的 實(shí)際數(shù)據(jù)位的 一個(gè)重要 參數(shù)。擴(kuò)展的 ASCII 碼是 0~ 255( 8位)。 停止位:用于表示單個(gè)包的最后一位。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時(shí)也越慢。對(duì)于偶和奇校驗(yàn)的情況,串口會(huì)設(shè)置校驗(yàn)位(數(shù)據(jù)位后面的一位),用一個(gè)值 確保傳輸?shù)臄?shù)據(jù)有偶個(gè)或者奇?zhèn)€邏輯高位。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。 這 其中,方式 0及 方式 2的波特率是固定 不變 的, 但是 方式 1和方式3的波特率是可 以 變的, 它是 由定時(shí)器 T1溢出率決定。 這 其中,溢出率 是 取決于計(jì)數(shù) 的 速率和定時(shí)器預(yù)置 的 值??傊菊n題研究的內(nèi)容最主要是實(shí)現(xiàn)兩單片機(jī)的通信, LED 閃爍和溫度控制是他實(shí)現(xiàn)的表現(xiàn)形式。 12V的 電 壓。 RS232 連接方式 兩 RS232 把他們連接起來(lái)就可以構(gòu)成一個(gè)實(shí)用的系統(tǒng),用一個(gè)圖就可以很清晰的看清楚他們之 間的連接,如圖 33。甲方的 TX和 乙方的 RXD 相連 接 , 就是 一發(fā)一收。 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 12 開始通信時(shí),信號(hào)線為空閑(邏輯 1) 模式時(shí) , 如果 檢測(cè)到 從 1跳變到 0時(shí), 便 開始接收時(shí)鐘吲數(shù)。 這 其中,字符幀開頭 的開頭是起始位 , 總共 占 1位,始終 都 為邏輯 0電平,用于表示接收設(shè)備 向 發(fā)送端開始發(fā)送信息。 在 MCS- 51單片機(jī)片 內(nèi) 是 一個(gè)高增益反相放大器,輸入端為 XTAL1為 反相放大器, XTAL2為 輸出端,由該放大器構(gòu)成的振蕩電路和時(shí)鐘電路 便 構(gòu)成了單片機(jī)時(shí)鐘方式。對(duì)于外接時(shí)鐘電路,要求 XTAL1接地, XTAL2 腳接外部時(shí)鐘,對(duì)于外部時(shí)鐘信號(hào)并無(wú)特殊 要求,只要保證一定的脈沖寬度,時(shí)鐘頻率低于 12MHz 即可。如圖 37 是內(nèi)部方式的時(shí)鐘電路。當(dāng)外部電源供電時(shí),VDD 接外部電源, GND 接地。 圖 310 溫度傳感器與 mcs51 單片機(jī)( B 機(jī))的連接 B 機(jī)控制 DS18B20 溫度轉(zhuǎn)換 根據(jù) DS18B20 的通信協(xié)議, B機(jī)控制 DS18B20 完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:每一次讀寫之前都要對(duì) DS18B20 進(jìn)行復(fù)位, 在 復(fù)位成功 之 后 就會(huì) 發(fā)送 ROM 指令一條,最后 就是 發(fā)送 RAM 指令 了 ,這樣 就能 對(duì) DS18B20 溫度傳感器 進(jìn)行預(yù)定操作。復(fù)位時(shí)要求 B機(jī) CPU將數(shù)據(jù)線下拉 500s, 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 15 然后釋放, DS18B20 收到信號(hào)后等待 15~ 60s 左右,后發(fā)出 60~ 240s 的低電 平, B 機(jī)CPU 收到此信號(hào)則表示復(fù)位成功。 對(duì)于 DS18B20 的寫 時(shí)的 時(shí)序仍然 是 分為寫“ 0”時(shí)序和寫“ 1”時(shí)序兩個(gè)過(guò)程。而在內(nèi)存顆粒走線的必經(jīng)之處安裝一排電阻,則能夠幫助 內(nèi)存 起到穩(wěn)壓作 用,讓內(nèi)存工作更穩(wěn)定。 在 MCS51 單片機(jī)中,當(dāng) P0 口的一個(gè)位寫入 0 時(shí),這個(gè)位被拉低。 P0則不 同,它沒(méi)有內(nèi)部上拉電阻,在驅(qū)動(dòng)場(chǎng)效應(yīng)管的上方有一個(gè)提升場(chǎng)效應(yīng)管,它只是在對(duì)外存儲(chǔ)器進(jìn)行讀寫操作,用作地址 /數(shù)據(jù)時(shí)才起作用,當(dāng)向位鎖存器寫入 1,使驅(qū)動(dòng)場(chǎng)效應(yīng)管截止,則引腳浮空,所以寫入 1而未獲得。 LCD、數(shù)碼管接入 本次 設(shè)計(jì)采用的排阻是 RESPACK8,共 9個(gè)腳。如圖 311。 LED 的接入放在 P2 口, 口是準(zhǔn)雙向接口,可以做輸入或輸出口使用,所以 K2 放在 口, P3 口為多功能口,它的每一位都有各自的第二功能,所以 K1 放在 口,具體接口在程序里控制好就可以了。串口發(fā)送和接收 字節(jié) 按 位 ( bit) 進(jìn)行 。下面是整個(gè)系統(tǒng)的程序流程圖,如圖 44所示。仿真結(jié)果如圖 45。 圖 46 數(shù)碼管顯示加 1 圖 47 是溫度傳感器,這 Protues 仿真中,用它來(lái)調(diào)節(jié) LCD 上顯示的溫度。 MCS— 51單片機(jī)與其它設(shè)備進(jìn)行通信時(shí),僅需一至兩根導(dǎo)線,適用于長(zhǎng)距離信息傳輸。 51系列單片機(jī)有一個(gè)可編程的全雙工串行通信接口,它可作異步接收發(fā)送 器用,也可做同步移位寄存器用,其幀格式可有 8位、 10位或 11位,并能設(shè)置 各種波特率,給使用帶來(lái)很大的靈活性。 51系列單片機(jī)用定時(shí)器 T1或直接用 CPU時(shí)鐘作為通信波特率發(fā)生器的輸入,在串行接口的不同工作方式中,波特率發(fā)生器從兩個(gè)輸入信號(hào)中選擇一個(gè)分頻,產(chǎn)生移位脈沖來(lái)同步串口的接收和發(fā)送,移位脈沖的速率即是波特率。 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 26 參考文獻(xiàn) [1]沙愛(ài)軍 , 基于單片機(jī)的超聲波測(cè)距系統(tǒng)的研究與設(shè)計(jì) [J].電子科技, 2020, 22( 11). [2]胡漢才.單片機(jī)原理與其接口技術(shù)(第二版)[ M].北京:清華大學(xué)出版社, 2020. [3]彭偉,單片機(jī) C語(yǔ)言程序設(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]. 中國(guó)地質(zhì)大學(xué),單片機(jī)實(shí)用電子制作 2932. 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 27 謝辭 光陰似箭, 日月如棱。但是 ,這短短的三年是最真誠(chéng)的青春,是最純真的歲月,是最美麗的大學(xué)生活?? 我的自學(xué)能力在這里得提升,我感謝所有的恩師:是您們賦予我最有意義的收獲;給我一個(gè)全新的角度去發(fā)現(xiàn)美、創(chuàng)造美、欣賞美,給我美的眼睛去發(fā)現(xiàn)世界的美,感悟生活的美;教會(huì)我珍惜友誼和時(shí)間;給了我看世界的眼睛,是你們用博大的胸懷,給予我們最無(wú)私的關(guān)懷和奉獻(xiàn)。 EA=1。 //標(biāo)志位清零 Temp=SBUF。 } 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 29 發(fā)光二極管子程序: include void Delay1ms(unsigned int count) { unsigned int i,j。j120。 while(1) { if(LEDDirection) P2=(0x01LEDIndex)。 Delay1ms(500)。 unsigned char i=0。 void DS18B20_dis()。 delayms(10)。 unsigned char AA=0。//延時(shí) void UART_init(void)。 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 31 while(1) //開啟死循環(huán) { if(K1==0) { ES=0。 // 等待發(fā)送完 TI=0。 P1=Table[i]。 } else { ES=0。 //等待發(fā)送完 TI=0。 } } void UART_init(void) //初始化異步傳輸時(shí)隙 { SCON=0X50。//波特率為 2400( 12MHZ) ( 填充值為 0xf4) TR1=1。 } void DS18B20_dis() { write_mand(0x80)。 write_data (0xdf)。 } void ser() interrupt 4 //空閑時(shí)隙中斷 { RI=0。 } B機(jī)程序: include include sbit LED1=P2^6。 void UART_init(void)。 delay(50000)。 LED1=LED1。 delay(5000)。 //發(fā)送標(biāo)志位置零等待下次發(fā)送 while(!KB)。 LED2=1。//等待接受完成 TI=0。//串口工作方式 1, TMOD=0X22。 EA=1。 } 。//開串口中斷 } void ser() interrupt 4 //中斷 { RI=0。 TL1=0XF3。 } delay(50000)。//選擇溫度 SBUF=temp1。 } else { ES=0。 while(!TI)。//延遲 delay(50000)。 LED2=1。 void main() { UART_init()。 sbit KB=P1^7。 if(AA100) { temp1=AA。C39。 write_data(0x30+temp1%100/10)。//開總中斷 ES=1。//定時(shí)器 1工作方式 2, 8位自動(dòng)重裝 TH1=0XF3。 DS18B20_dis()。 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 32 SBUF=4。 if(i9) { i=0。 } ES=1。 if(K1==0) { SBUF=5。 void main() //主程序 { UART_init()。 unsigned char temp1。 A機(jī)程序: include include sbit K1=P3^7。0x0f]。 void delay1(unsigned int delay_time)。 unsigned 基于 MCS51的兩片單片機(jī)之間的串行通信接口設(shè)計(jì) 30 char Table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}。 if(LEDIndex==7) LEDDirection=!LEDDirection。 } main() { unsigned char LEDIndex=0。icount。 //把值輸出到 P1 口 SBUF=Temp。//打開串口中斷 while(1) //主循環(huán)不做任何動(dòng)作 { } } void UART_SE
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1