音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

求助X9C103的使用方法

作者:yangxf052 欄目:單片機(jī)
求助X9C103的使用方法
我正在使用ATMEGA16L來控制X9C103,以實(shí)現(xiàn)對LM317輸出電壓的控制.但是我一直沒能高度通過.硬件上是用X9C103作為LM317調(diào)節(jié)電阻,接在其調(diào)節(jié)端與地之間,在LM317輸出端與調(diào)節(jié)端再接一個(gè)220歐的電阻作為反饋電阻.X9C103的控制端INC、UD和CS分別接PD4,PD5和PD6。程序如下,各位大俠幫忙看看問題所在。
#include <avr/io.h>
#include <avr/delay.h>
//#include <avr/signal.h>
#include <avr/interrupt.h>

//常量定義
#define  FREQ   7.3728
#define F_CPU    7372800      //時(shí)鐘頻率
/*
        X9C103與MCU連接
          TRI_X9C103——PD4             //下降沿計(jì)數(shù)
          FX_X9C103——PD5              //計(jì)數(shù)方向
          CS_X9C103——PD6              //芯片激活
*/

//有關(guān)電位器的宏定義
#define  CLEAR_TRI_X9C103   PORTD&=~_BV(PD4)        //TRI_X9C103低電平
#define  SET_TRI_X9C103     PORTD|=_BV(PD4)         //TRI_X9C103高電平   
#define  CLEAR_FX_X9C103    PORTD&=~_BV(PD5)        //FX_X9C103低電平    電阻減小方向
#define  SET_FX_X9C103      PORTD|=_BV(PD5)         //FX_X9C103高電平    電阻增加方向
#define  CLEAR_CS_X9C103   PORTD&=~_BV(PD6)         //CS_X9C103低電平    芯片處于修改狀態(tài)
#define  SET_CS_X9C103     PORTD|=_BV(PD6)          //CS_X9C103高電平    芯片處于保持狀態(tài)

//延時(shí)tms子程序
void DelayMs(unsigned int t)
{
    unsigned int i;
    for(i=0;i<t;i++)
        _delay_loop_2((F_CPU/1000000)*125);//
}

void X9C103_Init(void)
{
    DDRD=(DDD4<<1)|(DDD5<<1)|(DDD6<<1);//X9C103控制端口初始化,設(shè)置為輸出端口
}
//向VL減小方向子程序
void dp_down(unsigned CHAR numb)
{
        cli();
        unsigned CHAR i;
        i=0;
        CLEAR_CS_X9C103;
        DelayMs(1);
        CLEAR_FX_X9C103;
        DelayMs(1);
        for(i=numb;i>0;i--)
        {
            SET_TRI_X9C103;
            DelayMs(1);
            CLEAR_TRI_X9C103;
            DelayMs(1);
        }
        SET_TRI_X9C103;
        DelayMs(100);
        SET_CS_X9C103;
        DelayMs(10);
        //sei();
}
//向VL增加方向子程序
void dp_up(unsigned CHAR numb)
{
        //cli();
        unsigned CHAR i;
        CLEAR_CS_X9C103;
        DelayMs(1);
        SET_FX_X9C103;
        DelayMs(1);
        for(i=numb;i>0;i--)
        {
            SET_TRI_X9C103;
            DelayMs(1);
            CLEAR_TRI_X9C103;
            DelayMs(1);
        }
        SET_TRI_X9C103;
        DelayMs(100);
        SET_CS_X9C103;
        DelayMs(10);
        //sei();
}
void main(void)
{
    unsigned CHAR i;
    dp_up(50);
    DelayMs(10);             //斷點(diǎn)
    dp_down(20);
    DelayMs(10);             //斷點(diǎn)
}



2樓: >>參與討論
tyjhqew
XC9103
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
上電時(shí)電壓過大,怎么辦?
英飛凌XC866(51)比AVR還難?
在C中如何用最簡算法實(shí)現(xiàn)小數(shù)位的數(shù)字轉(zhuǎn)換成相應(yīng)的整數(shù)
ISP的復(fù)位引腳怎么與M16的復(fù)位引腳相連呢
推薦一個(gè)5v轉(zhuǎn)3.3v的基準(zhǔn)電源吧
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號