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

上传人:仙*** 文档编号:31642456 上传时间:2021-10-12 格式:DOC 页数:85 大小:1.29MB
收藏 版权申诉 举报 下载
毕业设计(论文)单片机仿真实验开发_第1页
第1页 / 共85页
毕业设计(论文)单片机仿真实验开发_第2页
第2页 / 共85页
毕业设计(论文)单片机仿真实验开发_第3页
第3页 / 共85页
资源描述:

《毕业设计(论文)单片机仿真实验开发》由会员分享,可在线阅读,更多相关《毕业设计(论文)单片机仿真实验开发(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 microcomputer simulation experiment development A

4、bstract 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 CPUs have appeared which brings an impac

5、t 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 microcomputers course are discussed in thearti

6、cle. 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 describes the advantages of this method,

7、 and I design a set of Single-chipSoftware Proteus as a platform is introduced, including the superiority of it,and feasibility of its role as a teaching platformSimulation system, which replaced the traditional SCM experimental function.This design using the Proteus software simulation, solve the d

8、efects 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 words: Proteus, SCM, simulat 辽宁科技学院本科生毕业设

9、计(论文) 第 1 页目录1 1 绪绪 论论.31.11.1 单片机背景及教学意义单片机背景及教学意义.31.21.2 PROTEUSPROTEUS 在单片机教学中的应用在单片机教学中的应用.41.31.3 用用 ProteusProteus 在单片机课程设计中的应用在单片机课程设计中的应用.42 2PROTEUSPROTEUS 的简介的简介 .42.12.1 ProteusProteus ISISISIS 简介简介.42.1.12.1.1实现了单片机仿真和实现了单片机仿真和 SPICESPICE 电路仿真结合电路仿真结合 .52.1.22.1.2支持主流单片机系统的仿真支持主流单片机系统的仿

10、真 .52.1.32.1.3提供软件调试功能提供软件调试功能 .52.1.42.1.4具有强大的原理图绘制功能具有强大的原理图绘制功能 .52.22.2 工具栏介绍工具栏介绍.72.2.1proteus2.2.1proteus I IS SISIS 菜单栏菜单栏 .72.2.22.2.2 USUS ISISISIS 主工具栏主工具栏 .72.2.32.2.3 原理图编辑窗口原理图编辑窗口 .72.2.42.2.4 预览窗口预览窗口 .82.2.52.2.5 模型选择工具栏模型选择工具栏 .82.2.6 方向工具栏 .92.2.72.2.7 仿真工具栏仿真工具栏 .93.3. PROTEUSPR

11、OTEUS 与与 KEILCKEILC 的联合仿真的联合仿真.104 4 基本实验项目的开发基本实验项目的开发.114.1 开关的实训演练 .114.1.14.1.1 指拨开关指拨开关 .1141.2 按钮开关 .134.24.2 计数器的实训演练计数器的实训演练.154.34.3 中断的实训演练中断的实训演练.184.34.31 1 单片机外中断实验的设计与仿真单片机外中断实验的设计与仿真 .184.3.24.3.2 单片机中断优先级实验的设计与仿真单片机中断优先级实验的设计与仿真 .214.44.4 D/AD/A、A/DA/D 转换的应用转换的应用.254.44.41 1 单片机与单片机与

12、 DAC0832DAC0832 接口的设计与仿真接口的设计与仿真 .25图 4-11 DAC0832 接口电路.26 辽宁科技学院本科生毕业设计(论文) 第 2 页4.4.2 单片机与 ADC0808 接口的设计与仿真 .284.54.5 定时器的设计与仿真定时器的设计与仿真.324.6 串行口实验和仿真.374.7 行列式键盘的设计与仿真.395 5 综合综合试验项目的开发试验项目的开发.425.15.1 基于基于 AT89C51AT89C51 的的的的 6060 秒倒计时装置的设计与仿真秒倒计时装置的设计与仿真.425.25.2 基于单片机密码锁的设计和仿真基于单片机密码锁的设计和仿真.4

13、55 53 3 交通灯的设计与仿真交通灯的设计与仿真.57结结 论论.66致致 谢谢.67参考文献参考文献.68附录附录 A A.69附录附录 B B.73附录附录 C C.771 1 绪绪 论论1.11.1 单片机背景及教学意义单片机背景及教学意义1970 年微处理器研制成功之后,随着就出现了单片机(即单片的微型计算机)。1971 年美国的INTEL 公司生产的4 位单片机4004 和1972 年生产的雏形8 位单片机8008,特别是1976 年9 月INTEL 公司的MCS-48 单片机问世以来,在短短的十几年间,经历了多次更新换代,其发展速度大约每两、三年要更新一代,集成度增加一倍,功能

14、翻一番。单片机发展速度之快、应用范围之 辽宁科技学院本科生毕业设计(论文) 第 3 页广已达到了惊人的地步,它已渗透到生产和生活的各个领域,应用非常广泛。尽管目前单片机的品种很多,但其中最具典型性的当属INTEL公司的MCS-51系列单片机系列。MCS-51是在MCS-48的基础上于80年代初发展起来的,虽然它仍然是8位单片机,但其功能有很大的增强。此外它还具有品种全、兼容性强、软硬件资料丰富等特点。因此51系列单片机应用非常广泛,成为继MCS-48之后最重要的单片机品种。直到现在,MCS-51仍不失为单片机中的主流机型,MCS-51系列单片机主要包括8031、8051和8751等产品,具有结

15、构紧凑、逻辑位操作功能丰富和直接面向控制的指令系统等优势,堪称一代“名机”。随着半导体技术的发展,51系列单片机的处理速度更快,性能更优越,在工业控制领域上占据十分重要的地位。现在片机的应用日益广泛深入,诸如在智能仪表、家用电器和军事设备的智能化以及实时过程控制等方面,单片机都扮演着非常重要的角色。单片机的设计开发具有广阔的前景,估计近10年内8位的单片机将仍是主流机型,其设计也是嵌入式产品开发的基础。所以,单片机的学习十分必要。目前单片机技术在各个领域正得到越来越广泛的应用,大多数院校都有单片机实验室,单片机种类繁多,用单片机开发的产品差异很大技术发展快,用单片机实验箱进行教学硬件电路上受到

16、很大程度上的限制。Proteus的出现恰好解决了这个矛盾,可以将它与Keil C51结合随时搭建一个单片机应用系统,并实现仿真,不仅能为学生提供丰富的实验内容,而且能充分利用学校机房现有的计算机设备,减少硬件设备维护的工作量。通过单片机技术、课堂实验箱实验、Proteus仿真实验这三方面共同作用可以帮助学生更好的理解单片机技术的知识点,提高单片机产品的开发能力扎扎实实学好单片机技术这门课程。1.21.2 PROTEUSPROTEUS 在单片机教学中的应用在单片机教学中的应用单片机课程的实践性很强,实验环节的教学应引起高度重视。而单片机课程的课内实验学时有限,使用实验箱仅停留在演示性及验证性实验

17、的层次。为了解决这个问题,可以应用Proteus所提供的元器件模型和外设模型按照实验内容来设计原理图,再利用仪器仪表的输入输出效果对实验结果进行检测。这样,学生一方面了解了单片机应用系统硬件电路结构,锻炼了编程技术,也学习了 辽宁科技学院本科生毕业设计(论文) 第 4 页仪器仪表的使用,提高了设计水平。1.31.3 用用 ProteusProteus 在单片机课程设计中的应用在单片机课程设计中的应用在课程设计中,要求学生先应用Proteus设计仿真,在设计硬件电路时最好能考虑实验箱的资源状况,以使仿真的结果可在实验箱上实现。等编程调试通过后可以移植到实验箱上实现,验证实物效果。在进行毕业设计时

18、,也可以让学生根据爱好和掌握知识的程度自由选择设计题目,培养学生的自主创新意识。教师与学生共同探讨方案的可行性之后,由学生在Proteus中设计硬件电路,编制程序并调试。等仿真成功之后,再购买元器件进行电路焊接、系统调试和程序固化,最终每组独立完成一件作品。这种方法可以节省因方案不正确所造成硬件投入的浪费,并且在实验过程中不会出现元器件的损耗问题。而使学生实验能力和开发能力都得到较大提高。2 2ProteusProteus 的的简介简介2.12.1 Proteus ISIS 简介Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件,可以仿真、分析(SPICE)

19、各种模拟器件和集成电路,该软件的特点是:2.1.12.1.1实现了单片机仿真和实现了单片机仿真和 SPICESPICE 电路仿真结合电路仿真结合具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232 动态仿真、I2C 调试器、SPI 调试器、键盘和 LCD 系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。2.1.22.1.2支持主流单片机系统的仿真支持主流单片机系统的仿真目前支持的单片机类型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11 系列以及各种外围芯片。 辽宁科

20、技学院本科生毕业设计(论文) 第 5 页2.1.32.1.3提供软件调试功能提供软件调试功能在硬件仿真系统中也具有全速、单步、设置断点等调试功能。同是,还可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中也具有这些功能。同时,还支持第三方的软件编译和调试环境,如 Keil C51vision2 等软件。2.1.42.1.4具有强大的原理图绘制功能具有强大的原理图绘制功能用 Proteus 软件虚拟单片机实验的优点(1) 内容全面实验的内容包括软件部分的汇编、C51 等语言的调试过程,也包括硬件接口电路的大部分类型。对同一类功能的接口电路,可以采用不同的硬件来搭建完成,可以扩展学生的思

21、路和提高学生的学习兴趣。(2) 硬件投入少,经济优势明显Proteus 所提供的软件库中,大部分可以直接用于接口电路的搭建,同时该软件所提供的仪表,不管在数量还是在质量上都是可靠和经济的。如果在实验教学中投入这样的真实仪器仪表,仅仪表的维护来讲,其工作量也是比较大的。因此采用软件的方式进行教学,其经济优势是比较明显的。(3) 学生可自行实验,锻炼解决实际工程问题的能力采用仿真软件后,对于实际工程问题的研究,可以先在软件环境中模拟通过,在进行硬件投入。这样处理,不仅省时省力,还可以节省因方案不正确所造成的硬件投入的浪费。(4) 实验过程中损耗小,基本没有元器件的损耗问题在传统的实验教学过程中,都

22、涉及到因操作不当而造成的元器件和仪器仪表的损毁,也涉及到仪器仪表等工作时所造成的能源消耗。采用 Proteus 仿真软件,则不存在上述的问题(5) 与工程实践最为接近,可以了解实际问题的解决过程在 Proteus 中做一个工程项目,并将其最后移植到一个具体的硬件电路中,让学生了解将仿真软件和具体的工程实践如何结合起来,利于学生对工程实践过程的了解和学习。 辽宁科技学院本科生毕业设计(论文) 第 6 页(6) 大量的范例,可供学生参考处理在系统设计时,存在对以有资源的借鉴和引用处理,而该仿真系统所提供的比较完善的系统设计方法和设计范例,可供学生参考和借鉴。安装完 PROTEUS 后,运行 ISI

23、S Profeeional,会出现如图 2-1 所示。下面分别对窗口内个部分进行简单介绍。 图 2-1Proteus 操作窗口2.22.2 工具栏介绍工具栏介绍2.2.1proteus2.2.1proteus ISISISIS 菜单栏菜单栏菜单栏包括文件(F) 、查看(V) 、编辑(E) 、工具(T) 、设计(D) 、绘图(G) 、源代码(S) 、调试(B) 、库 (L) 、模板(M) 、系统(Y) 、 帮助(H) ,如图 2.2 所示。 辽宁科技学院本科生毕业设计(论文) 第 7 页图-2 菜单栏2.2.22.2.2 USUS ISISISIS 主工具栏主工具栏 主工具栏包括 File 栏、

24、View 工具栏、Edit 工具栏和 Design 工具栏等。每个工具栏的打开与关闭,以通过 View(查看)|工具命令进行设置。2.2.32.2.3 原理图编辑窗口原理图编辑窗口原理图编辑窗口用于显示当前编辑的原理图的一部分。通过使用查看重画命令可以使原理图编辑窗口的内容重绘,这也会重绘预览窗口。在任何其他的命令使得显示有些凌乱的时候也可使用这个功能。蓝色方框内为可编辑区,元件放置在编辑窗口里面。ISIS 中坐标系统的基本单位是 10nm ,主要是为了和 ARES 保持一致,但坐标系统的识别单位被限制在 1th 。坐标原点默认在图形编辑区的中间,图形的坐标值显示在屏幕右下角的状态栏中,如 2

25、.2.42.2.4 预览窗口预览窗口预览窗口课对选中的对象进行预览,包括对元件列表中选中元件的预览和对原理图编辑窗口内的对象进行预览。通过单击鼠标可以改变绿色方框的位置,从而改变原理图的可视范围。2.2.52.2.5 模型选择工具栏模型选择工具栏 (1)主要模板 : 用于选中元器件。 辽宁科技学院本科生毕业设计(论文) 第 8 页 选择元器件。 放置连接点。 放置标签。 放置脚本。 用于绘制总线。 绘制子电路块。 (2)配件 : 终端,对象选择列出各种终端。器件引脚,对象选择列出各种引脚。图表,对象选择列出各种仿真分析所需的图表。录音机,对设计电路分割仿真时采用此模式。信号发生器,对象选择列出

26、各种激励源。电压探针,可显示个探针处得电压值。电流探针,可显示个探针处得电流值。虚拟仪表,对象选择列出各种虚拟仪器。(3)2D 图形:画各种直线。画各种方框。画各种圆。画各种圆弧。画各种多边形。画各种文本。画符号。 辽宁科技学院本科生毕业设计(论文) 第 9 页画原点。2.2.6 方向工具栏顺时针/逆时针旋转:旋转角度只能是90的整数倍。可以用数字键盘的“+”或“”键完成元器件的顺时针或逆时针90 。镜像:完成水平镜像和垂直镜像。先右键单击元件选中元器件,在左键单击相应的旋转按钮。可以用快捷键Ctrl +M 完成元器件的水平镜像。2.2.72.2.7 仿真工具栏仿真工具栏仿真控制按钮 运行 单

27、步运行 暂停 停止对着写工具熟练的掌握可以让仿真进行的如鱼得水。 辽宁科技学院本科生毕业设计(论文) 第 10 页 3.3. ProteusProteus 与与 KeilCKeilC 的联合仿真的联合仿真Keil 是美国 KeilSoftware 公司开发的,是目前世界上最好的 51 单片机的汇编和 C 语言的开发工具。它支持汇编、C 语言以及混合编程,同时具备功能强大的软件仿真,在软件模拟仿真方式下不需要任何单片机硬件即可完成用户程序仿真调试;虽然 Keil 也提供了硬件仿真功能,但我们在利用它的硬件仿真功能时,会受到一定的限制。如果我们将 Proteus 与 Keil 联合起来使用,充分利

28、用各自的仿真功能,单片机软硬件调试将变得十分有效。3.1Proteus 与与 KeilC的接口的接口实现 Proteus 与 KeilC 的接口步骤如下:(1)把安装目录 ProteusMODELS 下的 VDM51.dll 文件复制到 Keil 安装目录的C51BIN 目录中。(2)修改 Keil 安装目录下 Tools.ini 文件,在 C51 字段加入TDRV5=BINVDM51.DLL(“Proteus VSM Monitor -51 Driver”)并保存。注意:不一定要用 TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的名字随意。(3)打开 Proteus,画出相应电

29、路,在 Proteus 的“Debug”菜单中选中“Use Remote Debug MONITOR”。(4)进入 Keil 的 Project 菜单 Option for Target工程名。在弹出界面选择Debug 选项卡,在 Use 的下拉列表框中选择 Proteus VSM Monitor -51 Driver,并且选中 Use 单选框,即在 Use 前面的小圆圈内出现小黑点。再单击 Settings 按钮,在 Host 文本框输入 127.0.0.1,端口号为 8000。(5)在 Keil 中进行 debug,同时在 Proteus 中查看直观的结果。这样就可以像使用仿真器一样调试程

30、序了。可以看出,Proteus 可以很方便地与 Keil C51 集成开发环境连接,程序编译好之后,立即可以进行软、硬件结合的系统仿真。 辽宁科技学院本科生毕业设计(论文) 第 11 页4 4 基本实验项目的开发基本实验项目的开发4.1 开关的实训演练按钮是人们日常生活经常接触的电子器件,它给我们的生活带来了很大方便,它广泛应用在工业和生活中。有按钮开关、指拨开关、BCD 指拨开关等。应用单片机的输入口。试验目的:(1)掌握单片机 I/O 口得输入及输出电路得设计。(2)掌握读入按键状态,并输出到 LED 发光管显示得程序设计方法。4.1.14.1.1 指拨开关指拨开关实验功能:如下图 4-1

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

32、将 P2 读取到的指拨开关直接输出到 P 即可。当然,可不要忘了,事先将 P2 设计成输入功能。(2)程序设计: 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

33、.2 按钮开关功能说明 如图 4-1-3 所示,若按一下 PB1,则 P0.0 所连接的 LED 亮;若按一下 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

34、.0 设为 1。同样地,课不要忘了,事先将 P2 设计成输入功能。(2)程序设计 ORG 0START: MOV P2,#0FFH ;将 P2 设计为输入功能LOOP: JNB P2.0,ON JNB P2.1, OFF JMP LOOPON: CLR P0.0 ;P0.0=0ON_1: JB P2.0,LOOP ;去抖动 JMP ON_1OFF: SETB P0.0 辽宁科技学院本科生毕业设计(论文) 第 15 页OFF_1: JB P2.1,LOOP lJMP OFF_1 END程序调好后生成 4.2.HEX 文件,并加载该文件,运行 Proteus ISIS。运行后按按钮开关可 K2 以

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

36、数码管的译码与驱动器) 。PB1 具有增数的功能、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 计数器

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

