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