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

正文內(nèi)容

基于can總線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——can總線通信實(shí)驗(yàn)(文件)

2024-12-28 01:34 上一頁面

下一頁面
 

【正文】 ata,1)。 } define AddrFunc_RXB0SIDH 0x0 define AddrFunc_RXB0D0 0x1 define AddrFunc_RXB1SIDH 0x2 define AddrFunc_RXB1D0 0x3 //參數(shù) 1:讀 RX 緩沖器 4功能地址之一 //參數(shù) 2:連續(xù)讀寫寄存器的個(gè)數(shù) //SJ1000 讀緩沖器操作 //讀取的內(nèi)容存儲(chǔ)在 SPIdata[1]~SPIdata[16]中,存儲(chǔ)字節(jié)由 n 決定 void SJ1000_RD_Buffer(uchar addr,uchar n) { SPIdata[0]=CMD_RD_RXBUF+(addr1)。 SPI_Write(SPIdata,n+2)。 SPI_Write(SPIdata,1)。 SPI_Write(SPIdata,2)。 SPIdata[3]=ndata。 //位定時(shí) ,晶振 8M,傳輸速率 125kb/s /* SPIdata[2]=5。 //CNF3 SPIdata[3]=(17)|(33)|0X06。 SJ1000_Write(TXRTSCTRL,1)。 SPIdata[3]=0x08。 SPIdata[7]=0x08。 SPIdata[11]=0x0。 //接收濾波器 RXF3~5 設(shè)置濾波位,濾波標(biāo)準(zhǔn)幀標(biāo)識(shí)分別為 0x330,0x3b8,0x440,擴(kuò)展幀標(biāo)識(shí)統(tǒng)一為 0x05555 //RXF3 相關(guān) 4寄存器 SPIdata[2]=0x66。 //RXF4 相關(guān) 4寄存器 SPIdata[6]=0x77。 XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 29 //RXF5 相關(guān) 4寄存器 SPIdata[10]=0x88。 SJ1000_Write(RXF3SIDH,12)。 SPIdata[5]=0xff。 SPIdata[9]=0xff。 SPIdata[2]=0x00。 //接收緩沖器 1 設(shè)定接收符合濾波器條件的所有帶擴(kuò)展標(biāo)識(shí)符或標(biāo)準(zhǔn)標(biāo)識(shí)符的有效報(bào)文 SPIdata[2]=0x05。 SJ1000_Write(CANCTRL,1)。 //報(bào)文只發(fā)送標(biāo)準(zhǔn)標(biāo)識(shí)符為 0x550 SPIdata[3]=0x55。 SPIdata[4]=0x55。 XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 31 } else //發(fā)送遠(yuǎn)程幀 { SPIdata[5]=(16)。 } void SJ1000_RCV( ) { uchar RXB_num,RXB_type,RXB_FILTER,data_num。 RXB_type=(Status3) amp。 if(RXB_num==0x01) //收到 報(bào)文在 RXB0 中 { SJ1000_Read(RXB0DLC,1)。 //從 RXB0D0 開始讀取數(shù)據(jù) else RTR_BIT=1。 //從 RXB1D0 開始讀 取數(shù)據(jù) else RTR_BIT=1。 sbit SCLK=P2^4。 XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 33 P2M0|=(05)|(04)。 SCLK=0。 。 CS=0。 } void TLV5618(uint DAC) { uchar i=0。 void TLV5618_Init() { P3M0|=(05)。 SendByte(0x71)。 data_num=SPIdata[2]。 // SendByte(data_num)。 RXB_FILTER=Status amp。 Status=SPIdata[1]。 } SJ1000_BIT_M((TXB0CTRL|(num4)),0x08,0x08)。0x0f。 } else { //使能報(bào)文發(fā)送擴(kuò)展標(biāo)識(shí)符,設(shè)定為 0x15555 SPIdata[2]=(15)|(13)|(10)。 SPIdata[1]=0x99。 SPIdata[2]=Loop_Mode。 //SJ1000_BIT_M(RXB0CTRL,0x60,0x20)。 SPIdata[2]=0x00。 SPIdata[7]=0x03。 SPIdata[3]=0x03。 SPIdata[12]=0x55。 SPIdata[8]=0x55。 //報(bào)文濾波僅用于標(biāo)準(zhǔn)幀 SPIdata[4]=0x55。 SPIdata[13]=0x55。 SPIdata[9]=0x55。 SPIdata[5]=0x55。 XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 28 SJ1000_Write(BFPCTRL,1)。 //CNF1 SJ1000_Write(CNF3,3)。 //CNF2 SPIdata[4]=0x01。 } ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// //CANCTRLCAN 控制寄存器 //BIT[7:5]請(qǐng)求工作模式的位 define Normal_Mode 0x0 define Sleep_Mode 0x20 define Loop_Mode 0x40 XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 27 define Listen_Mode 0x60 define Config_Mode 0x80 //BIT[4]中止所有當(dāng)前報(bào)文發(fā)送的位 define ABAT 0x10 //BIT[3]單觸發(fā) 模式位使能 define OSM 0x08 //BIT[2]CLKOUT 引腳使能 define CLKEN 0x04 //BIT[1:0]CLKOUT 引腳預(yù)分頻比 define Fclkout_1 0x00 define Fclkout_2 0x01 //2 分頻 define Fclkout_4 0x02 //4 分頻 define Fclkout_8 0x03 //8 分 頻 void SJ1000_Init() { //使 SJ1000 進(jìn)入配置模式 SPIdata[2]=Config_Mode。 SPIdata[1]=addr。 SPI_Write(SPIdata,2)。 SPI_Write(SPIdata,n+1)。 } //參數(shù) 1:被訪問寄存器的地址 //參數(shù) 2:連續(xù)讀寫寄存器的個(gè)數(shù) XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 25 //SJ1000 寫操作 //寫入的內(nèi)容存儲(chǔ)在 SPIdata[2]~SPIdata[16]中,存儲(chǔ)字節(jié)由 n 決定 void SJ1000_Write(uchar addr,uchar n) { SPIdata[0]=CMD_WRITE。 SPIdata[1]=addr。 } SS=1。 SPI_SPIF ))。 SS=0。 //SPI 中斷禁止,使用軟件查詢方式 EADC_SPI=0。 } void SPI_Initial() { XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 23 //CPU 時(shí)鐘 64 分頻 ,SPI 1,1 模式 ,SPI 主機(jī)模式 ,MSB 傳輸 ,SPI 使能 ,SS 引腳忽略 ,用于 I/O 輸出 SPCTL=SPI_CLK_64|SPI_CPHA|SPI_CPOL|SPI_MSTR|SPI_SPEN|SPI_SSIG。 } void delay(uchar n) { uchar i。=0xbf。 TL1=0xfd。 uart_data=SBUF。 while(!TI)。 uchar Status。 uchar stat。 感謝我的父母,是他們無私 的愛的支持和鼓勵(lì)使我順利完成學(xué)業(yè)! 感謝同組的同學(xué)對(duì)我的幫助和支持! 此外,我還要感謝在我的論文中所有被援引過的文獻(xiàn)的作者,他們是我的知識(shí)之源 ! 最后,再次向所有曾經(jīng)給予我?guī)椭凸膭?lì)的老師和同學(xué)致以最誠摯的謝意!XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 15 附錄 (一 )源程序: include define uchar unsigned char define uint unsigned int sbit PB=P2^7。 XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 14 七、 致 謝 本設(shè)計(jì)是在導(dǎo)師 汪 老師的精心指導(dǎo)和鼓勵(lì)下完成的。 實(shí)驗(yàn)用電路板如圖 4所示。 驗(yàn)收代碼 (ACR) 和驗(yàn)收屏蔽 (AMR) 寄存器根據(jù)實(shí)際網(wǎng)絡(luò)系統(tǒng)和報(bào)文標(biāo)志符來確定 , 須引起注意的是 : ACR 位 (AC172 AC10) 和信息識(shí)別碼的高 8 位 ( ID1102ID13) 相等 , 且與 AMR 位 (AM 172 AM 10) 的相應(yīng) 位相或?yàn)?1, 即 :[ ( ID1102ID13) ≡ (AC172 AC10) ] ∨ (AM 172 AM 10) ≡ 1111 1111 滿足上述條件的報(bào)文才予以接收 [ 3 ]。 在對(duì) SJA 1000寄存器設(shè)定前 , 主控制器通過讀復(fù)位模式 246。因?yàn)樵谔幚斫邮請(qǐng)?bào)文的過程中,同時(shí)要對(duì)諸如總線脫離、錯(cuò)誤報(bào)警、接收溢出等情況進(jìn)行處理 SJA1000 報(bào)文的接收主要有兩種方式:中斷接收方式和查詢接收方式。當(dāng)然在往 SJA1000 發(fā)送緩存區(qū)送報(bào)文之前必須先作一些判斷。下面提供了 SJA1000 初始化的 51 匯編源程序。下面僅就前面提到的三部分程序的設(shè)計(jì)作一個(gè)描述,以供大家在實(shí)際應(yīng)用中參考。 1040 引腳“ STB”一般被直接連接到微處理器輸出口 , 以便于控制收發(fā)器的工作模式。 否則會(huì)使數(shù)據(jù)通信的抗干擾性和可靠性降低 , 嚴(yán)重時(shí)可導(dǎo)致無法通信。此外 , 為使 CAN 控制器和微處理器能同時(shí)可靠復(fù)位 , 外加了手動(dòng)復(fù)位電路。 SJA 1000 是獨(dú)立的 CAN 通信控制器 , 用于完成 CAN 總線通信協(xié)議的物理層和數(shù)據(jù)鏈路層的功能。 CAN 總線上的節(jié)點(diǎn)是網(wǎng)絡(luò)上的信息接收和發(fā)送站 , 由于節(jié)點(diǎn)主要由單片機(jī)和可編程的 CAN 通信控制器組成 , 能通過編程設(shè)置工作方式、 ID 地址、波特率等參數(shù) , 故稱其為智能節(jié)點(diǎn)。 這樣大大減少了數(shù)據(jù)的傳輸量 , 從而提 XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 5 高了系統(tǒng)的傳輸速率 , 同時(shí)又保證了系統(tǒng)的實(shí)時(shí)性和可靠性。 如果采集的數(shù)據(jù)需要進(jìn)一步進(jìn)行處理 , 則上位機(jī)可從總線上接收數(shù)據(jù)并對(duì)其處理。 圖 2 系 統(tǒng)總體結(jié)構(gòu) 選用 CAN 總線連接各節(jié)點(diǎn) , 形成多主控制器的局域網(wǎng)。 處于“脫離總線”狀態(tài)的節(jié)點(diǎn) ,在監(jiān)測(cè)到總線上出現(xiàn) 128 次 11 個(gè)連續(xù)的“隱性”位 , XXX 大學(xué) XXX 學(xué)院本科畢業(yè)設(shè)計(jì) 4 變?yōu)閮蓚€(gè)錯(cuò)誤計(jì)數(shù)器均為 0 的“錯(cuò)誤一激活”節(jié)點(diǎn)。 為了進(jìn)行錯(cuò)誤界定 ,在總線上的每一個(gè)單元中都設(shè)有兩種計(jì)數(shù)器:發(fā)送出錯(cuò)計(jì)數(shù)器和接收出錯(cuò)計(jì)數(shù)器 ,錯(cuò)誤計(jì)數(shù)器的值按照一定的規(guī)則進(jìn)行修正。這種解決總線訪問沖突的機(jī)理是基于競爭的促裁 ,依據(jù)標(biāo)識(shí)符和緊隨其后的 RTR 位來完成。 對(duì)于接收器 ,若在幀結(jié)束最后一位前不存在錯(cuò)誤 ,則該幀有效。數(shù)據(jù)幀或遠(yuǎn)程幀的其余位場、錯(cuò)誤幀、超載幀為固定格式 ,不使用位填充方法編碼 ,幀中的位流按照非歸零方法編碼。 它們是:幀起始 、仲裁場、控制場、 CRC 場 、 ACK 場和幀結(jié)束; 遠(yuǎn)程幀:由 6個(gè)不同的位場構(gòu)成:幀起始 、仲裁場、控制場、 CRC 場 、 ACK 場、 幀結(jié)束 出錯(cuò)幀:由兩個(gè)不同的場構(gòu)成。 目標(biāo)層的功能范圍包括:信息識(shí)別、信息狀態(tài)及處理。 ? 發(fā)送期間若丟失仲裁或
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1