1、AD转换实验。程序进行周期AD转换,在并转换值显示在数码管上。
2、使用内部1 M晶振。
3、进行此实验需要插上:JP1的所有8个短路块、JP9(A/D)。
4、此实验采用项目化管理,主要文件有ADC、DISP、主程序。
*/ #include "iom16v.h"
#include
#include "iom16v.h"
#include
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);
}
}