《机电一体化毕业论文 2》由会员分享,可在线阅读,更多相关《机电一体化毕业论文 2(14页珍藏版)》请在金锄头文库上搜索。
1、1江西渝州科技职业学院毕业设计 (论文)题 目 单片机秒表设计 姓 名 梁国宝 学 号 1065041007 专 业 机电一体化 班 级 06 级机电班 指导老师 李丽艳 日 期 2008 年 12 月 2摘要 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机在我们生活中触手可及,它是如此地贴近我们的生活,单片机给我们的生活带来的有很多的便利。 我国的单片机年需求量已达 1-3 亿片,且每年以大约 16%的速度增长,但相对于世界市场,我国的占有率还不到 1%。特别是沿海地区的电子厂,其产品多数要用到单片机,并不断地向内地辐射。单片机应用在我国
2、才刚刚起步,有着广阔的前景。目前我国的单片机从业人员只有十几万人,随着社会的发展,造成单片机人才的大量紧缺,单片机的从业人员将更为抢手。据不完全统计,到 2010 年,我国单片机设计从业人员将达 150 万人之多。开展单片机设计师培训已是当务之急。 单片机的学习、开发与应用必将造就一批计算机应用与智能化控制的工程师和科学家。科技越发达,智能化的东西就越多,培养单片机应用人才,特别是工程技术中普及单片机知识有着重要的现实意义概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑
3、功能类似的模块,比如 CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过 10 元即可.用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD 等等的家电里面都可以看到它的身影!.它主要是作为控制部分的核心部件。 它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用 PC)的主要区别 单片机课程是电子技术应用、机电、数控、自动化等专业的一门重要专业课程,实践性环节比重较大,要求理论与实际紧密结合,而实践实
4、训教学所占比例较多,硬件投入大。在实践实训的教学中,需要大量的实验仪器和设备。一般的学校或个人没有较多的经费。本文提出了一种新的思路,较为全面地阐述采用软件仿真实验的方法。关键词:Keil Proteus 整合 单片机仿3一、 绪论 随着嵌入式系统技术的迅速发展,单片机系统作为一种典型的嵌入式系统在汽车、通信、工业控制、家用电器等领域得到了广泛的应用。同时单片机课程是理论和实践相结合的一门学科,应着力于培养学生利用已学知识解决实际问题的能力。因此,在实践过程中,要求软件与硬件相结合、理论与实践相结合,但传统的单片机教学实验中,采用硬件仿真器、实验箱或实验板,需采购大量的、昂贵的硬件设备,而且设
5、备维护工作量也非常大。 本文在简要介绍了 Keil 软件和 Proteus 仿真软件的基础上,对该俩个软件在 MCS-51 系列单片机实验中的应用进行了详细分析,利用它既可以可调试单片机程序,也可仿真单片机外围器件的工作情况;既能充分利用学校计算机房现有计算机,减少硬件设备的维护工作量,还可为学生提供丰富的实验教学内容,激发学生学习单片机的兴趣,提高教学的效果,进一步缩短教学与工程实际的距离。二、keil 与 proteus 软件介绍 1、keilKeil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性
6、上有明显的优势,因而易学易用Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。Keil C51可以完成编辑、编译、连接、调试、仿真等整个开发流程。发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51
7、转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可油坊真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。2、proteusproteus是模拟单片机外围器件的工具,可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,4部分IIC器件,.) 当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型。 用51不管你是用汇编或是C编程当然要用keil啦,使用keil c51 +proteus 可以像使用仿真器一样调试程序3、如何在 keill 中
8、调试 proteus 进行 MCU 的仿真1、安装keil与 proteus 2、把proteus安装目录下 VDM51.dll(搜一下吧)文件复制到Keil安装目录的 C51BIN目录中。 3、修改keil安装目录下 Tools.ini文件,在C51字段加入TDRV5=BINVDM51.DLL (Proteus VSM Monitor-51 Driver),保存 注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意 4、打开proteus,画出相应电路(这个自己摸索吧。注意:proteus中mouse的左右键与一般程序是相反的样子) 。在proteus的to
9、ols菜单中选中use remote debug monitor 5、在keil中编写MCU的程序(keil不会,那先学学吧,比medwin难学些哦!) 。 6、进入KEIL的project菜单option for target 工程名。在DEBUG选项中右栏上部的下拉菜选中 Proteus VSM Monitor-51 Driver。 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一台的IP地址。端口号一定为8000 注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真哦 7、在keil中进行debug吧,同时在proteus中查看直
10、观的结果(如LCD显示.)8、就是以上这么多了。在初用proteus时,可以试试其example吧。 三、Keil软件的使用方法(由1. P0按键控制的秒表为例)打开Keil软件图标 .打开以下窗口:点菜单中的“Project”再点New project,打开个窗口,在给其命名。 注意:给文件名起个自己记得住的名字.之后保存即可。5选择你使用的芯片型号,我用的是Atmel公司生产的89C51,双击Armel,在下拉菜单中找到AT89C51后,点击它,然后确定:点击确定后,来接下再为你工程新建一个文件,在菜单栏里点File中的New,弹出窗口,在其编入你的程序 1.P0按键控制的秒表#inclu
11、de#define uchar unsigned char#define uint unsigned intsbit P1_0=P10;uchar duanma10=/*0,1,2,3,4,5,6,7,8,9,*/0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F; uchar weima=0xfe,0xfd,0xfb,0xf7;uchar xianshi4;uint y;void delay(uint m) /*延时程序*/uchar i,j;for(i=0;i9999) /*程序循环*/y=0;display();else display()
12、;void time0()interrupt 0 /*溢出后进位*/TR0=TR0; 7void time1()interrupt 1 /*重装中断初始值*/TH0=0xd8;TL0=0xf0;y+;然后点击文件(File)中的存为(save as) 。为你的文件起个名字,我这里的名字是为“1.P0按键控制的秒表.c”。注意文件的扩展名不能省略,而且必须是“.c” 。点击保存即可。将左边的Target 1前的“+”展开,在它下面的字符“Source Group 1”上右击,再点击增加文件到组(Add Flies to Group Source Group 1) ,如图所示:之后出现以下窗口,在
13、文件类型中点击.c源文件,注:文件类型必须是.c Source file。如图下:8在文件中找到你刚才新建的1. P0按键控制的秒表 .c文件,然后点击Add加入:只需要加入一次就够了,如果再次加入就出现以下界面,不要紧点击确定就好:这个时候左边的文件夹“Source Group 1”前面就有一个“+” ,点击该“+”号展开后,下面就出现一个名为“1. P0按键控制的秒表.asm”的文件,说明已经将文件加进去了。接下来将鼠标移到“Target 1”上,右击,再点击“目标Targer 1属性 ”(options for TargerTarget 1),再点击Output出现以下窗口:在新弹出的窗
14、口中,在Neme of Executable栏中命名为:1. P0按键控制的秒表。一定确保“E生成HEX文件(Create HEX Fi)”前面的小方格内大勾“”,即选中该项,然后再点击“确定” ,如以下图:9然后点击下面的符号中的即“构建所以目标文件夹(rebuild all target files) ”,出现以下画面时,说明目标文件“1. P0 按键控制的秒表 .hex”文件已经生成了:这个“1. P0按键控制的秒表.hex”文件就是往单片机89C51里面写的文件。有了这个文件,就可以用编程器将该文件烧写到89C51单片机中了。以上就是keil软件使用步骤及程序的调试。四、Proteus
15、软件及使用方法(由1. P0按键控制的秒表为例)在 proteus 原理图里将 8051 芯片与秒表.hex 文件进行绑定,按左下角仿真按钮观看动态仿真结果.(1)Proteus 可以仿真运行,也可单步调试。仿真运行时,可以看到外围电路显示部件状态的变化,可以利用 Proteus 提供的观察工具,具体显示某一电路状态的变化。可以通过输入、输出接口电路与实验系统交互操作。单步调试时,可用单步执行、进入子程序、跳出子程序及执行到光标处等命令执行程序,也可以在10程序中设置断点,执行到断点处。(2)在调试过程中,随时观察程序的执行情况和单片机的系统资源等,可供调试时分析和查看。Proteus 仿真的
16、优势是在实验系统运行时,可以利用按钮、开关、键盘输入信号和信息,通过发光二极管、数码管、LCD 显示器及图形仪表输出信息,实现输入、输出的交互,实时地、直观地了解单片机指令与外围电路的执行结果及运行状态。下面以一个简单的实例来完整的展示一个KeilC与Proteus相结合的仿真过程。单片机电路设计如图所示。电路的核心是单片机 AT89C51。单片机的 P1 口八个引脚接 LED 显示器的段选码(a、b、c、d、e、f、g、dp)的引脚上,单片机的 P2 口六个引脚接LED 显示器的位选码(1、2、3、4、5、6)的引脚上,电阻起限流作用,也可以接一个排阻来限流,总线使电路图变得简洁。程序设计实现 LED 显示器的选通并显示时,分,秒的现示.1、将所需元器件加入到