毕业设计(论文)-单片机仿真实验开发.doc

上传人:来看看 文档编号:3298981 上传时间:2019-08-08 格式:DOC 页数:85 大小:1.29MB
返回 下载 相关 举报
毕业设计(论文)-单片机仿真实验开发.doc_第1页
第1页 / 共85页
毕业设计(论文)-单片机仿真实验开发.doc_第2页
第2页 / 共85页
毕业设计(论文)-单片机仿真实验开发.doc_第3页
第3页 / 共85页
毕业设计(论文)-单片机仿真实验开发.doc_第4页
第4页 / 共85页
毕业设计(论文)-单片机仿真实验开发.doc_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《毕业设计(论文)-单片机仿真实验开发.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-单片机仿真实验开发.doc(85页珍藏版)》请在三一文库上搜索。

1、辽辽 宁宁 科科 技技 学学 院院 (20072007 届)届) 本科毕业论文 题目: 单片机仿真实验开发 专题: Proteus 在单片机教学中的应用 专 业: 测控技术 与仪器 班 级: 测控 BG071 姓 名:学 号: 指导教师: 论文共 85 页,其中:专题 41 页,译文 13 页 辽宁科技学院本科生毕业设计(论文)第 I 页 单片机仿真实验开发 摘要 单片机原理与应用课程对许多专业来说是一门重要的专业课。目前,国 内各高校以MCS-51 单片机(简称51 系列)为主要内容进行教学。近年来,随 着计算机技术的飞速发展,大量高性能、采用新技术的嵌入式系统CPU 的面世, 给传统的单片

2、机教学带来冲击,对微机教学方法的改进提出了新的课题。本文 通过对单片机教学改革的思考,分析单片机实验教学中存在的弊端,提出了一 种新的实验教学方法,在实践环节中引入EDA 技术,以新款的EDA 软件 Proteus 为平台,设计一套符合时代需要的实验系统。 全文针对整个实验系统,首先介绍了作为实验系统软件平台的 Proteus,叙 述其功能,分析选择其作为软件平台的可行性和优越性。 接着,详细地介绍实验各个系统模块的实验,并将其分解为一个个独立的 实验展现出来,实验难度有浅入深,有常规经典的实验项目,也有新的、贴近 实际应用的实验项目;实验过程清晰,Proteus 对单片机及单片机外围电路进行

3、 仿真,程序的变化在仿真元件的性质变化上得到体现;实验原理得到诠释,原 理图设计公开化,实验原理容易理解,Proteus 与Keil 的联调将硬件仿真的过 程完美展现。该部分一方面是对单片机教学实验系统的设计,另一方面是通过 各种实验来验证新型EDA 软件Proteus 的设计和仿真性能。 本设计利用Proteus软件仿真,解决传统实验教学模式的缺陷。本系统运行 稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等, 具有一定的实用和参考价值。 关键词:Proteus,单片机,仿真 辽宁科技学院本科生毕业设计(论文)第 II 页 Single-chip microcompute

4、r simulation experiment development Abstract Microcomputers Principal and Application is an important course for many majors.Now, many colleges in our country adopt MCS-51 series MCU as the teaching content.However, with the development of computer technology, many high capability and OSembedded CPU

5、s have appeared which brings an impact and a challenge for the teachingcourse of Microcomputers Principal and Application. This thesis finished the designing ofan experimental system for the course of micro control unit which is multifunctional andopening. And, some new teaching methods of microcomp

6、uters course are discussed in thearticle. In this paper, the current teaching of the defects were analyzed, a new experimentalteaching methods are introduced, which is, application of EDA technologies in experiment.EDA software Proteus precisely meets various requirements for teaching.This paper des

7、cribes the advantages of this method, and I design a set of Single-chip Software Proteus as a platform is introduced, including the superiority of it, and feasibility of its role as a teaching platform Simulation system, which replaced the traditional SCM experimental function.This design using the

8、Proteus software simulation, solve the defects of traditional experimental teaching mode. This system stable operation, its advantage is hardware circuit is simple, software function consummation, the control system is reliable, cost-effective higher, has certain practical and reference value. Key w