38、,INCR 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 的内容是否为 0DEC AADD A,#0DA ALJMP LOOP ZERO: MOV A,#9 LJMP LOOPEND程序调好后生成 4.2.HEX 文件,并加载该文件,运行 Proteus ISIS。运行按动按钮 PB1,PB2 开关可以看到可以看到如图 4-2-2: 辽宁科技学院本科生毕业设计(论文)

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

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

41、生外中断 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 ;改变输出数据 SJMP ST1 ;主循环INT0S: PUSH ACC ;

42、 保护现场 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.3.1.HEX 文件,并加载该文件到图 4-3-1 中单片

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

44、套: 理解中断过程及中断优先级的设置、中断服务程序的处理方法。功能说明:设置 INT1 为高优先级、INT0 为低优先级。高优先级可中断低优先级,但低优先级的中断请求不能中断高优先级;同一优先级不能相互中断。 辽宁科技学院本科生毕业设计(论文) 第 22 页电路设计在 PROTEUS ISIS 中设计如图 4-2-3 所示中断优先级演示实验电路。元件清单:3WATT470R、7SEG-COM-AN-GRN、AT89C51、BUTTON、RESPACK-8。原理图: 图 4-9 优先级中断电路如图 4-9 所示,上电运行,观察到单片机主程序控制 P0 口数码管循环显示08.按下两种操作方式做中断

