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

正文內(nèi)容

基于can總線的單片機監(jiān)控系統(tǒng)(文件)

2024-12-01 03:20 上一頁面

下一頁面
 

【正文】 線路間的串擾。 表 5 RS 選擇的三種工作方式 RB提供條件 方 式 R8上的電壓或電流 VRS 10μA IRS200μA VRS 待機方式 斜率方式 高速方式 IRS|10μA| VRS IRS500μA 在高速工作方式下,發(fā)送器輸出晶體管簡單地以盡可能快 的速度啟閉。 對于較低速度或較短總線長度,可用非屏蔽雙絞線或平行線作總線。 若引腳 8加有高電平,則電路進入低電流待機方式。 CAN通信控制器是 CAN總線接口電路的核心,主要完成 CAN的通信協(xié)議,而 CAN總線收發(fā)器的主要功能是增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護總線,降低射頻干擾 (RFI),實現(xiàn)熱防護等。 CPU通過這些地址可對 SJA1000執(zhí)行相應的讀/寫操作 (即: SJA1000首地址為 8000H)。 SJA1000的 16 腳 (INT)是中斷信號輸出端,在中斷允許的情況下,有中斷發(fā)生時, 16 腳會輸出由高電平到低電平的跳變,因此將 AT89C51的外部中斷輸入腳 (INT0)與該腳相連接,即可通過中斷方式來訪問 SJA1000。 節(jié)點軟件設計 根據(jù)節(jié)點電路原理圖, SJA1000的首地址為 0000H。在接收寄存 器( RXB)為空,滿足不述條件時,報文可被正確地接收。程序中 BTR0=00H, BTR1=1Ch,則波特率為 500Kbps。 (3)SJA1000的 TX1腳懸空時, RX1引腳的電位必須維持在約 ,否則,將不能形成 CAN協(xié)議所要求的 電平邏輯。 PAC82C250簡介 PAC82C250是 CAN協(xié)議控制器和物理總線間的接口,它主要是為汽車中高速通訊 (高達 1Mbps)應用而設計。 ? 具有抗汽車環(huán)境中的瞬間干擾,保護總線能力。 ? 防止電池和地之間的發(fā)生短路。 ? 具有限流保護。在高速工作方式下,發(fā)送器輸出晶體管以盡可能快的速度啟閉。為降低射頻干擾。若檢測到顯畦位,RXD將轉(zhuǎn)至低電平,微控制器應通過引腳 8將發(fā)送器變?yōu)檎7绞阶鳛閷Υ藯l件作出的反應。利用 82C250還可方便地在 CAN控制器與收發(fā)器之間建立光電隔離,以實現(xiàn)總線上各個節(jié)點之間的電氣隔離。 SJA1000的初始化程序如下: MOV DPTR, CR:控制寄存器 CR的地址送 DPTR MOVA, 01H MOVXDPTR, A:進入復位模式 MOV DPTR, CDR MOVA, 00H MOVXDPTR, A:選擇 BASIC CAN模式、時鐘不輸出 MOV A, NODECODE MOVX DPTR, A;節(jié)點號 NODECODE寫入 ACR MOVX DPTR, AMR MOV A, 00H MOV DPTR, A; AMR置為 0,當且僅當 RXID0=ACR時接收數(shù)據(jù) MOV DPTR, BTR0;設定總線時序寄存器 BTR0,系統(tǒng)采用 12 MHz晶振 MOV A, 85H;分頻后總線時鐘頻率為 2MHz MOVX DPTR, A;同步跳轉(zhuǎn)寬度為 3tscl MOV DPTR, BTR1;設定總線時序寄存器 BTR1 MOV A, OB4H:位同步時間為 1個 tsc1,采樣開始位置 TSEG1=5tsc1 MOVX DPTR, A; TSEG2=4tsc1,每一位時間 10tsc1(200 kHz),每位采樣 3次 MOV DPTR, OCR;設置輸出控制寄存器 MOV A, 1AH:數(shù)據(jù)從 TX0按正常輸出模 式同極性輸出 MOV DPTR, A; TX1不用 MOV DPTR, CR;初始化完成,使控制器退出復位模式,進入工作模式工作。描述符域包括表示符 11 位,遠程發(fā)送請求位 RTR 和數(shù)據(jù)長度碼 DLC。 do { readback_data_sja=read_byte(sja1000_SR)。 //發(fā)送一個標準幀信息 write_byte(sja1000_TX_FrameInfo ,temp[0])。 write_byte(sja1000_CMR,0x01)。0x08==0)。 信息通過節(jié)點的驗收濾波器放在 RXFIFO 中,那么 SJA1000 會向 CPU 申請中斷。 readback_data_sja=read_byte(sja1000_IR)。 write_byte(sja1000_CMR,0x04)。 } while(readback_data_sja|0xFE==0xFF)。 sbit LED = P1^1。 sbit WRITE_sja = P3^1。 uchar receive_symbol=0,count=0。 uchar send_frame21[4]={0x01,0x02,0x00,0x05}。 void SYSCLK_Init(void)。 void SJA1000_Init(void)。 uchar lin1=0。= ~0x40。 CS_sja=0。 if(count==1) { SJA1000_Send_frame(send_frame20)。 SJA1000_Send_frame(send_frame30)。 delay(1000)。 if(receive_frame==0x04) { lin1=~lin1。 receive_frame=0。 delay(1000)。 XBR1 = 0x40。 P1MDOUT=0x06。 P3MDOUT= 0x00。lin1++) { lin2=time1。 WRITE_sja=1。 delay(1)。 byte_sja=P2。 delay(10)。 ALE_sja=1。 ALE_sja=0。 delay(10)。 } void SJA1000_Init(void) { uchar readback_data_sja。 RST_sja=1。 } while(readback_data_sjaamp。 write_byte(sja1000_OCR,0x1a)。 write_byte(sja1000_ACR1,0x00)。 write_byte(sja1000_AMR1,0x0F)。 write_byte(sja1000_MOD,0x0C)。0x04==0)。 write_byte(sja1000_TX_Buffer2,temp[2])。 } while(readback_data_sjaamp。 readback_data_sja=read_byte(sja1000_IR)。 receive_symbol=1。 } } 6 CAN 總線的單片機監(jiān)控系統(tǒng)原理圖設計 設計說明 微處理器 AT89C51 負責 SJA1000 的初始化,通過控制 SJA1000 實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通 電路主要由通信控制器 SJA1000、微處理器 C8051F3獨立 CAN 總線發(fā)報器 P82C250、高速光電耦合器 6N137組成。 PCA82C250 與 CAN 總線的接口部分也要采取了一定的安全和抗干擾措施, PAC82C250 的 CANH和 CANL 引腳各自通過 1 個 5 歐的電阻與 CAN 總線相連,電阻可起到一定的限流作用,保護 PAC82C250免受過流的沖擊, CANH 和 CANL 與地之間并聯(lián)了 2 個 30pF 的小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的作用,另外在兩根 CAN 總線接入端與 地之間分別反接了一個保護二極管,當 CAN總線有較高的負電壓時,通過二極管的短路可起到一定的過壓保護作用 總線兩端應接有兩個 120 的電阻,對于匹配總線阻抗起著相當重。 信任務,設計中, SJA1000的地址 /數(shù)據(jù)總線 AD0~AD7 分別連接到 C8051F310的 P2口, CS連接到 C8051F310 的 , SJA1000 的 RD、 WR、 ALE 分別與 C8051F310 的 , ,引腳相連, INT 接 C8051F310 的 引腳, RST 接 C8051F310 的 引腳。} while(readback_data_sja|0xFE==0xFF)。0x01==0x01) { receive_frame=read_byte(sja1000_TX_Buffe 3)。 } uchar SJA1000_Receive_frame(void) { uchar readback_data_sja=0。 write_byte(sja1000_CMR,0x01)。 write_byte(sja1000_TX_FrameInfo ,temp[0])。 do { readback_data_sja=read_byte(sja1000_SR)。 write_byte(sja1000_AMR3,0xFF)。 write_byte(sja1000_ACR3,0xFF)。 write_byte(sja1000_RBSA,0x00)。 write_byte(sja1000_BTR0,0x85)。 write_byte(sja1000_MOD,0x01)。 RST_sja=0。 ALE_sja=1。 P2=byte_sja。 P2=address_sja。 } void write_byte(uchar address_sja,uchar byte_sja) { READ_sja=1。 READ_sja=1。 P2=0xFF。 delay(1)。}} uchar read_byte(uchar address_sja) { uchar byte_sja。 for(lin1=0。 P2MDOUT= 0x00。 P0MDOUT= 0x00。 RSTSRC = 0x04。 delay(1000)。 } if(receive_frame==0x05) { lin1=0。 } } receive_frame=SJA1000_Receive_frame()。 } if(count==3) { SJA1000_Send_frame(send_frame31)。 } if(count==2) { SJA1000_Send_frame(send_frame21)。 while(1) { if(BUTTON==0) { delay(500)。 LED=1。 PORT_Init ()。 uchar SJA1000_Receive_frame(void)。 void write_byte(uchar address_sja,uchar byte_sja)。 uchar send_frame31[4]={0x01,0x03,0x00,0x05}。 uchar send_frame11[4]={0x01,0x01,0x00,0x05}。 sbit CS_sja = P3^3。 sbit INT_sja = P1^6。 return(receive_frame)。 receive_symbol=1。0x01==0x01) //如果接收中斷 { receive_frame=read_byte(sja1000_TX_Buffer3)。 具體程序如 下 uchar SJA1000_Receive_frame(void) { uchar readback_data_sja=0。*/ write_byte(sja1000_CMR,0x04)。 do { readback_data_sja=read_byte(sja1000_SR)。 write_byte(sja1000_TX_Buf
點擊復制文檔內(nèi)容
高考資料相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1