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

📄 main.c

📁 使用AVR_MEGA16驱动TA8435H的源代码
💻 C
字号:
#include  <avr/io.h>
#include  <avr/delay.h>
#include  <stdio.h>

#define uchar  unsigned char
#define uint   unsigned int

#define M2           PD6     //M1、M2: 00 表示步进电机工作在整步方式, 10 为半步方式,
#define M1           PD5     //        01 为1/ 4 细分方式,            11 为1/ 8 细分方式;
#define CK1          PD4
#define CW_CWW       PD3
#define ENABLE_L     PD2

void usart_putchar(uchar data)
{
    if(data=='\n')
	{
      usart_putchar('\r');
	}
    while(!(UCSRA & (1<<UDRE)));
    UDR=data;
}

uchar usart_getchar(void)
{ 
    while(!(UCSRA & (1<<RXC)));
    return UDR;
}


int main(void)
{
    uchar m;
	uint  n;
	
    DDRD = 0x7c;
	PORTD |= ( 1<<ENABLE_L );
	PORTD &= ~( 1<<M2);
	PORTD |= ( 1<<M1 );
	
    PORTD |= ( 1<<CW_CWW );
	
	UCSRB=_BV(RXEN)|_BV(TXEN);/*(1<<RXCIE)|(1<<TXCIE)|*/
	UBRRL=51;	//9600 baud  8MHz:51  6MHz:38  4MHz:25  
	
	while(1)
	{
	    m =  usart_getchar();
	    if( m == 'k' )
		{   
		    PORTD &= ~( 1<<ENABLE_L );
		    for(n=0;n<200;n++)
			{
	            PORTD |= (1<<CK1);
		        _delay_loop_2(1500);
		        PORTD &= ~(1<<CK1);
		        _delay_loop_2(1500);
			}
			PORTD |= ( 1<<ENABLE_L );
			
			m=0;
			usart_putchar('o');
			usart_putchar('k');
		}
	}
}

⌨️ 快捷键说明

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