PIC实验四 用AD转换模块实现模拟量采集.docVIP

  • 13
  • 0
  • 约2.5千字
  • 约 11页
  • 2016-07-27 发布于湖北
  • 举报

PIC实验四 用AD转换模块实现模拟量采集.doc

PIC实验四 用AD转换模块实现模拟量采集

本科实验报告 实验名称: 实验四 用AD转换模块实现模拟量采集 课程名称:PIC单片机实验实验时间:2015.12.2任课教师:梁蕻实验地点:4-338实验教师:梁蕻实验类型:□ 原理验证 √ 综合设计 □ 自主创新学生姓名:学号/班级:组 号:学 院:信息与电子学院同组搭档:专 业:信息工程成 绩: 实验四 用AD转换模块实现模拟量采集 一、实验目的: 1. 学习使用硬件外设函数实现A/D转换 2. 学习对PIC单片机外围模块A/D转换器的控制 二、实验原理: 1. 与A/D转换相关的特殊功能寄存器的设置 PIC18F452自带的A/D转换模块的功能是将一个模拟输入信号转换成一个16位数字信号,此模块有4个寄存器??分别是: (1)A/D转换结果高位寄存器(ADRESH) (2)A/D转换结果低位寄存器(ADRESH) (3)A/D转换控制寄存器(ADCON0) (4)A/D转换控制寄存器(ADCON1) 这4个寄存器的用法可参考PIC18F452数据手册的相关内容。 2. 与A/D转换相关的硬件外设函数的使用 三.程序设计内容: 完善例程2 查看程序,发现有几处需要完善 在开头处需要添加三行代码 关闭看门狗计时器 #pragma config WDT = OFF 配置晶振 #pragma config OSC = HS 关闭低电平 #pragma config LVP = OFF 并且需要配置A/D转换器 OpenADC(ADC_FOSC_8 ADC_LEFT_JUST ADC_1ANA_0REF, ADC_CH0 ADC_INT_OFF); 通过左右对齐控制灯的开关,并且选择0通道,禁止中断。 修改后的实验代码: #include p18f452.h #include adc.h #pragma config WDT = OFF #pragma config OSC = HS #pragma config LVP = OFF // Exercise 1 : /* Set configuration bits for use with ICD2 / PICDEM2 PLUS Demo Board: * - set HS oscillator * - disable watchdog timer * - disable low voltage programming */ void InitializeAD(void); void main(void) { TRISD=0; // Set PORTD for LED output InitializeAD(); // Initial A/D module while(1) { ConvertADC(); // Convert A/D while(BusyADC()); // Waiting A/D until done PORTD=ADRESH; // Put A/D result on LEDs } } //************************************************ //* Function: InitializeAD * //* - Fosc/8 clock source * //* - Left justified * //* - 1 analog channels, 0 references * //* - Channel 0 * //* - Disable A/D interrupt * //************************************************ void InitializeAD(void) { OpenADC(ADC_FOSC_8 ADC_LEFT_JUST ADC_1ANA_0REF, ADC_CH0 ADC_INT_OFF); // Exercise 2 : Open the A/D peripheral with A/D Library function // See 13 of MPLAB-C18 C

文档评论(0)

1亿VIP精品文档

相关文档