通信07单片机嵌入式系统课程设计基于LPC2103定时的PWM信号发生器计

上传人:枫** 文档编号:488378895 上传时间:2023-09-06 格式:DOC 页数:10 大小:112.50KB
返回 下载 相关 举报
通信07单片机嵌入式系统课程设计基于LPC2103定时的PWM信号发生器计_第1页
第1页 / 共10页
通信07单片机嵌入式系统课程设计基于LPC2103定时的PWM信号发生器计_第2页
第2页 / 共10页
通信07单片机嵌入式系统课程设计基于LPC2103定时的PWM信号发生器计_第3页
第3页 / 共10页
通信07单片机嵌入式系统课程设计基于LPC2103定时的PWM信号发生器计_第4页
第4页 / 共10页
通信07单片机嵌入式系统课程设计基于LPC2103定时的PWM信号发生器计_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《通信07单片机嵌入式系统课程设计基于LPC2103定时的PWM信号发生器计》由会员分享,可在线阅读,更多相关《通信07单片机嵌入式系统课程设计基于LPC2103定时的PWM信号发生器计(10页珍藏版)》请在金锄头文库上搜索。

1、单片机与嵌入式系统课程设计分组:第一组:通信071班自然学号:126号第三组:通信072班自然学号:126号第二组:通信071班自然学号:27-40号,通信071班自然学号27-40号课程设计地点:主楼7楼实验设备:LPC2138/LPC2103/PC电脑时间安排:时间班级指导教师星期一上午1月3日(8:3011:30) 通信07第一组吴君钦星期一下午1月3日(2:305:00)通信07第二组吴君钦星期二上午1月4日(8:3011:30)通信07第三组民生星期二下午1月4日(2:305:00)通信07第一组民生星期三上午1月5日(8:3011:30)通信07第二组吴君钦星期三下午1月5日(2:

2、305:00)通信07第三组吴君钦星期四上午1月6日(8:3011:30)通信07第一组民生星期四下午1月6日(2:305:00)通信07第二组民生星期五上午1月7日(8:3011:30)通信07第三组吴君钦星期五下午1月7日(2:305:00)时间班级组别指导教师星期六上午1月8日(8:3011:30) 通信07第一组民生星期六下午1月8日(2:305:00)通信07第二组民生星期日上午1月9日(8:3011:30)通信07第三组吴君钦星期日下午1月9日(2:305:00)通信07第一组吴君钦星期一上午1月10日(8:3011:30)通信07第二组民生星期一下午1月10日(2:305:00)

3、通信07第三组民生星期二上午1月11日(8:3011:30)通信07第一组吴君钦,民生星期二下午1月11日(2:305:00)通信07第二组吴君钦,民生星期三上午1月12日(8:3011:30)通信07第三组吴君钦,民生星期三下午1月12日(2:305:00)课题:1:基于LPC2103 RTC的定时铃声控制器设计与实现2:基于LPC2103定时的PWM信号发生器课题1:基于LPC2103 RTC的定时铃声控制器设计与实现基本功能要求和实现方法:(1) 用LPC2103实时时钟 RTC作为日期、时间定时器,(2) 根据定时器时间,每天8:00、12:00、 2:30、5:30四个时间点,分别输

4、出持续时间为1分钟的500hz方波信号(停3秒,响2秒);(3) 设置三个按键,分别调节设置RTC的小时、分钟和秒数值;(4) 铃声方波信号可以用GPIO/LED显示;(5) 频率信号产生可用定时器来实现;(6) 时间数值可通过串口打印到电脑超级终端窗口上;详细设计步骤:(1)定义数据结构数据类型: typedef struct _DAY_ int year; /20002099char mon; /112char day; /131char week;/17 t_day; typedef struct _TIME_ char hor; /023char min; /059char sec;

