基于ARM9的数据采集应用程序设计_第1页
基于ARM9的数据采集应用程序设计_第2页
基于ARM9的数据采集应用程序设计_第3页
基于ARM9的数据采集应用程序设计_第4页
基于ARM9的数据采集应用程序设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、设 计 报 告课程名称 嵌入式技术I 题 目基于ARM9的数据采集应用程序设计专 业 电子信息工程 班 级 学 号 姓 名 成 绩 2014年06 月24日(注:为设计报告完成的日期)目 录第一章 实验设计要求 .1第二章 实验分析2第三章 实验步骤以及相关程序设计4第四章 课题总结和体会8第一章 实验设计要求考核题目:基于ARM9的数据采集应用程序设计通过S3C2410X(ARM9)的ADC采集实验箱电位器的值,旋转电位器时可在屏幕上看到当前采集值的变化。实验箱有三个电位器,学生可自选一个或多个。可增功能:(1)中断功能:按下中断按键触发中断,中断时三个LED灯闪烁一次,且屏幕上打印正在中断

2、的提示。(2)报警功能:设定一个临界值(如500),当采集的值超过此临界值时,灯闪烁报警,三个电位器可与三个灯一一对应。考核要求: 硬件平台为博创经典UP-NETARM2410实验箱(S3C2410处理器)。 软件平台为eclipse+keil+PUTTY(串口调试助手)。 报告内容包括:l 实现的功能l 软硬件平台l 硬件原理分析及原理图l 硬件驱动的实现步骤及分析l 代码设计:所有需要编写的代码(如adc.c、adc.h、main.c、Makefile等)、代码的注释。l 运行及调试的步骤总结体会:具体学到了什么知识、在学习过程中的经验、体会。第二章 实验分析A/D转换器是模拟信号和CPU

3、之间联系的接口,它将连续变化的模拟信号转换为数字信号,以供计算机和数字系统进行分析、处理、存储、控制和显示。在编写驱动是可以通过查找数据手册:2.1.选择通道(通过底板AD-DA-CAN图可知三个ADC电位器对应AINO2,所以选择通道2)ADCCON5:3=010;ADCCON&=(0x73);ADCCON|=0x14;2.2.时钟配置与分频(如图2-1和图2-2)ADC控制寄存器(ADCCON)地址为0x 图2-1时钟配置,CLKCON15 = 0b1,表示使能 CLKCON |= 0x1 15;时钟分频图2-2A / D转换器当预定标器值N,预定数据值是(N + 1),初始状态是0xff

4、 ADCCON14=0b1,ADCCON13:6=0xFF;ADCCON|=0x114;ADCCON|=0xFF6;2.3.选择模式(如图2-3)图2-3模式选择:选择正常模式 ADCCON2=0;ADCCON&=(0x12);2.4.设置启动设置启动AD转换的方式:读启动ADCCON&=(0x11);启动AD转换ADCCON|=0X1;2.5.实现功能判断采样转换完成以及读取while(!(ADCCON&(1,表示串口通了,配置好了.3.2、启动H-JTAG实验箱电源打开,并口线连接好,然后打开H-JTAG,确认连接。3.3、运行Eclipse工程以及编写相关程序3.3.1.打开软件,新建一

5、个c project工程,将第三次试验(I/O口,串口,中断)的文件复制到该工程,并删除创建的工程,刷新界面,获取之前的实验目录。3.3.2.相关寄存器定义 工程-include文件夹-adc文件夹-adc.h,在adc.h中添加:#define ADCCON (*(volatile unsigned int *)0X)/ADC控制寄存器#define ADCTSC (*(volatile unsigned int *)0X)/ADC触摸屏控制寄存器#define ADCDLY (*(volatile unsigned int *)0X)/ADC启动延时寄存器#define ADCDAT0 (

6、*(volatile unsigned int *)0XC)/ADC转换数据寄存器0#define ADCDAT1 (*(volatile unsigned int *)0X)/ADC转换数据寄存器1#define CLKCON (*(volatile unsigned int *)0x4C00000C)/时钟寄存器int adc_read(void);void adc_init(void);3.3.3.实现驱动在工程中新建drivers文件夹,在drivers中新建adc文件夹,在adc中新建adc.c文件,在adc.c中添加如下代码:#include adc/adc.hvoid adc_i

7、nit(void)/时钟配置,CLKCON15 = 0b1,表示使能 CLKCON |= 0x1 15;/时钟分频ADCCON14=0b1,ADCCON13:6=0xFF;ADCCON|=0x114;ADCCON|=0xFF6;/通道选择,选择通道2,ADCCON5:3=010;ADCCON&=(0x73);ADCCON|=0x14;/模式选择:选择正常模式 ADCCON2=0;ADCCON&=(0x12);/设置启动AD转换的方式:读启动ADCCON&=(0x11);/启动AD转换ADCCON|=0X1;int adc_read(void) int data;/启动AD转换ADCCON|=0

8、X1;/判断采样转换完成while(!(ADCCON&(1 main.c,在main.c中添加:#include adc/adc.h#include uart/uart.h#include key/key.h#include gpio/led.hint main(void) uart_init(); led_init(); key_init(); adc_init(); while(1) /读写采样值 int ch,i=0,j=0; ch=adc_read(); printf(%dn,ch); return 0;void do_irq(void) /中断采样值部分int src = INTOF

9、FSET;int i;printf(中断操作中:do irq n);/打印中断switch (src) case 4:key_isr();led_off();for(i=0;i;i+);led_on();for(i=0;i;i+);break;INTPND |= 1 key中, 在drivers-adc下的Makefile中找到:“COBJS:=”改为:COBJS:= adc.o /即将adc.c编译成adc.o 找到“LIB=” 改为:LIB= libadc.a /将adc.o生成库文件libadc.a 找到工程中的Makefile文件,在其中添加:LIBS += drivers/adc/l

10、ibadc.a /将libadc.a 链接到工程中3.3.6保存文件并编译3.4.创建Keil工程打开eclipse中run-debug configurations,右击Vision project创建New Browse选中adc,点击Target Options,打开output中Select Folder for Objects.点击向上按钮后ok.接着点击debug选择H-JTAG ARM,最后点击Debug按钮,开始调试程序。调试完成后运行。附:第四章 课题总结和体会为期一周的设计终于完成,实验是巩固ARM课程中所学的基本理论知识,在本次试验中运用到了之前所学的I/O口,串行以及中断实验的相关程序.在学习的过程中难免会遇到各种困难,在实验的过程中也是如此,但只要肯虚心请教,问题终会解决。在这次试验编写程序时我学会了如何

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论