DIY编程器网

标题: avr单片机的AD转换实验 [打印本页]

作者: liyf    时间: 2012-1-27 17:25
标题: avr单片机的AD转换实验
AD转换实验。
1、AD转换实验。程序进行周期AD转换,在并转换值显示在数码管上。
2、使用内部1 M晶振。
3、进行此实验需要插上:JP1的所有8个短路块、JP9(A/D)。
4、此实验采用项目化管理,主要文件有ADC、DISP、主程序。

*/
#include "iom16v.h"
#include <macros.h>

#include "iom16v.h"
#include <macros.h>
extern unsigned char get_ad(void);/*AD采样函数*/
extern void Disp_Init(void);/*显示初始化*/
extern unsigned char led_buf[];/*显示缓存*/
/*延时函数,频率1MHz,单位mS*/
void delay_ms(unsigned char i) {
unsigned char a, b;
for (a = 1; a < i; a++) {
  for (b = 1; b; b++) {
   ;
   }
  }
}
void main(void) {
unsigned char i;
DDRA = 0x00;    /*方向输入*/
PORTA = 0x7F;    /*打开上拉*/
DDRB = 0xFF;    /*方向输出*/
PORTB = 0xFF;    /*电平设置*/
DDRC = 0x00;
PORTC = 0xFF;
DDRD = 0x00;
PORTD = 0xFF;
delay_ms(200);    /*加入延时*/
Disp_Init();    /*电平设置*/
while (1) {
  delay_ms(100);   /*周期控制*/
  i = get_ad();   /*获取电压*/
  led_buf[3] = 0;   /*数值转换*/
  led_buf[2] = i / 100;
  led_buf[1] = (i % 100) / 10;
  led_buf[0] = (i % 10);
  }
}                                 




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2