5、/059 t_time;(2)编写简单串行通信函数void uart_init()和void uart_puts(char s),向LPC2103串行口打印字符串,通信格式设为9600bps/8b DATA/1b STOP/无效验位/无硬件流控制;(3)编写LPC2103实时时钟控制器(RTC)读取函数;入口参数:时间、日期结构指针; 返回值:通过日期时间结构指针返回RTC记录的日期时间(4)把日期时间整数数值用 sprintf函数转化为字符串,并通过uart_puts()打印到电脑终端上,测试RTC时间是否读取正确。(5)编写LPC2103 实时时钟控制器(RTC)设置函数,通过GPIO输入

6、按键信息。入口参数:已初始化了得日期时间结构,把结构指针传递给函数,使实时时钟记录值设置为给定值。(6)用LPC2103定时器产生500hz方波信号,用事件匹配方法产生; 32计数器与0相等时输出高电平; 32计数器与0x8000 0000相等时输出低电平,循环往复即可。(7)响2秒停3秒用允许、禁止计数来实现,时间长短值直接用实时时钟秒数值来设定。以上每一个独立功能的实现都有参考例程,项目的工作就是整合各个功能,使之按我们的要求来协调配合工作。请详细阅读LPC2103实验教程中有关部件文档和功能部件的实验参考程序。整合出一个完整应用程序,功能由少到多逐步添加。课题2 、基于LPC2103定时

7、的PWM信号发生器PWM相关资料:产生精确PWM波形的DDS电路脉宽调制是一种调制或改变某个方波的简单方法。方波占空比基本形式是随输入信号变化的。占空比是指方波的高电平时间和低电平时间之比。一个50%占空比的波形会具有50%的高电平时间和50%的低电平时间,而一个10%占空比的波形则具有10%的高电平时间和90%的低电平时间。PWM有许多应用,其中包括电动机控制、伺服控制、调光、开关电源,甚至某些音频放大器。在诸如MEMS(微机电系统)镜面传动器控制等应用系统中,有一个反馈系统必须对PWM进行调节。有个电路监测并控制PWM输出信号,然后根据应用系统要求改变占空比。输出频率对传动器进行调节,而占

8、空比则设定传动器的速度。反馈回路控制阈值电平。本“设计实例”描述带反馈控制的高频率高分辨率PWM。首先,探讨一下PWM理论也许是有益的。DDS输出信号具有28位分辨率,因此有效频率步长有可能达到0.1Hz数量级,而频率最高可达大约10MHz。两个相位寄存器具有12位相位分辨率。这些寄存器可使信号移相,移相值为PSHIFT=(2/4096)(相位-寄存器字)。一个25MHz的晶振为DDS提供基准主时钟。DDS的输出级是一个摆幅为0.7VP-P的电压输出DAC,其负载是一只200部电阻器。增加负载电阻RL会降低输出电压的峰峰值,从而可以把DDS的峰峰输出调到比较器的输入围。DDS的输出端通常有一个

9、滤波级。滤波级的用途是滤除基准时钟频率、像频和更高频率的馈通信号,并限制所考虑的信号的带宽。 图1 一个DDS电路可与一个比较器和一个带部DAC和ADC的微控制器组合在一起,以便产生高分辨率的PWM输出信号。几种可供选用的体系结构传统的PWM用两个运算放大器来产生锯齿波形,用一个电位器来产生直流基准电压,再用一个比较器来产生PWM输出信号。这类设计的优点是切实可行而又成本低廉。遗憾的是,如不改变元件值就无法方便地对频率进行编程,而且频率微调也非常困难。这种方法的另一个问题是难以精确控制占空比。你可以使用数字式电位器来替代机械式电位器,但这样做会加大成本。产生PWM波形的第二种办法是采用ADC8

10、24 MicroConverter(微转换器)。它除了提供两个PWM信号输出以外,还集成了几个ADC、几个DAC、一个与8052兼容的微控制器以与闪存。你可以配置出分辨率高达16位的PWM。不过,已编程的频率会影响PWM的分辨率。PWM的频率和分辨率如下:FPWM=16.777 MHz/N,式中N是以位表示的分辨率。一个部PLL可根据32千赫晶振推导出16.77MHz基准时钟。该基准时钟对PWM的输出信号进行采样。如前所述,N是PWM的分辨率,即位的多少。要达到16位的分辨率,PWM的最大频率是266Hz。频率为200kHz时,分辨率会降到大约6位。因此,ADC832对于低频高分辨率系统来说是

