JASON0916

    1. MSP430G2553 PCF8591的IIC程序 6/5840 微控制器 MCU 2014-04-28
      星空暖暖的 发表于 2014-4-8 19:21 这个程序经检验没有错误,但是为什么耗时很长呢,我用pcf8591产生正弦波,产生的频率特别低,最高只有30H ...
      我是菜鸟……做这个的时候只学了几天,现在几乎都忘了,帮不到你不好意思
    2. 加油!
    3. MSP430G2553 PCF8591的IIC程序 6/5840 微控制器 MCU 2013-11-24
      以上是我用51程序改过来的,可以通过按1.3的按键控制输出电压。希望能帮到以后看到这个贴的各位。加油!
    4. MSP430G2553 PCF8591的IIC程序 6/5840 微控制器 MCU 2013-11-24
      #include unsigned char DuanMa[10]={0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8,0x80,0x90};// 显示段码值0~9 unsigned char WeiMa[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//分别对应相应的数码管点亮,即位码 unsigned char TempData[8]; //存储显示值的全局变量 #define AddWr 0x90   //写数据地址 #define SDA BIT6 #define SCL BIT7 void sda_high(void) { //将sda设置为输出模式 P1DIR |=SDA; //sda管教输出为高电平 P1OUT |=SDA; return; } void sda_low(void) { //将SDA设置为输出模式 P1DIR |=SDA; //sda管教输出为低电平 P1OUT &= ~(SDA); return; } void scl_high(void) { //将SCL设置为输出模式 P1DIR |= SCL; //SCL管脚输出为高电平 P1OUT |= SCL; return; } void scl_low(void) { //将scl设置为输出模式 P1DIR |=SCL; //scl管教输出为低电平 P1OUT &= ~(SCL); return; } void Start_I2c() {   sda_high();   _NOP();   scl_high();   _NOP();    //起始条件建立时间大于4.7us,延时   _NOP();   _NOP();   _NOP();   _NOP();   sda_low();   _NOP();    //起始条件建立时间大于4.7us,延时   _NOP();   _NOP();   _NOP();   _NOP();      scl_low();   _NOP();   _NOP(); } void Stop_I2c() {   sda_low();   _NOP();   scl_high();   _NOP();    //起始条件建立时间大于4.7us,延时   _NOP();   _NOP();   _NOP();   _NOP();      sda_high();   _NOP();    //起始条件建立时间大于4.7us,延时   _NOP();   _NOP();   _NOP(); } void  SendByte(unsigned char c) { unsigned char BitCnt; for(BitCnt=0;BitCnt
    5. 求大神帮忙呀,IIC快疯了 17/5570 微控制器 MCU 2013-11-24
      感谢楼主!我这边刚刚用51改过来的代码运行成功了,好开心!原来学单片机那么有趣的!谢谢谢谢!哈哈哈哈哈
    6. MSP430硬件I2C程序 34/10648 微控制器 MCU 2013-11-23
      是这样的,我把程序烧到板子里发现1.6SCL有输出,但是1.7的SDA没有输出,想问问楼主是不是我这边板子坏了还是怎么的?IIC已经折磨了我三个星期要跪了orz
    7. 5438A与RTC PCF8563程序 5/2716 微控制器 MCU 2013-11-23
      楼主能把你的程序发出来看看么?我最近在研究PCF8591,也是IIC的问题,我这边连SDA SCL输出都没有orz要崩溃了,一起看看研究下?
    8. MSP430G2553 PCF8591的IIC程序 6/5840 微控制器 MCU 2013-11-23
      我解释一下我现在碰到的情况哈,主要是1.4,1.5完全没有输出,也就是没有波形,所以理所当然没办法使8591输出电压。但是我之后看官方例程,用的是USCI自带的IIc功能,烧到单片机里后发现好一点了,有时钟SCL输出了,但是SDA仍然没有,这就很苦恼,完全想不通为什么啊orz 以下是改过之后的官方例程,我只是改了从机地址(0x90)和控制位地址(0x40),别的都没改过 //****************************************************************************** //  MSP430G2xx3 Demo - USCI_B0 I2C Master Interface to DAC8571, Write // //  Description: Using UCB0TXIE, a continuous sine wave is output to the //  external DAC using a 16-point look-up table. Only one start condition //  is executed. Data is handled by the ISR and the CPU is normally in LPM0. //  ACLK = n/a, MCLK = SMCLK = BRCLK = default DCO = ~1.2MHz // //               MSP430G2xx3                       DAC8571 //           ------------------                   ------------ //         -|XIN   P1.7/UCB0SDA||SDA         | //          |      P1.6/UCB0SCL|---------------->|SCL  I2C    | //         -|XOUT              |                 |    SLAVE   | //          |     I2C MASTER   |              GND|A0          | // // //  DAC8571 I2C address = 0x4C (A0 = GND) // //  D. Dang //  Texas Instruments Inc. //  February 2011 //   Built with CCS Version 4.2.0 and IAR Embedded Workbench Version: 5.10 //****************************************************************************** #include "msp430g2553.h" const unsigned char Sine_Tab[] =            // 16 Point 16-bit Sine Table {   0xFF,                                     // MSB Word 0   0xFF,                                     // LSB   0xF6,                                     // MSB Word 1   0x40,                                     // LSB   0xDA,                                     // MSB Word 2   0x81,                                     // LSB   0xB0,                                     // MSB Word 3   0xFA,                                     // LSB   0x7F,                                     // MSB Word 4   0xFF,                                     // LSB   0x4F,                                     // MSB Word 5   0x03,                                     // LSB   0x25,                                     // MSB Word 6   0x7C,                                     // LSB   0x09,                                     // MSB Word 7   0xBD,                                     // LSB   0x00,                                     // MSB Word 8   0x00,                                     // LSB   0x09,                                     // MSB Word 9   0xBD,                                     // LSB   0x25,                                     // MSB Word 10   0x7C,                                     // LSB   0x4F,                                     // MSB Word 11   0x03,                                     // LSB   0x7F,                                     // MSB Word 12   0xFE,                                     // LSB   0xB0,                                     // MSB Word 13   0xFA,                                     // LSB   0xDA,                                     // MSB Word 14   0x81,                                     // LSB   0xF6,                                     // MSB Word 15   0x40                                      // LSB }; void main(void) {   WDTCTL = WDTPW + WDTHOLD;                 // Stop Watchdog Timer   P1SEL |= BIT6 + BIT7;                     // Assign I2C pins to USCI_B0,1.6SCL   P1SEL2|= BIT6 + BIT7;                     // Assign I2C pins to USCI_B0,1.7SDA   UCB0CTL1 |= UCSWRST;                      // Enable SW reset   UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC;     // I2C Master, synchronous mode   UCB0CTL1 = UCSSEL_2 + UCSWRST;            // Use SMCLK, keep SW reset   UCB0BR0 = 12;                             // fSCL = SMCLK/12 = ~100kHz   UCB0BR1 = 0;   UCB0I2CSA = 0x90;                         // Set slave address   UCB0CTL1 &= ~UCSWRST;                     // Clear SW reset, resume operation   IE2 |= UCB0TXIE;                          // Enable TX ready interrupt   UCB0CTL1 |= UCTR + UCTXSTT;               // I2C TX, start condition   UCB0TXBUF = 0x40;                        // Write DAC control byte   __bis_SR_register(CPUOFF + GIE);          // Enter LPM0 w/ interrupts } // USCI_B0 Data ISR #pragma vector = USCIAB0TX_VECTOR __interrupt void USCIAB0TX_ISR(void) {   static unsigned char ByteCtr=0;   UCB0TXBUF = 0XFF        ; // Transmit data byte   ByteCtr &= 0x1f;                          // Do not exceed table } 求问各位大大
    9. 用pcf8591模块输出电压控制摇杆 1/3936 51单片机 2013-11-23
      不知道楼主最后搞定这个没,我现在也在纠结这个,虽然输出电压是用来控制激光二极管的不过大体一样啦。求楼主搞定了的话放个程序成不?多谢!
    10. 求大神帮忙呀,IIC快疯了 17/5570 微控制器 MCU 2013-11-21
      我也在做IIC,但是已经研究了三个星期了仍然没什么进展。能不能请楼主大大放下你的程序?我实在是无力了。因为我刚接触单片机也就一个月,所以实在是举步维艰。

最近访客

< 1/1 >

统计信息

已有54人来访过

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

留言

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


现在还没有留言