軟件產(chǎn)生PWM控制直流電機(jī)C程序
//軟件產(chǎn)生PWM控制直流電機(jī)C程序
//軟件版本: ICCAVR ver 7.05
// Target : M48
// Crystal: 8.0000MHz
#include
#include
unsigned int Pwmw;
unsigned int adc_v;
//ADC 轉(zhuǎn)換函數(shù)
unsigned int adc_get(void)
{
ADCSRA |= (1
//電機(jī)驅(qū)動(dòng)、調(diào)速子程序
void PWMsub(unsigned int Pwmh)
{
unsigned int i;
unsigned int Pwml;
Pwml = Pwmw - Pwmh;
PORTD |= 0x10; //高電平
for (i = 0;i < Pwmh;i++)
;
PORTD = 0x00; //低電平
for (i = 0;i < Pwml;i++)
;
}
//主函數(shù)
void main()
{
PORTD = 0x00; //PD端口置0
DDRD = 0xF0; //PD7,、PD6、PD5、PD4輸出
ADCSRA = 0x00; //設(shè)置前,先關(guān)閉ADC
ADMUX = (1<
ADCSRA = (1
{
adc_v = adc_get(); //ADC轉(zhuǎn)換
PWMsub(adc_v);
}
}