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

0<b>10</b>8

  • 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

  • UG NX 8.0、UG NX 8.5、UG NX 9.0 设计教程合集(80套)220G!

    新手推荐UG教程 -2014-12-10 23:11 轻松掌握UG NX8中文版产品造型设计.rar 3.37G2014-12-10 23:11 UG NX模具工程师宝典.rar 3.32G2014-12-10 23:11 UG NX产品工程师宝典.rar 2.9G2014-12-10 23:11 UG NX8数控加工全解视频精讲.rar 1.62G2014-12-10 23:11 UG NX8三维设计全解视频精讲.rar 7.15G2014-12-10 23:11 UG NX8从入门到精通.rar 2.36G2014-12-10 23:11 UG NX8.0中文版标准实例教程.rar 825.2M2014-12-10 23:11 UG NX8.0曲面设计教程.rar 1.49G2014-12-10 23:11 UG NX 9.0数控加工完全学习手册.rar 5.36G2014-12-10 23:11 UG NX 9.0数控加工教程.rar 4.35G2014-12-10 23:11 UG NX 9.0入门·进阶·精通.rar 2.4G2014-12-10 23:11 UG NX 9.0曲面设计实例精解.rar 5.78G2014-12-10 23:11 UG NX 9.0曲面设计教程.rar 4.18G2014-12-10 23:11 UG NX 9.0模具设计教程.rar 4.43G2014-12-10 23:11 UG NX 9.0快速入门教程.rar 4.83G2014-12-10 23:11 UG NX 9.0工程图教程.rar 1.82G2014-12-10 23:11 UG NX 9.0产品设计完全学习手册.rar 2.36G2014-12-10 23:11 UG NX 8中文版完全自学一本通.rar 4.38G2014-12-10 23:11 UG NX 8中文版设计基础与实践.rar 3.97G2014-12-10 23:11 UG NX 8中文版曲面设计从入门到精通.rar 4.2G2014-12-10 23:11 UG NX 8中文版零件设计实例精讲.rar 3.2G2014-12-10 23:11 UG NX 8中文版机械与产品造型设计实例精讲.rar 3.55G2014-12-10 23:11 UG NX 8中文版机械设计从入门到精通.rar 4.12G2014-12-10 23:11 UG NX 8数控编程设计授课笔记.rar 1.25G2014-12-10 23:11 UG NX 8数控编程基本功特训.rar 2.48G2014-12-10 23:11 UG NX 8模具设计从入门到精通.rar 2.3G2014-12-10 23:11 UG NX 8产品设计与工艺基本功特训.rar 3.51G2014-12-10 23:11 UG NX 8产品设计授课笔记.rar 3.37G2014-12-10 23:11 UG NX 8.5中文版数控加工高手必备118招.rar 423.2M2014-12-10 23:11 UG NX 8.5运动分析教程.rar 2.36G2014-12-10 23:11 UG NX 8.5数控加工实例精解.rar 4.73G2014-12-10 23:11 UG NX 8.5数控加工入门与提高.rar 2.03G2014-12-10 23:11 UG NX 8.5数控加工教程.rar 3.34G2014-12-10 23:11 UG NX 8.5实例宝典.rar 5.22G2014-12-10 23:11 UG NX 8.5曲面设计实例精解.rar 5.96G2014-12-10 23:11 UG NX 8.5曲面设计教程.rar 3.33G2014-12-10 23:11 UG NX 8.5模具设计入门与提高.rar 3.22G2014-12-10 23:11 UG NX 8.5模具设计教程.rar 4.29G2014-12-10 23:11 UG NX 8.5快速入门教程.rar 3.13G2014-12-10 23:11 UG NX 8.5多轴数控加工典型实例详解.rar 2.55G2014-12-10 23:11 UG NX 8.5必学技能100例.rar 1.1G2014-12-10 23:11 UG NX 8.5宝典.rar 5.03G2014-12-10 23:11 UG NX 8.5钣金设计实例精解.rar 5.86G2014-12-10 23:11 UG NX 8.0中文版造型设计专家范例详解.rar 3.89G2014-12-10 23:11 UG NX 8.0中文版造型设计高手速成.rar 2.94G2014-12-10 23:11 UG NX 8.0中文版数字样机技术及其应用实例.rar 3.96G2014-12-10 23:11 UG NX 8.0中文版数控加工设计高手速成.rar 1.92G2014-12-10 23:11 UG NX 8.0中文版数控加工从入门到精通.rar 832.7M2014-12-10 23:11 UG NX 8.0中文版设计高手速成.rar 2.31G2014-12-10 23:11 UG NX 8.0中文版三维造型设计基础.rar 1.36G2014-12-10 23:11 UG NX 8.0中文版曲面造型从入门到精通.rar 1.36G2014-12-10 23:11 UG NX 8.0中文版模具设计高手速成.rar 3.51G2014-12-10 23:11 UG NX 8.0中文版快速入门实例教程.rar 896.9M2014-12-10 23:11 UG NX 8.0中文版基础入门与范例精通.rar 3.09G2014-12-10 23:11 UG NX 8.0中文版机械设计高手速成.rar 1.53G2014-12-10 23:11 UG NX 8.0中文版机械设计从入门到精通.rar 1.25G2014-12-10 23:11 UG NX 8.0中文版从入门到精通.rar 1.59G2014-12-10 23:11 UG NX 8.0中文版钣金设计从入门到精通.rar 1.18G2014-12-10 23:11 UG NX 8.0造型设计完全学习手册.rar 2.15G2014-12-10 23:11 UG NX 8.0数控加工教程.rar 1.65G2014-12-10 23:11 UG NX 8.0数控加工基础教程.rar 684M2014-12-10 23:11 UG NX 8.0曲面设计实例精解.rar 2.44G2014-12-10 23:11 UG NX 8.0模具设计完全学习手册.rar 2.81G2014-12-10 23:11 UG NX 8.0模具设计教程.rar 2.38G2014-12-10 23:11 UG NX 8.0快速入门进阶与精通.rar 1.34G2014-12-10 23:11 UG NX 8.0快速入门教程.rar 1.66G2014-12-10 23:11 UG NX 8.0机械设计教程.rar 971.7M2014-12-10 23:11 UG NX 8.0机械设计基础及应用.rar 945.8M2014-12-10 23:11 UG NX 8.0工程应用实战精解.rar 1.35G2014-12-10 23:11 UG NX 8.0动力学与有限元分析从入门到精通.rar 1.24G2014-12-10 23:11 UG NX 8.0典型实例解析.rar 3.18G2014-12-10 23:11 UG NX 8.0钣金设计实例精解.rar 2.39G2014-12-10 23:11 UG NX 8.0钣金设计教程.rar 1.64G2014-12-10 23:11 UG CAM数控自动编程实训教程.rar 891.7M2014-12-10 23:11 UG 8.5入门与范例精通.rar 1.05G2014-12-10 23:11 UG 8.5产品设计实战从入门到精通.rar 1.18G2014-12-10 23:11 48小时精通UG NX 8.0 8.5中文版造型设计技巧.rar 1.57G2014-12-10 23:11 48小时精通UG NX 8.0 8.5中文版模具设计技巧.rar 1.78G2014-12-10 23:11

    标签: AVX 钽电容 样本

    上传时间: 2013-04-15

    上传用户:eeworm

  • 天正建筑cad 8.0单机版破解版免费下载

    附件为天正建筑8.0单机版安装程序,内含天正建筑8.0单机版破解文件和天正注册机。 天正建筑8.0免费下载TArch 8采用了全新的开发技术,对软件技术核心进行了全面的提升,特别在自定义对象核心技术方面取得了革命性突破!传统的以自定义对象为基础的建筑软件每次大版本的升级都会造成文件格式不兼容,TArch8引入了动态数据扩展的技术解决方案,突破了这一限制。以这一开放性技术创新为基础,用户再也不需要为之后大版本升级的文件格式兼容问题而烦恼,同时,这也必将极大地促进设计行业图纸交流问题的解决。 天正建筑8.0是为 cad 2008 而准备的 计算机辅助设计而量身定制软件工具。是CAD更加强大。 软件功能设计的目标定位 天正建筑8.0应用专业对象技术,在三维模型与平面图同步完成的技术基础上,进一步满足建筑施工图需要反复修改的要求。 利用天正专业对象建模的优势,为规划设计的日照分析提供日照分析模型(如下图)和遮挡模型;为强制实施的建筑节能设计提供节能建筑分析模型。实现高效化、智能化、可视化始终是天正建筑CAD软件的开发目标。 自定义对象构造专业构件 天正建筑8.0开发了一系列自定义对象表示建筑专业构件,具有使用方便、通用性强的特点。例如各种墙体构件具有完整的几何和材质特征。可以像AutoCAD的普通图形对象一样进行操作, 可以用夹点随意拉伸改变几何形状,与门窗按相互关系智能联动(如下图),显著提高编辑效率。具有旧图转换的文件接口,可将TArch 3以下版本天正软件绘制的图形文件转换为新的对象格式,方便原有用户的快速升级。同时提供了图形导出命令的文件接口,可将TArch 8.0 新版本绘制的图形导出,作为下行专业条件图使用。

    标签: cad 8.0 单机

    上传时间: 2013-10-14

    上传用户:adada

  • MSP430系列超低功耗16位单片机原理与应用

    MSP430系列超低功耗16位单片机原理与应用TI公司的MSP430系列微控制器是一个近期推出的单片机品种。它在超低功耗和功能集成上都有一定的特色,尤其适合应用在自动信号采集系统、液晶显示智能化仪器、电池供电便携式装置、超长时间连续工作设备等领域。《MSP430系列超低功耗16位单片机原理与应用》对这一系列产品的原理、结构及内部各功能模块作了详细的说明,并以方便工程师及程序员使用的方式提供软件和硬件资料。由于MSP430系列的各个不同型号基本上是这些功能模块的不同组合,因此,掌握《MSP430系列超低功耗16位单片机原理与应用》的内容对于MSP430系列的原理理解和应用开发都有较大的帮助。《MSP430系列超低功耗16位单片机原理与应用》的内容主要根据TI公司的《MSP430 Family Architecture Guide and Module Library》一书及其他相关技术资料编写。  《MSP430系列超低功耗16位单片机原理与应用》供高等院校自动化、计算机、电子等专业的教学参考及工程技术人员的实用参考,亦可做为应用技术的培训教材。MSP430系列超低功耗16位单片机原理与应用 目录  第1章 MSP430系列1.1 特性与功能1.2 系统关键特性1.3 MSP430系列的各种型号??第2章 结构概述2.1 CPU2.2 代码存储器?2.3 数据存储器2.4 运行控制?2.5 外围模块2.6 振荡器、倍频器和时钟发生器??第3章 系统复位、中断和工作模式?3.1 系统复位和初始化3.2 中断系统结构3.3 中断处理3.3.1 SFR中的中断控制位3.3.2 外部中断3.4 工作模式3.5 低功耗模式3.5.1 低功耗模式0和模式13.5.2 低功耗模式2和模式33.5.3 低功耗模式43.6 低功耗应用要点??第4章 存储器组织4.1 存储器中的数据4.2 片内ROM组织4.2.1 ROM表的处理4.2.2 计算分支跳转和子程序调用4.3 RAM与外围模块组织4.3.1 RAM4.3.2 外围模块--地址定位4.3.3 外围模块--SFR??第5章 16位CPU?5.1 CPU寄存器5.1.1 程序计数器PC5.1.2 系统堆栈指针SP5.1.3 状态寄存器SR5.1.4 常数发生寄存器CG1和CG2?5.2 寻址模式5.2.1 寄存器模式5.2.2 变址模式5.2.3 符号模式5.2.4 绝对模式5.2.5 间接模式5.2.6 间接增量模式5.2.7 立即模式5.2.8 指令的时钟周期与长度5.3 指令集概述5.3.1 双操作数指令5.3.2 单操作数指令5.3.3 条件跳转5.3.4 模拟指令的简短格式5.3.5 其他指令5.4 指令分布??第6章 硬件乘法器?6.1 硬件乘法器的操作6.2 硬件乘法器的寄存器6.3 硬件乘法器的SFR位6.4 硬件乘法器的软件限制6.4.1 硬件乘法器的软件限制--寻址模式6.4.2 硬件乘法器的软件限制--中断程序??第7章 振荡器与系统时钟发生器?7.1 晶体振荡器7.2 处理机时钟发生器7.3 系统时钟工作模式7.4 系统时钟控制寄存器7.4.1 模块寄存器7.4.2 与系统时钟发生器相关的SFR位7.5 DCO典型特性??第8章 数字I/O配置?8.1 通用端口P08.1.1 P0的控制寄存器8.1.2 P0的原理图8.1.3 P0的中断控制功能8.2 通用端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理图8.2.3 P1、P2的中断控制功能8.3 通用端口P3、P48.3.1 P3、P4的控制寄存器8.3.2 P3、P4的原理图8.4 LCD端口8.5 LCD端口--定时器/端口比较器??第9章 通用定时器/端口模块?9.1 定时器/端口模块操作9.1.1 定时器/端口计数器TPCNT1--8位操作9.1.2 定时器/端口计数器TPCNT2--8位操作9.1.3 定时器/端口计数器--16位操作9.2 定时器/端口寄存器9.3 定时器/端口SFR位9.4 定时器/端口在A/D中的应用9.4.1 R/D转换原理9.4.2 分辨率高于8位的转换??第10章 定时器?10.1 Basic Timer110.1.1 Basic Timer1寄存器10.1.2 SFR位10.1.3 Basic Timer1的操作10.1.4 Basic Timer1的操作--LCD时钟信号fLCD?10.2 8位间隔定时器/计数器10.2.1 8位定时器/计数器的操作10.2.2 8位定时器/计数器的寄存器10.2.3 与8位定时器/计数器有关的SFR位10.2.4 8位定时器/计数器在UART中的应用10.3 看门狗定时器11.1.3 比较模式11.1.4 输出单元11.2 TimerA的寄存器11.2.1 TimerA控制寄存器TACTL11.2.2 捕获/比较控制寄存器CCTL11.2.3 TimerA中断向量寄存器11.3 TimerA的应用11.3.1 TimerA增计数模式应用11.3.2 TimerA连续模式应用11.3.3 TimerA增/减计数模式应用11.3.4 TimerA软件捕获应用11.3.5 TimerA处理异步串行通信协议11.4 TimerA的特殊情况11.4.1 CCR0用做周期寄存器11.4.2 定时器寄存器的启/停11.4.3 输出单元Unit0??第12章 USART外围接口--UART模式?12.1 异步操作12.1.1 异步帧格式12.1.2 异步通信的波特率发生器12.1.3 异步通信格式12.1.4 线路空闲多处理机模式12.1.5 地址位格式12.2 中断与控制功能12.2.1 USART接收允许12.2.2 USART发送允许12.2.3 USART接收中断操作12.2.4 USART发送中断操作12.3 控制与状态寄存器12.3.1 USART控制寄存器UCTL12.3.2 发送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率选择和调制控制寄存器12.3.5 USART接收数据缓存URXBUF12.3.6 USART发送数据缓存UTXBUF12.4 UART模式--低功耗模式应用特性12.4.1 由UART帧启动接收操作12.4.2 时钟频率的充分利用与UART模式的波特率12.4.3 节约MSP430资源的多处理机模式12.5 波特率的计算??第13章 USART外围接口--SPI模式?13.1 USART的同步操作13.1.1 SPI模式中的主模式--MM=1、SYNC=113.1.2 SPI模式中的从模式--MM=0、SYNC=113.2 中断与控制功能13.2.1 USART接收允许13.2.2 USART发送允许13.2.3 USART接收中断操作13.2.4 USART发送中断操作13.3 控制与状态寄存器13.3.1 USART控制寄存器13.3.2 发送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率选择和调制控制寄存器13.3.5 USART接收数据缓存URXBUF13.3.6 USART发送数据缓存UTXBUF??第14章 液晶显示驱动?14.1 LCD驱动基本原理14.2 LCD控制器/驱动器14.2.1 LCD控制器/驱动器功能14.2.2 LCD控制与模式寄存器14.2.3 LCD显示内存14.2.4 LCD操作软件例程14.3 LCD端口功能14.4 LCD与端口模式混合应用实例??第15章 A/D转换器?15.1 概述15.2 A/D转换操作15.2.1 A/D转换15.2.2 A/D中断15.2.3 A/D量程15.2.4 A/D电流源15.2.5 A/D输入端与多路切换15.2.6 A/D接地与降噪15.2.7 A/D输入与输出引脚15.3 A/D控制寄存器??第16章 其他模块16.1 晶体振荡器16.2 上电电路16.3 晶振缓冲输出??附录A 外围模块地址分配?附录B 指令集描述?B1 指令汇总B2 指令格式B3 不增加ROM开销的指令模拟B4 指令说明B5 用几条指令模拟的宏指令??附录C EPROM编程?C1 EPROM操作C2 快速编程算法C3 通过串行数据链路应用\"JTAG\"特性的EPROM模块编程C4 通过微控制器软件实现对EPROM模块编程??附录D MSP430系列单片机参数表?附录E MSP430系列单片机产品编码?附录F MSP430系列单片机封装形式?

    标签: MSP 430 超低功耗 位单片机

    上传时间: 2014-05-07

    上传用户:lwq11

  • 天正建筑cad 8.0单机版破解版免费下载

    附件为天正建筑8.0单机版安装程序,内含天正建筑8.0单机版破解文件和天正注册机。 天正建筑8.0免费下载TArch 8采用了全新的开发技术,对软件技术核心进行了全面的提升,特别在自定义对象核心技术方面取得了革命性突破!传统的以自定义对象为基础的建筑软件每次大版本的升级都会造成文件格式不兼容,TArch8引入了动态数据扩展的技术解决方案,突破了这一限制。以这一开放性技术创新为基础,用户再也不需要为之后大版本升级的文件格式兼容问题而烦恼,同时,这也必将极大地促进设计行业图纸交流问题的解决。 天正建筑8.0是为 cad 2008 而准备的 计算机辅助设计而量身定制软件工具。是CAD更加强大。 软件功能设计的目标定位 天正建筑8.0应用专业对象技术,在三维模型与平面图同步完成的技术基础上,进一步满足建筑施工图需要反复修改的要求。 利用天正专业对象建模的优势,为规划设计的日照分析提供日照分析模型(如下图)和遮挡模型;为强制实施的建筑节能设计提供节能建筑分析模型。实现高效化、智能化、可视化始终是天正建筑CAD软件的开发目标。 自定义对象构造专业构件 天正建筑8.0开发了一系列自定义对象表示建筑专业构件,具有使用方便、通用性强的特点。例如各种墙体构件具有完整的几何和材质特征。可以像AutoCAD的普通图形对象一样进行操作, 可以用夹点随意拉伸改变几何形状,与门窗按相互关系智能联动(如下图),显著提高编辑效率。具有旧图转换的文件接口,可将TArch 3以下版本天正软件绘制的图形文件转换为新的对象格式,方便原有用户的快速升级。同时提供了图形导出命令的文件接口,可将TArch 8.0 新版本绘制的图形导出,作为下行专业条件图使用。

    标签: cad 8.0 单机

    上传时间: 2013-10-23

    上传用户:独孤求源

  • 数字运算

    数字运算,判断一个数是否接近素数 A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value. Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not. Input Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone. Output For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise. Sample Input 10 111 2 110 10 123 6 1000 8 2314 0 Sample Output yes yes no yes no

    标签: 数字 运算

    上传时间: 2015-05-21

    上传用户:daguda

  • 赛元SC95F智能风扇项目源码

    功能设计:1、风扇调速模式;        A、3档调速,低中高风速        B、智能感知控制模式        根据环境温度和人体感应控制风扇启动以及风速大小和摇头功能。        首先利用温度传感器DS18B20检测当前环境温度,当环境温度>25度时,此时又通过人体红外感应传感器感应到有人时,风扇自动启动。温度越高风扇风速越大。温度>32度时风速最大,当温度小于25度时,风扇自动关闭待机。        当风扇人体感应检测到人离开10分钟后,风扇自动停止待机。当检测到人时再重新启动。当夜间0点至早7点除外,无论是否有人都不关机。2、        摇头功能3、        定时时间功能,最长8小时。以分钟计:0,10,20,30,40,50,60,90,120,180,240,300,360,420,480。4、支持红外遥控器和风扇本身按键(开机键,功能键,风速模式切换键,摇头按键,定时按键),按键使用赛元的触摸按键资源。5、OLED液晶屏信息显示        当前环境温度、湿度显示:利用DHT11温湿度传感器检测房间温湿度,当风扇待机时,任意按键后显示。        风扇启动后显示风速模式和大小,是否摇头标志以及房间当前检测温度。        风扇启动后当设置了定时关机时间后,会显示定时时间倒计时。        利用BaseTime定时器定时1秒实现了实时时间和日期,通过按键设置并在OLED上显示。

    标签: sc95f 智能风扇

    上传时间: 2022-05-18

    上传用户:

  • (网盘)Arduino iot学习套餐

    |- 9.配套数据手册 - 0 B|- 8.面包板接线软件 - 0 B|- 7.物联网实验 - 0 B|- 6.图形化编程 - 0 B|- 5.实验接线图 - 0 B|- 4.视频教程 - 0 B|- 3.案例程序 - 0 B|- 2.开发环境 - 0 B|- 10.辅助软件 - 0 B|- 1.学前先看 - 0 B|- CLB.ico - 17.00 kB|- Autorun.inf - 23 B

    标签: arduino iot

    上传时间: 2022-06-06

    上传用户:

  • USB2.0硬件设计.rar

    USB2.0硬件设计.pdf,8.06M,342页

    标签: USB 2.0 硬件设计

    上传时间: 2013-05-20

    上传用户:大融融rr

  • 80C51特殊功能寄存器地址表

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

    标签: 80C51 特殊功能寄存器 地址

    上传时间: 2013-10-30

    上传用户:yxgi5