45、优先级实验:先单击 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 ;INT0 开中断 MOV TCON,#5 ;边沿出发方式 MOV A,#0FEH ;P2 口输出初值

46、 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 ST0INT0S: PUSH ACC MOV A,#0LOOP: 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

47、: 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 辽宁科技学院本科生毕业设计(论文) 第 24 页 DJNZ R7,D1 RET SEG7: INC A MOVC A,A+PC RET DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H END 程序调好后生成 4.3

48、.2.HEX 文件,并加载该文件到图 4-3-2 中单片机的“Program File”属性栏中并设置时钟频率为 12MHZ。 仿真 单机图标,启动仿真。图 4-10 优先级中断仿真 低优先级 INT0 中断主程序。 当主程序运行时,控制与 P0 口相接的数码管循环显示 18;而 P1、P2 口的数码管不显示。当前主程序控制 P0 口显示“2”时,单击“低优先级”按钮,触发 INT0,INT0 服务程序控制 P2 口依次显示 18,当前显示“2” 。 高优先级 INT1 中断低优先级 INT0.在上一步的基础上,即主程序 INT0 中断在 P0 口输出“2” ,在 INT0 服务程 辽宁科技学

49、院本科生毕业设计(论文) 第 25 页序在 P2 口也输出“2”的时刻,单击“高优先级”按钮,触发高优先级INT1,所在 INT0 服务程序在 P2 口输出“2” ,接下来 INT1 控制 P1 口输出38,关闭显示,中断返回至 INT0 显示“5”的断电,接着 P2 口输出“6” 、“7”显示“8” ,中断返回至主程序断点显示“6” 。接着主程序控制 P0 口输出循环显示“7” 、 “8” 。用 PROTEUS 图形化的仿真演示功能,很好的演示了中断优先级的原理。4.44.4 D/AD/A、A/DA/D 转换的应用转换的应用4.44.41 1 单片机与单片机与 DAC0832DAC0832