9、ords: Proteus, SCM, simulat 辽宁科技学院本科生毕业设计(论文) 第 1 页 目录 1 1 绪绪 论论.3 1.11.1 单片机背景及教学意义单片机背景及教学意义3 1.21.2 PROTEUSPROTEUS 在单片机教学中的应用在单片机教学中的应用4 1.31.3 用用 ProteusProteus 在单片机课程设计中的应用在单片机课程设计中的应用4 2 2PROTEUSPROTEUS 的简介的简介 .4 2.12.1 ProteusProteus ISISISIS 简介简介.4 2.1.12.1.1实现了单片机仿真和实现了单片机仿真和 SPICESPICE 电路仿

10、真结合电路仿真结合 .5 2.1.22.1.2支持主流单片机系统的仿真支持主流单片机系统的仿真 .5 2.1.32.1.3提供软件调试功能提供软件调试功能 .5 2.1.42.1.4具有强大的原理图绘制功能具有强大的原理图绘制功能 .5 2.22.2 工具栏介绍工具栏介绍.7 2.2.1proteus2.2.1proteus I IS SISIS 菜单栏菜单栏 .7 2.2.22.2.2 USUS ISISISIS 主工具栏主工具栏 .7 2.2.32.2.3 原理图编辑窗口原理图编辑窗口 7 2.2.42.2.4 预览窗口预览窗口 .8 2.2.52.2.5 模型选择工具栏模型选择工具栏 8

11、 2.2.6 方向工具栏 .9 2.2.72.2.7 仿真工具栏仿真工具栏 .9 3.3. PROTEUSPROTEUS 与与 KEILCKEILC 的联合仿真的联合仿真.10 4 4 基本实验项目的开发基本实验项目的开发11 4.1 开关的实训演练 11 4.1.14.1.1 指拨开关指拨开关 11 41.2 按钮开关 13 4.24.2 计数器的实训演练计数器的实训演练.15 4.34.3 中断的实训演练中断的实训演练18 4.34.31 1 单片机外中断实验的设计与仿真单片机外中断实验的设计与仿真 .18 4.3.24.3.2 单片机中断优先级实验的设计与仿真单片机中断优先级实验的设计与

12、仿真 .21 4.44.4 D/AD/A、A/DA/D 转换的应用转换的应用.25 4.44.41 1 单片机与单片机与 DAC0832DAC0832 接口的设计与仿真接口的设计与仿真 .25 图 4-11 DAC0832 接口电路.26 辽宁科技学院本科生毕业设计(论文) 第 2 页 4.4.2 单片机与 ADC0808 接口的设计与仿真 28 4.54.5 定时器的设计与仿真定时器的设计与仿真.32 4.6 串行口实验和仿真.37 4.7 行列式键盘的设计与仿真.39 5 5 综合综合试验项目的开发试验项目的开发42 5.15.1 基于基于 AT89C51AT89C51 的的的的 6060

13、 秒倒计时装置的设计与仿真秒倒计时装置的设计与仿真42 5.25.2 基于单片机密码锁的设计和仿真基于单片机密码锁的设计和仿真.45 5 53 3 交通灯的设计与仿真交通灯的设计与仿真.57 结结 论论66 致致 谢谢67 参考文献参考文献68 附录附录 A A69 附录附录 B B73 附录附录 C C77 1 1 绪绪 论论 1.11.1 单片机背景及教学意义单片机背景及教学意义 1970 年微处理器研制成功之后,随着就出现了单片机(即单片的微型计算 机)。1971 年美国的INTEL 公司生产的4 位单片机4004 和1972 年生产的雏 形8 位单片机8008,特别是1976 年9 月

14、INTEL 公司的MCS-48 单片机问世以 来,在短短的十几年间,经历了多次更新换代,其发展速度大约每两、三年要 更新一代,集成度增加一倍,功能翻一番。单片机发展速度之快、应用范围之 辽宁科技学院本科生毕业设计(论文) 第 3 页 广已达到了惊人的地步,它已渗透到生产和生活的各个领域,应用非常广泛。 尽管目前单片机的品种很多,但其中最具典型性的当属INTEL公司的MCS-51系 列单片机系列。MCS-51是在MCS-48的基础上于80年代初发展起来的,虽然它 仍然是8位单片机,但其功能有很大的增强。此外它还具有品种全、兼容性强、 软硬件资料丰富等特点。因此51系列单片机应用非常广泛,成为继M

