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

正文內容

基于can總線的多點溫度采集系統(tǒng)的設計-閱讀頁

2024-12-07 22:06本頁面
  

【正文】 3? ,供電電源為 5V,如圖 所示。 ( 5) 傳感器 電橋 和放大電路 圖 傳感器電橋和放大電路 本系統(tǒng)的多點溫度采集使用鉑電阻 Pt100,采用三線制的電橋電路, R1, R2, R3 均為100? , 可以較好的消除引線電阻的影響,提高測量精度。 ( 6) CAN 收發(fā)器 連接電路 畢業(yè)論文 15 圖 CTM8251 收發(fā)器連接電路 PIC18F4580芯片中雖然內嵌 CAN控制器 ,但是必須與 CAN 收發(fā)器連接才能具備收發(fā)功能 ,在以往的設計中 CAN 收發(fā)器之間通常需要加 入 DC —DC電源隔離模塊和高速光電耦合器組成的隔離電路 , 以確保在 CAN 總線遭受嚴重的干擾時控制器能夠正常工作,然而考慮到復雜度、系統(tǒng)集成等因素 ,本設計中利用 CTM8251接口芯片來實現帶隔離的 CAN 收發(fā)電路 ,CTM8251是一款帶隔離的通用 CAN收發(fā)器芯片,該芯片內部集成了所有必需的 CAN隔離及CAN收發(fā)器件,這些都被集成在不到 3平方厘米的芯片上,芯片的主要功能是將 CAN控制器的邏輯電平轉換為 CAN總線的差分電平并且具有 DC 2500V的隔離功能, 如圖 。該顯示電路采用單片機的通用 I/O 口對液晶的控制信號直接進行控制,同時將單片機的 D 口作為其數據總線。 該液晶顯示模塊是使用 KB0108 及其兼容控制驅動器作為列驅動器,同時使用 KS0107B畢業(yè)論文 16 及其兼容驅動器作為行驅動器的液晶 模塊。 MCG12864A83 共有兩片 KS0108B 或兼容控制驅動器和一片 HD61203 或兼容驅動器。 采用電橋電路和 LM324 放大電路 對信號進行采集和處理,使用內含 A/D 轉換模塊的 PIC18F4580 單片機 進行 A/D 轉換,通過 CTM8251 收發(fā)器對信號進行接收和發(fā)送,最后通過 MCG12864A83 液晶顯示模塊進行顯示。 按 鍵 子 程 序C A N 總 線 接 收初 始 化開 始顯 示 圖 監(jiān)視 器流程圖 采集系統(tǒng)主程序 該 程序主要完成對信號的采集、 處理 和發(fā)送 ,初始化 A/D,I/O 等,流程圖如圖 所示。其中 , CAN 的初始化設計是 CAN總線設計的重要環(huán)節(jié) , 主要考慮 CAN控制器 的工作模式、接收濾波方式的設置、接收屏蔽寄存器的設置、波特率參數設置和中斷允許寄存器的設置。 置 C A N 為 復 位 狀 態(tài)關 中 斷初 始 化 與 通 信 有 關 的 寄 存 器置 C A N 為 運 行 狀 態(tài)開 中 斷確 實 進 入 復 位 狀 態(tài)確 實 進 入 運 行 狀 態(tài)結 束NNYY 圖 CAN初始化程序流程圖 CAN總線通信中斷子程序 : 包括發(fā)送數據中斷和接收數據中斷兩個部分。 CAN信息發(fā)送程序流程圖 , 如圖 。 CAN信息接收程序流程圖 , 如圖 。先初始化 A/D, I/O,再中斷, 啟動 A/D,不斷對信號進行 A/D 轉換, 初始化 流程圖如圖 所示 ,中斷流程圖如圖 所示。 清 屏初 始 化向 顯 示 器 發(fā) 送 數 據讀 顯 示 器 狀 態(tài) 是 否 空 閑NY開 始顯 示 圖 顯示模塊 流程圖 畢業(yè)論文 22 按鍵子程序 本系統(tǒng)擴展鍵盤,采用查詢方式,當有鍵按下時,輸入采集點的地址,通過查詢各點的地址來確定各點的溫度,沒有鍵按下時,直接退出,流程圖如 所示。 (2) 完成了系統(tǒng)硬件數據采集模塊的選擇 ,以及系統(tǒng)整體的搭建。 (4) 使用了多個電路模塊,對系統(tǒng)的軟硬件設計有了更為深刻的認識。 (2) 本系統(tǒng)中采用了多個電路模塊,在實際現場中各模塊完成顯示、數據處理等功能,可能存在一定的誤差 。 3 展望 CAN 總線的應用領域正在不斷的擴大,而本文所討論的基于 CAN 總線的多點溫度采集系統(tǒng),也有很大的發(fā)展前景。 (1) 隨著測試規(guī)模的擴大,有必要將 CAN 總線與以太網結合起來, 構建新的現場測試系統(tǒng), 以太網的工作速度快 且穩(wěn)定,因此,將 CAN 總線拓展 與以太網結合將會取得更好的效果。 (3) CAN 總線在汽車領域已經得到了深入的發(fā)展 ,但是作為一種有廣闊發(fā)展前景的現場總線,其應用領域并不局限于此, 現場的數據采集模塊也可將單片機芯片換為更高速的 DSP 芯片 , 同時如果將 CAN 總線的抗干擾性好、可靠性高、實時性好的特點與 DSP 的高速特性相結合,在農業(yè)機器人方面也會有廣闊的應用前景。 畢業(yè)論文 24 致 謝 語 本論文是在高群導師的悉心指導和關懷下完成的, 高老師嚴謹的治學態(tài)度,高度的責任心、務實的工作作風以及 在長期的 工作中積 累的 經驗給我留下了深刻的印象,讓我受益匪淺。 感謝我的室友,是你們陪我度過了愉快的兩年,我會永遠記在心里的,祝大家好運。 最后,謹向所有曾經關心幫助過我的老師,同學和朋友表示衷心的感謝。 include /* 所有 PIC18 系列的頭文件 */ include /* 調用開方函數時用到的頭文件 */ unsigned char SPI_data=0。 //AD 轉換計算結果 unsigned char AD_Flag=0。 // AD 采樣點 unsigned int AD_Sample[16]=0。 // 用于計算的 AD 采樣各點的值 //功能描述 : 系統(tǒng)初始化子程序,放在程序首部 void initial() { INTCON=0x00。 /* 設置數字輸入輸出口 */ PIE1=0。 /* PIE2 的中斷不使能 */ PIE3=0。 // 設定 TMR0 工作于 16 位定時器方式 ,內部時鐘 ,不分頻 INTCON=INTCON|0X20。0Xfb。 // TMR0 中斷高優(yōu)先級 IPEN=1。 // 打開定時器 0 } 畢業(yè)論文 29 //功能 描述 : A/D 轉化初始化子程序 void AD_Initial() { ADCON0=0x41。 // 轉換結果右 移 ,及 ADRESH 寄存器的高 6 位為 0 // 且把 RA0(AN0)設置為模擬量輸入方式 ADIF=0。 // A/D 轉換中斷允許 ADIP=1。 // 設置 RA0(AN0 通道 )為輸入方式 } //AD 轉換完成后處理數據子程序 void Deal_AD() { unsigned char HI,Low,i。 unsigned int c。 for(i=0。i++) AD_Reseve[i]=AD_Sample[i]。 for(i=0。i++) // 計算 16 點采樣值平方和 { HI=AD_Reseve[i]8。0xff。 a=a16。 b=b9。 畢業(yè)論文 30 j=a+c+b。 } data=data4。 // 開平方根 Adresult=(unsigned int)m。 /* 將 AD 采樣結果轉換為兩位數表示的值,即放大 10 倍 , 乘以滿該度值 5V,除以滿刻度轉換值 10 位( 1024) */ Adresult=(((Adresult/10)4)amp。 /* 轉換為帶一位小數的 BCD 碼實際值如 25 表示 */ } //功能描述 : SPI 輸出初始化子程序 void SPIinitial() { TRISA=TRISAamp。 /* 設 置 RA5 輸出 74HC595 鎖存信號 */ TRISC=TRISCamp。 // SDO(RC5)引腳為輸出 ,SCK(RC3)引腳為輸出 SSPCON1=0x30。CKP=1,FOSC/4 SSPSTAT=0xC0。 // 清除 SSPIF 標志 } //功能描述 : SPI 傳輸數據(發(fā)送數據)子程序 void SPILED(char data) { SSPBUF=data。 }while(SSPIF==0)。 /* 清 SPI 發(fā)送完成標志 */ 畢業(yè)論文 31 } //功能描述 : 高優(yōu)先級中斷子程序: AD 轉換完成中斷 void interrupt HI_ISR() { if(TMR0IF==1) // 定時器 0 中斷 { TMR0IF=0。 TMR0L=0X2D。 ADCON0=ADCON0|0x04。 // 清除中斷標志 AD_Sample[AD_Point]=ADRESL+(ADRESH8)。 if(AD_Point15) { AD_Point=0。 // 置 AD 轉換完成標志 } } } 畢業(yè)論文 32 CAN 收發(fā)器發(fā)送和接收子程序: //功能描述 : CAN 自測試收發(fā)編程, CAN 發(fā)送郵箱 0 以一定的時間間隔發(fā)送數據,接收到數據后 ,將接收數據加 1 作為下一次的發(fā)送數據 include /* PIC18 系列的頭文件 */ char CAN_Adress_H,CAN_Adress_L。 /* CAN 擴展標識符高低字節(jié) */ int CAN_FLAG。 /* 間隔一定時間發(fā)送 CAN 數據 */ //功能描述 : 系統(tǒng)初始化子程序,放在程序首部 void initial() { INTCON=0x00。 /* 設置數字輸入輸出口 */ PIE1=0。 /* PIE2 的中斷不使能 */ PIE3=0。0XFB。 /* CANCON, bit75:1XX 請求配置 */ while((CANSTATamp。 bit75:100 配置方式 */ { 。 /* Sync_Seg(bit76)=1TQ,BRP(bit50)=1, 則 TQ=((2*(BRP+1))/Fosc=4/4M=1us */ BRGCON2=0X90。Phase_Seg1(bit53)=3TQ。 /* 設置 Phase_Seg2(bit20)=3TQ */ /* 標稱位時間= TQ*(Sync_Seg+ Prop_Seg+ Phase_seg1+ Phase_seg2) =(1+1+3+3)TQ= 8TQ, 位率 =1/(8*1U)= */ /* ******設置發(fā)送郵標識符號和初始發(fā)送的數據 ***** */ TXB0CON=0X03。0xe0。 /* 標準標識符的 103 位 */ TXB0DLC=0X08。 /* 寫發(fā)送緩沖器數據區(qū)數據初值 */ TXB0D1=0X01。 TXB0D3=0X03。 TXB0D5=0X05。 TXB0D7=0X07。0xe0。 /* 標準標識符的 103 位 */ RXB0CON=0X20。 /* 設置接收緩沖器 0 的數據區(qū)長度 8 個字節(jié) */ RXB0D0=0X02。 /* 初始化接收緩沖器 0 的數據區(qū)數據 */ RXB0D2=0X04。 RXB0D4=0X00。 RXB0D6=0X00。 /* *******初始化接收濾波器 0 和接收屏蔽 **************** */ RXF0SIDH=CAN_Adress_H。 /* 本字節(jié)高 3 位為標識符低 3 位,低 5 位是配置 */ RXM0SIDH=0Xff。 /* 11 個 1 表示接收 11 位標識符進行濾波,標識符 不同不接收 。 /* bit6:=1 進入自測試模式 。0X40)!=0) /* 檢測 CAN 配置完成 */ { 。 /* 清所有 CAN 中斷標志 */ PIE3=PIE3|0X01。 /* 接收緩沖器 0 的接收中斷為最高優(yōu)先級 */ } //功能描述: CAN 接收數據后處理子程序:接收數據加 1 為下次發(fā)送的數據 void CAN_deal() { CAN_FLAG=0。0xf7。 /* 用接收數據加 1 來更新發(fā)送數據 */ TXB0D1=RXB0D1+1。 TXB0D3=RXB0D3+1。 TXB0D5=RXB0D5+1。 TXB0D7=RXB0D7+1。 /* 置接收到 CAN 數據 */ RXB0IF=0。 /* bit7= 0 打開接收緩沖器接收新信息 */ } }
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1