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

正文內(nèi)容

基于modbus數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)畢業(yè)設(shè)計(jì)(參考版)

2024-09-01 18:52本頁面
  

【正文】 //允許下次接收 } } } 。 //采集電壓 AnalyzeRecieve()。 //使能 ADM2582 的 RXD, 使其只能接收 , 不能發(fā)送 while(1) { if(R_Finish == 1) //如果單片機(jī)接收到命令 { R_Finish = 0。 UART0_Init()。 ADC_Init()。 } //主函數(shù) void main() 基于 Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng) 24 { SYSCLK_Init()。 Index = 0。 } //T0 中斷服務(wù)程序 void T0s() interrupt 1 { TH0 = T0H。 TR0 = 0。 CKCON amp。 TL0 = T0L。 //計(jì)算 CRC 校驗(yàn) , 6 為命令數(shù)組最大下標(biāo)減一 if(crcData == (CommBuffer[7]8)+CommBuffer[6]) //檢驗(yàn)校驗(yàn)碼 { if(CommBuffer[1] == 3) //如果為 03 號(hào)命令 : 讀取保持寄存器 (一個(gè)或多個(gè) ) { ReadReg_WriteoutBuff()。 //將寫好的響應(yīng)數(shù)據(jù)上傳 } //分析接收的命令并且作出響應(yīng)的應(yīng)答 void AnalyzeRecieve() { uint crcData。 sendBuf[byteCount] =(crcData 8)。 0xff。 /加上前面的地址、功能碼、地址 , 共 3+byteCount 個(gè)字節(jié) , 得出新的字節(jié)數(shù) , 保持最新 吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計(jì)說明書 23 crcData = crc16(sendBuf,7)。 sendBuf[6] = [3]。 sendBuf[4] = [1]。 sendBuf[2] = byteCount。 //每個(gè)寄存器內(nèi)容占兩個(gè) 字節(jié),都為雙字節(jié)數(shù)據(jù) sendBuf[0] = SlaveID。 readCount = CommBuffer[5]。 addr = CommBuffer[3]。 uchar readCount。 uchar tempAddr。 TI0 = 0。i++) { SBUF0 = sendBuf[i]。 for(i = 0。 } return(uchCRCLo 8 | uchCRCHi) 。 //計(jì)算 CRC uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex]。 uint uIndex。 //預(yù)設(shè)檢驗(yàn)碼為 0xFFFF。 //接收一次命令完成 } } if (TI0 == 1) { //TI0 = 0。 Index = 0。 //依次保存下發(fā)命令 Index++。 //清空標(biāo)志位 if(Index == 0) TR0 = 1。 EA = 1。 TI0 = 1。 TMOD |= 0x20。 TMOD amp。 } else { while (1)。= ~0x0B。 } else if (SYSCLK/BAUDRATE/2/256 48) { TH1 = (SYSCLK/BAUDRATE/2/48)。 吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計(jì)說明書 21 CKCON amp。 CKCON |= 0x01。 CKCON amp。 CKCON |= 0x08。 } //串口初始化 void UART0_Init () { SCON0 = 0x10。 ada = ADC0L+ADC0M*256+ADC0H*65536。 ADC0MD |= 0x02。 //使能 ADC0 } //AD 一次采樣并計(jì)算結(jié)果 void ADC0() { AD0INT = 0。 //啟動(dòng)全內(nèi)部校準(zhǔn) while(AD0CALC != 1)。 //關(guān)閉緩沖器 ADC0MUX = 0x67。 //使 MDCLK = ADC0DEC = ((unsigned long) MDCLK / (unsigned long) Out_R / (unsigned long) 128) 1。 //增益為 1,單極性方式 ADC0CF = 0x00。 //使能交叉開關(guān) } 基于 Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng) 20 //AD 初始化 void ADC_Init() { REF0CN |= 0x03。 //P1 輸出方式 1 為推挽方式 XBR0 = 0x01。 //P0 輸出方式 1 為推挽方式 P1MDIN = 0xff。 //使能時(shí)鐘丟失檢測(cè) PCA0MD = 0x00。 //不分頻 CLKSEL = 0x00。 uchar T0L = (6553617000)%256。 //本機(jī) (從機(jī) )設(shè)備號(hào) sbit EN = P1^1。 //以上數(shù)組的元素序列號(hào) 0 到 7 bit R_Finish = 0。 //存儲(chǔ)上位機(jī)下發(fā)的請(qǐng)求命令 uchar xdata sendBuf[9]。 }dat。 union { unsigned char num[4]。 sfr16 ADC0DEC = 0x9A。 基于 Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng) 16 參考文獻(xiàn) [1] 翟玉文,梁偉, 艾學(xué)忠 .電子設(shè)計(jì) 與實(shí)踐 . 中國電力出版社, [2] 童詩白,華成英 . 模擬電子技術(shù)基礎(chǔ) . 高等教育出版社出版社, [3] 閻石 . 數(shù)字電子技術(shù)基礎(chǔ)(第五版) [M]. 高等教育出版社, [4] 時(shí)景榮,李立春 . C 語言程序設(shè)計(jì) . 中國鐵道出版社, [5] 張齊,朱寧西 .. 單片機(jī)系統(tǒng)設(shè)計(jì)與開發(fā) . 北京:機(jī)械工業(yè)出版社, [6] 張毅剛 . 單片機(jī)原理及應(yīng)用 . 北京:高等教育出版社, 2020 [7] 申琢玉 .吉林化工學(xué)院畢業(yè)設(shè)計(jì)說明書 . 吉林化工學(xué)院信息與控制工程學(xué)院專業(yè)綜合設(shè)計(jì)說明書 17 附錄 1 電路原理圖 基于 Modbus 協(xié)議的數(shù)據(jù)采集系統(tǒng) 18 附錄 2 程序 include define uint unsigned int define uchar unsigned char define ulong unsigned long define lint long int define SYSCLK 24500000 //系統(tǒng)時(shí)鐘 define MDCLK 2457600 //采樣速率 define Out_R 20 //AD 輸出字速率 define SYSCLK 24500000 //系統(tǒng)頻率 define BAUDRATE 9600 //串口波特率設(shè)置值 /* Table Of CRC Values for highorder byte CRC 校驗(yàn)高位 */ uchar code auchCRCHi[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1