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

正文內(nèi)容

串口通信實驗報告范文(文件)

2024-10-23 04:56 上一頁面

下一頁面
 

【正文】 高電平x//將x中的各二進位向左移一位x|=(unsigned char)SDA。//開始數(shù)據(jù)傳遞WriteCurrent(OP_WRITE)。//停止數(shù)據(jù)傳遞delaynms(4)。//選擇要操作的AT24Cxx芯片,并告知要讀其數(shù)據(jù)x=ReadData()。//開始數(shù)據(jù)傳遞WriteCurrent(OP_WRITE)。//儲存DS18B20是否存在的標志,flag=0,表示存在;flag=1,表示不存在DQ = 1。//再將數(shù)據(jù)線從高拉低,要求保持480~960us for(time=0。time。return(flag)。兩種寫時隙均起始于主機拉低數(shù)據(jù)總線。下圖為寫時隙(包括1和0)時序上圖中黑色實線代表系統(tǒng)主機拉低總線,黑色虛線代表上拉電阻將總線拉高。// 先將數(shù)據(jù)線拉高_nop_()。//利用與運算取出要寫的某位二進制數(shù)據(jù),//并將其送到數(shù)據(jù)線上等待DS18B20采樣for(time=0。time。//稍作延時,給硬件一點反應(yīng)時間 }對于讀時隙,單總線器件僅在主機發(fā)出讀時隙時,才向主機傳輸數(shù)據(jù)。在主機發(fā)出讀時隙后,單總線器件才開始在總線上發(fā)送1或0。下圖給出讀時隙(包括0或1)時序圖中黑色實線代表系統(tǒng)主機拉低總線,灰色實線代表總局拉低總線,而黑色的虛線則代表上拉電阻總線拉高。i{DQ =1。_nop_()。//延時約6us,使主機在15us內(nèi)采樣if(DQ==1)dat|=0x80。//延時3us,兩個讀時序之間必須有大于1us的恢復期}return(dat)。上升沿到來的時候,sdo上的電平將被發(fā)送到從設(shè)備的寄存器中。//儲存從X5045中讀出的數(shù)據(jù)SCK=1。//拉高SCKSCK=0。SCK=0。0x80)。大多數(shù)計算機包含兩個基于RS232的串口。盡管比按字節(jié)(byte)的并行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。通信使用3根線完成:(1)地線,(2)發(fā)送,(3)接收。對于兩個進行通行的端口,這些參數(shù)必須匹配:波特率:這是一個衡量通信速度的參數(shù)。這意味著串口通信在數(shù)據(jù)線上的采樣率為4800Hz。數(shù)據(jù)位:這是衡量通信中實際數(shù)據(jù)位的參數(shù)。擴展的ASCII碼是0~255(8位)。停止位:用于表示單個包的最后一位。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。對于偶和奇校驗的情況,串口會設(shè)置校驗位(數(shù)據(jù)位后面的一位),用一個值確保傳輸?shù)臄?shù)據(jù)有偶個或者奇?zhèn)€邏輯高位。這樣使得接收設(shè)備能夠知道一個位的狀態(tài),有機會判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。如果是奇校驗,校驗位位1,這樣就有3個邏輯高位。有四種檢錯方式:偶、奇、高和低。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。每個包是指一個字節(jié),包括開始/停止位,數(shù)據(jù)位和奇偶校驗位。如何設(shè)置取決于你想傳送的信息。波特率可以遠遠大于這些值,但是波特率和距離成反比。例如300波特表示每秒鐘發(fā)送300個bit。其他線用于握手,但是不是必須的。比如IEEE488定義并行通行狀態(tài)時,規(guī)定設(shè)備線總常不得超過20米,并且任意兩個設(shè)備間的長度不得超過2米;而對于串口而言,長度可達1200米。同時,串口通信協(xié)議也可以用于獲取遠程采集設(shè)備的數(shù)據(jù)。SCK=1。i 8。//將SO上的數(shù)據(jù)通過按位“或“運算存入 x} return(x)。i 8。讀代碼:unsigned char ReadCurrent(void){unsigned char i。SPI是一個環(huán)形總線結(jié)構(gòu),由ss(cs)、sck、sdi、sdo構(gòu)成,其時序其實很簡單,主要是在sck的控制下,兩個雙向移位寄存器進行數(shù)據(jù)交換。//如果讀到的數(shù)據(jù)是0,則將0存入dat//將單片機檢測到的電平信號DQ存入r[i]for(time=0。//將數(shù)據(jù)線“人為”拉高,為單片機檢測DS18B20的輸出電平作準備for(time=0。//等待一個機器周期DQ = 0。unsigned char dat。當發(fā)送0時,從機在讀時隙結(jié)束后釋放總線,由上拉電阻將總線拉回至空閑高電平狀態(tài)。所有讀時隙至少需要60us,且在兩次獨立的讀時隙之間至少需要1us恢復時間。//將dat中的各二進制位數(shù)據(jù)右移1位}for(time=0。//延時約30us,DS18B20在拉低后的約15~60us期間從數(shù)據(jù)線上采樣DQ=1。//將數(shù)據(jù)線從高拉低時即啟動寫時序DQ=datamp。for(i=0。在寫時隙開始后15~60us期間,單總線器件采樣總電平狀態(tài)。主機采用寫1時隙向從機寫入1,而寫0時隙向從機寫入0。//讓單片機檢測是否輸出了存在脈沖(DQ=0表示存在)for(time=0。//以向DS18B20發(fā)出一持續(xù)480~960us的低電平復位脈沖DQ = 1。time。//寫入指定地址return(ReadCurrent())。//停止數(shù)據(jù)傳遞return x。start()。//寫入指定地址WriteCurrent(dat)。//在SCL的下降沿讀出數(shù)據(jù)} return(x)。i 8。//SCL為低電平時,SDA上數(shù)據(jù)才允許變化(即允許以后的數(shù)據(jù)傳遞)return ack_bit。//等待一個機器周期_nop_()。//等待一個機器周期_nop_()。//等待一個機器周期_nop_()。0x80)。bit ack_bit。//等待一個機器周期_nop_()。//等待一個機器周期SCL = 1。//SCL為低電平時,SDA上數(shù)據(jù)才允許變化(即允許以后的數(shù)據(jù)傳遞)} 結(jié)束信號:SCL為高電平,SDA由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。//等待一個機器周期_nop_()。//開始數(shù)據(jù)傳送時,要求SCL為高電平“1”_nop_()。總之,在本課程中我收獲很多,不僅在通信方面的知識有所提升,同時也鍛煉了編程能力,VC++軟件的使用更加熟練。在OnInitDialog函數(shù)中添加以下代碼:GetDlgItem(IDC_BTN_CLOSE)EnableWindow(FALSE)。
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1