已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1. 摘要.32. 关键词.43. 引言 .44. 原理与总体方案 .55. 软件设计.76. 仿真设计.117. 硬件设计.148. 调试 .149. 结束语.1610. 参考文献.171. 摘要:由于网络与通信技术的发展,嵌入式系统在经历了近20年的发展历程后,又进入了一个新的历史发展阶段,即从普遍的低端应用进入一个高、低端并行发展,并且不断提升低端应用技术水平的时代,其标志是32位mcu的发展。lpc2000系列arm7微控制器包含有六路pwm波产生通道;在显示方面着多利用led和lcd, lcd 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面;我们此次课程设计的作品主要运用了lpc2000系列的微控制器芯片、产生t=10ms的pwm波,在指定的引脚输出,并将其周期,占空比的改变在lcd屏上显示。利用按键k1改变其占空比高电平的宽度,每按一次k1,t增加1ms。高电平在1ms9ms循环改变。使用proteus 7.5 professional和keil进行程序编写,利用ads 和magic arm2200教学实验开发平台进行硬件仿真。经过软硬件调试和测试,产生了以10ms为周期的pwm波并能通过按键改变其高电平。实践不仅证明了设计方法的正确性,更增加了实践操作的经验。abstract: due to network and communication technology development, the embedded system after nearly 20 years of development, and to enter into a new historical stage of development, that is, from the low end of general application into a high, the low end of the parallel development, and constantly improve the low end of the application of the technical level of the era, the sign is 32 bit mcu development. lpc2000 series arm7 micro controller contains six pwm waves produce channel; in the more shows using led and lcd, lcd structure is in two pieces of parallel of liquid crystal glass place, two pieces of glass is among many vertical and horizontal small wire, electricity or not to control rods through crystal molecules to change direction, will light reflection out produce images; we of the curriculum design of the main works using a lpc2000 series of micro controller chip, produces t = 10 ms pwm wave, in the designated pin output, and the cycle, occupies emptiescompared to change in the lcd display. use button to change the triassic-paleogene occupies emptiescompared to the width of the high level, each as a k1, t + 1 ms. high level in 1 ms 9 ms cycle changes. use proteus 7.5 professional and keil for programming, and ads and magic arm2200 teaching experiment development platform for hardware simulation. after the software and hardware commissioning and testing, produced with 10 ms cycle of pwm waves and can effectively change through the high level. practice not only proved the correctness of design method, more added to practice the operation experience. 2. 关键词:lpc2000 ,周期 ,占空比,按键,pwm3 引言lpc2000系列微处理器工作频率为60mhz,采用基于armtdmi内核的32位risc。lpc2000的外设接口非常丰富,包括uart、spi、i2c、can、adc、 pwm、rtc等。这一系列微控制器lpc2114/2124/2119/2129/2194、lpc2210/2212/2214、lpc2290 /2292/2294借助片上存储器加载模块实现了“零等待访问”高速闪存功能,提高了指令执行的效率。在高性能低功耗的基础上提供了增强的通信功能和片上代码保护机制。由于内置了宽范围的串行通信接口,它们也非常适用于通信网关、协议转换器、嵌入式软调制解调器等。6通道的pwm更能用于复杂的马达控制应用。 lpc2000系列微控制器能够实现零等待访问的高速闪存,这主要归功于片上的存储器加速模块。图2为存储器加速模块的结构框图。128位宽度的闪存阵列通过单独的局部总线与处理器接口,每周期可为arm内核提供四条32位指令。这使得mcu无需经过等待状态就可直接从闪存上执行指令,从而消除了一般闪存读取时的等待时间。为了解决指令序列的变化,指令和数据的不同处理带来的等待时间,模块内部实现了预取缓冲器、避免数据读/写打乱地址序列的数据旁路和跳转跟踪缓冲器三个功能块的联合工作,并用两组128位宽度的存储器来进行并行访问,消除延时。存储器加速模块的作用取决于系统时钟的大小。lpc2000系列片上闪存的访问时间为50ns,对于系统时钟不高于20mhz的应用,在1个周期内就可将闪存的内容读出,此时没必要使用存储器加速模块。时钟频率越高,当直接执行闪存中的代码时,系统性能受影响越大,此时使能存储器加速模块,可以得到接近4倍速度的加速,真正实现零等待高速闪存。由于lpc2000可直接从闪存执行指令,无需引导期间将代码传送到sram,这不仅省掉了耗时又耗能的系统启动步骤,还节省了昂贵的sram。对片内闪存的编程可通过几种方法来实现:通过内置的串行jtag 接口,通过串口进行在系统编程(isp),或通过在应用编程(iap)。4. 原理与总体方案4.1 gpiolpc2000系列arm的gpio具有如下特性:a、 可以独立控制每个gpio口的方向(输入/输出模式);b、 可以独立设置每个gpio的输出状态(高/低电平);c、 所有gpio口在复位后默认为输入状态。每个作为gpio功能的引脚受到四个寄存器控制,分别为控制方向的ioxdir、控制输出电平状态的ioxset和ioxclr、反映引脚电平状态的ioxpin。这四个寄存器构成一组,而一组寄存器控制着一个端口(p0、p1、p2或p3)。注意事项:引脚设置为输出方式时,输出状态由ioxset和ioxclr中最后操作的寄存器决定。lpc2000系列arm大部分的i/o引脚为推挽方式输出,但是具有总线功能的i/o引脚为开漏输出(p0.2/3和p0.11/14)。使用这些开漏输出的引脚作为gpio功能,并用于高电平输出或者引脚状态输入时,要接上拉电阻才能正常使用。推挽输出的i/o引脚正常拉出/灌入电流均为4ma,短时间极限值为40ma。复位后,大部分引脚默认作为gpio功能,并且均为输入状态。但是,有部分引脚在复位后默认作为第二功能(如:p0.27p0.30在复位后默认为a/d输入引脚)。lpc2210/2220/2212/2214中的p2.30和p2.31比较特殊,无论它们作为什么功能,第二功能的a/d输入始终有效,当它们连接高于3.3v的电平时,将影响其它a/d转换的结果。 在lpc2000系列中,可以直接产生pwm波,而且可以灵活的产生单边的或双边的pwm波,所谓单边,指的就是在每个周期的开始,该pwm波就升高电平,因此只需要控制下降沿的时间就可以,因此成为单边;而双边的含义是上升沿和下降沿都可以得到控制,显然,这种pwm波需要更多的控制寄存器,典型的波形如下: 在lpc2000系列中,产生这种pwm的方法如下:(1) 首先必须关闭相应的定时器,并且将定时器复位(2) 设置预分频器的数值,但是一般并不需要使用预分频(3) 设置当pwm产生用到的timer计数达到匹配寄存器的数值后,进行何种操作,如果是连续的产生pwm波,那么一般是选择在这个时候将产生pwm波的timer复位,进而进行下一个周期的计数(4) 设置pwm的周期与占空比,这里注意,在lpc中,pwmmr0是控制着整个pwm产生的周期的,其余的pwmmr16都是用来控制占空比的,而非控制周期,这个寄存器与其它的并不一样(5) 对以上的设置进行锁存,就是将pwmmr0决定的周期,和其它寄存器决定的占空比进行锁存(6) 设置允许相应的pwm引脚输出pwm波,同时设置是单边pwm还是双边pwm波,值得注意的是,“允许”并不代表就是启动了pwm输出,pwm的输出是随着timer的启动而启动的(7) 启动用于pwm波的timer,开始输出4.2 总体方案首先在keil软件中编写程序,应用pwm专用的标准定时器,设定相应的寄存器,并通过pwmro来控制pwm的周期,设置所存并保证在每次案件按下的时候其占空比可以更新,通过匹配功能及一些控制电路来产生单边沿控制的pwm波,lcd1062显示周期,和高电平的宽度,通过按键查询改变高电平的宽度。应用proteus软件仿真,仿真实现后下载程序到magic arm2200教学实验开发平台硬件仿真。gpio初始化5. 软件设计 mro匹配复位pwm定时器lcd初始化设置单边沿控制通过寄存器设置周期与占空比pwm定时器端口初始化 按键按下?yesnopwm匹配所存高电平宽度加1ms启动pwm的定时器宽度大于 9msnoh=1ms周期t=10yes 图2 pwm初始化图1 主函数流程图主函数流程如图1,首先对gpio初始化,设置p0.20脚为gpio功能,并设置为输入,再对lcd初始化,若用lcd1602,应对lcd所连接的引脚设置为gpio功能。应用pwm专用的标准定时器,设定相应的寄存器,并通过pwmro来产生pwm波,设置1ms时pwmler更新一次占空比,按键采用查询按键方式,当没有按键时循环读p0.20的电平,由于按键接有上拉电阻,在没有按键按下的情况下读到的电平状态为高,当有按键按下时通过控制定时器pwmler寄存器来改变占空比的大小从而改变输出pwm波的高电平。定时器初始化流程图如图2所示,首先将mro匹配复位pwm定时器,预分频计数器设置为零分频,pwm匹配控制寄存器设置为匹配复位,以输出固定周期的pwm波,由于采用0分频,输出pwm波为10ms,所以计数器上限值设置为14.000*1000000/100。部分程序如下#include config.h#define key1 (120) /*p0.20引脚连接key1*/ 函数名称: waitkey()功能: 等待一个有效按键,延时去抖功能函数说明:当没有按键按下时,一直读p0.20的电平状态,当有按键按下时,延时一段时间,再次判断p0.20的电平状态,若仍为低电平,则可确定按键按下,再读取p0.20的电平状态,等待按键弹起。*/void waitkey(void) uint32 i; while(1) while(io0pin&key1)!=0); /等待key1键按下 for(i=0;ifpclk/100;i+); /延时去抖 if(io0pin&key1)=0) break; while(io0pin&key1)=0); /等待key1键放开 /*函数名称: pwminit功能描述: pwm初始化代码,在需要的地方调用,根据需要改变*/void pwm_init(void) pwmpr=0x00; /不分频,计数频率为fpclk pwmmcr=0x02; /设置pwmmr0匹配时复位t0tc, pwmmr0=14.000*1000000/100; /设置pwm周期为10ms pwmmr5=14000; /设置pwm占空比 pwmler=0x21; /pwmmr0,pwmmr5锁存 pwmpcr=0x2000; /允许pwm5输出,单边pwm pwmtcr=0x09; /启动定时器,pwm使能 /*名称: main()*功能: 使用pwm5输出占空比可调的pwm波形,并在lcd上面显示*/int main (void)int8u err, *pt, i, k= 10; int32u pwmduty; /pwm占空比控制变量 int16u x = 0, y; int8u (*p)63 = a;gui_initialize(); / 初始化lcm gui_setcolor(blue, white); / 设置前景色和背景色 for(err = 0; err 2; err+) gui_loadpic(24*err + 10, 0, *p, 24, 21); p+; dispnum(0, 10);/显示周期默认信息 for(err = 2; err =140000) pwmduty=14000; return 0; 6. 仿真设计6.1 proteus软件proteus 是英国labcenter公司开发的电路分析与实物仿真软件。它运行于windows操作系统上,可以仿真、分析(spice)各种模拟器件和集成电路。特点:用户可以实时采用诸如ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件。可以仿真51系列、avr、pic、arm、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,proteus建立了完备的电子设计开发环境。6.2 仿真电路整体仿真电路如图3,该仿真的原理图运用了一个lpc2138芯片为主体,以液晶和按键的控制实现的人机交互,实现按键每按下一次,就改变一次波形的周期并显示在液晶lcd液晶显示屏上。采用lpc2138芯片作为主控器,扩展lcd接口图形液晶模块显示屏作为出设备,以输出改变的周期数,另外,示波器作为波形显示,显示出改变周期频率后的波形图。此外,系统还扩展了lcd作为字库字模数据显示芯片,将数字模拟示波器显示的字模以相应的代码放在程序里并显示。图3液晶模块电路如图4所示。采用图形液晶显示模块lcd240128作为显示设备。其内含有中、英文以及数字字库,配合字库存储芯片可以实现2424中文汉字的输入。它利用拼音输入系统软件部分来实现对数字,周期的输入。lcd的主要任务是将键盘输入的数字序列转换成汉字。 它将键盘输入的数字序列转换为编码,根据编码转换为该显示所需的16进制数,之后放在程序中运行显示。该显示屏是将它的数据输入接口d0d7连接到芯片的p0.0p0.7,复位rs口,访问控制接口rw,使能端e分别连接到芯片p0.8p0.10口,以实现上述的显示功能。 图4 示波器是用于显示与触发时间相关的波形采样内容,当每次实施触发时它都会显示采样波形。图5仿真结果如图6所示,当按下按键时,示波器显示pwm波的高电平加1ms,同时lcd显示高电平加1ms,和周期10ms。图6 仿真结果7. 硬件设计硬件电路采用magic arm2200教学实验开发平台图7硬件电路8. 调试8.1 软件调试主要运用keil软件进行软件调试,通过主函数调用子函数实验设计要求的功能,利用仿真软件观察现象。keil软件可以通过软件窗口的模拟监测输出信号的高低电平以及单片机相关端口的变化。常用的调试按钮:reset 相当于单片机最简,系统的复位按钮,按下后,所有的系统状态将变成初始全速运行,相当于单片机的通电执行;step into 逐语句;进入并单步执行;单步执行step over;逐过程;step out跳出。软件的调试主要是修改程序语法错误,通过观察各寄存器的变化,与输入输出口的变化也可以发现逻辑错误。语法错误可以通过下方的提示改正,而逻辑错误则需通过keil和proteus仿真改正。读取按键值时,若将程序中的变量设置为16位或8位与io0pin相与则不能正确读取到按键值,此处应将变量改为32位。lcd1602若不添加读忙函数,则应在lcd子函数中加入适当的延时,否则lcd的读写速度跟不上芯片的速度,特别是在写指令时,应加入较大的延时。8.2 软件电路仿真调试按照程序,在proteus软件中连接电路,选用lpc2138芯片,p0.21连接示波器,p0.20连接按键并接上上拉电阻,选用lcd240128作lcd显示模块,将keil中生成的.hex连接到芯片中。运行程序,观察示波器与lcd的显示结果。软件电路仿真中,lcd的所有端口都应接上上拉电阻,否则在接上示波器时,lcd不能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年婚前共同财产分割协议书
- 2024年工程保修合同样本简明
- 04版电力施工合同:0千伏电缆敷设工程
- 2024双方关于共同推广旅游业务的合同
- 2024年个人股东股权出售契约
- 04年智能电网控制系统建设合同
- 2024年专属装修付款协议
- 2024年化妆品品牌授权合同
- 2024乙方丙方艺术展览承办合同
- 2024云计算在企业信息化建设中的应用合同
- 江苏省2024高中学业水平合格考历史试卷试题(含答案详解)
- DB11T 2256-2024 城市轨道交通钢轨踏面维修技术规范
- 经济学金融学课件-第十三章-中央银行货币政策操作
- 07J901-2 实验室建筑设备(二)
- 国家中医药管理局发布的406种中医优势病种诊疗方案和临床路径目录
- 责任保险行业研究报告
- 初级经济师(初级建筑与房地产经济)题库含答案(精练)
- (高清版)JGT 225-2020 预应力混凝土用金属波纹管
- 2024年湖南化工职业技术学院单招职业适应性测试题库完整
- 黑龙江省哈尔滨市第十七中学校2023-2024学年八年级上学期期中数学试题【含答案】
- 清收清欠工作方案及措施
评论
0/150
提交评论