虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

电容<b>触控</b>芯片

  • 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

  • java入门编程合集

    题目:古典问题:有一对兔子,从出生后第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; 

    标签: java 编程

    上传时间: 2017-12-24

    上传用户:Ariza

  • 学生成绩管理

    #include<stdio.h> #include<windows.h> int xuanxiang; int studentcount; int banjihao[100]; int xueqihao[100][10]; char xm[100][100]; int xuehao[100][10]; int score[100][3]; int yuwen; int shuxue[000]; int yingyu[100]; int c[100]; int p; char x[1000][100]="",y[100][100]="";/*x学院 y专业 z班级*/  int z[100];  main() { void input(); void inputsc(); void alter(); void scbybannji(); printf("--------学生成绩管理-----\n"); printf("请按相应数字键来实现相应功能\n"); printf("1.录入学生信息   2.录入学生成绩       3.修改学生成绩\n"); printf("4.查询学生成绩   5.不及格科目及名单   6.按班级输出学生成绩单\n"); printf("请输入你要实现的功能所对应的数字:"); scanf("%d",&xuanxiang); system("cls"); getchar(); switch (xuanxiang) { case 1:input(); case 2:inputsc(); case 3:alter(); /*case 4:select score(); case 5:bujigekemujimingdan();*/ case 6:scbybanji; } } void input() { int i; printf("请输入你的学院名称:"); gets(x); printf("请输入你的专业名称:"); gets(y); printf("请输入你的班级号:"); scanf("%d",&z); printf("请输入你们一个班有几个人:"); scanf("%d",&p); system("cls"); for(i=0;i<p;i++) { printf("请输入第%d个学生的学号:",i+1); scanf("%d",xuehao[i]); getchar(); printf("请输入第%d个学生的姓名:",i+1); gets(xm[i]); system("cls"); } printf("您已经录入完毕您的班级所有学生的信息!\n"); printf("您的班级为%s%s%s\n",x,y,z); /*alter(p);*/ } void inputsc() { int i; for(i=0;i<p;i++) { printf("\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t录入学生的成绩\n\n\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t%s\n",xm[i]); printf("\n"); printf("\t\t\t\t数学:"); scanf("%d",&shuxue[i]); printf("\n"); getchar(); printf("\t\t\t\t英语:"); scanf("%d",&yingyu[i]); printf("\n"); getchar(); printf("\t\t\t\tc语言:"); scanf("%d",&c[i]); system("cls"); } } void alter() { int i;/*循环变量*/ int m[10000];/*要查询的学号*/ int b;/*修改后的成绩*/ char kemu[20]=""; printf("请输入你要修改的学生的学号"); scanf("%d",&m); for (i=0;i<p;i++) { if (m==xuehao[i]) { printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]");  printf("请输入你想修改的科目");} } gets(kemu); getchar(); if (kemu=="数学"); { scanf("%d",&b); shuxue[i]=b;} if (kemu=="英语"); { scanf("%d",&b); yingyu[i]=b;} if (kemu=="c语言"); { scanf("%d",&b); c[i]=b; } printf("%s的数学成绩为%d,英语成绩为%d,c语言成绩为%d,xm[i],shuxue[i],yingyu[i],c[i]"); } void scbybannji() { int i; char zyname[20]; int bjnumber; printf("请输入你的专业名称"); scanf("%s",&zyname); printf("请输入你的班级号"); scanf("%d",&bjnumber); for (i=0;i<p;i++) { if (zyname==y[i]); if (bjnumber==z[i]); printf("专业名称%s班级号%d数学成绩%d英语成绩%dc语言成绩%d,y[i],z[i],shuxue[i],yingyu[i],c[i]"); } }

    标签: c语言

    上传时间: 2018-06-08

    上传用户:2369043090

  • GT928规格书

    很不错的触控IC的规格书,支出10.1寸

    标签: 928 GT 规格书

    上传时间: 2021-09-07

    上传用户:15735928642

  • 按键-开关Altium Designer AD原理图库元件库

    按键-开关Altium Designer AD原理图库元件库SV text has been written to file : 5.1   - 按键-开关.csvLibrary Component Count : 36Name                Description----------------------------------------------------------------------------------------------------CSW-10P             10路编码开关CSW-11P             11路编码开关CSW-12P             12路编码开关CSW-1P              1路编码开关CSW-2P              2路编码开关CSW-3P              3路编码开关CSW-4P              4路编码开关CSW-5P              5路编码开关CSW-6P              6路编码开关CSW-7P              7路编码开关CSW-8P              8路编码开关CSW-9P              9路编码开关EC11                数字开关编码器KCD1-101            1路单刀船型开关KFC 6X6             6*6自锁开关KFC 7X7             7*7自锁开关KFC 8X8             8*8自锁开关KW01                微动开关LSI 12X12           1路单刀船型开关LSW                 带灯机械按键开关MICRO_SW            微动开关MTS-10x             MTS10x系列3脚扭子开关PB6149L             6*6自锁带灯开关SSW-1P              1路波动开关SSW-2P              2路波动开关TS-027A             薄膜轻触开关TS-030              防水轻触开关TS-034              贴片轻触开关TSW 3x6             3x6轻触开关TSW DIP-12x12       直插12x12轻触开关TSW DIP-2Pin-6x6    2脚直插6x6轻触开关TSW DIP-6x6         直插6x6轻触开关TSW DIP-6x6_V       侧按直插6x6轻触开关TSW SMD-12x12       贴片12x12轻触开关TSW SMD-6x6         贴片6x6轻触开关TTS                 触控弹簧

    标签: Altium Designer

    上传时间: 2022-03-13

    上传用户:qingfengchizhu

  • 基于STC12C5A60S2单片机的LED线阵显示装置

    LED 线阵显示装置, 分为 LED 线性旋转显示主机和图文录入器两部分。主机用直流电机带动由红绿 LED 组成的线阵旋转, 同时线阵按照时序依次切换显示状态, 在固定区域利用视觉暂留效果形成 16×16 点阵, 用以显示图文;图文录入器用 HMI 触控屏作为人机交互界面, 实现图文录入和回放功能。主机与图文录入器通过无线通信方式进行信息交互,可由图文录入器控制主机切换不同工作任务, 以及改变线阵显示内容。The LED linear array display device is divided into two parts:the one is the main unit used to display content,and the other one is used to input the contents.The main unit is driven by a DC motor to rotate the linear array composed by red and green light emitting diodes.At the same time,the 16×16 dot matrix that switching the display state according to the time sequence on the main unit displays pictures and texts in the fixed area,by using the visual temporary effect.The HMI touch screen is used as human machine interface to realize the function that input and playback pictures and texts.The two parts of the device communicate with each other through wireless communication.The image and text input controller can control the main unit to switch different tasks and change the content of linear array displayed.

    标签: stc12c5a60s2 单片机 led

    上传时间: 2022-03-28

    上传用户:jiabin

  • (网盘)300本Python电子书

    |- 数据科学速查表 - 0 B|- 迁移学习实战 - 0 B|- 零起点Python机器学习快速入门 - 0 B|- 《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码 - 0 B|- 《Python生物信息学数据管理》中文版PDF+英文版PDF+源代码 - 0 B|- 《Python深度学习》2018中文版pdf+英文版pdf+源代码 - 0 B|- 《Python编程:从入门到实践》中文版+源代码 - 0 B|- stanford machine learning - 0 B|- Python语言程序设计2018版电子教案 - 0 B|- Python网络编程第三版 (原版+中文版+源代码) - 0 B|- Python机器学习实践指南(中文版带书签)、原书代码、数据集 - 0 B|- python官方文档 - 0 B|- Python编程(第4版 套装上下册) - 0 B|- PyQt5快速开发与实战(pdf+源码) - 0 B|- linux - 0 B|- 征服PYTHON-语言基础与典型应用.pdf - 67.40 MB|- 与孩子一起学编程_中文版_详细书签.pdf - 69.10 MB|- 用Python做科学计算.pdf - 6.10 MB|- 用Python写网络爬虫.pdf - 9.90 MB|- 用Python进行自然语言处理(中文翻译NLTK).pdf - 4.40 MB|- 像计算机科学家那样思考 Python中文版第二版.pdf - 712.00 kB|- 网络爬虫-Python和数据分析.pdf - 6.90 MB|- 图解机器学习.pdf - 59.40 MB|- 凸优化.pdf - 5.70 MB|- 数据挖掘导论.pdf - 2.50 MB|- 数据科学入门.pdf - 13.30 MB|- 数据结构与算法__Python语言描述_裘宗燕编著_北京:机械工业出版社_,_2016.01_P346.pdf - 74.30 MB|- 神经网络与深度学习.pdf - 92.60 MB|- 深入Python3...

    标签: python

    上传时间: 2022-06-06

    上传用户:

  • 一款高性能BUCK型DC-DC和LDO双路输出控制器设计

    本论文以西安电子科技大学电路CAD所的科研项目“电源管理类集成电路关键技术理论研究与设计”为背景,设计了一款高性能降压型DC-DC和LDO双路输出控制器XD8912.论文首先对电源管理技术的现状以及发展趋势作了介绍;随后分析了线性稳压器及开关稳压器的基本结构和工作原理,并对电压模降压型PWM DC-DC的原理及其环路稳定性做了深入的研究;最后详细介绍了XD8912的设计过程,包括芯片性能系统规划、特性分析、电路实现以及仿真验证。XD8912不仅集成了大电流、高效率的电压模降压型PWM控制器,而且也集成了小电流、低噪声的线性稳压控制器,可以为高性能显卡、主板等设备供电。芯片采用同步整流技术,避免了肖特基二极管的使用,大大提高了芯片的工作效率。芯片内部设计了微调电路提高了电压基准的精度。设计了内部频率补偿电路取代芯片外部的补偿电容,有效提高了芯片的集成度。另外,芯片还集成了完备的保护电路,包括过温保护、欠压保护、过流保护等.文中对XD8912的系统及主要功能模块进行了详细的分析,并基于0.6um BCD工艺,利用Viewdraw,Hspice等EDA软件,完成了电路的设计和前仿真验证仿真结果表明,电路功能和性能指标均已达到设计要求。

    标签: 降压型DC-DC LDO 电源管理

    上传时间: 2022-06-23

    上传用户:

  • 2015全国电赛E题报告—基于锁相环的简易频谱仪

    本资源为2015全国电设E题报告——基于锁相环的简易频谱仪内含原理分析方案对比及原理图,下面是本资源的部分内容:本系统采用MSP430F5529为主控器件,采用锁相环频率合成芯片ADF4110、三阶RC低通滤波器和压控振荡芯片MAX2606实现稳定的本振源,产生本征频率在90MHz~110MHz的恒定正弦信号;采用乘法器AD835实现对输出信号幅度的调整;同样采用AD835实现被测信号与本征信号的混频,经过低通滤波得到混频后的低频量由单片机上的ADC进行采样,能在80MHz~100MHz频段内扫描并显示信号频谱和主信号频率,并且够测量全频段内部分杂散频率的个数。经测试,本系统实现了题目要求的全部功能,且人机交互友好。

    标签: 大学生电子设计大赛 频谱仪

    上传时间: 2022-07-05

    上传用户:

  • VIP专区-单片机源代码精选合集系列(32)

    eeworm.com VIP专区 单片机源码系列 32资源包含以下内容:1. C51单片机_定时器可调时钟_程序.docx2. 单片机的40个实验.pdf3. 通信速率可调的单片机多机通信系统研究.zip4. 小车程序.doc5. 基于MC9S12HY32的电动汽车仪表盘设计.zip6. 基于AVR的太阳能高速公路智能电子显示屏系统设计.zip7. 智能小车程序.doc8. 基于51单片机多功能太阳能路灯的设计.zip9. 从零开始学单片机C语言 李建清.扫描版.pdf10. PWM调速+循迹智能小车程序.doc11. 单片机驱动数码管显示设计.pdf12. 51单片机的结构知识.doc13. C18编辑器入门.pdf14. 单片机的学习资料+实验精华.doc15. 16x16+ds1302.rar16. 基于C8051F020的等精度测量频率.doc17. 8路抢答器设计.doc18. MSP430单片机C语言应用程序设计实例精讲.rar19. AVR系列单片机C语言.pdf20. 51单片机编程中常用的一些函数.zip21. 51单片机在线调试仿真系统(MSUODS_Tri)培训手册.pdf22. 51单片机教程详细解析(经典收藏).pdf23. MCS51单片机原理_定时器.pdf24. 51单片机经典入门教程(非常棒的教程).pdf25. Keil uVision2 软件.rar26. 51单片机最小系统原理图.doc27. 34个单片机实例(包括框图和程序).doc28. 单片机外围电路扩展.ppt29. HC6800EM3 v20原理图(电路图).pdf30. 单片机外围电路设计.docx31. ARM体系结构概述.pdf32. 单片机硬件电路设计.ppt33. PC与单片机借助LABview进行简单的接受和发送数据.rar34. 单片机定时器详解.doc35. 单片机控制步进电机程序.doc36. 用单片机设计电子音乐门铃.rar37. [30.Arduino.Projects.for.the.Evil.Genius].Simon.Monk.文字版.pdf38. 单片机的串口知识.zip39. [Getting.Started.with.Arduino(2nd.2011.9)].Massimo.Banzi.文字版.pdf40. 智能小车制作.doc41. 智能循迹小车设计报告.ppt42. Arduino_电子积木基础套装中文教程.pdf43. Tiny6410SDK-1111-底板原理图(Tiny6410开发板原理图).pdf44. ATmega64资料.PDF45. arduino语言说明.doc46. Sonix(松翰)8bit单片26系列IO型原理及基础教程.pdf47. ATmega128资料.PDF48. arduino_manual.pdf49. 基于单片机的智能型金属探测器的设计.doc50. 电动机的单片机控制.pdf51. Arduino使用教程.pdf52. ENC-03M陀螺仪模块.rar53. 单片机器件手册.pdf54. Arduino电子积木用户手册.pdf55. RF905-无线调试板开发包.rar56. [Beginning.Arduino].Michael.McRoberts.文字版.pdf57. Arduino_booklet02.pdf58. 郭天祥《十天学会单片机和C语言编程》.pdf59. [Arduino:A.Quick-Start.Guide].Maik.Schmidt.文字版.pdf60. 实验四 移位寄存器.pdf61. 郭天祥51单片机.rar62. STC89C52单片机的中文介绍.pdf63. 基于单片机的数字电压表设计.pdf64. 郭天祥 十天学会单片机和c语言--课后答案.doc65. 12864点阵型液晶显示.pdf66. 单片机学习方法与感悟.rar67. pcf8591资料.pdf68. 万年历C程序.rar69. ATmega16_cn学习资料.pdf70. C8051F34x中文版.pdf71. C51单片机及C语言知识点必备秘籍.pdf72. 51实验板原理图显示部分.pdf73. HT45R37 使用SPI 進行資料傳輸的方法.pdf74. 32位单片机C语言编程:基于PIC32图书电子版.zip75. HT45F23 Comparator 功能使用範例.pdf76. HOT-51电路图.pdf77. HT45F23 OPA 功能.pdf78. AVR单片机C语言程序设计实例精粹[图与程序].rar79. HT45F23 ADC 功能應用實例.pdf80. 单片机面试题.doc81. 如何将代码烧入STC单片机.doc82. 8051C语言设计艺术.pdf83. 51单片机学习资料打包.zip84. 10天学会单片机实例100.zip85. 单片机的40个实验.pdf86. atmega48资料.pdf87. MCS-51单片机原理.pdf88. AVR单片机C语言开发入门指导.pdf89. PID通俗释义.doc90. MSP430 电容单触式传感器设计指南.pdf91. AVR系列单片机C语言编程与应用实例.pdf92. 51单片机小精灵.rar93. 基于单片机的嵌入式TCP/IP协议栈的设计与实现.pdf94. 实战AVR单片机C语言.pdf95. 如何设计复杂的多任务程序.rar96. 流水灯的设计.pdf97. 深入浅出AVR单片机.pdf98. 巡线小车.zip99. 89ZLG72单片机资料.pdf100. ATmega48单片机学习板.doc

    标签: 数字 电视原理

    上传时间: 2013-07-30

    上传用户:eeworm