基于Keil4编程环境及PROTEUSWord格式文档下载.docx
《基于Keil4编程环境及PROTEUSWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于Keil4编程环境及PROTEUSWord格式文档下载.docx(18页珍藏版)》请在冰点文库上搜索。
3.2Keil硬件设计12
第四章程序清单17
第五章课程设计心得21
第六章参考文献(资料)22
致谢23
第一章课程设计内容及要求
1.1课程设计的要求
1、在Keil4编程环境及PROTEUS仿真环境下利用LPC2124系列的ARM7微处理器设计一个跑马灯应用,并测试其数据的正确性:
(1)利用PROTEUS完成跑马灯的设计仿真。
(2)利用Keil4完成跑马灯的程序设计
2、使用8个LED,使这8个LED依次点亮然后依次熄灭。
3、独立完成课程设计报告。
1.2Keil4编程环境简介
KeiluVision是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
与汇编相比,C语言在功能上、结构上、可读性、可维护性上有明显的优势,因而易学易用。
KeilC51软件提供丰富的库函数和功能强大额集成开发调试工具,全Windows界面。
达到接近于汇编的工作效率。
1.3PROTEUS仿真环境简介
Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有近20年的历史,在全球广泛使用。
它除了具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是交互的,可视化的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,可以测量仿真的波形及记录仿真数据。
在不需要硬件设备投入的情况下,Proteus软件可以建立完整的电子学习设计开发环境,缩短研发周期,并且降低开发成本。
Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。
此系统受益于多年来的持续开发,被《电子世界》在其对PCB设计系统的比较文章中评为最好产品—“TheRoutetoPCBCAD”。
Proteus产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。
用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。
其功能模块:
—个易用而又功能强大的ISIS原理布图工具;
PROSPICE混合模型SPICE仿真;
ARESPCB设计。
PROSPICE仿真器的一个扩展PROTEUSVSM:
便于包括所有相关的器件的基于微处理器设计的协同仿真。
此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LED甚至LCD显示CPU模型。
Proteus主要特征:
(1):
支持许多通用的微控制器,如ARM,PIC,AVR,以及8051.
(2)交互的装置模型包括:
LED和LCD显示,RS232终端,通用键盘
(3)强大的调试工具,包括寄存器和存储器,断点和单步模式
(4)IARC-SPY和KeiluVision2等开发工具的源层调试
(5)应用特殊模型的DLL界面-提供有关元件库的全部文件
启动ProteusISIS我所使用的Proteus是Proteus7.2SP6破解版,使用的过程中还算稳定,但存在一些BUG,一些元件找不到。
第二章ARM介绍
ARMHoldings是全球领先的半导体知识产权(IP)提供商,并因此在数字电子产品的开发中处于核心地位。
ARM公司的总部位于英国剑桥,它拥有1700多名员工,在全球设立了多个办事处,其中包括比利时、法国、印度、瑞典和美国的设计中心。
ARM的商业模式主要涉及IP的设计和许可,而非生产和销售实际的半导体芯片。
ARM向合作伙伴网络(包括世界领先的半导体公司和系统公司)授予IP许可证。
这些合作伙伴可利用ARM的IP设计创造和生产片上系统设计,但需要向ARM支付原始IP的许可费用并为每块生产的芯片或晶片交纳版税。
除了处理器IP外,ARM还提供了一系列工具、物理和系统IP来优化片上系统设计。
正因为ARM的IP多种多样以及支持基于ARM的解决方案的芯片和软件体系十分庞大,全球领先的原始设备制造商(OEM)都在广泛使用ARM技术,应用领域涉及手机、数字机顶盒以及汽车制动系统和网络路由器。
当今,全球95%以上的手机以及超过四分之一的电子设备都在使用ARM技术。
第三章程序实现思路
3.1PROTENSISIS硬件设计
PROTENSISIS的工作界面是一种标准的Windows界面,如图所示包括标准的工具栏、图形编辑窗口和仿真需要的工具
PROTENSISIS的工作界面
开始界面
进入界面
首先点击启动界面区域中的对象按钮选择“P”来打开对话框,从元件中拾取所需要的元器件。
器件选择如图所示
在对话框中搜索找到元器件的型号LPC2124,双击或单机OK添加该器件。
通过多次的添加把实验所需的元器件全部找到。
然后开始连线操作。
与器件可以根据自己方便可以随便摆放和连线,同时元器件的方向可改变。
元器件的参数也可以进行修改。
如修改相关参数。
PROTEUS具有自动布线的功能,只需选择连线的起点与终点就可以完成元器件之间的连线,同时还有总线控制功能结果。
跑马灯布线原理图如下图所示
仿真电路
LPC2124的参数
LED的参数
电源参数
修改好各元器件的参数后,按
运行结果,暂停用
,结束用
来结束。
刚开始运行结果为跑马灯效果图
(1),全部运行结果如跑马灯效果图
(2)。
跑马灯效果图
(1)
跑马灯效果图
(2)
3.2Keil硬件设计
Keil可以编辑、编译汇编语言、C语言,生成可以与PROTEUS联调的hex文件。
安装好后,开始启动Keil4
文件:
点击Project菜单,选择弹出的下拉式菜单中的NewProject,如图1。
接着弹出一个标准Windows文件对话窗口,如图2。
图1
图2
选择所要的单片机,这里我们选择常用的Philips公司的LPC2124
自此工程已经初步建立,然后创建源文件并加入工程中
首先点击File,然后选择new得到文件窗口,并重命名文件后缀为.c。
编辑好的源文件如图所示
右键点击project栏下的target按钮,选择optionsfortarget在oupt中的开头为creat打勾,就可以生成hex的文件。
如图
设置好后,就可以进行编译、链接、调试了。
如下图所示
自此,生成名为“led.hex”的文件。
可以载入PRUTEUS中进行仿真,最终完成跑马灯软件设计全部设计。
第四章程序清单
程序代码如下
#include"
config.h"
voiddelay1m(uint32);
//申明函数
voidled_show(void);
intmain()
{
PINSEL0=0x00000000;
//设置引脚连接GPIO
IO0DIR=0xffffffff;
//设置P0.0~7为输出口
while
(1)
{
led_show();
//跑马灯调用程序
}
}
voidled_show(void)
{
inti,j;
uint32LED=0x0000007f;
//变量led初始值
for(i=0;
i<
8;
i++)
{
IO0SET=LED;
//输出LED效果
delay1m(1000);
IO0CLR=0xffffffff;
//对输出口清零,以免影响下一次输出值
LED=LED>
>
1;
for(j=0;
j<
j++)
LED=~(~LED<
<
1);
}
voiddelay1m(uint32x)
uint32i;
for(x;
x>
0;
x--)
for(i=0;
120;
i++);
此外为了成功的编译和运行必须包括一些头文件。
此次课设中包括config.h,LPC2121.h,target.h。
为了简约截取部分程序如下:
Config.h文件
*--------------FileInfo-------------------------------------------------------------------------------
**FileName:
config.h
**LastmodifiedDate:
2004-09-17
**LastVersion:
1.0
**Descriptions:
UserConfigurableFile
**CreatedBy:
Chenmingji
**Createddate:
**Version:
Firstversion
**Modifiedby:
**Modifieddate:
#ifndef__CONFIG_H
#define__CONFIG_H
LPC2121.h//LPC21XX.HHeaderfileforPhilipsLPC2114/2124/2119/2129/22194
/*ThisfileispartoftheuVision/ARMdevelopmenttools
/*CopyrightKEILELEKTRONIKGmbH2002-2005*/
#ifndef__LPC21xx_H
#define__LPC21xx_H
/*VectoredInterruptController(VIC)*/
#defineVICRawIntr(*((volatileunsignedlong*)0xFFFFF014))
#defineVICSoftInt(*((volatileunsignedlong*)0xFFFFF018))
#defineVICSoftIntClr(*((volatileunsignedlong*)0xFFFFF01C))
#defineVICProtection(*((volatileunsignedlong*)0xFFFFF020))
/****************************************Copyright(c)**************************************************
**GuangzouZLG-MCUInfo------------------------------------------------------------------------------
**Filename:
target.h
1.0
headerfileofthespecificcodesforLPC2100targetboards
**Everyprojectshouldincludeacopyofthisfile,usermaymodifyitasneeded
**--------------------------------------------------------------------------------
**Createdby:
Chenmingji
2004-02-02
1.0
Theoriginalversion
第五章课程设计心得
转眼之间就是大四了,快毕业了,真心感觉到我们还有很多很多要学的,要走的路还有很长很长。
通过此次课程设计,加之之前在单片机方面proteus运用,使我更加扎实的掌握了Keil4编程环境及PROTEUS仿真有关方面的知识,在设计过程中虽然遇到了一些问题,但经过仔细思考,认真检查终于找出出错原因,也暴露出了我在这方面的知识欠缺和经验不足。
同时在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获的最终的检测调试环节,本在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能收获成果,同时在此,感谢老师的细心指导,也同样谢谢其他同学的无私帮助。
第六章参考文献(资料)
[1]丁文龙,李志军等.ARM嵌入式系统基础与开发教程.北京大学出版社.2011.
[2]刘龙江等.单片机原理及应用.北京理工大学出版社.2010.
[3]XX搜索引擎.网址
[4]谭浩强C程序设计(第二版)[M]北京:
清华大学出版社,1999.
致谢
做课设过程中,多次老师帮助我们耐心,再次向老师致以诚挚的谢意。