50、接口的设计与仿真接口的设计与仿真单片机处理的数字量。实际应用中,常常需要将数字量转换成模拟量来推动或控制外设。D/A 转换器就是一种将数字量转换成模拟量(电流、电压等)的电子器件,是应用广泛的接口 IC。由 D/A 转换器组成的电路加上相应的软件,便可解决单片机和受控外设之间的连接问题。设计与仿真目的 理解单片机与 DAC832 典型的单缓冲方式接口电路; 理解如何构建 D/A 转换的数字量; 理解单片机把 DAC 当作一个外 RAM 地址来访问。PROTEUS 设计与仿真(1) 电路设计在 PROTEUS ISIS 中设计如图 4-11 所示的单片机与 DAC0832 接口电路。原件清单:A

51、T89C51、BUTTON、DAC0832、POT-LIN 、PULLUP、UA741。原理图: 辽宁科技学院本科生毕业设计(论文) 第 26 页 图 4-11 DAC0832 接口电路(2) 程序设计 锯齿波 ORG 00H JUCHI: MOV A,#00 ;第一个数据 MOV DPTR,#7FFFH ;片外 RAM 单元 JUCHI1: MOVX DPTR,A ;输出数据到 DA INC A;数据更新,+1 SJMP JUCHI1 END 半圆波 ORG 00HBANYUAN: MOV R2,#00;起始值为 0 MOV R1,#40;数据长度为 40BANY1: MOV DPTR,#T

