專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

基于51單片機驅(qū)動S8330E C語言程序

作者:huqin   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2013年11月15日   【字體:

 //S8330E是日本精工的一個電源IC,需要軟件調(diào)節(jié)電壓輸出值  
#include <reg52.h>  
#include <intrins.h>  
sbit DIN = P1^0;  
sbit CLK = P1^1;  
sbit STB = P1^2;  
sbit Key = P3^4;  
sbit LED = P1^7;  
  
void Delay(unsigned int MS)  
{  
    unsigned char us,usn;  
    while(MS!=0)  
    {  
        usn = 2;    //for 12M  
        while(usn!=0)  
        {  
            us=0xf6;  
            while (us!=0){us--;};  
            usn--;  
        }  
        MS--;  
    }  
}  
  
void DelayKey(unsigned int Second , unsigned int MS100)  
{                       //輸入精確到0.1S,是用,  
    unsigned int i;  
    for(i=0;i<Second*100+MS100*10;i++)  
    {  
        if(Key==0)  
        {  
            Delay(20);  
            while(Key==0) {Delay(20);}  
            break;  
        }  
        else Delay(10);  
    }                 
}  
  
void LEDOnOfF(unsigned char n)  
{  
    unsigned char i;  
    LED = 1;  
    for(i=0;i<2*n;i++)  
    {  
        LED = ~LED;  
        Delay(30);  
    }  
}  
  
void SetVout(unsigned char lv)  
{  
    unsigned char i;  
    STB = 0;        //芯片資料有點問題,只需要在STB=0時送數(shù)據(jù),然后STB=1即有效  
    for(i=0;i<8;i++) //而不需要前后各一個脈沖,芯片說在SEB=0時候Vout輸出Min也不對  
    {           //只有前面時序圖似乎有點正確,后面的詳細操作過程說明有些問題  
        DIN = (lv>>(7-i))&0x01;  
        CLK = 0;  
        _nop_();  
        _nop_();  
        _nop_();  
        _nop_();  
        _nop_();  
        _nop_();  
        CLK = 1;  
        _nop_();  
        _nop_();  
        _nop_();  
        _nop_();  
        _nop_();  
        _nop_();  
  
    }  
    CLK = 0;        //送完一組數(shù)據(jù)后,CLK須為0,見時序圖,否則輸入數(shù)據(jù)無效  
    STB = 1;  
    LEDOnOfF(3);  
}  
  
void main (void)  
{  
    unsigned char i;  
    Delay(10);  
    DelayKey(1,0);  
    LEDOnOfF(1);  
    DelayKey(1,0);  
    for(i=0;i<=255;i=i+5)  
    {  
        SetVout(i);  
        DelayKey(0,2);  
    }  
}  

關(guān)閉窗口

相關(guān)文章