资源描述:
《K10AD转换实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include"sys.h"#include"delay.h"#include"gpio.h"#include"wdog.h"#include"uart.h"#include"led.h"#include"pit.h"#include"ftm.h"#include"lcd.h"#include"exti.h"#include"adc.h"//K10核心板//实验8ADC实验//YANDLD@UPCintmain(void){uint8_ti;DELAY_Init(96);//延时初始化CORE/SYSTEMCLO
2、CK96MBUSCLOCK48MLED_Init();//LED初始化LCD_Init();//SPILCD初始化BACK_COLOR=BLACK;//背景色黑色LCD_Clear(BLACK);//黑色背景POINT_COLOR=0X5458;//前景浅蓝色LCD_ShowString(30,50,"ADCTEST");LCD_ShowString(30,70,"YANDLD@UPC");LCD_ShowString(10,90,"AD-4E16:");LCD_ShowString(10,110,"AD-5E17
3、:");LCD_ShowString(10,130,"AD-6E18:");LCD_ShowString(10,150,"AD-7E19:");//注意单端下只开通ADC0-4,5,6,7通道其余请自行配置ADC_Init(ADC0,0,16,4);//ADC0-4通道PTE16ADC_Init(ADC0,0,16,5);//ADC0-5通道PTE17ADC_Init(ADC0,0,16,6);//ADC0-6通道PTE18ADC_Init(ADC0,0,16,7);//ADC0-7通道PTE19while(1){
4、for(i=0;i<4;i++){LCD_ShowNum(110,90+20*i,ADC_Get(ADC0,i+4)>>8,4,ASCII1608C);//显示AD数据}LED0=!LED0;DELAY_Ms(100);}}#include"adc.h"//********************************************************************************//本程序只供学习使用祝愿每一个参加智能车比赛的队伍都有出色发挥!//硬件:超核电子K10核心板//目
5、标芯片:K10N512VLL10//作者:YANDLD中国石油大学(华东)//修改日期:2012/1/5//版本:V1.0//Copyright(C)YANDLD2012-2022//Allrightsreserved//********************************************************************************//开启adc0或1,默认使用a通道即软件触发,配置时钟源为busclock,不分频,//转换速度正常,参考电压选择外部电压,配置为软件触
6、发转换(大部分为默认值)//并进行了校准。这里在单端模式下仅开启adc0的4,5,6,7通道的引脚,//在差分模式下可以开启adc0,1的所有差分通道//但每次也仅能一个通道进行转换//////////////////////////////////////函数名:ADC_Init//功能:adc初始化//说明:adc模块端口号,在单端模式下代表ADC0,在差分模式下代表ADC0,ADC1//diff测量模式选择,0代表单端,1代表差分//mode转换精度选择,填写8,10,12,16这四个数中的一个//chann
7、el转换的通道选择,在单端模式下仅开启adc0的4,5,6,7通道的引脚,//在差分模式下可以开启adc0,1的所有差分通道///////////////////////////////////voidADC_Init(ADC_Type*adc,uint8_tdiff,uint8_tmode,uint8_tchannel){if((uint32_t)adc==ADC0_BASE)SIM->SCGC6
8、=SIM_SCGC6_ADC0_MASK;//开启模块时钟,参见官方k10手册270页elseSIM->SCGC3
9、
10、=SIM_SCGC3_ADC1_MASK;//开启模块时钟,参见官方k10手册270页switch(mode){case8:adc->CFG1&=~(ADC_CFG1_MODE_MASK);adc->CFG1
11、=ADC_CFG1_MODE(0);//配置为8位精度,参见官方k10手册718页break;case10:adc->CFG1&=~(ADC_CFG1