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

正文內(nèi)容

基于單片機的智能協(xié)議轉(zhuǎn)換器-預(yù)覽頁

2025-06-20 18:06 上一頁面

下一頁面
 

【正文】 器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內(nèi)部程序存儲器。XTAL2:來自反向振蕩器的輸出。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。當(dāng)CPU執(zhí)行OUT指令時,可向這個寄存器寫入;讀/寫控制電路:與讀/寫控制電路接收的控制信號如下:RESET:復(fù)位信號;輸入,高電平有效;CLK:主時鐘;輸入,用來產(chǎn)生8251A內(nèi)部的定時信號;/CS:片選信號;輸入,低電平有效;/RD和/WR:讀和寫控制信號,輸入,低電平有效;C//D:控制/數(shù)據(jù)信號;為1時表示當(dāng)前通過數(shù)據(jù)總線傳送的是控制字或狀態(tài)信息;為0時表示當(dāng)前傳送的是數(shù)據(jù); 調(diào)制/解調(diào)控制電路:8251A與調(diào)制解調(diào)器之間的接口信號如下:/DTR:數(shù)據(jù)終端準(zhǔn)備好信號,向調(diào)制解調(diào)器輸出,低電平有效;有效表示CPU準(zhǔn)備好接收數(shù)據(jù);/DSR:數(shù)據(jù)裝置準(zhǔn)備好信號,由調(diào)制解調(diào)器輸入,低電平有效;有效表示調(diào)制解調(diào)器或外設(shè)已準(zhǔn)備好發(fā)送數(shù)據(jù),實際上是對/DTR的應(yīng)答信號;/RTS:請求發(fā)送信號,向調(diào)制解調(diào)器輸出,低電平有效。 8引腳DIP封裝。(3)電源接地端(GND):接0 V參考電平。若超過1.6 s該輸入端收不到脈沖信號,則內(nèi)部定時器溢出,8號引腳由高電平變?yōu)榈碗娖健? 基本工作原理    工業(yè)環(huán)境中的干擾大多是以窄脈沖的形式出現(xiàn),而最終造成微機系統(tǒng)故障的多數(shù)現(xiàn)象為“死機”。用看門狗*程序的運行?! 纹瑱C的掉電工作方式電路原理圖如圖2—1所示:當(dāng)PD設(shè)置為1時,激活掉電方式,此時=0,與非門輸出為低電平,時鐘發(fā)生器停止工作,單片機內(nèi)所有運行狀態(tài)均被停止,只有片內(nèi)RAM和SFR中的數(shù)據(jù)被保存起來。此電路可以實現(xiàn)上電、瞬時掉電以及程序運行出現(xiàn)“死機”時的自動復(fù)位和隨時的手動復(fù)位;并且可以實時地*電源故障,以便及時地保存數(shù)據(jù)。也可以隨時使用手動復(fù)位按鈕使MAX813L產(chǎn)生復(fù)位脈沖,由于為產(chǎn)生復(fù)位脈沖端要求低電平至少保持140ms以上,故可以有效地消除開關(guān)抖動。當(dāng)電源發(fā)生故障,PFI輸入端的電平低于1.25 V時,電源故障輸出端電平由高變低,引起單片機中斷,CPU響應(yīng)中斷,執(zhí)行相應(yīng)的中斷服務(wù)程序,保護數(shù)據(jù),斷開外部用電電路等。另外,MAX48MAX483與MAX487具有低電流關(guān)斷模式, 。MAX485通訊程序與MAX232通訊程序在本質(zhì)上是一樣的,只是MAX485通訊程序需要加上通訊方向控制。PORTCamp。//16Mhz頻率,8位數(shù)據(jù)位,無校驗,接收發(fā)送使能,1位停止位UBRR1H=0。UBRR1L=103。UCSR1B=(1RXCIE1)|(1RXEN1)|(1TXEN1)。 void (1UDRE1)))。UDR1=c。while(!(UCSR1Aamp。 _BV(TXC1)。SET_BIT(UCSR1A,)。READ_485。 port } } 3 系統(tǒng)軟件設(shè)計 數(shù)據(jù)采集方案設(shè)計基于單片機的協(xié)議轉(zhuǎn)換器實現(xiàn)協(xié)議的轉(zhuǎn)換有三種類型命令。第三類是實時數(shù)據(jù)采集命令,協(xié)議轉(zhuǎn)換器不僅要接收中央監(jiān)控主機命令和向監(jiān)控設(shè)備發(fā)送命令,而且還要等協(xié)議轉(zhuǎn)換器將采集到的數(shù)據(jù)拆解整合后發(fā)送給中央監(jiān)控主機,可見這種方式耗時較多。在程序中的接受中央監(jiān)控主機命令和向受監(jiān)控設(shè)備發(fā)送命令這兩個關(guān)鍵步驟設(shè)置軟件狗,為了程序由于意外情況發(fā)生,使單片機始終處于接受數(shù)據(jù)狀態(tài)或者發(fā)送數(shù)據(jù)狀態(tài)時,就可以利用軟件看門狗跳出死循環(huán)。幀格式如圖5所示。中央監(jiān)控主機首先按照幀結(jié)構(gòu)向單個或多個協(xié)議轉(zhuǎn)換器發(fā)送命令,單片機按照幀結(jié)構(gòu)對命令進行解析,并把它轉(zhuǎn)化為符合被監(jiān)控設(shè)備協(xié)議的命令,然后采集數(shù)據(jù),同時將采集的數(shù)據(jù)進行分析,并把它轉(zhuǎn)化為符合中央監(jiān)控主機的幀結(jié)構(gòu)的形式,用單片機實現(xiàn)協(xié)議的轉(zhuǎn)換。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進行集中監(jiān)控。   當(dāng)在一Modbus網(wǎng)絡(luò)上通信時,此協(xié)議決定了每個控制器須要知道它們的設(shè)備地址,識別按地址發(fā)來的消息,決定要產(chǎn)生何種行動。   在Modbus網(wǎng)絡(luò)上轉(zhuǎn)輸   標(biāo)準(zhǔn)的Modbus口是使用一RS232C兼容串行接口,它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗。典型的主設(shè)備:主機和可編程儀表。Modbus協(xié)議建立了主設(shè)備查詢的格式:設(shè)備(或廣播)地址、功能代碼、所有要發(fā)送的數(shù)據(jù)、一錯誤檢測域。這樣在單獨的通信過程中,控制器既可作為主設(shè)備也可作為從設(shè)備。同樣,當(dāng)控制器接收到一消息,它將建立一從設(shè)備回應(yīng)格式并返回給發(fā)送的控制器。數(shù)據(jù)段必須包含要告之從設(shè)備的信息:從何寄存器開始讀及要讀的寄存器數(shù)量。如果有錯誤發(fā)生,功能代碼將被修改以用于指出回應(yīng)消息是錯誤的,同時數(shù)據(jù)段包含了描述此錯誤信息的代碼。   所選的ASCII或RTU方式僅適用于標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò),它定義了在這些網(wǎng)絡(luò)上連續(xù)傳輸?shù)南⒍蔚拿恳晃?以及決定怎樣將信息打包成消息域和如何解碼。   代碼系統(tǒng)    7個數(shù)據(jù)位,最小的有效位先發(fā)送      CRC是先調(diào)入一值是全“1”的16位寄存器,然后調(diào)用一過程將消息中連續(xù)的8位字節(jié)各當(dāng)前寄存器中的值進行處理。整個過程要重復(fù)8次。   CRC簡單函數(shù)如下:   unsigned short CRC16(puchMsg, usDataLen)   unsigned char *puchMsg 。 /* 低CRC 字節(jié)初始化 */   unsigned uIndex 。   }   return (uchCRCHi 8 uchCRCLo) 。其系統(tǒng)結(jié)構(gòu)既包括硬件、亦包括軟件。網(wǎng)絡(luò)可支持247個之多的遠(yuǎn)程從屬控制器,但實際所支持的從機數(shù)要由所用通信設(shè)備決定。選擇時應(yīng)視所用ModBus主機而定,每個ModBus系統(tǒng)只能使用一種模式,不允許2種模式混用。如欲轉(zhuǎn)換為ASCII模式,則每個RTU字符首先應(yīng)分為高位和低位兩部分,這兩部分各含4位,然后轉(zhuǎn)換成十六進制等量值。報文先與X↑16相乘(左移16位),然后看X↑16+X↑15+X↑2+1除,X↑16+X↑15+X↑2+1可以表示為二進制數(shù)11000000000000101。全部運算以2為模(無進位)。生成多項式的位序也必須反過來,以保持一致。運算結(jié)果放入這個16位寄存器。   ⑤重復(fù)③和④,直至移出8位。   另外,在某些非ModBus通信協(xié)議中也經(jīng)常使用CRC16作為校驗手段,而且產(chǎn)生了一些CRC16的變種,他們是使用CRC16多項式X↑16+X↑15+X↑2+1,單首次裝入的16位寄存器為0000。把十六進制字符轉(zhuǎn)換成二進制,加上無循環(huán)進位的二進制字符和二進制補碼結(jié)果生成LRC錯誤校驗(參見圖)。但是,協(xié)議轉(zhuǎn)換器與中央監(jiān)控主機之間的數(shù)據(jù)傳輸方式卻有了相應(yīng)的發(fā)展,已經(jīng)有不少廠商采用TCP/IP進行上層數(shù)據(jù)的傳輸,以便適應(yīng)更多的功能需要。陳明熒..8051單片機課程設(shè)計實訓(xùn)教材.胡漢才.單片機原理及其接口技術(shù).程退安.199416 余永權(quán),汪明慧,黃英編著.單片機在控制系統(tǒng)中的應(yīng)用.北京:電子工業(yè)出版社. 200317 武鋒. PIC系列單片機的開發(fā)應(yīng)用技術(shù).北京:電子工業(yè)出版社.2003附錄 26 1 初始化程序:/************************************ omaout smaout pcode=100h,data=D000h ram_d \asc0 asc1 asc2 TUPC LCD_KEY UPC upc_os9 define DI_NUM 184define DO_NUM 184define AI_NUM 184define CI_NUM 8define DCHGM 1define ACHGM 1define BCHGM 0define PDRTULF 0x02020200define PARTULF 0x15151500define PBRTULF 0x00000000define PDOS9LF 0x02020200define DROMAP 1define PAOS9LF 0x15151500define AROMAP 1define PBOS9LF 0x00000000define BROMAP 0**************************************/define M24 0x00 /* CPU 24 MHZ version */define M12 0x01 /* CPU 12 MHZ version */extern char CPU_MHZ。extern char ApendMode,RTCMode。*/ /* set BANK Base Page for EEPROM Page0 4k */ /* outport(0x39,0x13)。*/ /* set BANK Base Page for SRAM Page31 4k */}int Tasking。}define UDO_BNK 1define UDI_BNK 2define UAI_NUM 16define URS_BNK 0include include include include main(){ unsigned int i,j,flag,t,pt。 CPU_MHZ=M24。 init_prt(1,ApendAIO,DRTC_NOR)。 LCD_init()。 /*_ss_enrts0()。 print_LCD(CONNETUPC \n)。*/ LCD_HeadStr()。*/ }}task_wait(t)int t。 i++) { if (sw_p0==0) UPC_OS9()。 tsleep(1)。 AIO_pro()。 sprintf(LCDhs2,HW_SMR1=%d A=%d\n,HW_SMR1_NUM,sw_addr+AONO)。 else sprintf(LCDhs1,UPC TDB_SMR%d A%d\n,TD_SMR1_NUM,sw_addr+AONO)。 else sprintf(LCDhs1,UPC\n)。 else sprintf(LCDhs2, SS_DEG%d A%d%d\n, SS_DEG2_NUM,sw_addr+BONO,sw_addr+BONO+BONUM1)。char _dis_mode。 tsleep(1)。 tsleep(1)。 tsleep(1)。 tsleep(1)。 dtl=inport(0x32)。}LCD_data(i)int i。 outport(0x59,i)。 return(0)。 break。 break。{ if(x1) { _x=1。 } else if(y==2){ LCD_(0xc0+x1)。{ int i,j。 while(1){ if(*(msg+i)==0x00) break。 39。 } _x=1。 } if(*(msg+i)!=0x0a) { PUT_CH(_y,_x,*(msg+i))。{ int i。i++) LCD_data(39。 for(i=0。)。i20。 break。i++) LCD_data(39。 default: }}cur_on(){ CURSOR(_y,_x,_cur_mode=1)。_y=y。}putchLCD(ch)char ch。)。A39。C39。 break。 if(_x20) { _x=1。{ int i。int key_t。 keycont++。keycont。{ int i。i++) *(buffer+i)=get_key()。keytail=0。 /* init value all o/p are high */}int _key_hit(){ char tmp。0xf0)!=0xf0) return(1)。 if(_key_hit()){ if(key_t=1){return(0)。 break。 case 0xbe: key=39。039。239。 break。 case 0x7d: key=39。 switch(inport(0xe1)){ case 0xeb: key=39。639。 break。 switch(inport(0xe1)){ case 0xe7: key=39。B39。 break。*/ key
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1