dm621_test.c

来自「DM621测试程序」· C语言 代码 · 共 51 行

C
51
字号
#include <avr/io.h>
#include <util/delay.h> 
#include <avr/interrupt.h>
#include "global.h"
#include "dm.h"
#define uchar unsigned char
#define uint unsigned int

static uint g_nAdValue = 0;

void delayms(uint ms)
{
   uint i;
   for(i=0;i<ms;i++)
   _delay_loop_2(4 *250);
}
  
SIGNAL(SIG_ADC)
{
  g_nAdValue = ADCL;
  g_nAdValue |= (uint)(ADCH<<8);
}

int main (void)
{
  ADMUX = 0XC7;   //内部参考电压,0 通道
  ADCSRA = _BV(ADEN)|_BV(ADIE)|_BV(ADFR)|_BV(ADPS1)|_BV(ADPS0);  //使能ADC,中断允许,自由模式, 时钟:ck/8
  ADCSRA |= _BV(ADSC); //自由模式开始转换

  sei();

  dm_init();

  while(1)
  {
    if(g_nAdValue > 0X0399)
	 {
	  dm_write(0, 0, 0);
      delayms(725);
	  dm_write(0xff, 0xff, 0xff);
      delayms(125);
	  }
    else
	   dm_write(0, 0, 0);
   }
  for(;;){	
  }
  return 0;
}

⌨️ 快捷键说明

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