52、AB2;首地址给 DPTR MOV A,R2 MOVC A,A+DPTR ;查表取数 辽宁科技学院本科生毕业设计(论文) 第 27 页 MOV DPTR,#7FFFH MOVX DPTR,A ;输出数据到 DA INC R2 ;数据序号更新 DA,+1 DJNZ R1,BANY1 ;循环取数 SJMP BANYUAN ;复位 TAB2: DB 0,40,56,67,77,85,91,102,107,111 ;送到 DA 的数据表 DB 114,117,120,122,124,125,127,127,128 DB 128,127,127,125,124,122,120,117,114 DB 11

53、1,107,102,97,91,85,77,67,56,40,0 END 程序调好后分别生成 DAC1.HEX、DAC2.HEX 加载到单片机中。(3) 仿真单机图标,启动仿真。在 DAC1.HEX、DAC2.HEX 的控制下,可在模拟示波器上看到锯齿波和半圆波如图 4-12 所示。 辽宁科技学院本科生毕业设计(论文) 第 28 页图 4-12 DAC0832 仿真 4.4.2 单片机与 ADC0808 接口的设计与仿真A/D 转换器是一种能把输入模拟电压或电流信息变成与其正比的数字量信息的电路芯片。A/D 转换器用于实现模拟量到数字量的转换。ADC0808 是典型的 8 通道模拟输入 8 位

