




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理实验报告实验名称: PWM灯光亮暗控制 院 系: 物理与机电工程学院 专业班级: 08电子信息工程 学 号: 2008041545 学生姓名: 赵 俊 指导教师: 涂 二 生 完成时间: 2011年5月 日 报告成绩: 评阅意见: 评阅教师 日期 灯光亮暗控制实验 一、 实验目的1. 利用0.21口作为PWM5的输出端口,并用杜邦线将此端口与LED1相连,通过占空比的调节来控制LED1的亮度,并且实现在LED1亮度最亮与亮度为零的两种情况下,蜂鸣器会报警。2. 让自己更好的掌握PWM占空比调节的控制功能,因为PWM也是电子系统中经常用的东西,做此实验的实用性也更强。二、 实验仪器 装有ADS1.2及EasyJTAG仿真器的电脑一台 ARM7开发板一块三、 实验原理LPC3131/2132/2138 的脉宽调制器建立在前一章的标准定时器 0/1 之上。应用可在 PWM 和匹配当中进行选择。特性:z7 个匹配寄存器,可实现 6 个单边沿控制或 3 个双边沿控制 PWM 输出,或这两种类型的混合输 出:连续操作,可选择在匹配时产生中断匹配时停止定时器,可选择产生中断匹配时复位定时器,可选择产生中断z每个匹配寄存器对应一个外部输出,具有下列特性:匹配时设置为低电平匹配时设置为高电平匹配时翻转匹配时无动作z支持单边沿控制和/或双边沿控制的 PWM 输出。单边沿控制 PWM 输出在每个周期开始时总是为高电平,除非输出保持恒定低电平。双边沿控制 PWM 输出可在一个周期内的任何位置产生边沿。这样可同时产生正和负脉冲。z脉冲周期和宽度可以是任何的定时器计数值。这样可实现灵活的分辨率和重复速率的设定。所有PWM 输出都以相同的重复率发生。z双边沿控制的 PWM 输出可编程为正脉冲或负脉冲z匹配寄存器更新与脉冲输出同步,防止产生错误的脉冲。软件必须在新的匹配值生效之前将它们 释放。z如果不使能 PWM 模式,可作为一个标准定时器z带可编程 32 位预分频器的 32 位定时器/计数器z当输入信号跳变时 4 个捕获寄存器可取得定时器的瞬时值,也可选择使捕获事件产生中断。寄存器描述PWM 功能增加了新的寄存器和寄存器位,见表 137。表 137 PWM 寄存器映射名称描述访问复位值*地址PWMIRPWM 中断寄存器 可以写 IR 来清除中断。可读取 IR 来识别哪个中断源被挂起。R/W00xE0014000PWMTCRPWM 定时器控制寄存器 TCR 用于控制定时器计数器功能。定时器计数器可通 过 TCR 禁止或复位。R/W00xE0014004PWMTCPWM 定时器计数器 32 位 TC 每经过 PR+1 个 pclk 周期加 1。TC 通过 TCR 进行 控制。R/W00xE0014008PWMPRPWM 预分频寄存器 TC 每经过 PR+1 个 pclk 周期加 1。R/W00xE001400CPWMPCPWM 预分频计数器 每当 32 位 PC 的值增加到等于 PR 中保存的值时,TC 加 1。R/W00xE0014010PWMMCRPWM 匹配控制寄存器 MCR 用于控制在匹配时是否产生中断或复位 TC。R/W00xE0014014PWMMR0PWM 匹配寄存器 0 MR0 可通过 MCR 设定为在匹配时复位 TC,停止 TC 和 PC和/或产生中断。此外,MR0 和 TC 的匹配将置位所有单边沿模式的 PWM 输出,并置位双边沿模式下的 PWM1 输出。R/W00xE0014018PWMMR1PWM 匹配寄存器 1 MR1 可通过 MCR 设定为在匹配时复位 TC,停止 TC 和 PC 和/或产生中断。此外,MR1 和 TC 的匹配将清零单边沿模式或双边沿模式下的 PWM1,并置位双边沿模式下的 PWM2 输出。R/W00xE001401CPWMMR2PWM 匹配寄存器 2 MR2 可通过 MCR 设定为在匹配时复位 TC,停止 TC 和 PC 和/或产生中断。此外,MR2 和 TC 的匹配将清零单边沿模式或双边沿模式下的 PWM2,并置位双边沿模式下的 PWM3 输出。R/W00xE0014020PWMMR3PWM 匹配寄存器 3 MR3 可通过 MCR 设定为在匹配时复位 TC,停止 TC 和 PC 和/或产生中断。此外,MR3 和 TC 的匹配将清零单边沿模式或双边沿模式下的 PWM3,并置位双边沿模式下的 PWM4 输出。R/W00xE0014024PWMMR4PWM 匹配寄存器 4 MR4 可通过 MCR 设定为在匹配时复位 TC,停止 TC 和 PC 和/或产生中断。此外,MR4 和 TC 的匹配将清零单边沿模式或双边沿模式下的 PWM4,并置位双边沿模式下的 PWM5 输出。R/W00xE0014040PWMMR5PWM 匹配寄存器 5 MR5 可通过 MCR 设定为在匹配时复位 TC,停止 TC 和 PC和/或产生中断。此外,MR5 和 TC 的匹配将清零单边沿模式或双边沿模式下的PWM5,并置位双边沿模式下的 PWM6 输出。R/W00xE0014044PWMMR6PWM 匹配寄存器 6 MR6 可通过 MCR 设定为在匹配时复位 TC,停止 TC 和 PC和/或产生中断。此外,MR6 和 TC 的匹配将清零单边沿模式或双边沿模式下的PWM6,R/W00xE0014048PWMPCRPWM 控制寄存器 使能 PWM 输出并选择 PWM 通道类型为单边沿或双边沿控制。R/W00xE001404CPWMLERPWM 锁存使能寄存器 使能使用新的 PWM 匹配值。R/W00xE0014050四、 实验内容本次实验的实验程序如下:#include config.h#define key1 (116)#define key2 (117) #define BEEP (10;dly-) for(i=0;i5000;i+);int main (void) PINSEL0 = 0x00000000;/* 设置管脚连接GPIO*/ PINSEL1 = 0x00000400;/* 设置管脚连接key1,key2P0.21选择PWM5功能*/ IO0DIR=BEEP; /* PWM初始化 */ PWMPR = 0x00; / 不分频,计数频率为Fpclk PWMMCR = 0x02;/ 设置PWMMR0匹配时复位PWMTC PWMPCR = 0x2000;/ 允许PWM5输出,单边PWM PWMMR0 = 10000; PWMMR5 = 5000; / 50%占空比 PWMLER = 0x21;/ PWM0和PWM5匹配锁存 PWMTCR = 0x02; / 复位PWMTC PWMTCR = 0x09; / 启动PWM输出 IO0SET =BEEP; while(1) if(PWMMR5 != 0) /占空比为0后,不再减少 if (IO0PIN&key1)=0) /key1按下 Delayms(500); /延时 if(IO0PIN & key1)=0) /再次检测 PWMMR5-=500; /占空比减少5 PWMLER = 0x21;/ PWM0和PWM5匹配锁存 else IO0CLR=BEEP; /占空比为0%时蜂鸣 Delayms(100); IO0SET =BEEP; if(PWMMR5 = 10000) /占空比为100,不再增加 if (IO0PIN&key2)=0) /检测key2按下 Delayms(500); if(IO0PIN & key2)=0) /再次检测 PWMMR5+=500; /占空比增加5 PWMLER = 0x21;/ PWM0和PWM5匹配锁存 else IO0CLR=BEEP; /占空比为100%时蜂鸣 Delayms(100); IO0SET =BEEP; return 0; 实验时是通过按KEY1键来减少占空比,由于LED1灯是低电平点亮,所以占空比越小,灯越亮。所以实验可以通过按KEY1键来增加LED1的亮度。而按KEY2是用来增加占空比,所以KEY2的作用是来减少灯的亮度。五 、实验结果 本次实验的结果: 一开始LED1灯的亮度适中(占空比为50%),当按一次KEY1键时,灯的亮度增加一点(占空比减少5%),当按十次后灯最亮(占空比为0%),此时蜂鸣器会蜂鸣报警,而按KEY2键的情况恰好相反,由于按一次KEY2键时占空比增加5%,所以按一次KEY2键时,L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论