亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

CSIX-L

  • 企業進銷存管理系統

    根據需求分析的描述以及與用戶的溝通,本系統實現目標如下: l  界面設計簡潔、友好、美觀大方。 l  操作簡單、快捷方便 l  數據存儲安全、可靠。 l  信息分類清晰、準確。 l  強大的查詢功能,保證數據查詢的靈活性。 l  提供銷售排行榜,為管理員提供真實的數據信息。 l  提供靈活、方便的權限設置功能,使整個系統的管理分工明確。 對用戶輸入的數據,系統進行嚴格的數據檢驗,盡可能排除人為的錯誤

    標簽: 進銷存

    上傳時間: 2016-09-26

    上傳用戶:insomnia

  • 北京102_北京虞邦

    說明: a) 單字符用于子站向主站傳輸的確認(肯定或否定); b) 控制域是用來區別不同的幀和數據傳輸方向的單字節,詳見第二節; c) 地址域是鏈路地址(一般是RTU編號),2字節,低字節在前,高字節在后; d) 幀校驗是用戶數據區的各字節的算術和對256的模; e) 變長幀中的L為用戶數據區的長度,2個L相等; f) 變長幀中的ASDU為應用服務數據單元,詳見第三節; g) 數據傳輸方式:是異步傳輸方式,11位,其中啟動位為二進制0,數據位8位,一個偶校驗位,一個停止位。

    標簽: 102

    上傳時間: 2016-12-14

    上傳用戶:ts7089524

  • c++哈弗曼樹

    編寫一個赫夫曼編/譯碼器。   主要功能:根據輸入的字符代碼集及其權值集, l 構造赫夫曼樹,輸出各字符的赫夫曼編碼。 l 編碼:輸入字符序列,輸出對應的赫碼序列。  

    標簽: 樹哈弗曼樹

    上傳時間: 2016-12-29

    上傳用戶:遺風遺風丶

  • 點亮P10單元板單片機源程序

    /*================================================================= 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

    標簽: P10 單元板 單片機源程序

    上傳時間: 2017-05-04

    上傳用戶:sbfd010

  • JADE學習資料

    cardoso的獨立分量分析(ICA)的特征矩陣聯合近似對角化(JADE)方法。

    標簽: JADE

    上傳時間: 2017-05-08

    上傳用戶:1044109363@qq.com

  • 12345

    /****************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

  • Footprint Maker 0.08 FPM

    是否要先打開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

主站蜘蛛池模板: 玉屏| 星座| 长治市| 江山市| 福清市| 河北省| 富民县| 都昌县| 凭祥市| 三门峡市| 波密县| 陆河县| 白城市| 七台河市| 嘉义县| 浦县| 武宁县| 寿阳县| 贡嘎县| 江源县| 龙里县| 原阳县| 安化县| 西青区| 乳源| 江北区| 如东县| 广安市| 松溪县| 星子县| 阿图什市| 沂源县| 鸡东县| 仁寿县| 田阳县| 清原| 清流县| 东平县| 永嘉县| 新化县| 翼城县|