根據需求分析的描述以及與用戶的溝通,本系統實現目標如下: l 界面設計簡潔、友好、美觀大方。 l 操作簡單、快捷方便 l 數據存儲安全、可靠。 l 信息分類清晰、準確。 l 強大的查詢功能,保證數據查詢的靈活性。 l 提供銷售排行榜,為管理員提供真實的數據信息。 l 提供靈活、方便的權限設置功能,使整個系統的管理分工明確。 對用戶輸入的數據,系統進行嚴格的數據檢驗,盡可能排除人為的錯誤
標簽: 進銷存
上傳時間: 2016-09-26
上傳用戶:insomnia
說明: a) 單字符用于子站向主站傳輸的確認(肯定或否定); b) 控制域是用來區別不同的幀和數據傳輸方向的單字節,詳見第二節; c) 地址域是鏈路地址(一般是RTU編號),2字節,低字節在前,高字節在后; d) 幀校驗是用戶數據區的各字節的算術和對256的模; e) 變長幀中的L為用戶數據區的長度,2個L相等; f) 變長幀中的ASDU為應用服務數據單元,詳見第三節; g) 數據傳輸方式:是異步傳輸方式,11位,其中啟動位為二進制0,數據位8位,一個偶校驗位,一個停止位。
標簽: 102
上傳時間: 2016-12-14
上傳用戶:ts7089524
編寫一個赫夫曼編/譯碼器。 主要功能:根據輸入的字符代碼集及其權值集, l 構造赫夫曼樹,輸出各字符的赫夫曼編碼。 l 編碼:輸入字符序列,輸出對應的赫碼序列。
標簽: 樹哈弗曼樹
上傳時間: 2016-12-29
上傳用戶:遺風遺風丶
/*================================================================= 4掃16*16下入上出C語言程序, 低位起筆,數據反相。 預定義 **************************************************************/ #include #include //可使用其中定義的宏來訪問絕對地址? bit ture=1; // 使能正反相位選擇 bit false=0; // 使能反相 sbit SCK=P3^6; // EQU 0B6H ; 移位 sbit RCK=P3^5; //EQU 0B5H ; 并行鎖存 //sbit P1_3=P1^3; //外RAM擴展讀寫控制,不能重復申明 sbit EN1=P1^7; //BIT sbit FB=0xD8; // FB作為標志 sfr BUS_SPEED=0xA1; //訪問片外RAM速度設置寄存器 sfr P4SW=0xBB; //P4SW寄存器設置P4.4,P4.5,P4.6的功能 sfr P4=0xC0; // P4 EQU 0C0H sbit NC=P4^4; sbit CS=P4^6; //片選 sfr WDT_CONTR=0xC1; // 0C1H ;看門狗寄存器 sfr AUXR=0x8E; // EQU 08EH ;附件功能控制寄存器 sfr16 DPTR=0x82; sfr CLK_DIV=0x97 ; //時鐘分頻寄存器 const unsigned int code All_zk =256 ; // 0E11H ;原數據總字節 const unsigned int code am_zk =128 ; // 0E13H ;單幕數據量 const unsigned char code asp = 255; // asp數據相位字,如果是正相字,那么asp=0 bit basp=1; // asp數據相位字標記,如果是正相字,那么basp=0 const unsigned char code font[]= // 晶科電子LED數碼(反相字) {0xBD,0x81,0xEF,0xFF,0xBD,0x81,0xF7,0xFF,0xEF,0xEB,0x80,0x9F,0xEF,0x8F,0xEF,0xEF,0x7F,0x7B,0x7B,0x7F,0xBF,0xEF,0xEF,0xFF,0x7F,0x00,0xFF,0xFF,0xFF,0x80,0xFE,0xFF, 0x81,0xBD,0x0F,0x0F,0x81,0xBD,0xF0,0xF0,0xEF,0xED,0xE7,0xE1,0xEF,0xE1,0xEE,0xEE,0x7F,0x7B,0x7B,0x7F,0xBF,0xEF,0xEF,0xFF,0x7F,0x7F,0x7F,0x03,0xFF,0xFF,0xFF,0xF0, 0xBD,0x81,0xEF,0xEF,0xBD,0x81,0xF7,0xF7,0xEF,0x2E,0xC7,0xEF,0xEF,0xEE,0xED,0xED,0xFF,0x03,0x03,0x7F,0x80,0xE0,0xE0,0xFF,0x5F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFB, 0xFF,0xBD,0xFF,0x0F,0xFF,0xBD,0xFF,0xF0,0xEF,0xEF,0xAB,0xEF,0xEF,0xEF,0xED,0xED,0xFF,0x7B,0x7B,0x03,0xFF,0xEF,0xEF,0xE0,0xBF,0x7F,0x7F,0xFF,0xFF,0xFF,0xDF,0xFD, 0xBD,0xFD,0xFD,0xFF,0xBD,0xED,0xBD,0xFF,0xDD,0xBD,0xDD,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xEF,0x00,0xEF,0xEB,0xEB,0x81,0xFB,0xC3,0xDA,0xF7,0xFF,0xDF,0xDF,0xEE,0xFF, 0x80,0xFD,0xFD,0xFF,0xC0,0xED,0xED,0xFF,0xE0,0xBD,0xBD,0xFF,0xFF,0xFF,0xFF,0xFF,0xB3,0x00,0xC7,0x6D,0x8D,0xEB,0xDD,0xF3,0xDB,0xDB,0xFB,0x40,0xDF,0xDF,0xEE,0xE0, 0xFF,0xFD,0xFD,0xFF,0xFF,0xFD,0xED,0xFF,0xFF,0xBD,0xBD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xB7,0x2B,0xAB,0xDE,0xF7,0xDD,0xFB,0xFB,0x5B,0xC3,0xF7,0xEB,0xD0,0xEE,0xEF, 0xFF,0xFD,0xFD,0xF8,0xFF,0xBD,0xE1,0xC0,0xFF,0xBD,0xBD,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xD3,0xED,0xC7,0xFF,0xF7,0xDC,0xFB,0xFF,0xDB,0xD9,0xF7,0xF7,0xDF,0xC0,0xEE}; const unsigned char data xzL_data =0x08; //0603H;一幕一行字節數 const unsigned int data aL_data =0x20; //單幕單號線(單組線)數據量 const unsigned char data mov =0x03A ; //移動速度 const unsigned int data t_T =0x040A ; //0E0AH ; 05FAH; ;停留時間 const unsigned char data mu_num=0x02 ; //0602H ;幕數 unsigned int m; //m幕長變量<=am_zk unsigned char data_z; //數據寄存器 unsigned int xd; //數據指針寄存器 /*********************************************************************** 數據轉移子函數 ===============================================================*/ char MOVD() { unsigned char f,nm; //nm幕數控制 unsigned char code *dptr; unsigned char xdata *xdptr = 0; f = asp ; for (m=0; m
上傳時間: 2017-05-04
上傳用戶:sbfd010
cardoso的獨立分量分析(ICA)的特征矩陣聯合近似對角化(JADE)方法。
標簽: JADE
上傳時間: 2017-05-08
上傳用戶:1044109363@qq.com
/****************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
鏈表習題 1. 編程實現鏈表的基本操作函數。 (1). void CreatList(LinkList &La,int m) //依次輸入m個數據,并依次建立各個元素結點,逐個插入到鏈表尾;建立帶表頭結點的單鏈表La; (2). void ListPrint(LinkList La) //將單鏈表La的數據元素從表頭到表尾依次顯示。 (3).void ListInsert (LinkList &L,int i,ElemType e){ //在帶頭結點的單鏈表L中第i個數據元素之前插入數據元素e (4). void ListDelete(LinkList &La, int n, ElemType &e) //刪除鏈表的第n個元素,并用e返回其值。 (5). int Search(LinkList L, ElemType x) //在表中查找是否存在某個元素x,如存在則返回x在表中的位置,否則返回0。 (6). int ListLength(LinkList L) //求鏈表L的表長 (7). void GetElem(LinkList L, int i, ElemType &e) //用e返回L中第i個元素的值 鏈表的結點類型定義及指向結點的指針類型定義可以參照下列代碼: typedef struct Node{ ElemType data; // 數據域 struct Node *next; // 指針域 }LNode, *LinkList;
標簽: 單鏈表
上傳時間: 2017-11-15
上傳用戶:BIANJIAXIN
1. 編程實現鏈表的基本操作函數。 (1). void CreatList(LinkList &La,int m) //依次輸入m個數據,并依次建立各個元素結點,逐個插入到鏈表尾;建立帶表頭結點的單鏈表La; (2). void ListPrint(LinkList La) //將單鏈表La的數據元素從表頭到表尾依次顯示。 (3).void ListInsert (LinkList &L,int i,ElemType e){ //在帶頭結點的單鏈表L中第i個數據元素之前插入數據元素e (4). void ListDelete(LinkList &La, int n, ElemType &e) //刪除鏈表的第n個元素,并用e返回其值。 (5). int Search(LinkList L, ElemType x) //在表中查找是否存在某個元素x,如存在則返回x在表中的位置,否則返回0。 (6). int ListLength(LinkList L) //求鏈表L的表長 (7). void GetElem(LinkList L, int i, ElemType &e) //用e返回L中第i個元素的值 鏈表的結點類型定義及指向結點的指針類型定義可以參照下列代碼: typedef struct Node{ ElemType data; // 數據域 struct Node *next; // 指針域 }LNode, *LinkList;
標簽: 單鏈表
上傳時間: 2017-11-15
上傳用戶:BIANJIAXIN
是否要先打開ALLEGRO? 不需要(當然你的機器須有CADENCE系統)。生成完封裝后在你的輸出目錄下就會有幾千個器件(全部生成的話),默認輸出目錄為c:\MySym\. Level里面的Minimum, Nominal, Maximum 是什么意思? 對應ipc7351A的ABC封裝嗎? 是的 能否將MOST, NOMINAL, LEAST三種有差別的封裝在命名上也體現出差別? NOMINAL 的名稱最后沒有后綴,MOST的后綴自動添加“M”,LEAST的后綴自動添加“L”,你看看生成的庫名稱就知道了。(直插件以及特別的器件,如BGA等是沒有MOST和LEAST級別的,對這類器件只有NOMINAL) IC焊盤用長方形好像比用橢圓形的好,能不能生成長方形的? 嗯。。。。基本上應該是非直角的焊盤比矩形的焊盤好,我記不得是AMD還是NS還是AD公司專門有篇文檔討論了這個問題,如果沒有記錯的話至少有以下好處:信號質量好、更省空間(特別是緊密設計中)、更省錫量。我過去有一篇帖子有一個倒角焊盤的SKILL,用于晶振電路和高速器件(如DDR的濾波電容),原因是對寬度比較大的矩形用橢圓焊盤也不合適,這種情況下用自定義的矩形倒角焊盤就比較好了---你可以從網上另外一個DDR設計的例子中看到。 當然,我已經在程序中添加了一選擇項,對一些矩形焊盤可以選擇倒角方式. 剛才試了一下,感覺器件的命名的規范性不是太好,另好像不能生成器件的DEVICE文件,我沒RUN完。。。 這個程序的命名方法基本參照IPC-7351,每個人都有自己的命名嗜好,仍是不好統一的;我是比較懶的啦,所以就盡量靠近IPC-7351了。 至于DEVICE,的選項已經添加 (這就是批量程序的好處,代碼中加一行,重新生產的上千上萬個封裝就都有新東西了)。 你的庫都是"-"的,請問用過ALLEGRO的兄弟,你們的FOOTPRINT認"-"嗎?反正我的ALLEGRO只認"_"(下劃線) 用“-”應該沒有問題的,焊盤的命名我用的是"_"(這個一直沒改動過)。 部分絲印畫在焊盤上了。 絲印的問題我早已知道,只是盡量避免開(我有個可配置的SilkGap變量),不過工作量比較大,有些已經改過,有些還沒有;另外我沒有特別費功夫在絲印上的另一個原因是,我通常最后用AUTO-SILK的來合并相關的層,這樣既方便快捷也統一各個器件的絲印間距,用AUTO-SILK的話絲印線會自動避開SOLDER-MASK的。 點擊allegro后命令行出現E- Can't change to directory: Files\FPM,什么原因? 我想你一定是將FPM安裝在一個含空格的目錄里面了,比如C:\Program Files\等等之類,在自定義安裝目錄的時候該目錄名不能含有空格,且存放生成的封裝的目錄名也不能含有空格。你如果用默認安裝的話應該是不會有問題的, 默認FPM安裝在C:\FPM,默認存放封裝的目錄為C:\MYSYM 0.04版用spb15.51生成時.allegro會死機.以前版本的Allegro封裝生成器用spb15.51生成時沒有死機現象 我在生成MELF類封裝的時候有過一次死機現象,估計是文件操作錯誤導致ALLEGRO死機,原因是我沒有找到在skill里面直接生成SHAPE焊盤的方法(FLASH和常規焊盤沒問題), 查了下資料也沒有找到解決方法,所以只得在外部調用SCRIPT來將就一下了。(下次我再查查看),用SCRIPT的話文件訪問比較頻繁(幸好目前MELF類的器件不多). 解決辦法: 1、對MELF類器件單獨選擇生成,其它的應該可以一次生成。 2、試試最新的版本(當前0.05) 請說明運行在哪類器件的時候ALLEGRO出錯,如果不是在MELF附近的話,請告知,謝謝。 用FPM0.04生成的封裝好像文件都比較大,比如CAPC、RES等器件,都是300多K,而自己建的或采用PCB Libraries Eval生成的封裝一般才幾十K到100K左右,不知封裝是不是包含了更多的信息? 我的每個封裝文件包含了幾個文字層(REF,VAL,TOL,DEV,PARTNUMBER等),SILK和ASSEM也是分開的,BOND層和高度信息,還有些定位線(在DISP層),可能這些越來越豐富的信息加大了生成文件的尺寸.你如果想看有什么內容的話,打開所有層就看見了(或REPORT) 非常感謝 LiWenHui 發現的BUG, 已經找到原因,是下面這行: axlDBChangeDesignExtents( '((-1000 -1000) (1000 1000))) 有尺寸空間開得太大,后又沒有壓縮的原因,現在生成的封裝也只有幾十K了,0.05版已經修復這個BUG了。 Allegro封裝生成器0.04生成do-27封裝不正確,生成封裝的焊盤的位號為a,c.應該是A,B或者1,2才對. 呵呵,DIODE通常管腳名為AC(A = anode, C = cathode) 也有用AK 或 12的, 極少見AB。 除了DIODE和極個別插件以及BGA外,焊盤名字以數字為主, 下次我給DIODE一個選擇項,可以選擇AC 或 12 或 AK, 至于TRANSISTER我就不去區分BCE/CBE/ECB/EBC/GDS/GSD/DSG/DGS/SGD/SDG等了,這樣會沒完沒了的,我將對TRANSISTER強制統一以數字編號了,如果用家非要改變,只得在生成庫后手工修改。
標簽: Footprint Maker 0.08 FPM skill
上傳時間: 2018-01-10
上傳用戶:digitzing
晶體管電路設計,l鈴木雅臣著 周南生譯 張文敏校
上傳時間: 2018-04-23
上傳用戶:luthais