11、一种理想的低成本方法,但对于高频高分辨率系统来说并非如此。DDS的实现要时高分辨率频率调节和脉宽调制调节的系统,可以采用直接数字合成器(DDS)在大带宽围提供具有高频率分辨率的高精度锯齿波形。于是,你就可以在开环或闭环系统中将该信号作为比较器的输入信号。图1示出了一种产生具有可编程占空比的可编程方波的简便方法。AD9833型DDS把一个可编程三角形波送入AD8611比较器的一个输入端,并控制输出波形的频率。传动器的反馈回路控制比较器的阈值电平。AD8611是一个具有锁存功能和互补输出的4ns比较器。来自DDS的输入信号直接送到比较器的反相输入端。输出信号通过R1和R2反馈到非反相输入端。R1对

12、R1+R2之比决定滞后窗的宽度,而VDAC设定滞后窗的中心,即平均开关电压。输出端在输入电压大于VHI时就转变为低电平,并且要到输入电压低于VLO时才再次转变为高电平,正如下式所示:VHI=(V+-1.5V-VDAC)(R1/(R1+R2)+VDAC和VLO=VDAC(R2/(R1+R2),式中 V+ 是加到比较器的正电源电压,VDAC 是DAC设定的电平。AD8611能接收峰峰电平为400mV的100兆赫信号,也能接收几十毫伏的输入信号。AD9833可利用DDS体系结构产生正弦波和三角波输出信号。AD9833在一块芯片含一个采用28位相位累加器的数值控制的振荡器、一个正弦ROM以与一个10位

13、数/模转换器(图2)图2 一个DDS电路可在一块芯片上包含一个采用28位相位累加器的数控晶振、一个正弦ROM以与一个10位数模转换器。你一般根据其振幅公式来考虑正弦波:a(t)=sin(vt)。但是,这些波形都是非线性的,而且难以产生。另一方面,角信息本质上又是线性的。这就是说,相位角在每一时间单位转过某一固定角度。只要知道一个正弦波的相位是线性的,又已知基准间隔(时钟周期),你就可以确定该周期的相位旋转: 相位=dt;=相位/dt; f=(相位fMCLK)/2, 式中dt是主时钟频率fMCLK的倒数。只要知道相位和主时钟频率,便可以利用这一公式产生输出频率。相位累加器提供28位的线性相位。正

14、弦ROM以数字格式存储输出正弦波的振幅系数。DAC把正弦波转换成模拟域。如果你旁路正弦ROM,则AD9833就会产生三角波,而不是产生正弦波。你可用写入频率寄存器的方法给该器件编程。于是,从该器件输出的模拟信号是fOUT=(fMCLK/228)(频率-寄存器字)。图3示出了图1中AD8611比较器的典型输出曲线图。DDS的输入信号是一个调到1MHz的三角波。每个曲线图都示出了各种不同阈值电压的PWM输出。在图1的闭环电路中,你可以把PWM的输出调到12位精确度。并可使用许多种脉宽调制方法;所用方法取决于应用系统。对于低分辨率应用系统来说,采用运算放大器和电位器的传统方法是可以接受的,也很经济实惠。对于低频高分辨率应用系统来说,ADC832则是一种免费增加功能的单芯片方法。对于要求频率微谐的高分辨率高频应用系统来说,你可以将一个DDS和一个比较器组合在一起,产生精密的高频PWM波形LPC2103定时器产生PWM波形#include config.hconst TABLE=2,4,8;void delay(uint32 z) uint32 i;for(;z0;z-) for(i=0;i5000;i+);void PLL_init(void) PLLCON = 1;#if (Fpclk / (Fcclk / 4) = 1 VPBDIV

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号