15、CS-48之后 最重要的单片机品种。直到现在,MCS-51仍不失为单片机中的主流机型, MCS-51系列单片机主要包括8031、8051和8751等产品,具有结构紧凑、逻辑位 操作功能丰富和直接面向控制的指令系统等优势,堪称一代“名机”。随着半 导体技术的发展,51系列单片机的处理速度更快,性能更优越,在工业控制领 域上占据十分重要的地位。现在片机的应用日益广泛深入,诸如在智能仪表、 家用电器和军事设备的智能化以及实时过程控制等方面,单片机都扮演着非常 重要的角色。单片机的设计开发具有广阔的前景,估计近10年内8位的单片机将 仍是主流机型,其设计也是嵌入式产品开发的基础。所以,单片机的学习十分

16、 必要。 目前单片机技术在各个领域正得到越来越广泛的应用,大多数院校都有单 片机实验室,单片机种类繁多,用单片机开发的产品差异很大技术发展快,用 单片机实验箱进行教学硬件电路上受到很大程度上的限制。Proteus的出现恰好 解决了这个矛盾,可以将它与Keil C51结合随时搭建一个单片机应用系统,并 实现仿真,不仅能为学生提供丰富的实验内容,而且能充分利用学校机房现有 的计算机设备,减少硬件设备维护的工作量。通过单片机技术、课堂实验箱实 验、Proteus仿真实验这三方面共同作用可以帮助学生更好的理解单片机技术的 知识点,提高单片机产品的开发能力扎扎实实学好单片机技术这门课程。 1.21.2

17、PROTEUSPROTEUS 在单片机教学中的应用在单片机教学中的应用 单片机课程的实践性很强,实验环节的教学应引起高度重视。而单片机课 程的课内实验学时有限,使用实验箱仅停留在演示性及验证性实验的层次。为 了解决这个问题,可以应用Proteus所提供的元器件模型和外设模型按照实验内 容来设计原理图,再利用仪器仪表的输入输出效果对实验结果进行检测。这样, 学生一方面了解了单片机应用系统硬件电路结构,锻炼了编程技术,也学习了 辽宁科技学院本科生毕业设计(论文) 第 4 页 仪器仪表的使用,提高了设计水平。 1.31.3 用用 ProteusProteus 在单片机课程设计中的应用在单片机课程设计

18、中的应用 在课程设计中,要求学生先应用Proteus设计仿真,在设计硬件电路时最好 能考虑实验箱的资源状况,以使仿真的结果可在实验箱上实现。等编程调试通 过后可以移植到实验箱上实现,验证实物效果。在进行毕业设计时,也可以让 学生根据爱好和掌握知识的程度自由选择设计题目,培养学生的自主创新意识。 教师与学生共同探讨方案的可行性之后,由学生在Proteus中设计硬件电路,编 制程序并调试。等仿真成功之后,再购买元器件进行电路焊接、系统调试和程 序固化,最终每组独立完成一件作品。这种方法可以节省因方案不正确所造成 硬件投入的浪费,并且在实验过程中不会出现元器件的损耗问题。而使学生实 验能力和开发能力

19、都得到较大提高。 2 2ProteusProteus 的的简介简介 2.12.1 Proteus ISIS 简介 Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件,可以 仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: 2.1.12.1.1实现了单片机仿真和实现了单片机仿真和 SPICESPICE 电路仿真结合电路仿真结合 具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿 真、RS-232 动态仿真、I2C 调试器、SPI 调试器、键盘和 LCD 系统仿真的功能; 有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 2.1

20、.22.1.2支持主流单片机系统的仿真支持主流单片机系统的仿真 目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC12 系 列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以及各种外围芯片。 辽宁科技学院本科生毕业设计(论文) 第 5 页 2.1.32.1.3提供软件调试功能提供软件调试功能 在硬件仿真系统中也具有全速、单步、设置断点等调试功能。同是,还可 以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中也具有这些 功能。同时,还支持第三方的软件编译和调试环境,如 Keil C51vision2 等软 件。 2.1.42.1.4具有强大

