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

正文內(nèi)容

can網(wǎng)絡(luò)通訊實(shí)驗(yàn)板課程設(shè)計(jì)(參考版)

2025-06-10 09:19本頁面
  

【正文】 測試 華中理工大學(xué)出版社 . [3] 張毅剛: MCS51單片機(jī)應(yīng)用設(shè)計(jì) 哈爾濱工業(yè)大學(xué)出版社 . [4] 胡偉:單片機(jī) C 程序設(shè)計(jì)及應(yīng)用實(shí)例 . 人民郵電出版社 . [5] 譚浩強(qiáng): C 程序設(shè)計(jì)(第三版) 北京 清華大學(xué)出版社 [6] 氣象儀器與觀測方法指南, WMO手冊中文版,第六版 [7] Present Weather Science, PWSSCI Exploratory actions on automatic present weather observations. [8] 我國自動(dòng)氣象站建設(shè)發(fā)展迅速,光明日報(bào), [9] 李麟,李效東,漫談分布式自動(dòng)氣象站,中國氣象學(xué)會(huì) 2021年年會(huì)論文集 [10] 岳立成,利用 RS485總線實(shí)現(xiàn)氣象要素分布時(shí)自動(dòng)采集,氣象水文海洋儀器, [11] 岳立成,總線制分布式氣象要素采集系統(tǒng)初探,吉林氣象 2021年第 2 期 [12] 廣州周立功單片機(jī)發(fā)展有限公司 . SJA1000 獨(dú)立 CAN控制器應(yīng)用指南 附錄:系統(tǒng)設(shè)計(jì)原理圖 2. 電路 PCB 圖 。 7 參考文獻(xiàn) [1] 李全利,遲榮強(qiáng) .單片機(jī)原理及接口技術(shù) .北京:高等教育出版社, 2021 [2] 謝自美:電子線路設(shè)計(jì) 如用于數(shù)據(jù)的采集,則與 A/D 轉(zhuǎn)換芯片相接即可;如與控制相關(guān),則與控制口相接即可,這樣一來可以靈活地構(gòu)成各種系統(tǒng)。由于其良好的性能,在世界范圍內(nèi)廣泛應(yīng)用于其他領(lǐng)域當(dāng)中,如工業(yè)自動(dòng)化、汽車電子、樓宇建筑、電梯網(wǎng)絡(luò)、電力通訊和安防消防等諸多領(lǐng)域,并逐漸成為這些行業(yè)的主要通訊手段。為了保證數(shù)據(jù)的正常收發(fā),需要對狀態(tài)寄存器和中斷寄存器各狀態(tài)位的變化做出相應(yīng)處理。 ACR 和 AMR 兩個(gè)寄存器構(gòu)成硬件過濾, CAN節(jié)點(diǎn)通過它來決定是 否接收總線上的數(shù)據(jù),是否置 CAN 的接收中斷,這極大地提高了系統(tǒng)的靈活性。一般來說,若硬件連接無誤,通信失敗的主要原因在于總線定時(shí)寄存器設(shè)置不當(dāng)。 CAN 應(yīng)用中的問題 SJA1000 有 BasicCAN 和 PeliCAN 兩種工作模式, SJAl000 上電復(fù)位后自動(dòng)進(jìn)入 BasicCAN,因此選用 PeliCAN 模式必須在程序中設(shè)置時(shí)鐘分頻寄存器( CDR)選擇工作模式。 開發(fā) CAN總線控制節(jié)點(diǎn)時(shí),還可以使用集成了 CAN 控制器的 CPU 80C592,但支持 80C592 的開發(fā)工具少,給開發(fā)工作帶來一定的難度。 心得體會(huì) 通過本次設(shè)計(jì)對 CAN 總線的工作原理及其與 CPU 的接口方式有了一定程度的理解。 測試儀器 示波器: YB4324 萬用表: DT9205 電感表: DT6243 函數(shù)信號發(fā)生器: DF1641B1 6 結(jié)果分析及心得體會(huì) 結(jié)果分析 本試驗(yàn)通過擴(kuò)展 CAN 總線控制器,在單片機(jī)系統(tǒng)中實(shí)現(xiàn)了 CAN 總線的接口,通過 CAN 總線,實(shí)現(xiàn)了兩個(gè)模塊之間的數(shù)據(jù)通訊,在第一個(gè)模塊中發(fā)送 1幀數(shù)據(jù),在第二個(gè)模塊中收到這幀數(shù)據(jù)并送至了 CPU 的內(nèi)部存儲器 30H~37H。在綜合調(diào)試時(shí),我們會(huì)遇到了很多的問題,如 CAN 總線通訊不成功, CAN 驅(qū)動(dòng)程序不能有效控制 SJA1000,上位機(jī)與下位機(jī)通訊不正常等,但經(jīng)過仔細(xì)的分析和細(xì)心的檢查,并一步步發(fā)現(xiàn)了問題的所在,在調(diào)試的過程中,調(diào)試方法特別的重要,通過不同方式進(jìn)行調(diào)試,最終找到問題的癥結(jié)所在,這樣的調(diào)試方法讓我們順利地完成了 這次設(shè)計(jì)。 40 腳( VCC): 31 腳( /EA/VPP): 20 腳( VSS): 0V 19 腳( XTAL1): 18 腳( XTAL2): 9 腳( RST/VPD): 通過以上數(shù)據(jù)可以判斷出單片機(jī)正常工作。 CAN 總線調(diào)試 CAN 總線的調(diào)試稍微比較難,首先將 CAN 總線與單片機(jī)相連接,參考 SJA1000的技術(shù)文檔,編寫 CAN 通訊的程序,編寫完初步的 CAN 收發(fā)程序后,將 SJA1000設(shè)置為字收發(fā)模式,然后將程序下載到單片機(jī)內(nèi)運(yùn)行,通過串口調(diào)試助手,查看程序運(yùn)行的過程是否正確,以判斷 SJA1000 是否通訊成功 ,如果自收發(fā)模式通訊不成功,則更具打印信息查看程序出錯(cuò)的地方,以便進(jìn)行修改,直到將自收發(fā)模式調(diào)試成功,調(diào)試成功后將自收發(fā)模式切換為正常通訊模式,查看是否能夠正常通訊,一般自收發(fā)模式能夠成功通訊則正常通訊模式也能夠正常通訊。 //重新開啟 CPU 中斷 5 系統(tǒng)調(diào)試 一個(gè)完整的系統(tǒng)一般需要對各個(gè)模塊的功能進(jìn)行相應(yīng)的硬件和軟件調(diào)試,常用的方法是將軟件和硬件結(jié)合起來進(jìn)行調(diào)試,在無實(shí)際的硬件平臺下可以通過相應(yīng)的仿真軟件搭建一個(gè)虛擬的平臺,然后對硬件和軟件進(jìn)行綜合調(diào)試。 //釋放錯(cuò)誤代碼捕捉寄存器(讀該寄存器即可) } IER = 0x01。 //=1接收完畢,釋放接收 緩沖器 state = ALC。 } RXD_flag = 1。tem 13。 RX_buffer[12] = RBSR12。 RX_buffer[10] = RBSR10。 RX_buffer[8] = RBSR8。 RX_buffer[6] = RBSR6。 RX_buffer[4] = RBSR4。 RX_buffer[2] = RBSR2。 0x01) //若 =1接收中斷 { //接收數(shù)據(jù)幀 RX_buffer[0] = RBSR。 //由于是中斷 INT1 是電平觸發(fā)方式,所以需要軟件將 INT1的中斷請求標(biāo)志 IE0 清零 state = IR。 EA = 0。 //發(fā)送數(shù)據(jù)標(biāo)志位置位,即重新發(fā)送數(shù)據(jù)以更新數(shù)碼管的顯示數(shù)值 EA = 1。 //計(jì)數(shù)結(jié)果增 1,即待發(fā)送的數(shù)據(jù)增 1 If(Txd_data==255) Txd_data=0。 //重新開啟中斷 } void inter0_key(void) interrupt 2 using 0 { EA = 0。 CMR = 0x10。 TBSR11 = TX_buffer[11]。 TBSR9 = TX_buffer[9]。 TBSR7 = TX_buffer[7]。 TBSR5 = TX_buffer[5]。 TBSR3 = TX_buffer[3]。 TBSR1 = TX_buffer[1]。 //=0,發(fā)送緩沖器被鎖。 } while(!(state amp。 0x08))。 //=1 正在接收,等待 //查詢 SJA1000 是否處于發(fā)送完畢狀態(tài) do { state = SR。 //SR 為 SJA 的狀態(tài)寄存器 } while( state amp。 //8 //初始化數(shù)據(jù)信息 EA = 0。 //6 TX_buffer[11] = 20。 //4 TX_buffer[9] = 18。 //2 TX_buffer[7] = 16。 //初始化發(fā)送數(shù)據(jù)單元 TX_buffer[5] = Txd_data。 TX_buffer[3] = 0xcc。 .=100數(shù)據(jù)長度為 8 字節(jié) TX_buffer[1] = 0xaa。 //N_can=13, TX_buffer 數(shù)組為待傳送的數(shù)據(jù)幀 //初始化標(biāo)示碼頭信息 TX_buffer[0] = 0x88。 //發(fā)送數(shù)據(jù)幀 } //發(fā)送數(shù)據(jù)幀后, SJA1000 將產(chǎn)生接收中斷 } void can_txd(void) { uchar state。 //重新開啟 CPU 中斷 } } void txd_deal(void) { if( TXD_flag == 1 ) //若 TXD_flag=1,要求進(jìn)行數(shù)據(jù)的發(fā)送處理 { TXD_flag = 0。 //RXD_flag 清零,以便下次查詢 Rxd_data = RX_buffer[5]。 } void rxd_deal(void) { if( RXD_flag ) //RXD_flag=0 說明無數(shù)據(jù)可以接收, //RXD_flag=1 說明有數(shù)據(jù)可以接收 { EA = 0。 } while( !(state amp。 // 使用 dowhile 語句確保進(jìn)入自接收模式 do { MODR = 0x04。 AMR2 = AMRR[2]。 // 初始化接收屏蔽寄存器 AMR0 = AMRR[0]。 ACR2 = ACRR[2]。 // 釋放接收緩沖器 // 初始化接收代碼寄存器 ACR0 = ACRR[0]。 // =1接收中斷使能; =0關(guān)閉發(fā)送中斷使能 OCR = 0xaa。 // 總線定時(shí)寄存器 0 ;總線波特率設(shè)定 BTR1 = 0x1c。 // 對 SJA1000 部分寄存器進(jìn)行初始化設(shè)置 CDR = 0x8
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1