54、并行数字输出的逐次逼近式A/D 转换器。该转换器采用 CMOS 工艺,可实现 8 路模拟信号的分时采集。片内有 8 路模拟选通开关,以及相应的通道地址锁存用译码电路。设计与仿真目的 理解典型的单片机与 ADC0808 的接口电路; 理解用延时方式编写 ADC0808 转换程序的方法; 理解单片机把 ADC0808 当作一个片外 RAM 地址来访问。PRPTEUS 设计与仿真(1) 电路设计在 PROTEUS ISIS中设计如图 4-13 所示的单片机与 ADC0808 的接口电路。原件清单: 7SEG-MPX4- 辽宁科技学院本科生毕业设计(论文) 第 29 页CA、7447、ADC0808、

55、BUTTON、POT、RES。 图 4-13ADC0808 接口电路(1) 程序设计ETDATA EQU 30H;ADC0808 数据输出值ST BITP3.0OE BITP3.1EOCBITP3.2CLKBITP3.7ORG 0000HLJMPMAINORG000BHLJMPT0X;中断 0ORG001BHLJMPT1X;中断 1ORG0030HMAIN: MOVTMOD,#12H;T0 工作在模式 2,T1 工作在模式 1MOVTH0,#216MOVTL0,#216 辽宁科技学院本科生毕业设计(论文) 第 30 页MOVTH1,#(65536-4000)/256 ;4ms 延时赋初值MOV

