在汽車、工業和電信行業的設計師當中,使用高功率升壓型轉換器的現像正變得越來越普遍。當需要 300W 或更高的功率時,必須在功率器件中實現高效率 (低功率損耗),以免除增設龐大散熱器和采用強迫通風冷卻的需要
上傳時間: 2014-12-01
上傳用戶:lhc9102
附件為:LCD12864顯示漢字和數字的程序與電路 /* 自定義延時子函數 */ void delayms(uchar z) { int x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } /* 判斷LCD忙信號狀態 */ void buys() { int dat; RW=1; RS=0; do { P0=0x00; E=1; dat=P0; E=0; dat=0x80 & dat; } while(!(dat==0x00)); } /* LCD寫指令函數 */ void w_com(uchar com) { //buys(); RW=0; RS=0; E=1; P0=com; E=0; } /* LCD寫數據函數 */ void w_date(uchar date) { //buys(); RW=0; RS=1; E=1; P0=date; E=0; } /* LCD選屏函數 */ void select_screen(uchar screen) { switch(screen) { case 0: //選擇全屏 CS1=0; CS2=0; break; case 1: //選擇左屏 CS1=0; CS2=1; break; case 2: //選擇右屏 CS1=1; CS2=0; break; /* case 3: //選擇右屏 CS1=1; CS2=1; break; */ } } /* LCDx向上滾屏顯示 */ void lcd_rol() { int x; for(x=0;x<64;x++) { select_screen(0); w_com(0xc0+x); delayms(500); } } /* LCD清屏函數:清屏從第一頁的第一列開始,總共8頁,64列 */ void clear_screen(screen) { int x,y; select_screen(screen); //screen:0-選擇全屏,1-選擇左半屏,2-選擇右半屏 for(x=0xb8;x<0xc0;x++) //從0xb8-0xbf,共8頁 { w_com(x); w_com(0x40); //列的初始地址是0x40 for(y=0;y<64;y++) { w_date(0x00); } } } /* LCD顯示漢字字庫函數 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-3,mun:顯示第幾個漢字的參數 int a; mun=mun*32; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*16)); for ( a=0;a<16;a++) { w_date(hanzi[mun++]); } } /* LCD顯示字符字庫函數 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(zifu[mun++]); } } /* LCD顯示數字字庫函數 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) { //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數 int a; mun=mun*16; select_screen(screen); w_com(0xb8+(page*2)); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } w_com(0xb8+(page*2)+1); w_com(0x40+(col*8)); for ( a=0;a<8;a++) { w_date(shuzi[mun++]); } } /* LCD初始化函數 */ void lcd_init() { w_com(0x3f); //LCD開顯示 w_com(0xc0); //LCD行初始地址,共64行 w_com(0xb8); //LCD頁初始地址,共8頁 w_com(0x40); //LCD列初始地址,共64列 } /* LCD顯示主函數 */ void main() { //第一行 int x; lcd_init(); //LCD初始化 clear_screen(0); //LCD清屏幕 lcd_display_shuzi(1,0,4,5); //LCD顯示數字 lcd_display_shuzi(1,0,5,1); //LCD顯示數字 lcd_display_hanzi(1,0,3,0); //LCD顯示漢字 lcd_display_hanzi(2,0,0,1); //LCD顯示漢字 //LCD字符漢字 lcd_display_hanzi(2,0,1,2); //LCD顯示漢字 //第二行 lcd_display_zifuk(1,1,2,0); //LCD顯示字符 lcd_display_zifuk(1,1,3,0); //LCD顯示字符 lcd_display_zifuk(1,1,4,0); //LCD顯示字符 lcd_display_zifuk(1,1,5,4); //LCD顯示字符 lcd_display_shuzi(1,1,6,8); //LCD顯示字符 lcd_display_shuzi(1,1,7,9); //LCD顯示字符 lcd_display_shuzi(2,1,0,5); //LCD顯示字符 lcd_display_shuzi(2,1,1,1); //LCD顯示字符 lcd_display_zifuk(2,1,2,4); lcd_display_zifuk(2,1,3,1); lcd_display_zifuk(2,1,4,2); lcd_display_zifuk(2,1,5,3); //第三行 for(x=0;x<4;x++) { lcd_display_hanzi(1,2,x,3+x); //LCD顯示漢字 } for(x=0;x<4;x++) { lcd_display_hanzi(2,2,x,7+x); //LCD顯示漢字 } //第四行 for(x=0;x<4;x++) { lcd_display_zifuk(1,3,x,5+x); //LCD顯示漢字 } lcd_display_shuzi(1,3,4,7); lcd_display_shuzi(1,3,5,5); lcd_display_shuzi(1,3,6,5); lcd_display_zifuk(1,3,7,9); lcd_display_shuzi(2,3,0,8); lcd_display_shuzi(2,3,1,9); lcd_display_shuzi(2,3,2,9); lcd_display_shuzi(2,3,3,5); lcd_display_shuzi(2,3,4,6); lcd_display_shuzi(2,3,5,8); lcd_display_shuzi(2,3,6,9); lcd_display_shuzi(2,3,7,2); while(1); /* while(1) { // LCD向上滾屏顯示 lcd_rol(); } */ }
上傳時間: 2013-11-08
上傳用戶:aeiouetla
最小二乘法曲線擬合 作者:佚名 文章來源:不詳 點擊數:164 更新時間:2006-1-4 【字體:小 大】【發表評論】【加入收藏】【告訴好友】【打印此文】【關閉窗口】 //最小二乘法曲線擬合 typedef CArray<double,double>CDoubleArray BOOL CalculateCurveParameter(CDoubleArray *X,CDoubleArray *Y,long M,long N,CDoubleArray *A) { //X,Y -- X,Y兩軸的坐標 //M -- 結果變量組數 //N -- 采樣數目 //A -- 結果參數 文章錄入:admin 責任編輯:admin
上傳時間: 2014-01-24
上傳用戶:liansi
hi everyone, it is other people s program by c++ it is nice (一組開關,希望搞工控界面的xdjm能用的上。 位圖開關,你用你自己的圖替換掉,就可以得到你自己風格的開關了,其他幾個都是用GDI畫的。 ), enjoey it~
標簽: everyone program people other
上傳時間: 2015-06-25
上傳用戶:66666
//=== === === === === === === === === === === ===== //函數說明 //函數名稱:Correlation //函數功能:計算最小二乘法擬合的多項式的相關系數 //使用方法:int M------ 擬合多項式的階數(已知條件) // double *b--- 擬合曲線的系數,排列順序為由高階到低階(已知條件) // double *x--- 結點x軸數據(已知條件) // double *y--- 結點y軸數據(已知條件) // double *Yg-- 結點估計值,個數為m(過程變量) // int m------ 結點個數(已知條件) //注意事項:多項式階數最高為10,多項式的形式為 y = a0 + a1x +a2x2
標簽: Correlation 函數 計算 最小二乘法擬合
上傳時間: 2013-11-26
上傳用戶:change0329
//=== === === === === === === === === === === ===== //函數說明 //函數名稱:Correlation //函數功能:計算最小二乘法擬合的多項式的相關系數 //使用方法:int M------擬合多項式的項數(已知條件) // double *b---擬合曲線的系數,按升次排列(已知條件) // double *x---結點x軸數據(已知條件) // double *y---結點y軸數據(已知條件) // double *Yg--結點估計值,與*y相對應,個數為m(過程變量) // int m------結點個數(已知條件) //注意事項:多項式階數最高為10,多項式的形式為 y = b0 + b1*(x-Xavr)...
標簽: Correlation 函數 計算 最小二乘法擬合
上傳時間: 2014-11-23
上傳用戶:yxgi5
龍格-庫塔方法的使用,例子 求y’=y-2x/y,y(0)=0。 解:輸入X0=0,X1=1,H=0.2,N=6。
標簽:
上傳時間: 2014-03-06
上傳用戶:woshiayin
Digital Signature Algorithm (DSA)是Schnorr和ElGamal簽名算法的變種,被美國NIST作為DSS(DigitalSignature Standard)。算法中應用了下述參數: p:L bits長的素數。L是64的倍數,范圍是512到1024; q:p - 1的160bits的素因子; g:g = h^((p-1)/q) mod p,h滿足h < p - 1, h^((p-1)/q) mod p > 1; x:x < q,x為私鑰 ; y:y = g^x mod p ,( p, q, g, y )為公鑰; H( x ):One-Way Hash函數。DSS中選用SHA( Secure Hash Algorithm )。 p, q, g可由一組用戶共享,但在實際應用中,使用公共模數可能會帶來一定的威脅。簽名及驗證協議如下: 1. P產生隨機數k,k < q; 2. P計算 r = ( g^k mod p ) mod q s = ( k^(-1) (H(m) + xr)) mod q 簽名結果是( m, r, s )。 3. 驗證時計算 w = s^(-1)mod q u1 = ( H( m ) * w ) mod q u2 = ( r * w ) mod q v = (( g^u1 * y^u2 ) mod p ) mod q 若v = r,則認為簽名有效。 DSA是基于整數有限域離散對數難題的,其安全性與RSA相比差不多。DSA的一個重要特點是兩個素數公開,這樣,當使用別人的p和q時,即使不知道私鑰,你也能確認它們是否是隨機產生的,還是作了手腳。RSA算法卻作不到。
標簽: Algorithm Signature Digital Schnorr
上傳時間: 2014-01-01
上傳用戶:qq521
基于matlab的DTMF仿真 DTMF為行頻和列頻(697Hz 770Hz 852Hz 941Hz 1209Hz 1336Hz 1477Hz 1633Hz)組合代表按鍵輸入,使用以下公式可計算出行頻和列頻,從而確定按鍵編碼: vk(n) = 2*coef*vk(n-1) - vk(n-2) + x(n) y(N)*y(N) = vk(N)*vk(N) - 2*coef*vk(N)*vk(N-1) + vk(N-1)*vk(N-1)
上傳時間: 2013-12-22
上傳用戶:manking0408
private double PointToAngle(Point AOrigin, Point APoint) { if (APoint.X == AOrigin.X) if (APoint.Y > AOrigin.Y) return Math.PI * 0.5f else return Math.PI * 1.5f else if (APoint.Y == AOrigin.Y) if (APoint.X > AOrigin.X) return 0 else return Math.PI else {
標簽: AOrigin APoint Point PointToAngle
上傳時間: 2016-10-31
上傳用戶:zhyiroy