实验报告5Word文档格式.docx
- 文档编号:17228811
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:9
- 大小:492.15KB
实验报告5Word文档格式.docx
《实验报告5Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验报告5Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
评阅教师日期
A/D转换器采样P0.7端口电平
一、实验目的
本次实验通过修改MAT1.0触发AD转换实验,实现了用MAT1.1触
AD转换,把原来的通道3改成了通道1进行AD转换。
通过P0.7端口接VI
端口,实现了对P0.7端口的采样,并且发送到上位机终端EasyARM的全DO
仿真窗口中显示。
实验时的基准电压可以用实验板内部的(JP5的跳线接在Vre
端),还可以用外接的3.3V电压,这时应该用杜邦线在J6处将UVref端口接3.3
端,并且把JP5的跳线改接UVref端。
通过本次实验,让我对A/D转换的原理更加了解,并学会对简单的低电
进行A/D转换,并且显示出来。
二、实验仪器
装有ADS1.2及EasyJTAG仿真器的电脑一台、ARM7开发板一块、
杜邦线
三、实验原理
特性:
寄存器:
基本操作:
四、实验内容
#include"
config.h"
#defineBEEP(1<
<
7)
*******************************************************************************
**函数名称:
DelayNS()
**函数功能:
长软件延时
**入口参数:
dly延时参数,值越大,延时越久
**出口参数:
无
voidDelayNS(uint32dly)
{
uint32i;
for(;
dly>
0;
dly--)
for(i=0;
i<
5000;
i++);
}
#defineUART_BPS115200//通讯波特率115200
/*
UART0_Init()
初始化串口0:
波特率115200,8位数据位,1位停止位,无奇偶校验。
voidUART0_Init(void)
uint16Fdiv;
U0LCR=0x83;
//DLAB=1
Fdiv=(Fpclk/16)/UART_BPS;
U0DLM=Fdiv/256;
U0DLL=Fdiv%256;
U0LCR=0x03;
UART0_SendByte()
向串口发送字节数据,并等待数据发送完毕。
data要发送的数据
voidUART0_SendByte(uint8data)
U0THR=data;
while((U0LSR&
0x40)==0);
//等待数据发送完毕
PC_DispChar()
向PC机发送显示字符。
x显示字符的横坐标
**y显示字符的纵坐标
**chr显示的字符,不能为ff
**color显示的状态,包括前景色、背景色、闪烁位。
**与DOS字符显示一样:
0~3,前景色,4~6,背景色,7,闪烁位。
无
voidPC_DispChar(uint8x,uint8y,uint8chr,uint8color)
UART0_SendByte(0xff);
//起始字符
UART0_SendByte(x);
UART0_SendByte(y);
UART0_SendByte(chr);
UART0_SendByte(color);
ISendStr()
向上位机发送字符串。
**str要发送的字符串,以'
\0'
结束
voidISendStr(uint8x,uint8y,uint8color,char*str)
while
(1)
{
if(*str=='
)break;
//结束字符
PC_DispChar(x++,y,*str++,color);
if(x>
=80)
{
x=0;
y++;
}
}
main()
MAT1.0信号启动AD转换。
。
**调试说明:
需要包含stdio.h
intmain(void)
uint32ADC_Data;
charstr[20];
PINSEL0=0x00000005;
//管脚连接串口
PINSEL1=1<
24;
//P0.28连接到AD0.1
IO0DIR=BEEP;
//P0.7为输出端口
UART0_Init();
//UART0初始化
/*设置MAT1.0匹配翻转*/
T1MCR=0x02;
//设置T1MR0匹配后将T1TC复位
T1EMR=3<
6;
//T1MR0匹配后MAT1.1输出翻转
T1MR0=Fpclk/100;
//输出频率周期控制
T1TCR=0x03;
//启动并复位T1TC
T1TCR=0x01;
/*进行ADC模块设置*/
AD0CR=(1<
1)|//SEL=1,选择通道
((Fpclk/1000000-1)<
8)|//CLKDIV=Fpclk/1000000-1,转换时钟为1MHz
(0<
16)|//BURST=0,软件控制转换操作
17)|//CLKS=0,使用11clock转换
(1<
21)|//PDN=1,正常工作模式
22)|//TEST1:
0=00,正常工作模式
(7<
24)|//START=7,当EDGE选择的边沿出现在MAT1.1时启动AD转换
27);
//下降沿
DelayNS(10);
ADC_Data=AD0DR;
//读取ADC结果,并清除DONE标志位
{
IO0CLR=BEEP;
//P0.7低电平
while((AD0DR&
0x80000000)==0);
//等待转换结束
ADC_Data=AD0DR;
//读取ADC结果
ADC_Data=(ADC_Data>
>
6)&
0x3ff;
ADC_Data=ADC_Data*2480;
//参考电压经过3/4分压
ADC_Data=ADC_Data/1024;
sprintf(str,"
%4dmVVIN1"
ADC_Data);
ISendStr(0,0,0x30,str);
DelayNS(500);
IO0SET=BEEP;
//P0.7高电平
return0;
在本次实验中,由于程序中设置P0.7端口为高低电平替换,要对P0.7端口进行AD转换采样,需要用杜邦线将P0.7端口与VIN端口相连。
实验通过对AD0CR的设置来对AD转换的通道和对启动AD转换的模式进行修改,由原来的通道3改成通道1,MAT1.0改成MAT1.1边沿触发。
改成MAT1.1边沿触发的时候还要设置定时器的T1EMR,改成T1MR0匹配后MAT1.0输出翻转。
五、实验结果
本次的实验的结果是在上位机终端EasyARM软件中显示P0.7端口的连续高低电平替换,因为P0.7端口的高电平为3.3V,经过AD转换后约为2744MV,低电平的为30MV左右,所以在显示窗口显示的是2744mv与30mv交替显示,时间间隔为0.5秒左右。
六、心得体会
通过本次实验,我对AD转换的原理、基准电压的定义以及AD转换通
道及其启动AD转换的模式有所了解和掌握掌握。
并通过对P0.7端口高低电平进行采样AD转换,学会了利用ARM7板对些简单的外部电压进行AD转换。
通过这次实验使我的能力又有了进一步的提高,让我的知识得到了更好的巩固和加强。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)