shuizhiqing

    1. 看看老外设计的LED台灯 1771/192607 LED专区 2012-10-20
      老外滴
    2. 模拟、PWM和TRIAC调光方案 181/36313 LED专区 2012-10-20
      好哇!!
    3. 推荐一个超好的FPGA设计文档 367/60168 FPGA/CPLD 2011-10-09
      嗯,好好耶~~~
    4. 各位大仙帮忙看看为啥PWM,木有输出 8/3786 微控制器 MCU 2011-08-15
      1.关闭看门狗; 2.打开8M晶振并进行相关设置或者使用默认的DCO(800Khz)进行相关设置; 建议你看看TI的例程
    5. 用msp430完成频率的测量 3/4137 微控制器 MCU 2011-08-15
      我这儿硬件显示有点问题,很暗,应该延时那的问题吧!再改改就可以了
    6. 为什么TI官网上没有430捕获的例程的? 2/3992 微控制器 MCU 2011-08-15
      #include"msp430x14x.h" #define uchar unsigned char #define uint unsigned int #define lint long int unsigned int pwm_start,pwm_end,overflow; float data,num ,fre=0.000; long int  j=0; uchar a[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //0->9,共阴; uchar num1,num2,num3,num4,num5,num6; void delay(uint j) //延时函数 { uint x,y; for(x=j;x>0;x--) for(y=50;y>0;y--); } void xianshi(float fre)//数码管动态显示函数(P2->位,P3->段) { lint tt,ttt,tttt,ttttt; tt=(lint)fre; //整数部分 ttt=(lint)(fre*10);//第一位小数 tttt=(lint)(fre*100);//第二位小数 ttttt=(lint)(fre*1000); num1=(tt/100)%10; num2=(tt/10)%10; num3=tt%10; num4=ttt%10; num5=tttt%10; num6=ttttt%10; P2OUT |= BIT0;//亮第一个数码管 P3OUT=a[num1]; delay(6); P2OUT=0x00; P2OUT = 0x02;//亮第二个数码管 P3OUT=a[num2]; delay(6); P2OUT=0x00; P2OUT = 0x04;//亮第三个数码管 P3OUT=a[num3]; P3OUT |=BIT7;//点亮小数点 delay(6); P2OUT=0x00; P2OUT = 0x08;//亮第四个数码管 P3OUT=a[num4]; delay(6); P2OUT=0x00; P2OUT = 0x10;//亮第五个数码管 P3OUT =a[num5];//第一位小数 delay(6); P2OUT =0x00; P2OUT = 0x20;//亮第六个数码管 P3OUT =a[num6];//第二位小数 delay(6); P2OUT=0x00; } void main (void) { WDTCTL = WDTPW+WDTHOLD; //关闭看门狗定时器 P1SEL = BIT2; //设置P1.2端口为功能模块使用,CCI0A P2DIR =0x3f; //位选 P3DIR =0xff; //段选 P2OUT =0x00; P3OUT =0x00; TACTL = TASSEL0+TACLR+TAIE+MC1; //定时器A时钟信号选择ACLK,同时设置定时器A计数模式为连续增计模式 CCTL1 = CM_3+SCS+CAP+CCIE+CCIS0; //捕获模式,上升和下降都捕获,CCI0A为捕获信号源 _EINT(); //中断允许 for(;;) { _BIS_SR(LPM0_bits + GIE); _NOP(); data=(pwm_end-pwm_start+overflow*65536)*0.000125; fre=1/(2*data);     // 频率 xianshi(fre); } } // Timer_A3 Interrupt Vector (TAIV) handler #pragma vector=TIMERA1_VECTOR __interrupt void Timer_A1(void) { switch(TAIV) {case 2: if(TACCTL1 & CCI) pwm_start=CCR1; else pwm_end=CCR1; break; case 4: break; case 10: overflow++; break; } LPM0_EXIT; }
    7. msp430f169timera中断测脉宽问题 8/5404 微控制器 MCU 2011-08-15
      P1.2端口作为外部模块输入使用,你在仿真的时候该端口有没有加脉冲信号呢,加了脉冲信号后才有可能触发捕获中断!程序没什么问题的
    8. 一个老工程师对理工科学生的忠告 93/28836 FPGA/CPLD 2011-08-13
      顶,说得好!!
    9. 用msp430完成频率的测量 3/4137 微控制器 MCU 2011-08-13
      该程序存在以下问题: 1,头文件不完整,改为#include"msp430x14x.h" 2,unsigned  pwm_wide;已经定义了pwm_wide为整型的,而pwm_wide=(pwm_end-pwm_start+overflow*65536)*0.000125计算出来的结果是float型的,这就出现了一个问题 3,float data,num,m1和 long int m2=10,j=0中定义的data、m1、m2就没用 建议将pwm_wide=(pwm_end-pwm_start+overflow*65536)*0.000125;             fre=1/(2*pwm_wide); 改为data=(pwm_end-pwm_start+overflow*65536)*0.000125;                                                            fre=1/(2*data); 然后再显示 不知还有什么问题吗!!??:puzzle:
    10. 输出PWM 10/4939 微控制器 MCU 2011-08-10
      对,理论计算确实应该是10Khz!出现这样的问题可能是硬件的问题吧

最近访客

< 1/1 >

统计信息

已有80人来访过

  • 芯积分:--
  • 好友:--
  • 主题:2
  • 回复:10

留言

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


现在还没有留言