keil实验c语言汇编实验一实验报告,嵌入式系统实验—C 语言开发/模数转换(ADC)实验...

实验四:C 语言开发/模数转换(ADC)实验

一、实验目的

1、掌握

C 语言嵌入式开发的基本步骤和原理。

2、学习使用

C 语言操作外设的方法。

3、掌握模数转换器外设的操作原理和编程。

二、实验设备

1、硬件:PC

机一台 、Mini2440 ARM

实验板一套 J-link

仿真器一套

2、软件:WindowsXP 系统,Keil uVision 4.0

集成开发环境

三、实验内容

(1)建立汇编-C

程序框架。

(2)使用

ADC 读取 Mini2440

实验板上的滑动变阻器产生的电压值。

四、实验预习要求

(1)学习

ARM 子程序调用相关的指令;

(2)查阅

S3C2440 芯片手册,了解模数转换器系统的结构和原理。

五、实验步骤

(一)C 语言编程实验:

(1)实验程序分为汇编语言和

C 语言两部分。汇编语言程序是处理器上电复位后执行的第一段程序,负责最基础的硬件初始化,在本实验中主要是初始化栈指针(SP)寄存器,为调用

C 语言函数做准备,然后跳转到 C 语言 main 函数执行;从 main

函数开始,程序的编写结构和执行原理基本上与 PC

机上典型的 C语言相同。

(2)启动

Keil uVision,新建一个工程

ex04-1。不需要系统提供的

Startup文件。建立汇编源文件

ex04-1.s,编写实验程序,然后添加到工程中。设置工程选项,存储器映射。设置工程调试选项。建立仿真初始化文件

RAM.ini。

具体步骤参考实验二。

(3)

建立 C 语言源文件 main.c,编写实验程序,然后添加到工程中。

(4)编译程序,

使用仿真器在目标板上调试运行程序, 使用单步、 设置断点,观察程序执行的流程,观察函数调用过程中栈指针寄存器(R13,SP)的值的变化。

(5)编程并观察

C 语言语句编译后对应的 ARM

汇编程序。

(二)模数转换器(ADC)实验:

(1)

本实验使用 S3C2440

片内模数转换器。从结构图和芯片手册可以知道, 该 ADC 模块总共有 8 个通道可以进行模拟信号的输入, 分别是 AIN0、AIN1、AIN2、AIN3、YM、YP、

XM、XP。模拟信号从任一通道输入,然后设定寄存器中预分频器的值来确定

AD 转换器频率,最后 ADC

将模拟信号转换为数字信号保存到 ADC

数据寄存器 0 中(ADCDAT0),然后

ADCDAT0 中的数据可以通过中断或查询的方式来访问。对于 ADC 的各寄存器的操作和注意事项请参阅数据芯片手册。本实验使用通道 0 采集实验板上的滑动变阻器的分压电压值.

(2)启动

Keil uVision,新建一个工程

ex04-2。不需要系统提供的

Startup文件。建立汇编源文件

ex04-2.s,编写实验程序,然后添加到工程中。设置工程选项,存储器映射。设置工程调试选项。建立仿真初始化文件

RAM.ini。

(3)实验程序实现了一个用于控制读取

ADC 指定通道的值的函数: int ReadAdc(int

ch);

在对 preScaler 变量初始化之后,即可通过调用该函数来多次采集连接在ADC 上的模拟信号值。

(5)

编译链接工程。连接实验板电源、J-link

仿真器,进行仿真调试。单步运行程序, 并改变板上滑动变阻器 W1 的阻值, 观察采集到的电压数值的变化。

六、实验程序

C

语言实验程序见程序清单 4.1、4.2。模数转换器实验程序见程序清单

4.3

你可能感兴趣的:(keil实验c语言汇编实验一实验报告,嵌入式系统实验—C 语言开发/模数转换(ADC)实验...)