21、的原理图绘制功能具有强大的原理图绘制功能 用 Proteus 软件虚拟单片机实验的优点 (1) 内容全面 实验的内容包括软件部分的汇编、C51 等语言的调试过程,也包括硬件接 口电路的大部分类型。对同一类功能的接口电路,可以采用不同的硬件来搭建 完成,可以扩展学生的思路和提高学生的学习兴趣。 (2) 硬件投入少,经济优势明显 Proteus 所提供的软件库中,大部分可以直接用于接口电路的搭建,同时该 软件所提供的仪表,不管在数量还是在质量上都是可靠和经济的。如果在实验 教学中投入这样的真实仪器仪表,仅仪表的维护来讲,其工作量也是比较大的。 因此采用软件的方式进行教学,其经济优势是比较明显的。

22、(3) 学生可自行实验,锻炼解决实际工程问题的能力 采用仿真软件后,对于实际工程问题的研究,可以先在软件环境中模拟通 过,在进行硬件投入。这样处理,不仅省时省力,还可以节省因方案不正确所 造成的硬件投入的浪费。 (4) 实验过程中损耗小,基本没有元器件的损耗问题 在传统的实验教学过程中,都涉及到因操作不当而造成的元器件和仪器仪 表的损毁,也涉及到仪器仪表等工作时所造成的能源消耗。采用 Proteus 仿真软 件,则不存在上述的问题 (5) 与工程实践最为接近,可以了解实际问题的解决过程 在 Proteus 中做一个工程项目,并将其最后移植到一个具体的硬件电路中, 让学生了解将仿真软件和具体的工

23、程实践如何结合起来,利于学生对工程实践 过程的了解和学习。 辽宁科技学院本科生毕业设计(论文) 第 6 页 (6) 大量的范例,可供学生参考处理 在系统设计时,存在对以有资源的借鉴和引用处理,而该仿真系统所提供 的比较完善的系统设计方法和设计范例,可供学生参考和借鉴。 安装完 PROTEUS 后,运行 ISIS Profeeional,会出现如图 2-1 所示。下面分别对 窗口内个部分进行简单介绍。 图 2-1Proteus 操作窗口 2.22.2 工具栏介绍工具栏介绍 2.2.1proteus2.2.1proteus ISISISIS 菜单栏菜单栏 菜单栏包括文件(F) 、查看(V) 、编辑

24、(E) 、工具(T) 、设计(D) 、绘 图(G) 、源代码(S) 、调试(B) 、库 (L) 、模板(M) 、系统(Y) 、 帮助 (H) ,如图 2.2 所示。 辽宁科技学院本科生毕业设计(论文) 第 7 页 图-2 菜单栏 2.2.22.2.2 USUS ISISISIS 主工具栏主工具栏 主工具栏包括 File 栏、View 工具栏、Edit 工具栏和 Design 工具栏等。 每个工具栏的打开与关闭,以通过 View(查看)|工具命令进行设置。 2.2.32.2.3 原理图编辑窗口原理图编辑窗口 原理图编辑窗口用于显示当前编辑的原理图的一部分。通过使用查看重 画命令可以使原理图编辑窗

