1、ARM课程设计的报告电控学院课程设计(论文) 课程名称: ARM嵌入式系统 题 目: ARM数字电压表 院 (系): 测控技术与仪器 专业班级: 测控1001班 姓 名: 屈豆 王朵 学 号: 1006070115 1006070105 指导教师: 黄梦涛 李红岩 2013年12月29日基于LPC2131的数字电压表设计摘要本设计介绍了一种基于LPC2131的数字电压表。根据数据数据采集的工作原理,设计实现数字电压表,然后完成微控制器与上位机EasyARM的通信,将所测量的电压值传送给EasyARM的显示界面,进行显示。该电压表的主控芯片LPC2131内部有一个10位8路A/D转换器,这个A/
2、D转换器即可单路软件启动也可对某几路信号逐个循环采样。这种电压表不仅整个电路结构简单、明了,直观的显示测量结果,而且具有精度高,性价比高,使用方便等特点。【关键词】 电压测量,LPC2131,LED,蜂鸣器报警第一章 绪论1.1设计背景随着电子科学技术不断发展,电子测量也变得越来越普遍,并且对测量的精度和功能的要求也是越来越高,而电压的测量尤为突出,因为电压的测量最为普遍。而且随着电子技术的日益发展,更是经常需要测量高精度的电压,数字电压表就成为一种必不可少的测量仪器。数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流或交流输入电压)转换成
3、不连续的、离散的数字形式并加以显示的仪表。由于数字是仪表具有读书准确方便、精度高、误差小、灵敏度高和分辨率高、测量速度快等特点而倍受青睐。1.2设计要求 以ARM为控制器,采用中断方式,对2路0-5v的模拟电压进行循环采集,每路连续采集16次,取平均值。采集的数据送LED显示,并存入内存。超过界限时指示灯闪烁10次后一直亮,指示灯闪烁时喇叭发声,以示警告。第二章系统介绍2.1系统简述数字电压表主要由模数转换部分、串口数据发送部分、上线报警部分三部分组成。其中LPC2131自带的10位ADC作为转换电路,将输入的模拟信号进行采样、转换、然后将转换的数字信号送入MCU进行处理,得出测量结果送入上位
4、机进行显示。2.2上位机简述为了给系统提供更友好的人机界面,我们可以通过上位机软件实现各种显示输出或操作输入,EasyARM软件是上位机人机界面软件,通过RS232串口通讯完成各种功能控制。全仿真的DOS字符窗口是具有25行80列的字符显示窗(显示字符的前景/背景颜色可设置),具有8个仿真LED数码管和8个仿真发光二极管,还有20个模拟按键(按键名可重新定义)。串口模式可设置,具有单独的数据发送/接收调试窗,方便地监视串口接收到的数据或调试串口。2.3下位机简述LPC2131/2132/2138是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-STMCPU,并带有32kB、64kB和
5、512kB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。较小的封装和很低的功耗使LPC2131/2132/2138特别适用于访问控制和POS机等小型应用中;由于内置了宽范围的串行通信接口和8/16/32kB的片内SRAM,它们也非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像,为这些应用提供大规模的缓冲区和强大的处理功能。多个32位定时器、1个或2个10位8路的ADC、10位DAC、PWM通道、47个GPIO以及多达9个
6、边沿或电平触发的外部中断使它们特别适用于工业控制应用以及医疗系统。主要特性:1)16/32位ARM7TDMI-S核,超小LQFP64封装。2)8/16/32kB的片内静态RAM和32/64/512kB的片内Flash程序存储器。128位宽度接口/加速器可实现高达60MHz工作频率。3)通过片内boot装载程序实现在系统编程/在应用编程(ISP/IAP)。单扇区或整片擦除时间为400ms。256字节行编程时间为1ms。4)EmbeddedICERT和嵌入式跟踪接口通过片内RealMonitorTM软件对代码进行实时调试和高速跟踪。5)1个(LPC2131/2132)或2个(LPC2138)8路1
7、0位的A/D转换器,共提供16路模拟输入,每个通道的转换时间低至2.44us。6)1个10位的D/A转换器,可产生不同的模拟输出。(仅适用LPC2132/2138)7)2个32位定时器/计数器(带4路捕获和4路比较通道)、PWM单元(6路输出)和看门狗。8)实时时钟具有独立的电源和时钟,可在节电模式中极大地降低功耗。9)多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口(400kbit/s)、SPITM和具有缓冲作用和数据长度可变功能的SSP。10)向量中断控制器。可配置优先级和向量地址。11)小型的LQFP64封装上包含多达47个通用I/O口(可承受5V电压)。12)多达
8、9个边沿或电平触发的外部中断管脚。13)通过片内PLL(100us的设置时间)可实现最大为60MHz的CPU操作频率。14)片内晶振频率范围:130MHz。15)低功耗模式:空闲和掉电。16)可通过个别使能/禁止外部功能和外围时钟分频来优化功耗。17)通过外部中断将处理器从掉电模式中唤醒。18)单电源,具有上电复位(POR)和掉电检测(BOD)电路。19)CPU操作电压范围:3.0V3.6V(3.3V10),I/O口可承受5V的电压。第三章 硬件设计3.1系统电路原理图图3-1系统原理图系统功能:该系统主要实现对电压的测量,经测试端输入的电压,分压采样后送到 LPC2131 程序处理,最后将测
9、量结果在EasyARM显示界面显示,由于ADC本身的输入范围的限制,我们这里输入信号最大值为+3.3V,采样率达到 100Hz,精度高于 0.9%,在实际应用中,可以增加前级信号调理电路使输入信号的范围扩大。3.2A/D转换器 特性: 1)10位逐次逼近式A/D转换器 2)测量范围03.3V3)10位转换时间2.44s4)一路或多路输入的Burst转换模式5)转换触发信号可选择:输入引脚的跳变或定时器的匹配6)具有掉电模式 A/D转换器的基本时钟由VPB时钟提供,可编程分频器可将时钟调整至44.5MHz(逐步逼近转换的最大时钟),10位精度要求的转换需要11个A/D转换器。图3-2 A/D转换
10、电路3.3报警电路 使用GPIO的P0.7控制蜂鸣器鸣叫报警图3-3蜂鸣器报警电路LED发光二极管闪烁十次后一直亮(LED1表示通道1,LED2表示通道2)图3-4LED报警电路3.5 LPC2131最小系统 最小系统包含时钟电路和复位电路图3-5最小系统第四章软件设计4.1系统功能流程图根据设计要求,结合硬件原理图与LPC2131的使用手册,为采样频率达到 100Hz,把电压测量结果直观显示出来,软件程序流程图如图4-1图4-1系统功能流程图4.2程序/* 文 件 名:main.c* 功 能:使用ADC模块的通道0、1进行电压的测量,然后将转换结果从串口输出,* 上位机使用EasyARM软件
11、全仿真的DOS字符窗口观察。* 说 明:跳线JP8、JP30短接。由W1、W2调节测量电压值。* 通讯格式:8位数据位,1位停止位,无奇偶校验,波特率为115200。*/#include config.h#define LED1 116 / P2.16 #define LED2 117 / P2.17 #define BEEPCON 10; dly-) for(i=0; i5000; i+); /* 名 称:UART0Init()* 功 能:初始化串口0。设置为8位数据位,1位停止位,无奇偶校验* 入口参数:bps 通讯波特率 * 出口参数:无*/void UART0Init(uint32 b
12、ps) uint16 Fdiv;PINSEL0 = (PINSEL0 & (0x0F) | 0x05; / 不影响其它管脚连接,设置I/O连接到UART0 U0LCR = 0x83; / DLAB = 1,可设置波特率 Fdiv = (Fpclk / 16) / bps; / 设置波特率 U0DLM = Fdiv / 256; U0DLL = Fdiv % 256; U0LCR = 0x03;/* 名 称:UART0SendByte()* 功 能:向串口发送字节数据,并等待发送完毕。* 入口参数:data 要发送的数据* 出口参数:无*/void UART0SendByte(uint8 data) U0THR = data; / 发送数据 while( (U0LSR&0x40)=0 ); / 等待数据发送完毕/* 名 称:UART0SendStr()* 功 能:向串口发送一字符串* 入口参数:srt 要发送的字符串的指针* 出口参数:无*/void UART0SendStr(char *str) whil
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1