樣板 B 樹 ( B - tree ) 規則 : (1) 每個節點內元素個數在 [MIN,2*MIN] 之間, 但根節點元素個數為 [1,2*MIN] (2) 節點內元素由小排到大, 元素不重複 (3) 每個節點內的指標個數為元素個數加一 (4) 第 i 個指標所指向的子節點內的所有元素值皆小於父節點的第 i 個元素 (5) B 樹內的所有末端節點深度一樣
上傳時間: 2017-05-14
上傳用戶:日光微瀾
歐幾里德算法:輾轉求余 原理: gcd(a,b)=gcd(b,a mod b) 當b為0時,兩數的最大公約數即為a getchar()會接受前一個scanf的回車符
上傳時間: 2014-01-10
上傳用戶:2467478207
演算法是指利用電腦解決問題所需要的具體方法和步驟。也就是說給定初始狀態或輸入數據,經過電腦程序的有限次運算,能夠得出所要求或期望的終止狀態或輸出數據。本書介紹電腦科學中重要的演算法及其分析與設計技術
標簽: 算法
上傳時間: 2017-06-09
上傳用戶:wys0120
數據結構課程設計 數據結構B+樹 B+ tree Library
上傳時間: 2013-12-31
上傳用戶:semi1981
1.檢測CPU的型號 2.檢測記憶體狀態 3.檢測可用硬碟空間 4.檢測CD-ROM
上傳時間: 2014-01-14
上傳用戶:84425894
/*--------- 8051內核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序狀態字寄存器 sbit CY = PSW^7; //進位標志位 sbit AC = PSW^6; //輔助進位標志位 sbit F0 = PSW^5; //用戶標志位0 sbit RS1 = PSW^4; //工作寄存器組選擇控制位 sbit RS0 = PSW^3; //工作寄存器組選擇控制位 sbit OV = PSW^2; //溢出標志位 sbit F1 = PSW^1; //用戶標志位1 sbit P = PSW^0; //奇偶標志位 sfr SP = 0x81; //堆棧指針寄存器 sfr DPL = 0x82; //數據指針0低字節 sfr DPH = 0x83; //數據指針0高字節 /*------------ 系統管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //電源控制寄存器 sfr AUXR = 0x8E; //輔助寄存器 sfr AUXR1 = 0xA2; //輔助寄存器1 sfr WAKE_CLKO = 0x8F; //時鐘輸出和喚醒控制寄存器 sfr CLK_DIV = 0x97; //時鐘分頻控制寄存器 sfr BUS_SPEED = 0xA1; //總線速度控制寄存器 /*----------- 中斷控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中斷允許寄存器 sbit EA = IE^7; //總中斷允許位 sbit ELVD = IE^6; //低電壓檢測中斷控制位 8051
上傳時間: 2013-10-30
上傳用戶:yxgi5
Xilinx is disclosing this Specification ? 第 1 章“EMIF 概述”,概述 Texas Instruments EMIF。 ? 第 2 章“Virtex-II 系列或 Spartan-3 FPGA 到 EMIF 的設計”描述將 TI TMSC6000 EMIF 連接到 Virtex?-II 系列或 Spartan?-3 FPGA 的實現。 ? 第 3 章“Virtex-4 FPGA 到 EMIF 的設計” 描述將 TI TMS320C64x EMIF 連接到 Virtex-4 FPGA 的實現。 ? 第 4 章“參考設計” 提供參考設計的目錄結構和參考設計文件的鏈接。 ? 附錄 A “Virtex-4 ISERDES 樣本代碼” 提供 Virtex-4 實現的樣本代碼列表。 ? 附錄 B “EMIF 寄存器域描述” 定義 TI DSP 寄存器域。 ? 附錄 C “相關參考文件” 提供相關文檔的鏈接
標簽: Specification disclosing Xilinx EMIF
上傳時間: 2016-12-06
上傳用戶:litianchu
運動控制技術是機電一體化的核心部分,提高運動控制技術水平對于提高我國的機電一體化技術具有至關重要的作用。運動控制技術的發展是制造自動化前進的旋律,是推動新的產業革命的關鍵技術。對于數控系統來說,最重要的是控制各個電機軸的運動,這是運動控制器接收并依照數控裝置的指令來控制各個電機軸運動從而實現數控加工的,數據加工中的定位控制精度、速度調節的性能等重要指標都與運動控制器直接相關。目前對數控系統的研究都集中在插入PC的NC控制器的研究上,而其核心部分就是對步進、伺服電機進行控制的運動控制卡的研究。對PC-NC來說,運動控制卡的性能很大程度上決定了整個數控系統的性能,而微電子和數字信號處理技術的發展及其應用,使運動控制卡的性能得到了不斷改進,集成度和可靠性大大提高。 本課題通過對運動控制技術的深入研究,并針對國內運動控制技術的研究起步較晚的現狀,結合當前運動控制領域的具體需要,緊跟當前運動控制技術研究的發展趨勢,吸收了數控技術和相關運動控制技術的最新成果,提出了基于PCI和FPGA的方案,研制了一款比較新穎的、功能強大的、具有很大柔性的四軸多功能運動控制卡。 本課題的具體研究主要有以下幾方面: 首先,通過對運動控制卡及運動控制系統等行業現狀的全面調研,和對運動控制技術的深入學習,在比較了幾種常用的運動控制方案的基礎上,提出了基于FPGA的運動控制設計方案,并規劃了板卡的總體設計。 其次,根據總體設計,規劃了板卡的結構,詳細劃分并實現了FPGA各部分的功能;利用光電隔離原理設計了數字輸入/輸出電路。 再次,利用FPGA的資源實現了PCI從設備接口,達到跟控制卡通信的目的,針對運動控制中的一些具體問題,如運動平穩性、實時控制以及多軸聯動等,在FPGA上設計了四軸運動控制電路,定義了各個寄存器的具體功能,設計了功能齊全的加/減速控制電路、變頻分配電路、倍頻分頻電路和三個功能各異的計數器電路等,自動降速點運動、A/B相編碼器倍頻計數電路等特殊功能。最后,進行了本運動控制卡的測試,從測試和應用結果來看,該卡達到預期的要求。
上傳時間: 2013-07-27
上傳用戶:zgu489
該課題通過對開放式數控技術的全面調研和對運動控制技術的深入研究,并針對國內運動控制技術的研究起步較晚的現狀,結合激光雕刻領域的具體需要,緊跟當前運動控制技術研究的發展趨勢,吸收了世界開放式數控技術和相關運動控制技術的最新成果,采納了基于DSP和FPGA的方案,研制了一款比較新穎的、功能強大的、具有很大柔性的四軸多功能運動控制卡.該論文主要內容如下:首先,通過對制造業、開放式數控系統、運動控制卡等行業現狀的全面調研,基于對運動系統控制技術的深入學習,在比較了幾種常用的運動控制方案的基礎上,確定了基于DSP和FPGA的運動控制設計方案,并規劃了板卡的總體結構.其次,針對運動控制中的一些具體問題,如高速、高精度、運動平穩性、實時控制以及多軸聯動等,在FPGA上設計了功能相互獨立的四軸運動控制電路,仔細規劃并定義了各個寄存器的具體功能,設計了功能完善的加/減速控制電路、變頻分配電路、倍頻分頻電路和三個功能各異的計數器電路等,完全實現了S-曲線升降速運動、自動降速點運動、A/B相編碼器倍頻計數電路等特殊功能.再次,介紹了DSP在運動控制中的作用,合理規劃了DSP指令的形成過程,并對DSP軟件的具體實現進行了框架性的設計.然后,根據光電隔離原理設計了數字輸入/輸出電路;結合DAC原理設計了四路模擬輸出電路;實現了PCI接口電路的設計;并針對常見的干擾現象,提出了有效的抗干擾措施.最后,利用運動控制卡強大的運動控制功能,并針對激光雕刻行業進行大幅圖形掃描時需要實時處理大量的圖形數據的特別需要,在板卡第四軸完全實現了激光控制功能,并基于FPGA內部的16KBit塊RAM,開辟了大量數據區以便進行大幅圖形的實時處理.
上傳時間: 2013-06-09
上傳用戶:youlongjian0
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。 TLC2543的特點 (1)12位分辯率A/D轉換器; (2)在工作溫度范圍內10μs轉換時間; (3)11個模擬輸入通道; (4)3路內置自測試方式; (5)采樣率為66kbps; (6)線性誤差±1LSBmax; (7)有轉換結束輸出EOC; (8)具有單、雙極性輸出; (9)可編程的MSB或LSB前導; (10)可編程輸出數據長度。 TLC2543的引腳排列及說明 TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1 TLC2543電路圖和程序欣賞 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上傳時間: 2013-11-19
上傳用戶:shen1230