本論文研究了開源路由器的實現方法,通過具體的實驗在X O R P 上實現了R I P , O S P F , B G P 等一系列協議,在P A C K E T T R A C E R 上進行了仿真,并對開源路由器進行了性能評價。
標簽: 開源路由器
上傳時間: 2015-02-21
上傳用戶:13666909595
/****************temic*********t5557***********************************/ #include <at892051.h> #include <string.h> #include <intrins.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //STC12C2051AD的SFR定義 sfr WDT_CONTR = 0xe1;//stc2051的看門狗?????? /**********全局常量************/ //寫卡的命令 #define write_command0 0//寫密碼 #define write_command1 1//寫配置字 #define write_command2 2//密碼寫數據 #define write_command3 3//喚醒 #define write_command4 4//停止命令 #define TRUE 1 #define FALSE 0 #define OK 0 #define ERROR 255 //讀卡的時間參數us #define ts_min 250//270*11.0592/12=249//取近似的整數 #define ts_max 304//330*11.0592/12=304 #define t1_min 73//90*11.0592/12=83:-10調整 #define t1_max 156//180*11.0592/12=166 #define t2_min 184//210*11.0592/12=194 #define t2_max 267//300*11.0592/12=276 //***********不采用中斷處理:采用查詢的方法讀卡時關所有中斷****************/ sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13 sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE PIN=6 sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut PIN=2 sbit wtd_sck = P1^7;//SPI總線 sbit wtd_si = P1^3; sbit wtd_so = P1^2; sbit iic_data = P1^2;//lcd IIC sbit iic_clk = P1^7; sbit led_light = P1^6;//測試綠燈 sbit led_light1 = P1^5;//測試紅燈 sbit led_light_ok = P1^1;//讀卡成功標志 sbit fengmingqi = P1^5; /***********全局變量************************************/ uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密碼 //uchar idata card_snr[4]; //配置字 uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7}; //存儲卡上用戶數據(1-7)7*4=28 uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收數組ram uchar command; //第一個命令 uchar command1;// //uint temp; uchar j,i; uchar myaddr = 8; //uchar ywqz_count,time_count; //ywqz jishu: uchar bdata DATA; sbit BIT0 = DATA^0; sbit BIT1 = DATA^1; sbit BIT2 = DATA^2; sbit BIT3 = DATA^3; sbit BIT4 = DATA^4; sbit BIT5 = DATA^5; sbit BIT6 = DATA^6; sbit BIT7 = DATA^7; uchar bdata DATA1; sbit BIT10 = DATA1^0; sbit BIT11 = DATA1^1; sbit BIT12 = DATA1^2; sbit BIT13 = DATA1^3; sbit BIT14 = DATA1^4; sbit BIT15 = DATA1^5; sbit BIT16 = DATA1^6; sbit BIT17 = DATA1^7; bit i_CurrentLevel;//i_CurrentLevel BIT 00H(Saves current level of OutPut pin of U2270B) bit timer1_end; bit read_ok = 0; //緩存定時值,因用同一個定時器 union HLint { uint W; struct { uchar H;uchar L; } B; };//union HLint idata a union HLint data a; //緩存定時值,因用同一個定時器 union HLint0 { uint W; struct { uchar H; uchar L; } B; };//union HLint idata a union HLint0 data b; /**********************函數原型*****************/ //讀寫操作 void f_readcard(void);//全部讀出1~7 AOR喚醒 void f_writecard(uchar x);//根據命令寫不同的內容和操作 void f_clearpassword(void);//清除密碼 void f_changepassword(void);//修改密碼 //功能子函數 void write_password(uchar data *data p);//寫初始密碼或數據 void write_block(uchar x,uchar data *data p);//不能用通用指針 void write_bit(bit x);//寫位 /*子函數區*****************************************************/ void delay_2(uint x) //延時,時間x*10us@12mhz,最小20us@12mhz { x--; x--; while(x) { _nop_(); _nop_(); x--; } _nop_();//WDT_CONTR=0X3C;不能頻繁的復位 _nop_(); } ///////////////////////////////////////////////////////////////////// void initial(void) { SCON = 0x50; //串口方式1,允許接收 //SCON =0x50; //01010000B:10位異步收發,波特率可變,SM2=0不用接收到有效停止位才RI=1, //REN=1允許接收 TMOD = 0x21; //定時器1 定時方式2(8位),定時器0 定時方式1(16位) TCON = 0x40; //設定時器1 允許開始計時(IT1=1) TH1 = 0xfD; //FB 18.432MHz 9600 波特率 TL1 = 0xfD; //fd 11.0592 9600 IE = 0X90; //EA=ES=1 TR1 = 1; //啟動定時器 WDT_CONTR = 0x3c;//使能看門狗 p_U2270B_Standby = 0;//單電源 PCON = 0x00; IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0 led_light1 = 1; led_light = 0; p_U2270B_OutPut = 1; } /************************************************/ void f_readcard()//讀卡 { EA = 0;//全關,防止影響跳變的定時器計時 WDT_CONTR = 0X3C;//喂狗 p_U2270B_CFE = 1;// delay_2(232); //>2.5ms /* // aor 用喚醒功能來防碰撞 p_U2270B_CFE = 0; delay_2(18);//start gap>150us write_bit(1);//10=操作碼讀0頁 write_bit(0); write_password(&bankdata[24]);//密碼block7 p_U2270B_CFE =1 ;// delay_2(516);//編程及確認時間5.6ms */ WDT_CONTR = 0X3C;//喂狗 led_light = 0; b.W = 0; while(!(read_ok == 1)) { //while(p_U2270B_OutPut);//等一個穩定的低電平?超時判斷? while(!p_U2270B_OutPut);//等待上升沿的到來同步信號檢測1 TR0 = 1; //deng xia jiang while(p_U2270B_OutPut);//等待下降沿 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//定時器晚啟動10個周期 //同步頭 if((324 < a.W) && (a.W < 353)) ;//檢測同步信號1 else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //等待上升沿 while(!p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//b.N1<<=8; if(a.B.L < 195);//0.5p else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //讀0~7塊的數據 for(j = 0;j < 28;j++) { //uchar i; for(i = 0;i < 16;i++)//8個位 { //等待下降沿的到來 while(p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2;//先左移再賦值 b.B.L += 0xc0; i++; } else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p { b.W >>= 1; b.B.L += 0x80; } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; while(!p_U2270B_OutPut);//上升 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2; i++; } else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P //else if(!(a.W==0)) { b.W >>= 1; //temp+=0x00; //led_light1=0;led_light=1;delay_2(40000); } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; } //取出奇位 DATA = b.B.L; BIT13 = BIT7; BIT12 = BIT5; BIT11 = BIT3; BIT10 = BIT1; DATA = b.B.H; BIT17 = BIT7; BIT16 = BIT5; BIT15 = BIT3; BIT14 = BIT1; bankdata[j] = DATA1; } read_ok = 1;//讀卡完成了 read_error: _nop_(); } } /***************************************************/ void f_writecard(uchar x)//寫卡 { p_U2270B_CFE = 1; delay_2(232); //>2.5ms //psw=0 standard write if (x == write_command0)//寫密碼:初始化密碼 { uchar i; uchar data *data p; p = cominceptbuff; p_U2270B_CFE = 0; delay_2(31);//start gap>330us write_bit(1);//寫操作碼1:10 write_bit(0);//寫操作碼0 write_bit(0);//寫鎖定位0 for(i = 0;i < 35;i++) { write_bit(1);//寫數據位1 } p_U2270B_CFE = 1; led_light1 = 0; led_light = 1; delay_2(40000);//測試使用 //write_block(cominceptbuff[4],p); p_U2270B_CFE = 1; bankdata[20] = cominceptbuff[0];//密碼存入 bankdata[21] = cominceptbuff[1]; bankdata[22] = cominceptbuff[2]; bankdata[23] = cominceptbuff[3]; } else if (x == write_command1)//配置卡參數:初始化 { uchar data *data p; p = cominceptbuff; write_bit(1);//寫操作碼1:10 write_bit(0);//寫操作碼0 write_bit(0);//寫鎖定位0 write_block(cominceptbuff[4],p); p_U2270B_CFE= 1; } //psw=1 pssword mode else if(x == write_command2) //密碼寫數據 { uchar data*data p; p = &bankdata[24]; write_bit(1);//寫操作碼1:10 write_bit(0);//寫操作碼0 write_password(p);//發口令 write_bit(0);//寫鎖定位0 p = cominceptbuff; write_block(cominceptbuff[4],p);//寫數據 } else if(x == write_command3)//aor //喚醒 { //cominceptbuff[1]操作碼10 X xxxxxB uchar data *data p; p = cominceptbuff; write_bit(1);//10 write_bit(0); write_password(p);//密碼 p_U2270B_CFE = 1;//此時數據不停的循環傳出 } else //停止操作碼 { write_bit(1);//11 write_bit(1); p_U2270B_CFE = 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /************************************/ void f_clearpassword()//清除密碼 { uchar data *data p; uchar i,x; p = &bankdata[24];//原密碼 p_U2270B_CFE = 0; delay_2(18);//start gap>150us //操作碼10:10xxxxxxB write_bit(1); write_bit(0); for(x = 0;x < 4;x++)//發原密碼 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT0); DATA >>= 1; } } write_bit(0);//鎖定位0:0 p = &cominceptbuff[0]; write_block(0x00,p);//寫新配置參數:pwd=0 //密碼無效:即清除密碼 DATA = 0x00;//停止操作碼00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /*********************************/ void f_changepassword()//修改密碼 { uchar data *data p; uchar i,x,addr; addr = 0x07;//block7 p = &Nkey_a[0];//原密碼 DATA = 0x80;//操作碼10:10xxxxxxB for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } for(x = 0;x < 4;x++)//發原密碼 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT7); DATA >>= 1; } } write_bit(0);//鎖定位0:0 p = &cominceptbuff[0]; write_block(0x07,p);//寫新密碼 p_U2270B_CFE = 1; bankdata[24] = cominceptbuff[0];//密碼存入 bankdata[25] = cominceptbuff[1]; bankdata[26] = cominceptbuff[2]; bankdata[27] = cominceptbuff[3]; DATA = 0x00;//停止操作碼00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /***************************子函數***********************************/ void write_bit(bit x)//寫一位 { if(x) { p_U2270B_CFE = 1; delay_2(32);//448*11.0592/120=42延時448us p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26寫1 } else { p_U2270B_CFE = 1; delay_2(92);//192*11.0592/120=18 p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26寫0 } } /*******************寫一個block*******************/ void write_block(uchar addr,uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)//block0數據 { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } DATA = addr <<= 5;//0地址 for(i = 0;i < 3;i++) { write_bit(BIT7); DATA <<= 1; } } /*************************************************/ void write_password(uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)// { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } } /*************************************************/ void main() { initial(); TI = RI = 0; ES = 1; EA = 1; delay_2(28); //f_readcard(); while(1) { f_readcard(); //讀卡 f_writecard(command1); //寫卡 f_clearpassword(); //清除密碼 f_changepassword(); //修改密碼 } }
標簽: 12345
上傳時間: 2017-10-20
上傳用戶:my_lcs
題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少? //這是一個菲波拉契數列問題 public class lianxi01 { public static void main(String[] args) { System.out.println("第1個月的兔子對數: 1"); System.out.println("第2個月的兔子對數: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"個月的兔子對數: "+f2); } } } 【程序2】 題目:判斷101-200之間有多少個素數,并輸出所有素數。 程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除, 則表明此數不是素數,反之是素數。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素數個數是: " + count); } } 【程序3】 題目:打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個 "水仙花數 ",因為153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3;
上傳時間: 2017-12-24
上傳用戶:Ariza
|- 我的虛擬機和ubuntu下載 - 0 B|- 騰訊課堂公開課 - 0 B|- 工具軟件 - 0 B|- X210光盤資料 - 0 B|- 4.C語言專題精講篇 - 0 B|- 2.uboot和linux內核移植 - 0 B|- 1.ARM裸機全集 - 0 B|- 0.基礎預科 - 0 B|- 專用播放器第一代-已不用,請下載第二代.rar - 18.10 MB|- 專用播放器-《朱老師物聯網大講堂》收費視頻.rar - 18.10 MB|- 朱老師物聯網大講堂高級課程專用播放器-第二代.rar - 28.10 MB
標簽: 物聯網
上傳時間: 2022-06-06
上傳用戶:
針對CC2430/CC2530芯片的Zigbee開發套件可與IAR for MCS-51 集成開發環境無縫連接,操作方便、連接方便、簡單易學,是學習開發Zigbee產品最好最實用的開發工具。通過USB接口連接電腦,具有代碼高速下載,在線調試,斷點、單步、變量觀察,寄存器觀察等功能,實現對CC2430/CC2530系列無線單片機實時在線仿真、調試。該開發套件模板能夠協助初學者和設計人員快速評估及進行多種Zigbee應用開發,熟悉掌握硬件原理和協議棧。
上傳時間: 2013-05-31
上傳用戶:riiqg1989
本書從應用的角度,詳細地介紹了MCS-51單片機的硬件結構、指令系統、各種硬件接口設計、各種常用的數據運算和處理程序及接口驅動程序的設計以及MCS-51單片機應用系統的設計,并對MCS-51單片機應用系統設計中的抗干擾技術以及各種新器件也作了詳細的介紹。本書突出了選取內容的實用性、典型性。書中的應用實例,大多來自科研工作及教學實踐,且經過檢驗,內容豐富、翔實。 本書可作為工科院校的本科生、研究生、專科生學習MCS-51單片機課程的教材,也可供從事自動控制、智能儀器儀表、測試、機電一體化以及各類從事MCS-51單片機應用的工程技術人員參考。 第一章 單片微型計等機概述 1.1 單片機的歷史及發展概況 1.2 單片機的發展趨勢 1.3 單片機的應用 1.3.1 單片機的特點 1.3.2 單片機的應用范圍 1.4 8位單片機的主要生產廠家和機型 1.5 MCS-51系列單片機 第二章 MCS-51單片機的硬件結構 2.1 MCS-51單片機的硬件結構 2.2 MCS-51的引腳 2.2.1 電源及時鐘引腳 2.2.2 控制引腳 2.2.3 I/O口引腳 2.3 MCS-51單片機的中央處理器(CPU) 2.3.1 運算部件 2.3.2 控制部件 2.4 MCS-51存儲器的結構 2.4.1 程序存儲器 2.4.2 內部數據存儲器 2.4.3 特殊功能寄存器(SFR) 2.4.4 位地址空間 2.4.5 外部數據存儲器 2.5 I/O端口 2.5.1 I/O口的內部結構 2.5.2 I/O口的讀操作 2.5.3 I/O口的寫操作及負載能力 2.6 復位電路 2.6.1 復位時各寄存器的狀態 2.6.2 復位電路 2.7 時鐘電路 2.7.1 內部時鐘方式 2.7.2 外部時鐘方式 2.7.3 時鐘信號的輸出 第三章 MCS-51的指令系統 3.1 MCS-51指令系統的尋址方式 3.1.1 寄存器尋址 3.1.2 直接尋址 3.1.3 寄存器間接尋址 3.1.4 立即尋址 3.1.5 基址寄存器加變址寄存器間址尋址 3.2 MCS-51指令系統及一般說明 3.2.1 數據傳送類指令 3.2.2 算術操作類指令 3.2.3 邏輯運算指令 3.2.4 控制轉移類指令 3.2.5 位操作類指令 第四章 MCS-51的定時器/計數器 4.1 定時器/計數器的結構 4.1.1 工作方式控制寄存器TMOD 4.1.2 定時器/計數器控制寄存器TCON 4.2 定時器/計數器的四種工作方式 4.2.1 方式0 4.2.2 方式1 4.2.3 方式2 4.2.4 方式3 4.3 定時器/計數器對輸入信號的要求 4.4 定時器/計數器編程和應用 4.4.1 方式o應用(1ms定時) 4.4.2 方式1應用 4.4.3 方式2計數方式 4.4.4 方式3的應用 4.4.5 定時器溢出同步問題 4.4.6 運行中讀定時器/計數器 4.4.7 門控制位GATE的功能和使用方法(以T1為例) 第五章 MCS-51的串行口 5.1 串行口的結構 5.1.1 串行口控制寄存器SCON 5.1.2 特殊功能寄存器PCON 5.2 串行口的工作方式 5.2.1 方式0 5.2.2 方式1 5.2.3 方式2 5.2.4 方式3 5.3 多機通訊 5.4 波特率的制定方法 5.4.1 波特率的定義 5.4.2 定時器T1產生波特率的計算 5.5 串行口的編程和應用 5.5.1 串行口方式1應用編程(雙機通訊) 5.5.2 串行口方式2應用編程 5.5.3 串行口方式3應用編程(雙機通訊) 第六章 MCS-51的中斷系統 6.1 中斷請求源 6.2 中斷控制 6.2.1 中斷屏蔽 6.2.2 中斷優先級優 6.3 中斷的響應過程 6.4 外部中斷的響應時間 6.5 外部中斷的方式選擇 6.5.1 電平觸發方式 6.5.2 邊沿觸發方式 6.6 多外部中斷源系統設計 6.6.1 定時器作為外部中斷源的使用方法 6.6.2 中斷和查詢結合的方法 6.6.3 用優先權編碼器擴展外部中斷源 第七章 MCS-51單片機擴展存儲器的設計 7.1 概述 7.1.1 只讀存儲器 7.1.2 可讀寫存儲器 7.1.3 不揮發性讀寫存儲器 7.1.4 特殊存儲器 7.2 存儲器擴展的基本方法 7.2.1 MCS-51單片機對存儲器的控制 7.2.2 外擴存儲器時應注意的問題 7.3 程序存儲器EPROM的擴展 7.3.1 程序存儲器的操作時序 7.3.2 常用的EPROM芯片 7.3.3 外部地址鎖存器和地址譯碼器 7.3.4 典型EPROM擴展電路 7.4 靜態數據存儲的器擴展 7.4.1 外擴數據存儲器的操作時序 7.4.2 常用的SRAM芯片 7.4.3 64K字節以內SRAM的擴展 7.4.4 超過64K字節SRAM擴展 7.5 不揮發性讀寫存儲器擴展 7.5.1 EPROM擴展 7.5.2 SRAM掉電保護電路 7.6 特殊存儲器擴展 7.6.1 雙口RAMIDT7132的擴展 7.6.2 快擦寫存儲器的擴展 7.6.3 先進先出雙端口RAM的擴展 第八章 MCS-51擴展I/O接口的設計 8.1 擴展概述 8.2 MCS-51單片機與可編程并行I/O芯片8255A的接口 8.2.1 8255A芯片介紹 8.2.2 8031單片機同8255A的接口 8.2.3 接口應用舉例 8.3 MCS-51與可編程RAM/IO芯片8155H的接口 8.3.1 8155H芯片介紹 8.3.2 8031單片機與8155H的接口及應用 8.4 用MCS-51的串行口擴展并行口 8.4.1 擴展并行輸入口 8.4.2 擴展并行輸出口 8.5 用74LSTTL電路擴展并行I/O口 8.5.1 用74LS377擴展一個8位并行輸出口 8.5.2 用74LS373擴展一個8位并行輸入口 8.5.3 MCS-51單片機與總線驅動器的接口 8.6 MCS-51與8253的接口 8.6.1 邏輯結構與操作編址 8.6.2 8253工作方式和控制字定義 8.6.3 8253的工作方式與操作時序 8.6.4 8253的接口和編程實例 第九章 MCS-51與鍵盤、打印機的接口 9.1 LED顯示器接口原理 9.1.1 LED顯示器結構 9.1.2 顯示器工作原理 9.2 鍵盤接口原理 9.2.1 鍵盤工作原理 9.2.2 單片機對非編碼鍵盤的控制方式 9.3 鍵盤/顯示器接口實例 9.3.1 利用8155H芯片實現鍵盤/顯示器接口 9.3.2 利用8031的串行口實現鍵盤/顯示器接口 9.3.3 利用專用鍵盤/顯示器接口芯片8279實現鍵盤/顯示器接口 9.4 MCS-51與液晶顯示器(LCD)的接口 9.4.1 LCD的基本結構及工作原理 9.4.2 點陣式液晶顯示控制器HD61830介紹 9.5 MCS-51與微型打印機的接口 9.5.1 MCS-51與TPμp-40A/16A微型打印機的接口 9.5.2 MCS-51與GP16微型打印機的接口 9.5.3 MCS-51與PP40繪圖打印機的接口 9.6 MCS-51單片機與BCD碼撥盤的接口設計 9.6.1 BCD碼撥盤 9.6.2 BCD碼撥盤與單片機的接口 9.6.3 撥盤輸出程序 9.7 MCS-51單片機與CRT的接口 9.7.1 SCIBCRT接口板的主要特點及技術參數 9.7.2 SCIB接口板的工作原理 9.7.3 SCIB與MCS-51單片機的接口 9.7.4 SCIB的CRT顯示軟件設計方法 第十章 MCS-51與D/A、A/D的接口 10.1 有關DAC及ADC的性能指標和選擇要點 10.1.1 性能指標 10.1.2 選擇ABC和DAC的要點 10.2 MCS-51與DAC的接口 10.2.1 MCS-51與DAC0832的接口 10.2.2 MCS-51同DAC1020及DAC1220的接口 10.2.3 MCS-51同串行輸入的DAC芯片AD7543的接口 10.3 MCS-51與ADC的接口 10.3.1 MCS-51與5G14433(雙積分型)的接口 10.3.2 MCS-51與ICL7135(雙積分型)的接口 10.3.3 MCS-51與ICL7109(雙積分型)的接口 10.3.4 MCS-51與ADC0809(逐次逼近型)的接口 10.3.5 8031AD574(逐次逼近型)的接口 10.4 V/F轉換器接口技術 10.4.1 V/F轉換器實現A/D轉換的方法 10.4.2 常用V/F轉換器LMX31簡介 10.4.3 V/F轉換器與MCS-51單片機接口 10.4.4 LM331應用舉例 第十一章 標準串行接口及應用 11.1 概述 11.2 串行通訊的接口標準 11.2.1 RS-232C接口 11.2.2 RS-422A接口 11.2.3 RS-485接口 11.2.4 各種串行接口性能比較 11.3 雙機串行通訊技術 11.3.1 單片機雙機通訊技術 11.3.2 PC機與8031單片機雙機通訊技術 11.4 多機串行通訊技術 11.4.1 單片機多機通訊技術 11.4.2 IBM-PC機與單片機多機通訊技術 11.5 串行通訊中的波特率設置技術 11.5.1 IBM-PC/XT系統中波特率的產生 11.5.2 MCS-51單片機串行通訊波特率的確定 11.5.3 波特率相對誤差范圍的確定方法 11.5.4 SMOD位對波特率的影響 第十二章 MCS-51的功率接口 12.1 常用功率器件 12.1.1 晶閘管 12.1.2 固態繼電器 12.1.3 功率晶體管 12.1.4 功率場效應晶體管 12.2 開關型功率接口 12.2.1 光電耦合器驅動接口 12.2.2 繼電器型驅動接口 12.2.3 晶閘管及脈沖變壓器驅動接口 第十三章 MCS-51單片機與日歷的接口設計 13.1 概述 13.2 MCS-51單片機與實時日歷時鐘芯片MSM5832的接口設計 13.2.1 MSM5832性能及引腳說明 13.2.2 MSM5832時序分析 13.2.3 8031單片機與MSM5832的接口設計 13.3 MCS-51單片機與實時日歷時鐘芯片MC146818的接口設計 13.3.1 MC146818性能及引腳說明 13.3.2 MC146818芯片地址分配及各單元的編程 13.3.3 MC146818的中斷 13.3.4 8031單片機與MC146818的接口電路設計 13.3.5 8031單片機與MC146818的接口軟件設計 第十四章 MCS-51程序設計及實用子程序 14.1 查表程序設計 14.2 散轉程序設計 14.2.1 使用轉移指令表的散轉程序 14.2.2 使用地地址偏移量表的散轉程序 14.2.3 使用轉向地址表的散轉程序 14.2.4 利用RET指令實現的散轉程序 14.3 循環程序設計 14.3.1 單循環 14.3.2 多重循環 14.4 定點數運算程序設計 14.4.1 定點數的表示方法 14.4.2 定點數加減運算 14.4.3 定點數乘法運算 14.4.4 定點數除法 14.5 浮點數運算程序設計 14.5.1 浮點數的表示 14.5.2 浮點數的加減法運算 14.5.3 浮點數乘除法運算 14.5.4 定點數與浮點數的轉換 14.6 碼制轉換 ……
上傳時間: 2013-11-06
上傳用戶:xuanjie
摘要:介紹一種基于單片機AT89C51和V/F轉換器LM331的壓力數據采集系統,該系統以AT89C51單片機為核心,實時測量由壓力傳感器MPXV5004G檢測的壓力。與傳統電路設計相比較,其外部硬件電路少,結構簡單,無較大的時延。只要對其功能進行擴展,能夠實現相應控制。關鍵詞:壓力傳感器,V/F轉換器,單片機,頻率測量,LM331
上傳時間: 2013-10-09
上傳用戶:atdawn
單片機實用接口技術介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口的設計及調試;打印機和顯示器接口及設計實例;模擬輸入通道接口技術;A/D、D/A、接口技術及在控制系統中的應用設計;V/F轉換器接口技術、串行通訊接口技術以及其它與應用系統設計有關的實用技術等。本書是為滿足廣大科技工作者從事單片機應用系統軟件、硬件設計的需要而編寫的,具有內容新穎、實用、全面的特色。所有的接口設計都包括詳細的設計步驟、硬件線路圖及故障分析,并附有測試程序清單。書中大部分接口軟、硬件設計實例都是作者多年來從事單片機應用和開發工作的經驗總結,實用性和工程性較強,尤其是對應用系統中必備的鍵盤、顯示器、打印機、A/D、D/A通訊接口設計、模擬信號處理及開發系統應用舉例甚多,目的是讓將要開始和正在從事單片機應用開發的科研人員根據自己的實際需要來選擇應用,一書在手即可基本完成單片機應用系統的開發工作。 MCS-51系列單片機實用接口技術目錄 第一章 MCS51系列單片機組成原理第二章 MCS-51單片機系統擴展第三章 MCS-51單片機應用系統的開發第四章 鍵盤及其按口技術第五章 顯示器接口設計第六章 打印機接口設計第七章 模擬輸入通道接口技術第八章 D/A轉換器與MSC-51單片機的接口設計與實踐第九章 A/D轉換器與MCS-51單片機的接口設計與實踐 第十章 V/F轉換器接口技術 第十一章 串行通訊按日技術第十二章應用系統設計中的實用技術附錄AMCS51單片機指令速查表附錄一常用EPROM固化電壓參考表
上傳時間: 2013-11-24
上傳用戶:hfnishi
MCS-51系列單片機實用接口技術全面、系統地介紹了MCS-51系列單片機應用系統的各種實用接口技術及其配置。內容包括:MCS-51系列單片機組成原理:應用系統擴展、開發與調試;鍵盤輸入接口的設計及調試;打印機和顯示器接口及設計實例;模擬輸入通道接口技術;A/D、D/A、接口技術及在控制系統中的應用設計;V/F轉換器接口技術、串行通訊接口技術以及其它與應用系統設計有關的實用技術等。本書是為滿足廣大科技工作者從事單片機應用系統軟件、硬件設計的需要而編寫的,具有內容新穎、實用、全面的特色。所有的接口設計都包括詳細的設計步驟、硬件線路圖及故障分析,并附有測試程序清單。書中大部分接口軟、硬件設計實例都是作者多年來從事單片機應用和開發工作的經驗總結,實用性和工程性較強,尤其是對應用系統中必備的鍵盤、顯示器、打印機、A/D、D/A通訊接口設計、模擬信號處理及開發系統應用舉例甚多,目的是讓將要開始和正在從事單片機應用開發的科研人員根據自己的實際需要來選擇應用,一書在手即可基本完成單片機應用系統的開發工作。 MCS-51系列單片機實用接口技術目錄 第一章 MCS51系列單片機組成原理第二章 MCS-51單片機系統擴展第三章 MCS-51單片機應用系統的開發第四章 鍵盤及其按口技術第五章 顯示器接口設計第六章 打印機接口設計第七章 模擬輸入通道接口技術第八章 D/A轉換器與MSC-51單片機的接口設計與實踐第九章 A/D轉換器與MCS-51單片機的接口設計與實踐 第十章 V/F轉換器接口技術 第十一章 串行通訊按日技術第十二章應用系統設計中的實用技術附錄AMCS51單片機指令速查表附錄一常用EPROM固化電壓參考表
上傳時間: 2013-11-04
上傳用戶:3294322651
單片機應用系統抗干擾技術:第1章 電磁干擾控制基礎. 1.1 電磁干擾的基本概念1 1.1.1 噪聲與干擾1 1.1.2 電磁干擾的形成因素2 1.1.3 干擾的分類2 1.2 電磁兼容性3 1.2.1 電磁兼容性定義3 1.2.2 電磁兼容性設計3 1.2.3 電磁兼容性常用術語4 1.2.4 電磁兼容性標準6 1.3 差模干擾和共模干擾8 1.3.1 差模干擾8 1.3.2 共模干擾9 1.4 電磁耦合的等效模型9 1.4.1 集中參數模型9 1.4.2 分布參數模型10 1.4.3 電磁波輻射模型11 1.5 電磁干擾的耦合途徑14 1.5.1 傳導耦合14 1.5.2 感應耦合(近場耦合)15 .1.5.3 電磁輻射耦合(遠場耦合)15 1.6 單片機應用系統電磁干擾控制的一般方法16 第2章 數字信號耦合與傳輸機理 2.1 數字信號與電磁干擾18 2.1.1 數字信號的開關速度與頻譜18 2.1.2 開關暫態電源尖峰電流噪聲22 2.1.3 開關暫態接地反沖噪聲24 2.1.4 高速數字電路的EMI特點25 2.2 導線阻抗與線間耦合27 2.2.1 導體交直流電阻的計算27 2.2.2 導體電感量的計算29 2.2.3 導體電容量的計算31 2.2.4 電感耦合分析32 2.2.5 電容耦合分析35 2.3 信號的長線傳輸36 2.3.1 長線傳輸過程的數學描述36 2.3.2 均勻傳輸線特性40 2.3.3 傳輸線特性阻抗計算42 2.3.4 傳輸線特性阻抗的重復性與阻抗匹配44 2.4 數字信號傳輸過程中的畸變45 2.4.1 信號傳輸的入射畸變45 2.4.2 信號傳輸的反射畸變46 2.5 信號傳輸畸變的抑制措施49 2.5.1 最大傳輸線長度的計算49 2.5.2 端點的阻抗匹配50 2.6 數字信號的輻射52 2.6.1 差模輻射52 2.6.2 共模輻射55 2.6.3 差模和共模輻射比較57 第3章 常用元件的可靠性能與選擇 3.1 元件的選擇與降額設計59 3.1.1 元件的選擇準則59 3.1.2 元件的降額設計59 3.2 電阻器60 3.2.1 電阻器的等效電路60 3.2.2 電阻器的內部噪聲60 3.2.3 電阻器的溫度特性61 3.2.4 電阻器的分類與主要參數62 3.2.5 電阻器的正確選用66 3.3 電容器67 3.3.1 電容器的等效電路67 3.3.2 電容器的種類與型號68 3.3.3 電容器的標志方法70 3.3.4 電容器引腳的電感量71 3.3.5 電容器的正確選用71 3.3.6 電容器使用注意事項73 3.4 電感器73 3.4.1 電感器的等效電路74 3.4.2 電感器使用的注意事項74 3.5 數字集成電路的抗干擾性能75 3.5.1 噪聲容限與抗干擾能力75 3.5.2 施密特集成電路的噪聲容限77 3.5.3 TTL數字集成電路的抗干擾性能78 3.5.4 CMOS數字集成電路的抗干擾性能79 3.5.5 CMOS電路使用中注意事項80 3.5.6 集成門電路系列型號81 3.6 高速CMOS 54/74HC系列接口設計83 3.6.1 54/74HC 系列芯片特點83 3.6.2 74HC與TTL接口85 3.6.3 74HC與單片機接口85 3.7 元器件的裝配工藝對可靠性的影響86 第4章 電磁干擾硬件控制技術 4.1 屏蔽技術88 4.1.1 電場屏蔽88 4.1.2 磁場屏蔽89 4.1.3 電磁場屏蔽91 4.1.4 屏蔽損耗的計算92 4.1.5 屏蔽體屏蔽效能的計算99 4.1.6 屏蔽箱的設計100 4.1.7 電磁泄漏的抑制措施102 4.1.8 電纜屏蔽層的屏蔽原理108 4.1.9 屏蔽與接地113 4.1.10 屏蔽設計要點113 4.2 接地技術114 4.2.1 概述114 4.2.2 安全接地115 4.2.3 工作接地117 4.2.4 接地系統的布局119 4.2.5 接地裝置和接地電阻120 4.2.6 地環路問題121 4.2.7 浮地方式122 4.2.8 電纜屏蔽層接地123 4.3 濾波技術126 4.3.1 濾波器概述127 4.3.2 無源濾波器130 4.3.3 有源濾波器138 4.3.4 鐵氧體抗干擾磁珠143 4.3.5 貫通濾波器146 4.3.6 電纜線濾波連接器149 4.3.7 PCB板濾波器件154 4.4 隔離技術155 4.4.1 光電隔離156 4.4.2 繼電器隔離160 4.4.3 變壓器隔離 161 4.4.4 布線隔離161 4.4.5 共模扼流圈162 4.5 電路平衡結構164 4.5.1 雙絞線在平衡電路中的使用164 4.5.2 同軸電纜的平衡結構165 4.5.3 差分放大器165 4.6 雙絞線的抗干擾原理及應用166 4.6.1 雙絞線的抗干擾原理166 4.6.2 雙絞線的應用168 4.7 信號線間的串擾及抑制169 4.7.1 線間串擾分析169 4.7.2 線間串擾的抑制173 4.8 信號線的選擇與敷設174 4.8.1 信號線型式的選擇174 4.8.2 信號線截面的選擇175 4.8.3 單股導線的阻抗分析175 4.8.4 信號線的敷設176 4.9 漏電干擾的防止措施177 4.10 抑制數字信號噪聲常用硬件措施177 4.10.1 數字信號負傳輸方式178 4.10.2 提高數字信號的電壓等級178 4.10.3 數字輸入信號的RC阻容濾波179 4.10.4 提高輸入端的門限電壓181 4.10.5 輸入開關觸點抖動干擾的抑制方法181 4.10.6 提高器件的驅動能力184 4.11 靜電放電干擾及其抑制184 第5章 主機單元配置與抗干擾設計 5.1 單片機主機單元組成特點186 5.1.1 80C51最小應用系統186 5.1.2 低功耗單片機最小應用系統187 5.2 總線的可靠性設計191 5.2.1 總線驅動器191 5.2.2 總線的負載平衡192 5.2.3 總線上拉電阻的配置192 5.3 芯片配置與抗干擾193 5.3.1去耦電容配置194 5.3.2 數字輸入端的噪聲抑制194 5.3.3 數字電路不用端的處理195 5.3.4 存儲器的布線196 5.4 譯碼電路的可靠性分析197 5.4.1 過渡干擾與譯碼選通197 5.4.2 譯碼方式與抗干擾200 5.5 時鐘電路配置200 5.6 復位電路設計201 5.6.1 復位電路RC參數的選擇201 5.6.2 復位電路的可靠性與抗干擾分析202 5.6.3 I/O接口芯片的延時復位205 5.7 單片機系統的中斷保護問題205 5.7.1 80C51單片機的中斷機構205 5.7.2 常用的幾種中斷保護措施205 5.8 RAM數據掉電保護207 5.8.1 片內RAM數據保護207 5.8.2 利用雙片選的外RAM數據保護207 5.8.3 利用DS1210實現外RAM數據保護208 5.8.4 2 KB非易失性隨機存儲器DS1220AB/AD211 5.9 看門狗技術215 5.9.1 由單穩態電路實現看門狗電路216 5.9.2 利用單片機片內定時器實現軟件看門狗217 5.9.3 軟硬件結合的看門狗技術219 5.9.4 單片機內配置看門狗電路221 5.10 微處理器監控器223 5.10.1 微處理器監控器MAX703~709/813L223 5.10.2 微處理器監控器MAX791227 5.10.3 微處理器監控器MAX807231 5.10.4 微處理器監控器MAX690A/MAX692A234 5.10.5 微處理器監控器MAX691A/MAX693A238 5.10.6 帶備份電池的微處理器監控器MAX1691242 5.11 串行E2PROM X25045245 第6章 測量單元配置與抗干擾設計 6.1 概述255 6.2 模擬信號放大器256 6.2.1 集成運算放大器256 6.2.2 測量放大器組成原理260 6.2.3 單片集成測量放大器AD521263 6.2.4 單片集成測量放大器AD522265 6.2.5 單片集成測量放大器AD526266 6.2.6 單片集成測量放大器AD620270 6.2.7 單片集成測量放大器AD623274 6.2.8 單片集成測量放大器AD624276 6.2.9 單片集成測量放大器AD625278 6.2.10 單片集成測量放大器AD626281 6.3 電壓/電流變換器(V/I)283 6.3.1 V/I變換電路..283 6.3.2 集成V/I變換器XTR101284 6.3.3 集成V/I變換器XTR110289 6.3.4 集成V/I變換器AD693292 6.3.5 集成V/I變換器AD694299 6.4 電流/電壓變換器(I/V)302 6.4.1 I/V變換電路302 6.4.2 RCV420型I/V變換器303 6.5 具有放大、濾波、激勵功能的模塊2B30/2B31305 6.6 模擬信號隔離放大器313 6.6.1 隔離放大器ISO100313 6.6.2 隔離放大器ISO120316 6.6.3 隔離放大器ISO122319 6.6.4 隔離放大器ISO130323 6.6.5 隔離放大器ISO212P326 6.6.6 由兩片VFC320組成的隔離放大器329 6.6.7 由兩光耦組成的實用線性隔離放大器333 6.7 數字電位器及其應用336 6.7.1 非易失性數字電位器x9221336 6.7.2 非易失性數字電位器x9241343 6.8 傳感器供電電源的配置及抗干擾346 6.8.1 傳感器供電電源的擾動補償347 6.8.2 單片集成精密電壓芯片349 6.8.3 A/D轉換器芯片提供基準電壓350 6.9 測量單元噪聲抑制措施351 6.9.1 外部噪聲源的干擾及其抑制351 6.9.2 輸入信號串模干擾的抑制352 6.9.3 輸入信號共模干擾的抑制353 6.9.4 儀器儀表的接地噪聲355 第7章 D/A、A/D單元配置與抗干擾設計 7.1 D/A、A/D轉換器的干擾源357 7.2 D/A轉換原理及抗干擾分析358 7.2.1 T型電阻D/A轉換器359 7.2.2 基準電源精度要求361 7.2.3 D/A轉換器的尖峰干擾362 7.3 典型D/A轉換器與單片機接口363 7.3.1 并行12位D/A轉換器AD667363 7.3.2 串行12位D/A轉換器MAX5154370 7.4 D/A轉換器與單片機的光電接口電路377 7.5 A/D轉換器原理與抗干擾性能378 7.5.1 逐次比較式ADC原理378 7.5.2 余數反饋比較式ADC原理378 7.5.3 雙積分ADC原理380 7.5.4 V/F ADC原理382 7.5.5 ∑Δ式ADC原理384 7.6 典型A/D轉換器與單片機接口387 7.6.18 位并行逐次比較式MAX 118387 7.6.28 通道12位A/D轉換器MAX 197394 7.6.3 雙積分式A/D轉換器5G14433399 7.6.4 V/F轉換器AD 652在A/D轉換器中的應用403 7.7 采樣保持電路與抗干擾措施408 7.8 多路模擬開關與抗干擾措施412 7.8.1 CD4051412 7.8.2 AD7501413 7.8.3 多路開關配置與抗干擾技術413 7.9 D/A、A/D轉換器的電源、接地與布線416 7.10 精密基準電壓電路與噪聲抑制416 7.10.1 基準電壓電路原理417 7.10.2 引腳可編程精密基準電壓源AD584418 7.10.3 埋入式齊納二極管基準AD588420 7.10.4 低漂移電壓基準MAX676/MAX677/MAX678422 7.10.5 低功率低漂移電壓基準MAX873/MAX875/MAX876424 7.10.6 MC1403/MC1403A、MC1503精密電壓基準電路430 第8章 功率接口與抗干擾設計 8.1 功率驅動元件432 8.1.1 74系列功率集成電路432 8.1.2 75系列功率集成電路433 8.1.3 MOC系列光耦合過零觸發雙向晶閘管驅動器435 8.2 輸出控制功率接口電路438 8.2.1 繼電器輸出驅動接口438 8.2.2 繼電器—接觸器輸出驅動電路439 8.2.3 光電耦合器—晶閘管輸出驅動電路439 8.2.4 脈沖變壓器—晶閘管輸出電路440 8.2.5 單片機與大功率單相負載的接口電路441 8.2.6 單片機與大功率三相負載間的接口電路442 8.3 感性負載電路噪聲的抑制442 8.3.1 交直流感性負載瞬變噪聲的抑制方法442 8.3.2 晶閘管過零觸發的幾種形式445 8.3.3 利用晶閘管抑制感性負載的瞬變噪聲447 8.4 晶閘管變流裝置的干擾和抑制措施448 8.4.1 晶閘管變流裝置電氣干擾分析448 8.4.2 晶閘管變流裝置的抗干擾措施449 8.5 固態繼電器451 8.5.1 固態繼電器的原理和結構451 8.5.2 主要參數與選用452 8.5.3 交流固態繼電器的使用454 第9章 人機對話單元配置與抗干擾設計 9.1 鍵盤接口抗干擾問題456 9.2 LED顯示器的構造與特點458 9.3 LED的驅動方式459 9.3.1 采用限流電阻的驅動方式459 9.3.2 采用LM317的驅動方式460 9.3.3 串聯二極管壓降驅動方式462 9.4 典型鍵盤/顯示器接口芯片與單片機接口463 9.4.1 8位LED驅動器ICM 7218B463 9.4.2 串行LED顯示驅動器MAX 7219468 9.4.3 并行鍵盤/顯示器專用芯片8279482 9.4.4 串行鍵盤/顯示器專用芯片HD 7279A492 9.5 LED顯示接口的抗干擾措施502 9.5.1 LED靜態顯示接口的抗干擾502 9.5.2 LED動態顯示接口的抗干擾506 9.6 打印機接口與抗干擾技術508 9.6.1 并行打印機標準接口信號508 9.6.2 打印機與單片機接口電路509 9.6.3 打印機電磁干擾的防護設計510 9.6.4 提高數據傳輸可靠性的措施512 第10章 供電電源的配置與抗干擾設計 10.1 電源干擾問題概述513 10.1.1 電源干擾的類型513 10.1.2 電源干擾的耦合途徑514 10.1.3 電源的共模和差模干擾515 10.1.4 電源抗干擾的基本方法516 10.2 EMI電源濾波器517 10.2.1 實用低通電容濾波器518 10.2.2 雙繞組扼流圈的應用518 10.3 EMI濾波器模塊519 10.3.1 濾波器模塊基礎知識519 10.3.2 電源濾波器模塊521 10.3.3 防雷濾波器模塊531 10.3.4 脈沖群抑制模塊532 10.4 瞬變干擾吸收器件532 10.4.1 金屬氧化物壓敏電阻(MOV)533 10.4.2 瞬變電壓抑制器(TVS)537 10.5 電源變壓器的屏蔽與隔離552 10.6 交流電源的供電抗干擾方案553 10.6.1 交流電源配電方式553 10.6.2 交流電源抗干擾綜合方案555 10.7 供電直流側抑制干擾措施555 10.7.1 整流電路的高頻濾波555 10.7.2 串聯型直流穩壓電源配置與抗干擾556 10.7.3 集成穩壓器使用中的保護557 10.8 開關電源干擾的抑制措施559 10.8.1 開關噪聲的分類559 10.8.2 開關電源噪聲的抑制措施560 10.9 微機用不間斷電源UPS561 10.10 采用晶閘管無觸點開關消除瞬態干擾設計方案564 第11章 印制電路板的抗干擾設計 11.1 印制電路板用覆銅板566 11.1.1 覆銅板材料566 11.1.2 覆銅板分類568 11.1.3 覆銅板的標準與電性能571 11.1.4 覆銅板的主要特點和應用583 11.2 印制板布線設計基礎585 11.2.1 印制板導線的阻抗計算585 11.2.2 PCB布線結構和特性阻抗計算587 11.2.3 信號在印制板上的傳播速度589 11.3 地線和電源線的布線設計590 11.3.1 降低接地阻抗的設計590 11.3.2 減小電源線阻抗的方法591 11.4 信號線的布線原則592 11.4.1 信號傳輸線的尺寸控制592 11.4.2 線間串擾控制592 11.4.3 輻射干擾的抑制593 11.4.4 反射干擾的抑制594 11.4.5 微機自動布線注意問題594 11.5 配置去耦電容的方法594 11.5.1 電源去耦595 11.5.2 集成芯片去耦595 11.6 芯片的選用與器件布局596 11.6.1 芯片選用指南596 11.6.2 器件的布局597 11.6.3 時鐘電路的布置598 11.7 多層印制電路板599 11.7.1 多層印制板的結構與特點599 11.7.2 多層印制板的布局方案600 11.7.3 20H原則605 11.8 印制電路板的安裝和板間配線606 第12章 軟件抗干擾原理與方法 12.1 概述607 12.1.1 測控系統軟件的基本要求607 12.1.2 軟件抗干擾一般方法607 12.2 指令冗余技術608 12.2.1 NOP的使用609 12.2.2 重要指令冗余609 12.3 軟件陷阱技術609 12.3.1 軟件陷阱609 12.3.2 軟件陷阱的安排610 12.4 故障自動恢復處理程序613 12.4.1 上電標志設定614 12.4.2 RAM中數據冗余保護與糾錯616 12.4.3 軟件復位與中斷激活標志617 12.4.4 程序失控后恢復運行的方法618 12.5 數字濾波619 12.5.1 程序判斷濾波法620 12.5.2 中位值濾波法620 12.5.3 算術平均濾波法621 12.5.4 遞推平均濾波法623 12.5.5 防脈沖干擾平均值濾波法624 12.5.6 一階滯后濾波法626 12.6 干擾避開法627 12.7 開關量輸入/輸出軟件抗干擾設計629 12.7.1 開關量輸入軟件抗干擾措施629 12.7.2 開關量輸出軟件抗干擾措施629 12.8 編寫軟件的其他注意事項630 附錄 電磁兼容器件選購信息632
上傳時間: 2013-10-20
上傳用戶:xdqm