25、口的内容重绘,这也会重绘预览窗口。在任何其 他的命令使得显示有些凌乱的时候也可使用这个功能。蓝色方框内为可编辑 区,元件放置在编辑窗口里面。ISIS 中坐标系统的基本单位是 10nm ,主要 是为了和 ARES 保持一致,但坐标系统的识别单位被限制在 1th 。坐标原点 默认在图形编辑区的中间,图形的坐标值显示在屏幕右下角的状态栏中,如 2.2.42.2.4 预览窗口预览窗口 预览窗口课对选中的对象进行预览,包括对元件列表中选中元件的预览和 对原理图编辑窗口内的对象进行预览。通过单击鼠标可以改变绿色方框的位 置,从而改变原理图的可视范围。 2.2.52.2.5 模型选择工具栏模型选择工具栏 (

26、1)主要模板 : 用于选中元器件。 辽宁科技学院本科生毕业设计(论文) 第 8 页 选择元器件。 放置连接点。 放置标签。 放置脚本。 用于绘制总线。 绘制子电路块。 (2)配件 : 终端,对象选择列出各种终端。 器件引脚,对象选择列出各种引脚。 图表,对象选择列出各种仿真分析所需的图表。 录音机,对设计电路分割仿真时采用此模式。 信号发生器,对象选择列出各种激励源。 电压探针,可显示个探针处得电压值。 电流探针,可显示个探针处得电流值。 虚拟仪表,对象选择列出各种虚拟仪器。 (3)2D 图形: 画各种直线。 画各种方框。 画各种圆。 画各种圆弧。 画各种多边形。 画各种文本。 画符号。 辽宁

27、科技学院本科生毕业设计(论文) 第 9 页 画原点。 2.2.6 方向工具栏 顺时针/逆时针旋转:旋转角度只能是90的整数倍。可以用数字键 盘的“+”或“”键完成元器件的顺时针或逆时针90 。 镜像:完成水平镜像和垂直镜像。先右键单击元件选中元器件, 在左键单击相应的旋转按钮。可以用快捷键Ctrl +M 完成元器件的水平镜像。 2.2.72.2.7 仿真工具栏仿真工具栏 仿真控制按钮 运行 单步运行 暂停 停止 对着写工具熟练的掌握可以让仿真进行的如鱼得水。 辽宁科技学院本科生毕业设计(论文) 第 10 页 3.3. ProteusProteus 与与 KeilCKeilC 的联合仿真的联合仿

28、真 Keil 是美国 KeilSoftware 公司开发的,是目前世界上最好的 51 单片机的汇 编和 C 语言的开发工具。它支持汇编、C 语言以及混合编程,同时具备功能强 大的软件仿真,在软件模拟仿真方式下不需要任何单片机硬件即可完成用户程 序仿真调试;虽然 Keil 也提供了硬件仿真功能,但我们在利用它的硬件仿真功 能时,会受到一定的限制。如果我们将 Proteus 与 Keil 联合起来使用,充分利 用各自的仿真功能,单片机软硬件调试将变得十分有效。3.1Proteus 与与 KeilC 的接口的接口 实现 Proteus 与 KeilC 的接口步骤如下: (1)把安装目录 Proteu

29、sMODELS 下的 VDM51.dll 文件复制到 Keil 安装目 录的C51BIN 目录中。 (2)修改 Keil 安装目录下 Tools.ini 文件,在 C51 字段加入 TDRV5=BINVDM51.DLL(“Proteus VSM Monitor -51 Driver”)并保存。注意:不 一定要用 TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名 字随意。 (3)打开 Proteus,画出相应电路,在 Proteus 的“Debug”菜单中选中“Use Remote Debug MONITOR”。 (4)进入 Keil 的 Project 菜单 Option fo

30、r Target工程名。在弹出界面选择 Debug 选项卡,在 Use 的下拉列表框中选择 Proteus VSM Monitor -51 Driver,并 且选中 Use 单选框,即在 Use 前面的小圆圈内出现小黑点。再单击 Settings 按 钮,在 Host 文本框输入 127.0.0.1,端口号为 8000。 (5)在 Keil 中进行 debug,同时在 Proteus 中查看直观的结果。这样就可以像 使用仿真器一样调试程序了。 可以看出,Proteus 可以很方便地与 Keil C51 集成开发环境连接,程序编译 好之后,立即可以进行软、硬件结合的系统仿真。 辽宁科技学院本科生

31、毕业设计(论文) 第 11 页 4 4 基本实验项目的开发基本实验项目的开发 4.1 开关的实训演练 按钮是人们日常生活经常接触的电子器件,它给我们的生活带来了很大方 便,它广泛应用在工业和生活中。有按钮开关、指拨开关、BCD 指拨开关等。 应用单片机的输入口。 试验目的: (1)掌握单片机 I/O 口得输入及输出电路得设计。 (2)掌握读入按键状态,并输出到 LED 发光管显示得程序设计方法。 4.1.14.1.1 指拨开关指拨开关 实验功能: 如下图 4-1-1 所示,指拨开关的状态由 P2 输入,而其状态将反映到 P1 所连接的 LED 上。 若 P2.0 所连接的开关 on,则 P1.

