|
|||||||||||
| 技術(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ī) |
我正在使用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 于 2006/10/18 9:59:00 發(fā)布:
XC9103 |
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |