⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main._c

📁 我写的L297步进电机的驱动
💻 _C
字号:
/*****************************************
*      基于AD转化程序设计 		   	     *
* 功    能:AD转化          			 *
* 时钟频率:内部8M 						 *
* 设    计:莫锦攀						 *
* 修改日期:2007年07月04日				 *
* 编译环境:ICC-AVR6.31					 *
* 实验环境:M16学习板					 *
* 使用端口:PC6,PC7,PA4~PA7,PA0 		 *
*****************************************/

#include <iom128v.h>
#include <macros.h>
#include "lcm12864.h"
#include "delay.h"
#define uchar unsigned char
#define uint unsigned int
uchar Data[5]={0,0,0,0,0};//初始值为0000,最后一个0是结束符
void change(uint i,uchar *p)		 //显示处理
{p[3]=i%10+48;//个
 p[2]=i/10%10+48;//十
 p[1]=i/100%10+48;//百
 p[0]=i/1000%10+48;//千
}

uint ADC_convert(void)//AD转换函数,读取采样获得的10位数据
{
uint temp1,temp2;
temp1=(uint)ADCL;
temp2=(uint)ADCH;
temp2=(temp2<<8)+temp1;
return temp2;
}
void ADC_init(void)
{	ADMUX=0x01;		//选择通道PA0;外部REF+5V
	ADCSRA|=((1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0));
				//使能AD;启动AD;自由转换模式;8分频
	// ADCSRA=0xc2;			
}

void main(void)
{uint i,j;
//uchar a;
PORTA = 0x00;
DDRA  = 0xFF;
PORTB = 0x01;
DDRB  = 0xFF;
PORTC = 0x00; //m103 output only
DDRC  = 0x00;
PORTD = 0x00;
DDRD  = 0x0f;
PORTE = 0x00;
 DDRE  = 0xF0; 
 PORTF = 0x00;
 DDRF  = 0x00;
 PORTG = 0x00;
 DDRG  = 0x00;
  
LCM_init();//液晶初始化
//DisHZ(0x89,11,"正在启动...");
 /*// ADMUX=(1<<REFS0)|(1<<REFS1);//选择第一通道ADC0,内部REF(2.56V)
  ADMUX=0x01;
  ADCSRA=0xe5;//8M32分频,125k速率,自由模式;启动AD转换器*/


 ADC_init();
 
  delay_nms(10);//延迟100ms等待系统稳定后读取数据

 
   while(1)
   {

   i=ADC_convert();
   j=0;
   change(i,Data);
   DisHZXY(0,0,10,"AD测试程序");
   DisHZXY(3,1,4,Data);
   if(i>650)
  { DisHZXY(2,3,4,"正转");
   PORTA|=(1<<2);
   PORTC|=(1<<6);
   while(j<=2000)
   {
   PORTA|=(1<<3);
   delay_nus(17);   
   PORTA&=~(1<<3);
   delay_nus(17);
   j++;
   }
   PORTC&=~(1<<6);
   }
   else if(i<0xC8&&i>0x64)
   {DisHZXY(2,3,4,"反转");
   PORTA&=~(1<<2);
   PORTC|=(1<<6);
   while(j<=2000)
   {
   PORTA|=(1<<3);
   delay_nus(18);   
   PORTA&=~(1<<3);
   delay_nus(18);
   j++;
   }
   PORTC&=~(1<<6);
   }
   else 
   DisHZXY(2,3,4,"停止");
   }
 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -