毕业论文——发动机自动熄火的诊断分析1 .doc

上传人:土8路 文档编号:10118873 上传时间:2021-04-20 格式:DOC 页数:22 大小:2.09MB
返回 下载 相关 举报
毕业论文——发动机自动熄火的诊断分析1 .doc_第1页
第1页 / 共22页
毕业论文——发动机自动熄火的诊断分析1 .doc_第2页
第2页 / 共22页
毕业论文——发动机自动熄火的诊断分析1 .doc_第3页
第3页 / 共22页
毕业论文——发动机自动熄火的诊断分析1 .doc_第4页
第4页 / 共22页
毕业论文——发动机自动熄火的诊断分析1 .doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《毕业论文——发动机自动熄火的诊断分析1 .doc》由会员分享,可在线阅读,更多相关《毕业论文——发动机自动熄火的诊断分析1 .doc(22页珍藏版)》请在三一文库上搜索。

1、C51C51 程序设计程序设计 实验报告实验报告 班班 级:级:1010 电信电信 0101 班班 姓姓 名:名: 陈海祥陈海祥 学学 号:号:101202060130101202060130 日日 期:期:2012.6.22012.6.2 指导老师:指导老师: 赵金龙赵金龙 主要应用:主要应用: 电脑钟电脑钟 目录目录 第一章第一章 AT89C51 介绍介绍.2 1.1 AT89C51 简介.2 1.2 AT89C51 主要特性.3 1.3 各引脚说明.4 第二章第二章 PROTEUS 电路图设计及应用电路图设计及应用 .7 2.1 PROTEUS软件介绍.7 2.2 PROTEUS绘制电脑

2、钟实例.8 第三章第三章 KEIL 软件的应用软件的应用.10 3.1 KEIL软件的使用.10 3.2 生成.HEX 文件.13 第四章第四章 仿真结果仿真结果.14 第五章第五章 结论结论 .15 附录:附录:.17 6.1 原理图.17 6.2 程序代码.17 参考文献:.21 第一章第一章 AT89C51 介绍介绍 1.1 AT89C51 简介简介 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器 (FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。 AT89

3、C2051 是一种带 2K 字节闪烁可编程可擦除只读存储器的单 片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器 件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准 的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和 闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效 微控制器,AT89C2051 是它的一种精简版本。AT89C51 单片机为 很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形 及引脚排列如图所示: 1.2 AT89C51 主要特性主要特性 与 MCS-51 兼容 4K 字节可编程闪烁存储器 寿命:1000

4、 写/擦循环 数据保留时间:10 年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288 位内部 RAM 32 可编程 I/O 线 两个 16 位定时器/计数器 5 个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 1.3 各引脚说明各引脚说明 VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输 入。P0 能够用于外部程序数据存储器,它可以被定义为数据/ 地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验

5、时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被 内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将 输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时, P1 口作为第八位地址接收。 P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时, 其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时, P2 口的管脚被外部拉低,将输出电流。这是由于内

6、部上拉的缘 故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器 进行存取时,P2 口输出地址的高八位。在给出地址“1”时, 它利用内部上拉优势,当对外部八位地址数据存储器进行读写 时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和 校验时接收高八位地址信号和控制信号。 P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可 接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部 上拉为高电平,并用作输入。作为输入,由于外部下拉为低电 平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 AT89C51 的一些特殊功

7、能口,如下所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个 机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电 平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于 输入编程脉冲。在

8、平时,ALE 端以不变的频率周期输出正脉冲 信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出 的脉冲或用于定时目的。然而要注意的是:每当用作外部数据 存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令 是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在 外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器 取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据 存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当/

9、EA 保持低电平时,则在此期间外部程序存储 器(0000H-FFFFH) ,不管是否有内部程序存储器。注意加密方 式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此 间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP) 。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 振荡器特向放大器可以配置为片内振荡器。石晶振荡和陶 瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外 部时钟信号的脉宽无任何要求,但必须保证脉冲的高低

10、电平要 求的宽度性: XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反 第二章第二章 Proteus 电路图设计及应用电路图设计及应用 2.1 Proteus 软件介绍软件介绍 图. 2.1.0 Proteus 启动界面 Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实 物仿真软件。它运行于 Windows 操作系统上,可以仿真、分析 (SPICE)各种模拟器件和集成电路,该软件的特点是: (1)、实现了单片机仿真和 SPICE 电路仿真相结合。具有模拟电 路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿 真、RS232 动态仿真、I2C 调试器

11、、SPI 调试器、键盘和 LCD 系 统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信 号发生器等。 (2)、支持主流单片机系统的仿真。目前支持的单片机类型有: 68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、 PIC18 系列、Z80 系列、HC11 系列以及各种外围芯片。 (3)、提供软件调试功能。在硬件仿真系统中具有全速、单步、 设置断点等调试功能,同时可以观察各个变量、寄存器等的当 前状态,因此在该软件仿真系统中,也必须具有这些功能;同 时支持第三方的软件编译和调试环境,如 Keil C51 uVision2 等软件。 (4)、具有强大的原理图

12、绘制功能。总之,该软件是一款集单片 机和 SPICE 分析于一身的仿真软件,功能极其强大 2.22.2 ProProteus 绘制电脑钟实例绘制电脑钟实例 打开 Proteus 软件,出现工作界面如图所示: 图. 2.2.0 Proteus 工作界面 将所需元器件加入到对象选择器窗口,单击对象选择器按钮 P,如图所示:。查找并放置元器件至图形编辑窗口, 电路图如下图所示: 图.2.2.1 软件查找选择界面 选择放置原件调整布局连线: 图 2.2.2 LED 电脑钟显示电路图 绘制完电路图后应点击左下方 player 按钮进行电路检测 第三章第三章 Keil 软件的应用软件的应用 3.1 Kei