56、TL1,#(65536-4000)MOD 256SETBET0SETBET1SETBTR0SETBTR1SETBEALOOP: CLRST;产生启动转换的正脉冲信号SETBSTCLRSTJNBEOC,$;等待转换结束SETBOE;允许输出MOVGETDATA,P0;暂存转换结果CLROE;关闭输出MOVA,GETDATA;将转换结果转换为 10 进制数MOVB,#100DIVABMOV33H,A;存放百位上的数MOVA,B;除以 100 后的余数MOVB,#10DIVABMOV34H,A;十位上的数MOV35H,B;个位上的数LJMPLOOPT0X:CPLCLKRETIT1X:MOVTH1,#

57、(65536-4000)/256 ;4ms 延时赋值MOVTL1,#(65536-4000)MOD 256MOVA,33H;百位上的数 辽宁科技学院本科生毕业设计(论文) 第 31 页ORLA,#10H;左边第一个 LED 工作MOVP1,ALCALL DELAYMOVA,34H;十位上的数ORLA,#20H;左边第二个 LED 工作MOVP1,ALCALL DELAYMOVA,35H;个位上的数ORLA,#40H;左边第三个 LED 工作MOVP1,ALCALL DELAYMOVP1,#00H;左边第四个无输出LCALL DELAYRETIDELAY:MOVR7,#255DJNZR7,$RE

58、TEND程序调好后生成 ADC.HEX 文件,并加载该文件到图 4-13 中单片机的“Program File”属性栏中并设置时钟频率为 12MHZ。(2) 仿真单机图标,启动仿真。如图 4-5-2 所示 辽宁科技学院本科生毕业设计(论文) 第 32 页图 4-14ADC0808 接口仿真ADC0808 内部有输出锁存器,可以与 AT89C51 单片机直接相连。初始化时,使START 和 OR 信号全为低电平。传送到要转换的通道的地址在 A、B、C 端口上。在START 端给出一个至少有 100ns 宽的正脉冲信号。当 EOC 变为高电平时,表示转换完成。数码管显示数据范围为 0 255。4.

59、54.5 定时器的设计与仿真定时器的设计与仿真定时器是日常生活中最常用到的单片机系统,本实验定时器设计一个秒表定时器 T0 工作在方式 1。设计与仿真目的初步了解定时器的应用。掌握定时器的相关知识。PRPTEUS 设计与仿真 (1)电路设计在 PROTEUS ISIS中设计如图 4-15 定时器秒表的应用电路。原件清单:7SEG-MPX2-CA、AT89C51、BUTTON、RESPACK-8。 辽宁科技学院本科生毕业设计(论文) 第 33 页图 4-15 秒表电路(2)程序设计KEY BIT P3.0ORG 0000HLJMP MAINORG 000BHLJMP TI_T0ORG0030HM

60、AIN: MOV TMOD,#01H ;定时器初始化 MOV TH0,#3CH ;定时 50msMOV TL0,#0B0HMOV IE,#82H 辽宁科技学院本科生毕业设计(论文) 第 34 页MOV R0,#00HMOV R1,#00HD0: JB KEY,D00 ;判断键是否按下 LCALL DELAY JB KEY,D00 SETB TR0 ;第一次按键,刚启动定时器SETB EAJNB KEY,$SJMP D1D00: CALL DISPLAY ;没按则调用显示 SJMP D0D1: CALL DISPLAY JB KEY,D1 ;判断是否有第二次按键CALL DELAY ;没按则继续

