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

正文內(nèi)容

基于can總線的單片機(jī)監(jiān)控系統(tǒng)(參考版)

2024-11-11 03:20本頁面
  

【正文】 PCA82C250 與 CAN 總線的接口部分也要采取了一定的安全和抗干擾措施, PAC82C250 的 CANH和 CANL 引腳各自通過 1 個(gè) 5 歐的電阻與 CAN 總線相連,電阻可起到一定的限流作用,保護(hù) PAC82C250免受過流的沖擊, CANH 和 CANL 與地之間并聯(lián)了 2 個(gè) 30pF 的小電容,可以起到濾除總線上的高頻干擾和一定的防電磁輻射的作用,另外在兩根 CAN 總線接入端與 地之間分別反接了一個(gè)保護(hù)二極管,當(dāng) CAN總線有較高的負(fù)電壓時(shí),通過二極管的短路可起到一定的過壓保護(hù)作用 總線兩端應(yīng)接有兩個(gè) 120 的電阻,對(duì)于匹配總線阻抗起著相當(dāng)重。 信任務(wù),設(shè)計(jì)中, SJA1000的地址 /數(shù)據(jù)總線 AD0~AD7 分別連接到 C8051F310的 P2口, CS連接到 C8051F310 的 , SJA1000 的 RD、 WR、 ALE 分別與 C8051F310 的 , ,引腳相連, INT 接 C8051F310 的 引腳, RST 接 C8051F310 的 引腳。 } } 6 CAN 總線的單片機(jī)監(jiān)控系統(tǒng)原理圖設(shè)計(jì) 設(shè)計(jì)說明 微處理器 AT89C51 負(fù)責(zé) SJA1000 的初始化,通過控制 SJA1000 實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通 電路主要由通信控制器 SJA1000、微處理器 C8051F3獨(dú)立 CAN 總線發(fā)報(bào)器 P82C250、高速光電耦合器 6N137組成。} while(readback_data_sja|0xFE==0xFF)。 receive_symbol=1。0x01==0x01) { receive_frame=read_byte(sja1000_TX_Buffe 3)。 readback_data_sja=read_byte(sja1000_IR)。 } uchar SJA1000_Receive_frame(void) { uchar readback_data_sja=0。 } while(readback_data_sjaamp。 write_byte(sja1000_CMR,0x01)。 write_byte(sja1000_TX_Buffer2,temp[2])。 write_byte(sja1000_TX_FrameInfo ,temp[0])。0x04==0)。 do { readback_data_sja=read_byte(sja1000_SR)。 write_byte(sja1000_MOD,0x0C)。 write_byte(sja1000_AMR3,0xFF)。 write_byte(sja1000_AMR1,0x0F)。 write_byte(sja1000_ACR3,0xFF)。 write_byte(sja1000_ACR1,0x00)。 write_byte(sja1000_RBSA,0x00)。 write_byte(sja1000_OCR,0x1a)。 write_byte(sja1000_BTR0,0x85)。 } while(readback_data_sjaamp。 write_byte(sja1000_MOD,0x01)。 RST_sja=1。 RST_sja=0。 } void SJA1000_Init(void) { uchar readback_data_sja。 ALE_sja=1。 delay(10)。 P2=byte_sja。 ALE_sja=0。 P2=address_sja。 ALE_sja=1。 } void write_byte(uchar address_sja,uchar byte_sja) { READ_sja=1。 delay(10)。 READ_sja=1。 byte_sja=P2。 P2=0xFF。 delay(1)。 delay(1)。 WRITE_sja=1。}} uchar read_byte(uchar address_sja) { uchar byte_sja。lin1++) { lin2=time1。 for(lin1=0。 P3MDOUT= 0x00。 P2MDOUT= 0x00。 P1MDOUT=0x06。 P0MDOUT= 0x00。 XBR1 = 0x40。 RSTSRC = 0x04。 delay(1000)。 delay(1000)。 receive_frame=0。 } if(receive_frame==0x05) { lin1=0。 if(receive_frame==0x04) { lin1=~lin1。 } } receive_frame=SJA1000_Receive_frame()。 delay(1000)。 } if(count==3) { SJA1000_Send_frame(send_frame31)。 SJA1000_Send_frame(send_frame30)。 } if(count==2) { SJA1000_Send_frame(send_frame21)。 if(count==1) { SJA1000_Send_frame(send_frame20)。 while(1) { if(BUTTON==0) { delay(500)。 CS_sja=0。 LED=1。= ~0x40。 PORT_Init ()。 uchar lin1=0。 uchar SJA1000_Receive_frame(void)。 void SJA1000_Init(void)。 void write_byte(uchar address_sja,uchar byte_sja)。 void SYSCLK_Init(void)。 uchar send_frame31[4]={0x01,0x03,0x00,0x05}。 uchar send_frame21[4]={0x01,0x02,0x00,0x05}。 uchar send_frame11[4]={0x01,0x01,0x00,0x05}。 uchar receive_symbol=0,count=0。 sbit CS_sja = P3^3。 sbit WRITE_sja = P3^1。 sbit INT_sja = P1^6。 sbit LED = P1^1。 return(receive_frame)。 } while(readback_data_sja|0xFE==0xFF)。 receive_symbol=1。 write_byte(sja1000_CMR,0x04)。0x01==0x01) //如果接收中斷 { receive_frame=read_byte(sja1000_TX_Buffer3)。 readback_data_sja=read_byte(sja1000_IR)。 具體程序如 下 uchar SJA1000_Receive_frame(void) { uchar readback_data_sja=0。 信息通過節(jié)點(diǎn)的驗(yàn)收濾波器放在 RXFIFO 中,那么 SJA1000 會(huì)向 CPU 申請(qǐng)中斷。*/ write_byte(sja1000_CMR,0x04)。0x08==0)。 do { readback_data_sja=read_byte(sja1000_SR)。 write_byte(sja1000_CMR,0x01)。 write_byte(sja1000_TX_Buffer2,temp[2])。 //發(fā)送一個(gè)標(biāo)準(zhǔn)幀信息 write_byte(sja1000_TX_FrameInfo ,temp[0])。0x04==0) 。 do { readback_data_sja=read_byte(sja1000_SR)。 發(fā)送數(shù)據(jù)時(shí)用戶只需將要發(fā)送的數(shù)據(jù)按照 CAN 控制器 SJA1000 所規(guī)定的格式組合成一幀報(bào)文,送入控制器的發(fā)送緩沖區(qū)中,然后啟動(dòng) SJA1000 發(fā)送就可以實(shí)現(xiàn),但是在將報(bào)文發(fā)送到緩沖區(qū)之前,要確定發(fā)送緩沖器為釋放狀態(tài)。描述符域包括表示符 11 位,遠(yuǎn)程發(fā)送請(qǐng)求位 RTR 和數(shù)據(jù)長度碼 DLC。 圖 2接收數(shù)據(jù)的中斷服務(wù)流程圖 圖 3發(fā)送數(shù)據(jù)的中斷服務(wù)程序流程圖 發(fā)送緩沖寄存器用于存放由 CPU傳到 SAJ1000 等待發(fā)送到 CAN 總線 上的信息,它分為描述區(qū)和數(shù)據(jù)區(qū)。 SJA1000的初始化程序如下: MOV DPTR, CR:控制寄存器 CR的地址送 DPTR MOVA, 01H MOVXDPTR, A:進(jìn)入復(fù)位模式 MOV DPTR, CDR MOVA, 00H MOVXDPTR, A:選擇 BASIC CAN模式、時(shí)鐘不輸出 MOV A, NODECODE MOVX DPTR, A;節(jié)點(diǎn)號(hào) NODECODE寫入 ACR MOVX DPTR, AMR MOV A, 00H MOV DPTR, A; AMR置為 0,當(dāng)且僅當(dāng) RXID0=ACR時(shí)接收數(shù)據(jù) MOV DPTR, BTR0;設(shè)定總線時(shí)序寄存器 BTR0,系統(tǒng)采用 12 MHz晶振 MOV A, 85H;分頻后總線時(shí)鐘頻率為 2MHz MOVX DPTR, A;同步跳轉(zhuǎn)寬度為 3tscl MOV DPTR, BTR1;設(shè)定總線時(shí)序寄存器 BTR1 MOV A, OB4H:位同步時(shí)間為 1個(gè) tsc1,采樣開始位置 TSEG1=5tsc1 MOVX DPTR, A; TSEG2=4tsc1,每一位時(shí)間 10tsc1(200 kHz),每位采樣 3次 MOV DPTR, OCR;設(shè)置輸出控制寄存器 MOV A, 1AH:數(shù)據(jù)從 TX0按正常輸出模 式同極性輸出 MOV DPTR, A; TX1不用 MOV DPTR, CR;初始化完成,使控制器退出復(fù)位模式,進(jìn)入工作模式工作。以確定工作主頻、波特率、輸出特性等,然后通過查詢方式獲取模數(shù)轉(zhuǎn)換采樣值,并把該值通過 SJA1000傳送到 CAN總線上由上位 PC機(jī)來進(jìn)行顯示控制。利用 82C250還可方便地在 CAN控制器與收發(fā)器之間建立光電隔離,以實(shí)現(xiàn)總線上各個(gè)節(jié)點(diǎn)之間的電氣隔離。對(duì)于 CAN控制器及帶有 CAN總線接口的器件, P82C250并不是必須使用的器件,因?yàn)槎鄶?shù) CAN 控制器均具有配置靈活的收發(fā)器件,并允許總線故障,只是驅(qū)動(dòng)能力只允許 2030個(gè)節(jié)點(diǎn)連接在一條總線上。若檢測到顯畦位,RXD將轉(zhuǎn)至低電平,微控制器應(yīng)通過引腳 8將發(fā)送器變?yōu)檎7绞阶鳛閷?duì)此條件作出的反應(yīng)。斜率正比于引腳 8上的電流輸出。為降低射頻干擾。通過將引腳 RS接地可選擇高速方式。在高速工作方式下,發(fā)送器輸出晶體管以盡可能快的速度啟閉。 其次, P82C250采用雙線差動(dòng)驅(qū)動(dòng),有助于抑制惡劣環(huán)境下的瞬變干擾。 ? 具有限流保護(hù)。 ? 未上電的節(jié)點(diǎn)對(duì)總線無影響。 ? 防止電池和地之間的發(fā)生短路。 ? 差分接收器,抗寬范圍的共模干擾,抗電磁干擾 (EMI)。 ? 具有抗汽車環(huán)境中的瞬間干擾,保護(hù)總線能力。PAC82C250的主要特性有: ? 完 全符合 “ISO11898” 標(biāo)準(zhǔn)。 PAC82C250簡介 PAC82C250是 CAN協(xié)議控制器和物理總線間的接口,它主要是為汽車中高速通訊 (高達(dá) 1Mbps)應(yīng)用而設(shè)計(jì)。 (4)設(shè)計(jì)時(shí)將 SJA1000 的 CLOCKOUT的時(shí)鐘信號(hào)接至 AT89C51 的時(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1