13、l 软件的使用软件的使用 Keil C51 软件是众多单片机应用开发的优秀软件之一, 它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言 的程序设计,界面友好,易学易用。 图 3.1.0 Keil 软件启动界面 进入 Keil C51 后的编辑界面,如图所示: 图 3.1.1 Keil 软件编辑界面 (1 1) 、新建文件、新建文件 单击Project 菜单,在弹出的下拉菜单中选中New Project 选项,新建一个项目,然后选择要保存的路径。这时 会弹出一个对话框,要求选择单片机的型号,如图所示: 选定 Atmel 下的 89C51,单击确定。在下图中,单击“File” 菜单,

14、再在下拉菜单中单击“New”选项,新建文件后如下图所 示: 将程序编辑到新建的文档中 并保存后缀名为 .C 文件 (2)(2)、添加程序文件到工程文件中、添加程序文件到工程文件中 回到编辑界面后,单击“Target 1”前面的“”号,然后在 “Source Group 1”上单击右键,弹出如下菜单 图 3.1.2 添加程序文件到工程文件菜单 然后单击“Add File to Group Source Group 1 ” 屏幕如 下图所示 图 3.1.3 程序添加 3.2 生成生成.HEX 文件文件 单击“Project”菜单,再在下拉菜单中单击 “Options for Target Targ

15、et 1 ” 在下图中,单击“Output”中单击 “Create HEXFile” 选项,使程序编译后产生 HEX 代码,供 下载器软件使用。 图 3.2.1 生成.HEX 文件设置对话框 图 3.2.2 编译运行 第四章第四章 仿真结果仿真结果 在 Proteus 中双击 51 单片机将.HEX.HEX 文件烧入单片机 中(图 4.1.0) 。点击左下方的 player 按钮 运行电子钟仿真 图 4.1.0 HEX 文件烧入 图 4.1.1 时钟仿真图 第五章第五章 结论结论 在本学期的课程设计中,重新巩固了单片机的理论知识学到了在本学期的课程设计中,重新巩固了单片机的理论知识学到了 很多

16、内容。刚开始学习这门课的时候觉得很困难,没有思路。由刚很多内容。刚开始学习这门课的时候觉得很困难,没有思路。由刚 开始的不熟悉到现在的熟悉并且能熟练运用,收获颇丰。把以前学开始的不熟悉到现在的熟悉并且能熟练运用,收获颇丰。把以前学 到的知识得到巩固提高和进一步的理解和认识。虽然在过程中遇到到的知识得到巩固提高和进一步的理解和认识。虽然在过程中遇到 了困难,比如程序代码错误,仿真结果出错,但是在经过修改和同了困难,比如程序代码错误,仿真结果出错,但是在经过修改和同 学的帮助下都一一进行了完善。同时,我发现自身还有很多缺点,学的帮助下都一一进行了完善。同时,我发现自身还有很多缺点, 诸如诸如 C

17、C 语言基础不够牢固,容易马虎等。语言基础不够牢固,容易马虎等。 总之,课设是一个整体,要想完成课设,必须要有条有理的确总之,课设是一个整体,要想完成课设,必须要有条有理的确 定课设的整体结构,这就需要我们有一个整体的概念,从目录到结定课设的整体结构,这就需要我们有一个整体的概念,从目录到结 尾都应该贯穿整体,流畅。此外结构必须要清晰,对于每个部分,尾都应该贯穿整体,流畅。此外结构必须要清晰,对于每个部分, 我们要做到有理有据,对课题进行深刻的讨论,不能只是走个形式我们要做到有理有据,对课题进行深刻的讨论,不能只是走个形式 而已,要从中学到有用的知识,为我们将来就业打下坚实基础。而已,要从中学

18、到有用的知识,为我们将来就业打下坚实基础。 附录:附录: 6.1 原理图原理图 图 6.1.0 时钟设计流程图 6.2 程序代码程序代码 #include unsigned char code dispcode=0 x3f,0 x06,0 x5b,0 x4f, 0 x66,0 x6d,0 x7d,0 x07, 0 x7f,0 x6f,0 x77,0 x7c, 0 x39,0 x5e,0 x79,0 x71,0 x40; unsigned char dispcnt=0,0,16,0,0,16,0,0; unsigned char dispsel=0 xfe,0 xfd,0 xfb,0 xf7,0

19、 xef,0 xdf,0 xbf,0 x7f; unsigned char s,m,h; unsigned char tcnt; unsigned char i,j,k; void desp1ms(void) for(i=0;i4;i+) for(j=0;j250;j+); main() s=0; m=0; h=0; tcnt=0; TMOD=0 x01; ET0=1; EA=1; TH0=0 x3c; TL0=0 xb0; TR0=1; while(1) for(k=0;k8;k+) P2=dispselk; P0=dispcodedispcntk ; desp1ms(); void t0(

20、void) interrupt 1 using 0 tcnt+; TH0=0 x3c; TL0=0 xb0; if(tcnt=20) tcnt=0; s+; if(s=60) s=0; m+; if(m=60) m=0; h+; if(h=24) h=0; dispcnt0=h/10; dispcnt1=h%10; dispcnt3=m/10; dispcnt4=m%10; dispcnt6=s/10; dispcnt7=s%10; 参考文献:参考文献: 单片机原理与应用及 C51 程序设计 唐颖编著:北京大学出版 社 C51 程序设计首次操作教程 PDF 版 C51 程序设计实验指导书 PDF 版

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1