32、0 所连接的 LED 会亮、若 P2.0 所连接的开关 off,则 p1.0 所连接的 LED 将不亮.以此类推。 (1) 电路设计 元件清单: 80C51、DIPSW_8、LED RED 、 (220 欧姆) 。 原理图: 辽宁科技学院本科生毕业设计(论文) 第 12 页 4-1 指拨开关电路 参考程序 根据功能需求与电路结构可知,当指拨开关 on 时,要由其连接的输入口读 取到低电平(即 0);而若要连接在 P1 的 LED 亮,则由 P0 输出低电平即可。因 此,在程序里,只要将 P2 读取到的指拨开关直接输出到 P 即可。当然,可不要 忘了,事先将 P2 设计成输入功能。 (2)程序设

33、计: ORG 0 START: MOV P2,#0FFH ;设 P2 为输入功能 LOOP: MOV A,P2 ;读入指拨状态开关 MOV P1,A ;将开关状态反应到 P0 LJMP LOOP END 程序调好后生成 4.1.HEX 文件,并加载该文件,运行 Proteus ISIS。运行拨动指 拨开关可以看到可以看到如图: 辽宁科技学院本科生毕业设计(论文) 第 13 页 (3)仿真 仿真图标,启动仿真。 图 4-2 指拨开关仿真 拨动指拨开关 K3、K6,P1 口上的灯 D3、D6 点亮。 41.2 按钮开关 功能说明 如图 4-1-3 所示,若按一下 PB1,则 P0.0 所连接的 L

34、ED 亮;若按一下 PB2,则关闭 P0.0 所连接的 LED(不亮)。 (1)电路设计 原件清单:80C51、BUTTON、LED-BIRG、RES(220 欧姆) 。 辽宁科技学院本科生毕业设计(论文) 第 14 页 图 4-3 按钮开关 参考程序 根据功能需求与电路结构可知,当按下按钮开关时,能从其连接的输入口读 取到低电平(即 0) ;而若要连接在 P0.0 的 LED 亮,则由 P0.0 输出低电平即可。 因此,在程序里,若 P2.0 读取到 0,则将 P0.0 设为 0;若 P2.1 读取到 0,则将 P0.0 设为 1。同样地,课不要忘了,事先将 P2 设计成输入功能。 (2)程

35、序设计 ORG 0 START: MOV P2,#0FFH ;将 P2 设计为输入功能 LOOP: JNB P2.0,ON JNB P2.1, OFF JMP LOOP ON: CLR P0.0 ;P0.0=0 ON_1: JB P2.0,LOOP ;去抖动 JMP ON_1 OFF: SETB P0.0 辽宁科技学院本科生毕业设计(论文) 第 15 页 OFF_1: JB P2.1,LOOP lJMP OFF_1 END 程序调好后生成 4.2.HEX 文件,并加载该文件,运行 Proteus ISIS。运行后按按 钮开关可 K2 以看到可以看到如图: (3)仿真 单机图标,启动仿真。 图

36、4-4 按钮开关仿真 单击 K2,灯 D1 点亮,再单击 K1 灯熄灭。 4.2 计数器的实训演练 在数字电子技术中应用的最多的 时序逻辑电路 。计数器不仅能用于对 时 钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数 字运算等。但是并无法显示计算结果,一般都是要通过外接LCD 或 LED 辽宁科技学院本科生毕业设计(论文) 第 16 页 屏才能显示。 实验目的: (1) 掌握二、十进制译码器和显示电路同时计数配套使用的方法 (2) 掌握加减计数 功能说明 如图 4-5 所示,P0 的低 4 位连接到 7447(BCD 码对 7 段 LED 数码管的译码 与驱动器) 。PB1