61、调用显示JB KEY ,D1D2: CALL DELAYJB KEY,D1CLR EA ;第二次按键,则暂停计数CALL DISPLAYJNB KEY,$D3: JB KEY,D33 ;判断是否有第三次按键CALL DELAYJB KEY,D33MOV R1,#00H ;第三次按键,则计数清零JNB KEY,$SJMP D0D33:CALL DISPLAY SJMP D3;显示程序DISPLAY:MOV A,R1 辽宁科技学院本科生毕业设计(论文) 第 35 页 MOV B,#10DIV ABMOV DPTR,#TAB1 MOVC A,A+DPTRMOV P0,ASETBP2.6 ;显示十位C

62、ALL DELAYCLR P2.6MOV A,BMOV DPTR,#TABMOVC A,A+DPTRMOV P0,A ;显示个位SETBP2.7CALL DELAYCLRP2.7RET;延时程序DELAY:MOV R7,#20D4: MOV R6,#250 DJNZ R6,$DJNZ R7,D4RET;中断程序TI_T0: MOV TH0,#3CH MOV TL0,#0B0HINC R0 CJNE R0,#02H,RETURN ;是否计到 100ms MOV R0,#00H 辽宁科技学院本科生毕业设计(论文) 第 36 页INC R1 ;到 100ms,则加 1CJNE R1,#99,RETU

63、RN ;加到 99 时清零MOV R1,#00HRETURN:RETITAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HTAB1: DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H END (3)仿真单机图标,启动仿真。图 4-16 秒表仿真 辽宁科技学院本科生毕业设计(论文) 第 37 页当第一次按下按键时,定时器开始计时。第二次按下按键时,停止计时并计算第一次按下键盘与第二次按下键盘时间,送入 P0 口和 P2 口并将时间显示出来,P0 口显示十位,P2 口显示个位。第三次按下键盘时使定时器清 0,等

64、待下一次按键。4.64.6 串行口实验和仿真串行口实验和仿真如图 4-17 所示,将 89C51 的第 10 与 11 脚短路,让串行数据输出连接到串行输入,以达到自己传给自己的目的。另外,第 11 脚所要传出的数据是来自PORT2 所连接的指拨开关 DIPSW 状态;而第 11 脚所接收的串行数据,将反映到 P0 所连接的 LED 上。PRPTEUS 设计与仿真(1)电路设计在 PROTEUS ISIS中设计如图 4-17 所示的串行口电路。原件清单:AT89C51、DIPSW-8、LED-BLUE、RES图 4-17 串行电路图 辽宁科技学院本科生毕业设计(论文) 第 38 页(2)程序设

65、计ORG 0 START : MOV TMOD,#20H ;将 Timer1 设置 mode2,作为比特率产生 ANL PCON,#3FH ;将 SMOD 设置为 0 MOV TH1,#0FDH ;比特率设置为 9600bit/s SETB TR1 ;启动 Timer1 MOV SCON,#01010000B ;设置串行口初始值 MOV p2,#0FFH ;将 P2 设置为输入功能 LOOP: MOV A,P2 ;读取指拨开关状态 MOV SBUF,A ;将 ACC 的内容复制到 SBUFF JNB RI,$ ;检查是否完成接受 ;完成接受,则 RI 串行中断 CLR RI ;清除 RI 标志

66、 MOV P0,SBUF ;将所接受的数据输入到 Port0 CLR T1 ;清除 TI 标志 JMP LOOP END(3)仿真单机图标,启动仿真。 辽宁科技学院本科生毕业设计(论文) 第 39 页 图 4-18 仿真图在此所要采用的比特率为 9600bit/s,首先利用 TMOD 寄存器,将 Timer 设置mode2,在将 PCON 寄存器的 SMOD 位设置为 0,然后 TH1 寄存器加载FDH(即 253) ,最后启动 Timer1,即可产生 9600bit 的比特率。另外,在SCON 寄存器里,将串行端口设置为 mode1,即可由 Port2 所读取的数据,放入SBUF 寄存器,CPU 即自动传送。另一方面,CPU 也自动接收,当接收的SBUF 寄存满了,即产生 RI 中断。4.74.7 行列式键盘的设计与仿真行列式键盘的设计与仿真键盘上的按键行列组成矩阵,在行列的交点上都对应一个键。为了实现键盘的数码输入功能和命令处理功能,每个键都有一个处理子程序。为此每个按键对应一个键码,以便根据键码转到相应的键处理子程序。设计与仿真的目的掌握行列式键盘与单片机典型的接口电路;理解扫描

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!