libing6104008

    1. PIC16F877A CCP输入捕捉问题 12/9029 Microchip MCU 2010-01-16
      首先给你看下源代码: 第10章  利用CCP模块设计频率计 10.5  程序设计 10.5.4  程序清单 #include                #include                #include                //本程序利用CCP1模块实现一个“简易数字频率计”的功能 const  char        table[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0xFF}; //不带小数点的显示段码表 const  char        table0[11]={0X40,0X79,0X24,0X30,0X19,0X12,0X02,0X78,0X00,0X10,0xFF}; //带小数点的显示段码表 bank3        int        cp1z[11];                        //定义一个数组,用于存放各次的捕捉值 union        cp1 {int                y1;         unsigned  char        cp1e[2]; }cp1u;                                                        //定义一个共用体 unsigned        char        COUNTW,COUNT;        //测量脉冲个数寄存器 unsigned        char        COUNTER,data,k; unsigned        char        FLAG @ 0XEF; #define FLAGIT(adr,bit)  ((unsigned)(&adr)*8+(bit))        //绝对寻址位操作指令 static        bit FLAG1  @ FLAGIT(FLAG,0); static        bit FLAG2  @ FLAGIT(FLAG,1); static        bit FLAG3  @ FLAGIT(FLAG,2); unsigned        char        s[4];                                //定义一个显示缓冲数组 int                T5 ,uo; double        RE5; double        puad5; //spi方式显示初始化子程序 void SPIINIT() {         PIR1=0;         SSPCON=0x30;                SSPSTAT=0xC0; //设置SPI的控制方式,允许SSP方式,并且时钟下降沿发送,与"74HC595,当其 //SCLk从低到高跳变时,串行输入寄存器"的特点相对应         TRISC=0xD7;                                //SDO引脚为输出,SCK引脚为输出         TRISA5=0;                                        //RA5引脚设置为输出,以输出显示锁存信号         FLAG1=0        ;         FLAG2=0        ;         FLAG3=0        ;         COUNTER=0X01; } //CCP模块工作于捕捉方式初始化子程序 void        ccpint( ) {         CCP1CON=0X05;                                //首先设置CCP1捕捉每个脉冲的上升沿         T1CON=0X00;                                //关闭TMR1震荡器         PEIE=1;                                                //外围中断允许(此时总中断关闭)         CCP1IE=1;                                        //允许CCP1中断         TRISC2=1;                                        //设置RC2为输入 } //系统其它部分初始化子程序 void        initial( ) {         COUNT=0X0B;                                //为保证测试精度,测试5个脉冲的参数后         //求平均值,每个脉冲都要捕捉其上升、下降沿,         //故需要有11次中断         TRISB1=0;         TRISB2=0;         TRISB4=1;         TRISB5=1;                                        //设置与键盘有关的各口的输入、输出方式         RB1=0;         RB2=0;                                                //建立键盘扫描的初始条件        } //SPI传送数据子程序 void                  SPILED(data) {         SSPBUF=data;                                //启动发送         do        {                   ;         }while(SSPIF==0);         SSPIF=0; } //显示子程序,显示4位数 void        display( ) {         RA5=0;                                                //准备锁存         for(COUNTW=0;COUNTW
    2. LM324四运放的应用 5/3236 模拟电子 2009-08-30
      很好很不错,希望能多分享些运放方面的资料!
    3. 运放设计宝典 93/20760 模拟电子 2009-08-30
      你的价钱也要得太高了,狠不利于大家学习啊!
    4. 电子元件基础知识PPT 186/33116 模拟电子 2009-08-30
      你这也太贵了,就不能弄成一个吗!
    5. 全面的运算放大器资料3 42/8725 模拟电子 2009-08-28
      谢谢了,很想把运放和三极管,MOS管好好学学
    6. 很好,很不错,我也是搞汽车电子的还希望向大家多学学

最近访客

< 1/1 >

统计信息

已有172人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:6

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言