37、 具有增数的功能、P具有减数的功能,若程序刚开始时, 段 LED 数码管显示 0,按一下 PB1,则 7 段 LED 数码管显示 1、再按一下 PB1,则 7 段 LED 数码管显示 2;若 7 段 LED 数码管显示 9,按一下 PB1, 则 7 段 LED 数码管显示 0.同样地,若 7 段 LED 数码管显示 0,按一下 PB2,则 7 段 LED 数码管显示 9、再按一下 PB2,则 7 段 LED 数码管显示 8依次类推。 (1)电路设计 原件清单:7SEG-COM-AN-GRN、80C51、7447、BUTTON、RES(220 欧 姆) 。 图 4-5 计数器 参考程序 根据功能

38、需求与电路结构可知,只要 P0.0 到 P0.3 输出 BCD 码,7 段 LED 数 码管即可正确地显示 09 的数字。在程序的开始,先将 7 段 LED 数码管设为 辽宁科技学院本科生毕业设计(论文) 第 17 页 0,若读取到 P2.0 为 0,若读取到 P2.0 为 0,则进行加数的操作;若读取到 P2.1 为 0,则进行减数的操作。 (2)程序设计 ORG 0 START: MOV A,#0 ;设定显示器的初始值 SETB P2.0 ;设定 P2.0 为输入口 SETB P2.1 ;设定 P2.1 为输入口 LOOP: MOV P0,A ;显示 A 的内容 JNB P2.0,INCR

39、 JNB P2.1,DECR LJMP LOOP INCR: JNB P2.0,INCR ;放开按键 INC A ADD A,#0 DA A ;将 A 的内容进行 BCD 调整 LJMP LOOP DECR: JNB P2.1,DECR ;放开按键 JZ ZERO ;判断 A 的内容是否为 0 DEC A ADD A,#0 DA A LJMP LOOP ZERO: MOV A,#9 LJMP LOOP END 程序调好后生成 4.2.HEX 文件,并加载该文件,运行 Proteus ISIS。运行按动按 钮 PB1,PB2 开关可以看到可以看到如图 4-2-2: 辽宁科技学院本科生毕业设计(论

40、文) 第 18 页 (3)仿真 单机图标,启动仿真。 图 4-6 计数器仿真 按 PB1 实现加计数,按 PB2 实现减计数。 4.34.3 中断的实训演练中断的实训演练 中断是指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算 机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后 再返回现行程序的间断处,继续执行原程序。 中断是单片机实时地处理内部或 外部事件的一种内部机制。当某种内部或外部事件发生时,单片机的中断系统 将迫使 CPU 暂停正在执行的程序,转而去进行中断事件的处理,中断处理完毕 后,又返回被中断的程序处,继续执行下去。 4.34.31 1 单片机外中

41、断实验的设计与仿真单片机外中断实验的设计与仿真 设计与仿真目的 1. 理解中断过程及作用,掌握单片机外中断的电路设计。 2. 学习中断应用及中断服务程序的设计方法。 辽宁科技学院本科生毕业设计(论文) 第 19 页 PROTEUS 设计与仿真 (1) 电路设计 在 PROTEUS ISIS 中设计如图 4-3-1 所示的外中断电路 元件清单:3WATT470R , 7SEG-COM-AN-GRN、AT89C51、BUTTON 、RESPACK-8。 原理图: 图 4-7 中断电路图 参考程序: 根据功能需求与电路结构可知,上点运行,观察到 P0 口上的数码管中各 段按 a g 的顺序点亮,每一

42、时刻只有一段亮,循环进行。当单击 S0 时,发生 外中断 0,与 P2 口相接数码管中的各段全部点亮半秒,再暗半秒,如此循环 8 次后,返回主程序继续中断前的工作。 (2)程序设计 ORG 00H SJMP STAR 辽宁科技学院本科生毕业设计(论文) 第 20 页 ORG 03H ;将 INT0 中断入口地址 SJMP INT0S ;转中断服务 ORG 30 STAR: MOV IE,#10000001B ;开中断 MOV TCON,#1H ;采用边沿触发 MOV A,#0FEH ;P0 口输出初值 ST1: MOV P0,A ACALL DELAY ;延时 RL A ;改变输出数据 SJM

43、P ST1 ;主循环 INT0S: PUSH ACC ; 保护现场 MOV R2,#8 ;R2 计算器赋初值 LOOP: CLR A MOV P2,A ;数码管亮 ACALL DELAY ;延时 MOV A,#0FFH MOV P2,A ;数码管全暗 ACALL DELAY ;延时 DJNZ R2,LOOP ;循环 8 次 POP ACC ;恢复现场,A RETI DELAY: MOV R7,#250 ;延时子程序,500ms D1: MOV R6,#250 D2: NOP NOP NOP NOP NOP NOP DJNZ R6,D2 DJNZ R7,D1 RET END 程序调好后生成 4.

44、3.1.HEX 文件,并加载该文件到图 4-3-1 中单片机的 “Program File”属性栏中并设置时钟频率为 12MHZ。 (3) 仿真 单机图标,启动仿真。 辽宁科技学院本科生毕业设计(论文) 第 21 页 图 4-8 中断仿真图 未单击外中断 0 按键时,P0 口接的数码管上点亮以 ag 的顺序循环流动;当单 机按键时,触发外中断 0,主程序暂停,亮点暂停流动,外中断服务程序控制 P2 口数码管闪烁 8 次“8”后熄灭,中断返回,主程序使亮点接着流动。如图 4-3-2 所示,主程序暂停在亮点“d” ,中断服务程序正显示“8” 。 4.3.24.3.2 单片机中断优先级实验的设计与仿

45、真单片机中断优先级实验的设计与仿真 设计与仿真的目的 理解中断优先级,中断嵌套: 理解中断过程及中断优先级的设置、中断服务程序的处理方法。 功能说明: 设置 INT1 为高优先级、INT0 为低优先级。高优先级可中断低优先级,但低优 先级的中断请求不能中断高优先级;同一优先级不能相互中断。 辽宁科技学院本科生毕业设计(论文) 第 22 页 电路设计 在 PROTEUS ISIS 中设计如图 4-2-3 所示中断优先级演示实验电路。 元件清单:3WATT470R、7SEG-COM-AN- GRN、AT89C51、BUTTON、RESPACK-8。 原理图: 图 4-9 优先级中断电路 如图 4-

46、9 所示,上电运行,观察到单片机主程序控制 P0 口数码管循环显示 08.按下两种操作方式做中断优先级实验:先单击 S1,发生 INT1 中断,在 INT1 响应中断未返回时单击 S0,观察现象,并作出合理解释。先单击 S0, 发生 INT0 中断,在 INT0 中断,在 INT0 响应中断未返回时单击 S1,观察现象, 并作出合理解释。 (2) 程序设计 ORG 00H SJMP STAR ORG 03H ;INT0 中断入口地址 SJMP INT0S ;转 INT0 中断服务程序 ORG 13H ;INT1 入口地址 SJMP INT1S ORG 30H STAR: MOV IE,#85H

47、 ;INT0 开中断 MOV TCON,#5 ;边沿出发方式 MOV A,#0FEH ;P2 口输出初值 MOV P3,#0FFH SETB PX1 ST0: MOV A,#1 ST1: PUSH ACC 辽宁科技学院本科生毕业设计(论文) 第 23 页 ACALL SEG7 MOV P0,A ACALL DELAY POP ACC INC A CJNE A,#9,ST1 SJMP ST0 INT0S: PUSH ACC MOV A,#0 LOOP: INC A PUSH ACC ACALL SEG7 MOV P2,A POP ACC ACALL DELAY CJNE A,#8,LOOP POP ACC MOV P2,#0FFH RETI INT1S: PUSH ACC MOV A,#0 LOOP1: INC A PUSH ACC ACALL SEG7 MOV P1,A ACALL DELAY POP ACC CJNE A,#8,LOOP1 MOV P1,#0FFH POP ACC RETI DELAY: MOV R7,#250 D1: MOV R6,#250 D2: NOP NOP NOP NOP NOP NOP DJNZ R6,D2 辽宁科技学院本

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

当前位置:首页 > 研究报告 > 信息产业


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