版章单片机实验指导(精品) .doc

上传人:laozhun 文档编号:4151970 上传时间:2023-04-07 格式:DOC 页数:31 大小:4.90MB
返回 下载 相关 举报
版章单片机实验指导(精品) .doc_第1页
第1页 / 共31页
版章单片机实验指导(精品) .doc_第2页
第2页 / 共31页
版章单片机实验指导(精品) .doc_第3页
第3页 / 共31页
版章单片机实验指导(精品) .doc_第4页
第4页 / 共31页
版章单片机实验指导(精品) .doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《版章单片机实验指导(精品) .doc》由会员分享,可在线阅读,更多相关《版章单片机实验指导(精品) .doc(31页珍藏版)》请在三一办公上搜索。

1、第13章 实践训练 13.1 概述本章旨在对学生的软硬件设计能力和软硬件联调及纠错能力进行训练,使学生掌握嵌入式系统的开发方法和技能。嵌入式系统的开发步骤如下:分析课题需求确定方案软硬件设计软硬件联调及纠错绘制印刷电路板焊接形成产品软硬件设计、软硬件联调及纠错是开发的关键步骤,实验是学习单片机必需手段和必由之路。本章的实践内容,紧密结合课堂教学,每个实验先有示例程序(汇编语言和C语言程序示例)然后由学生自行设计。用跳线改变接口的设计安排。本章实验提供的硬件电路可以在面包板搭建(此时必须另购编程器),可以在编者提供的可在线编程ISP实验板进行,可以在外购的实验台上进行(只需改端口号),还可以通过

2、Proteus做成80C51虚拟实验板进行。编者提供的可在线编程ISP实验板具有在线编程(又称为烧写或下载)功能和程序运行功能,因此它既是编程器又是实验板。为考虑用户的电脑接口差异,可选择不同的下载方式: 并口下载采用ATMEL公司的89S52(内含8K EEPROM的增强型51单片机),通过25针D型接头的连接线连接电脑和实验板,使用软件Microcontroller ISP Software(需先安装)。串口下载COM口或USB下载。串口下载使用软件SSTEasyIAP11F.EXE(勿需安装)。单片机采用SST公司的89E58RD(内含32K EEPROM的增强型51单片机),通过9针D

3、型接头的连接线将实验板和电脑COM口相连接,如果加接一条COM和USB的转换线,可用USB接口下载。如果是Proteus的虚拟实验板,课件中提供了Proteus的虚拟实验板电路图,鼠标点击单片机,选中的文件就虚拟下载了。实验板为读者综合使用内部资源提供了参考,实验板可以开出如下实验: n 汇编语言和C语言(C51)程序设计和调试方法n 并行口的输入、输出实验n 数码管的显示与控制n 中断实验(如作报警器)n 定时/计数器的应用设计(定时、计数、音乐)n 串行通信(单片机和单片机、单片机和PC机的通信)n 键盘控制程序设计(选做)n 串行EEPROM(I2C接口)(选做)n 串行D/A转换(SP

4、I接口)(选做)n 串行A/D转换(SPI接口) 选做)n LED电子显示屏汉字显示程序设计(选做,需另配汉字显示屏)n LCD 液晶显示屏显示程序设计(选做,需另配LCD显示屏)如果综合利用上述资源用户可以设计诸如多功能数字钟、波形发生器、数字电压表、音乐盒、频率计、抢答器、计算器、模拟量采样等应用系统作为学生的课程设计或毕业设计的实验平台。I/O端口用途P08位拨码开关输入; 4矩阵键盘(使用键盘时8位拨码开关应处于OFF态)。P1.0P1.56位数码管位选。 P1.4和P1.5也作 AD549的数据线和时钟线(更改跳线J2、J3位置,此时这两位数码管不受控)。P1.0控制喇叭(更改跳线J

5、9、J10位置)P1.6 P1.7串行IIC EEPROM (24C04)时钟线SCL和数据线SDA (跳线J1连接)。P2.0P2.7段数码管段选;P2.7控制数码管小数点;跳线J6连接时 P2.7作TLC549片选信号CSP3.0、P3.1UART串口MAX232的TXD、RXDP3.2外部中断输入INT0 (跳线J5连接)P3.3SPI 接口TLC5616数据线DIN。(虚拟板也作 TLC549的数据线SDO) P3.4计数器 T0外部脉冲 (跳线J6连接)。 TLC5615片选信号CS (跳线J8连接)P3.5SPI 接口TLC5615时钟线SCLKP3.6留用,如外部扩展,作总线写W

6、R信号 (虚拟板作 TLC5615片选信号CS)P3.7留用,如外部扩展,作总线读RD信号 (虚拟板作 TLC549片选信号CS)带锁按压开关W1(ISP/EXE)并口编程方式时为编程/执行控制,按下为编程状态,弹起为执行程序状态。串口编程方式时 W1为无效,应一直处于弹起状态,带锁按压开关W2-INT0J5的跳线连在INT0端时,每按一次 W2,脉冲源输出电平变化一次,产生中断INT0所需的外部中断请求信号,注按两次才会产生一个脉冲。带锁按压开关W3-T0J6的跳线连在T0端时,每按一次 W3,脉冲源输出电平变化一次,产生T0定时/计数器的所需的外部计数脉冲,注按两次才会产生一个脉冲。4.

7、硬件实验板的单片机端口安排、跳线、开关的使用见表12.1. 硬件实验板和虚拟实验板除TCL549,TCL5615 的连线不同外,其他线路相同。表12. 1 实验板单片机端口、跳线、开关的使用13.3 仿真调试技术目前嵌入式系统的仿真调试软件很多Wave、Keil、Proteus等,它们都带有汇编器,Keil还带有C51编译器。Wave在本书的前3版都有所介绍,由于是全中文,对初学者或英文不熟悉的仍可使用,使用方法本教材的电子教案附件提供,Wave软件在Wave公司的网站下载,下面重点介绍Proteus由于它不带C51编译器,对Keil也作简单介绍。13.3.1 Proteus 概述Proteu

8、s是英国Labcenter Electronics公司出品的电子设计自动化软件,它能完成软硬件设计仿真及纠错绘制印刷电路板产品的全套设计过程,提高了设计效率,缩短了产品的开发周期。软件的最大特色之处就是可以仿真包括外围接口、模数混合电路在内的嵌入系统,是一款不可多得的优秀单片机系统仿真平台。实现了以软代硬,以虚拟代现实的全新的实验模式。充分利用Proteus单片机仿真技术,使读者只要有一台电脑,就可以随时随地进行单片机的系统仿真实验,从而更快更有效地掌握单片机技术。Proteus包括ISIS和ARES两部分: ISIS(Intelligent Schemitic Input System):用

9、于电路原理图的设计及交互式的仿真调试。ISIS提供了包括电阻、电容、三极管、集成块等30多个元件库数千种元器件和多种现实存在示波器、数字电压表等虚拟仪器仪表,可以直观地仿真数字电路和模拟电路和微控制器系统的功能与结果。ISIS的工作界面如图13. 所示。图13. 中仅简要标示了一下软件界面上的操作功能面板,而软件的详细操作与使用需要读者自己查阅相关的帮助文献资料。 ARES(Advanced Routing and Editing Software):ARES是一款高性价比的PCB设计软件,用于印刷电路板的设计并产生光绘输出文件。其工作界面如图13. 所示。Proteus支持的单片机类型有80

10、51系列、AVR系列、PIC系列、68000系列、MSP430、ARM7/LPC2000系列以及8086等。最新Proteus的demo版本可以到Labcenter公司的网站http:/www.labcenter.co.uk/上下载。Proteus的demo版软件除了不能存盘与打印外,其余功能与正式版的没有差别。图13. 4 ISIS软件界面及其功能位置示意图图13. 5 ARES软件界面截屏图ISIS的主菜单栏包括文件、视图、编辑、工具、库、设计、图形、源程序、侦错、模板、系统设置、帮助等,使用下拉菜单选择具体功能,其中的快捷工具栏的工具很多,分为横排的标准工具栏和竖排的绘图工具栏,简要介绍

11、如图13.6所示,图中的(a)(d)我为标准工具栏,(e)为绘图工具栏,绘图工具栏的功能见图中的英文提示,有的还有下拉菜单。(c) 编辑操作对选中的对象进行撤销、剪切、复制、移动、旋转、删除从器件库中选择元器件、标识、封装 等(a) 文件操作新建、打开 保存 导入、 导出、 打印、标识(b) 视图显示控制刷新 网格开关 原点 中心 放大 缩小 全图 局部 (e) 绘图工具13.3.2 Proteus中51单片机应用系统的开发应用Proteus开发51单片机应用系统的步骤如下:绘制应用系统的硬件电路图(. DNS)编辑源文件(.ASM或. C 并存盘). 将源文件进行编译和连接生成.HEX文件

12、仿真调试及纠错绘制印刷电路板(*。DSN)焊接形成产品1. 用ISIS绘制单片机应用系统的硬件电路图启动ISIS后出现图13.4画面,点击对象选择窗口的P或L选择所需要的微处理器或元器件,Proteus所支持的元器件中英文如表3.2表3.2 (见林立书P212)分类元器件类型选择好的元器件点击“OK”按钮后,元器件型号会列于对象选择窗口,右击其型号,该型号的图会出现在图像编辑窗口,右击该元器件图,根据出现的菜单可对其进行旋转、翻转等操作,以摆好元器件的位置,双击该元器件图,出现元器件编辑窗口,对该元器件编号,封装等进行选择。利用图13.1最左边的绘图工具画总线,系列线或单根的线,(直接点击两个

13、元器件,ISIS也可以自动走线。)点击绘图工具的LBL可以给线加标签,对于同名标签的线是互连的。选择绘图工具中 的POWER和GROUND画出电源和地,电路原理图画好后存盘。 图13. 1 基于Proteus的80C51实验板仿真电路图 点击(选中)、双击、右击图中的某一部件,都会对该部件进行操作 2. 编辑源文件 利用文本编辑器编辑源文件,源文件可以是汇编语言(.ASM)也可以是C语言(. C)。如果是汇编语言先要选择汇编工具,Proteus软件包带有8051单片机汇编语言开发工具ASEM51,该工具已经将交叉汇编和链接两步过程合二为一,但它不支持重定位段和外部符号,因此要求所有的汇编代码在

14、一个文件中。选择汇编工具的方法是在ISIS界面主菜单Source中设置好相关参数,汇编工具设置位置如图 (b) 设置界面1所示,在Tool栏的下拉中选ASEM51。 (a) 设置菜单项图 (b) 设置界面13.7 ISIS中8051汇编工具链的设置Proteus不带C语言的编译工具,必须使用C51编译和连接,而Keil带有C语言的编译,因此要先由Keil 的C51编译器编译,生成.HEX文件,再进行调试。编辑源程序的方法是点主菜单Source,出现如Error! Reference source not found.(a) 菜单项,选择添加/移除源程序,尔后出现Error! Reference

15、 source not found.(b)的设置界面,图中左上部设置应用系统的微控制器80C51(U1和电路图的80C51标签要一致),如果电路中不存在微控制器,该项是无效的;右上部源程序工具链的选择,点击下拉选择其中的ASEM51选项;图中下部是用户源文件的选择位置,点击Change按钮找用户编写的源程序文件,点击New则新建源文件。Prot(a) 设置菜单项图 (b) 设置界面13.8 ISIS中8051汇编源文件设置一般来讲一片8051单片机对应一个源文件,一个电路中容许有多个8051单片机,可以对应多个汇编源文件。3. 将源文件进行编译和连接生成.HEX文件汇编源码文件设置好之后,接下

16、来就可以点击Source菜单下的Build All项就可以启动汇编好连接过程,如图1所示。图1(b)是汇编成功后出现的提示信息,如果汇编过程中出现错误,其文本框中也会给出相应的错误提示,用户根据提示处修改源文件,再次汇编,直至通过为止。(a) 启动汇编菜单 (b) 汇编成功后的提示信息框图13.9 ISIS单片机仿真电路中汇编源码文件的汇编汇编成功后,生成的.HEX编程文件会自动地装载到8051单片机器件中,如果加载非当前汇编的文件,双击图中的单片机,出现如图13. 2画面,可以为单片机选择新的执行文件,为使实验效果观察更为有利,也可以更改时钟频率。 图13. 2 ISIS单片机属性设置对话框

17、4. Proteus的仿真调试将.HEX文件加载到原理图文件的单片机中,利用单步、断点等运行手段仿真调试,发现错误,修改程序或硬件电路。在Proteus中的调试均采用软件仿真的方式进行。点击主菜单Debug,出现如 所示的菜单项,点击Start/Restart Debugging按钮,或者点击ISIS仿真面板上的Step和Pause按钮均可以启动仿真调试,如果有错误,就会出现提示信息,依据提示信息将故障排除。程序调试有单步、断点、全速等多种运行方式,在DEBUG菜单项选用,其中 Execute:全速执行,执行完程序后退出调试状态。Step Over:如是子程序调用语句,将视为一条指令执行。St

18、ep Into:遇到子程序调用语句,进入子程序中,跟踪执行。 Step Out:执行程序直到当期的子程序返回。需要注意的是,仿真面板上的STEP一般不是指令的单步操作,而是指仿真动画的单步方式,具体使用的时候应该图13. 3 DEBUG菜单项加以区别。在调试过程中,当程序运行暂停时,点击图13.11中的3.8051 CPU,选择你希望看到的单片机相关的调试信息,如图13. 4所示。调试窗口中所显示的寄存器或者存储器的内容是不能手动修改的,而只能查看其结果。在源码显示窗口中,点击鼠标右键,进一步设置还可以显示行号、地址、机器码等信息,同时也可以设置断点,如图13. 4(d)中第8行处的实心圆圈所

19、示。 (a) 8051寄存器窗口 (b) 8051特殊功能寄存器窗口 (c) 8051内部RAM窗口 (d) 8051源代码窗口图13. 4 Proteus的8051各种调试信息显示窗口更为方便的查看多个变量值的方法是可以将它们集中在Watch Window窗口中,如图13. 5(a)所示,其查看变量的添加可由鼠标右键弹出菜单设置,如图13. 5(b)所示。添加方式有按照名称和按照地址两种,分别如图13. 6(a)和(b)所示。 (a) Watch窗口显示框 (b) Watch窗口设置弹出菜单图13. 5 Proteus的Watch Window窗口 (a) 按名称 (b) 按地址 图13.

20、6 Watch Window窗口的变量添加方式13.3.2图13.15 (a) (b)图13.2113.3.3 Keil和Proteus的联合使用,C51程序的仿真调试 Proteus不带C51语言的编译工具,但可以看到虚拟器件的执行效果,而Keil带有C语言的编译,同时它调试的方法修改手段等功能强大,充分发挥两者的长处,是不错的调试方法。pro-setup77 图13.2113.5 单片机编程(下载)方法使用Proteus可以完成产品的设计,这只是纸上谈兵,最后必须完成产品的制作,少不了要将调试成功的程序的 *.HEX文件烧写进单片机(称为编程或下载)。编程有三种方式:并行口编程、串行口编程

21、和USB编程。根据自己电脑的配置选择。它们是使用电脑的不同端口完成的。端口名和编号通过以下步骤可以查:我的电脑系统任务查看系统信息系统属性硬件设备管理器端口 各步出现的画面如13.17图所示图13.17查找电脑的端口的步骤几种不同编程的方式的差别见表13.4表13.4 不同编程的方式的差别编程方法并行口编程串行口编程USB编程电脑接口EPC打印端口LPT1(并行口)串行通信端口COM1按图13.4步骤查找正在使用的USB口占用的COM编号连接线25针通信线电脑25针D型插座实验板25针插座25针D型插头连接线RS-232通信线电脑COM口9针D型插座实验板9针插座9针D型插头连接线USB -R

22、S 232转接线实验板9针插座电脑USB接口USB-COM转接线适用的单片机ATMEL AT89S52(内有8Kb ROM的增强型51单片机)SST公司的 SST 89E58(内有32Kb ROM的增强型51单片机)使用的软件SSTEasyIAP11F.exeUSB驱动软件SSTEasyIAP11F.exeSSTEasyIAP11F.exe(无须安装)一般单片机的网站都可以下载。使用USB编程时,需购买USB-COM转接线,其附带的软盘上USB驱动软件,因为一般计算机有两个以上的USB接口,插到不同的USB插口,计算机安排的COM序号是不同的,你必须查你插上的USB接口使用的COM号码。本教材

23、提供的实验板,三种编程方式的接口都已作在板上,当你购买实验板时软盘会提供相应软件及使用指南。不管哪种编程方式,除根据要求更换单片机外,实验板和实验程序不作任何改动。注意串口编程时W1键(EXE/ISP并口的执行转换按键)不起作用,使它处于弹高的位置。串口编程软件SSTEasyIAP11F.exe程序操作如下:1选择主菜单DetectChip/RS232,按图13.18(a)(b) (c)的顺序选择你的SST单片机型号和存储器模式(a)(b) (c) 图13.18 选择单片机型号2OK后出现下面画面,选择实验板和计算机相连的COM口序号,波特率及晶振频率可不作修改,但COM口一定要根据你的计算机

24、连接情况(见图13.4)作正确选择。如用USB接口要先查清楚你所接的USB对应的COM序号进行选择。如图13.4中USB接口对应是COM6,换一个USB口要查一次USB对应的COM序号图13.19 选择COM口序号3点击上图中最下行的中的Detect MCU 选项后出现图13.20画面 。点击图中“确定”以后,按实验板上的复位键,软件对单片机进行检测,被写的单片机的有关信息出现在图13.21中: 图13.20 图13.21 显示的单片机有关信息4点击图13.21中Download后,圆圈中出现黑点,出现图13.22画面,选择(a)文件浏览(见上图圆圈),选择你欲下载的程序( .HEX)文件后点

25、OK见图(b): 图13.22 选择下载的*.HEX文件出现图13.23警告信息:原有的信息将被清除,是否继续下载:答是。随后进入下载过程,出现图13.24滚动条。图13.24 程序下载下载完成。按单片机实验板的复位键后即可以执行已下载的程序。如重新下载再重复上述过程。用USB下载过程同上。并口编程的软件及操作说明见出版社华信网站的本教材的课件中,本节不作说明。13.5 实验指导 实验的方法有基于ISP实验板的和基于Proteus的两种,根据实验室的条件选择。基于ISP实验板的硬件电路见图13.3,图中考虑到用户的自行扩展硬件;基于Proteus考虑画图的方便,所以两种电路在AD549和DA5

26、615和并行口的安排上稍有差异,定时器和中断共用脉冲源,实验中根据采用的实验方法参考不同的电路图。基于Proteus的电路图见图13.25,该电路图会附在教材的课件上,直接在Proteus的ISIS上使用,作哪个实验就使用图的哪一部分。图中的按键和开关操作只需要用鼠标点击或拖动。当然读者也可以自行画实验电路图。图13.26 基于Proteus的虚拟实验板电路图 12.2.1 实验一程序设计一、实验目的 熟悉Proteus软件的基本操作。(2) 掌握Proteus环境下80C51汇编程序的编辑、汇编及调试的方法。 掌握8051 C语言程序设计的方法 二、实验内容 搭建Proteus的8051单片

27、机环境,直接点击教材配套的80C51实验板设计电路(读者也可自行绘制电路),进入基于Proteus的8051实验平台。实验板默认的时钟频率为11.0592MHz,读者根据需要可以在单片机属性对话框的时钟频率项中自行修改。 鼠标点击菜单“Source”“Add/Remove Source files”,弹出“Add/Remove Source Code Files”对话框后,点击“New”按钮按照提示信息建立一个汇编语言源文件,文件名自取,进入编辑窗口键入以下实验程序后存盘。INDEXEQU20HSUMEQU21HORG0000HAJMPSTARTORG0100HSTART:MOVINDEX,#

28、5MOVA,#0LOOP:ADDA,INDEXDJNZINDEX,LOOPMOVSUM,ASJMPSTARTEND 点击“Source” “Build All”,使用Proteus自带的汇编器对源程序汇编,生成.HEX格式编程文件。 点击仿真控制面板的暂停键,启动系统仿真。点击“Source” “Watch Window”打开变量观察窗口,在观察窗口中加入变量INDEX和SUM以及累加器ACC;点击“Debug” “8051 CPU”“Source Code”打开源码窗口。 使用快捷键F11,单步执行程序,观察Watch窗口中ACC、INDEX、SUM内容的变化情况。 在源码窗口最最后一条指令

29、SJMP START处设置断点,执行后观察ACC、INDEX、SUM内容的变化。三、程序设计编写程序并在实验板上仿真调试。 将外部数据存储器0001H和0002H单元内容互换。 将外部数据存储器01001FH单元内容移到02002FH单元。 统计内部数据存储器从30H单元开始的十个字节中,正数负数和零的个数, 并分别置于R4,R5,R6中。 完成八位数除以八位数,即R2/R1=R3.R4。 将外部数据存储器005H单元的BCD码转换为ASCII码放回原单元。 将外部数据存储器005H单元中的十六进制数转换成ASCII码放回原单元。 将R0中的二进制数转换成BCD码存于内部数据存储器的22H20

30、H单元。 完成两个四字节数的相加(即32位数),和存于内部数据存储器的24H20H单元 完成两个四字节数BCD码数的相加,和存于内部数据存储器的24H20H单元 12.2.2 实验二并行接口一、实验目的 掌握8051单片机并行口的输入方式和输出方式的编程。 熟悉基于Proteus的虚拟80C51实验板的结构。 熟悉8051单片机并行口的Proteus仿真调试。二、实验内容 实验程序A实验仿真电路如 图13. 1所示,单片机的P0口接8位拨码开关,P1口接6个数码管的位选,P2口接6个数码管的段选。编辑以下程序并运行,观察执行现象。为显示的现象更为清晰一些,可以将单片机的属性编辑对话框中将时钟频

31、率调至1MHz,如图12. 7所示。ORG0000HAJMPSTARTORG0100HSTART:MOVP1,#01HMOVA,#1NEXT:MOVP1,AMOVR3,#0LOOP:MOVR4,#0DJNZR4,$DJNZR3,LOOPRLASJMPNEXTEND图12. 7 8051单片机属性编辑对话框自编程序: 使第三个数码管各段轮流亮。 使六个数码管共42段LED各段轮流亮。 实验程序B实验仿真电路如 图13. 1所示,将拨码开关的第几位置“ON”,第一个数码管则显示几。程序如下:ORG0000HAJMPSTARTORG0100HSTART:MOVDPTR,#TAB0MOVP1,#01H

32、STA1:SETBCMOVR0,#1ASP:MOVP0,#0FFHMOVA,P0ASP1:RRCAJNCLED;检测是哪个开关置“ON”INCR0CJNER0,#9,ASP1SJMPSTA1LED:MOVA,R0;R0为开关号MOVCA,A+DPTRMOVP2,ASJMPSTA1TAB0:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HEND自编程序:编写程序,完成拨1键置“ON”,第一个数码管显示“1”,拨2键第二个数码管显示“2”, 拨3键第三个数码管显示“3” 实验程序C数码管跑马程序,实验仿真电路如 图

33、13. 1所示,参考代码如下:ORG0000HAJMPSTARTORG0100HSTART:MOVR0,#0;R0存放字形表偏移量WE:MOVA,#01H;A置数码管位选代码NEXT:MOVB,A;保存位选代码MOVP1,AMOVDPTR,#TAB0;DPTR置字形表头地址MOVA,R0MOVCA,A+DPTR;查字形码表MOVP2,A;送P2口输出MOVR3,#0;延时LOOP:MOVR4,#0LOOP1:NOPNOPDJNZR4,LOOP1DJNZR3,LOOPMOVA,BRLA;指向下一位CJNEA,#40H,NEXT;6个数码管显示完否INCR0;指向下一位字形CJNER0,#10H,

34、WE;0F显示完否SJMPSTARTTAB0:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HEND自编程序:编写程序,完成拨1键置“ON”,6个数码管轮流显示“1”,拨2键6个数码管轮流显示“2”,拨3键个数码管轮流显示“3” 三、程序设计编写程序并在实验板上仿真调试。 每两个数码管为一组交替点亮“8”。 对第四个数码管按照 一段亮二段亮三段亮全部亮灭一段灭二段灭三段灭四段全部灭方式,如此反复进行。 测试第1个拨码开关K1,当K1开关向上拔“ON”时,6个数码管同时实现“8”,当K1开关向下拔时,6个数码管同

35、时灭。 将开关K1K6的置位情况显示在数码管上,开关置“ON”,对应数码管显示“0”;开关置“OFF”,对应数码管显示“1”。 将8位二进制开关K1K8的置数以十六进制方式显示在两位数码管上,如K1K8全部拨向下“OFF”,第一、二个数码管则显示FF。12.2.3 实验三中断实验 一、实验目的 掌握8051单片机中断的产生及响应过程。 掌握8051单片机中断程序的编制。二、 实验内容实验电路如 图13. 1所示,将跳线JP1调至左边连接好INT0。脉冲源向单片机的外部中断。引脚提供中断所需的脉冲,每按两次开关SW2,电平变反一次,产生一个跳变沿,作为外部中断的中断请求信号。 实验程序AORG0

36、000HAJMPSTARTORG0003H;中断服务RLAMOVP2,ARETIORG0100HSTART:MOVP1,#04H;第三个数码管亮MOVA,#01HMOVP2,ASETBEA;置EA=1SETBEX0;容许INT0中断SETBIT0;边沿触发中断SJMP$END 分析该程序的功能及实验现象。 仿真运行该程序,观察执行的现象是否和估计一致。注意:每按两次按钮, 产生一次中断,LED点亮有何变化, 叙述程序的执行过程。自编程序: 7个发光二极管(即一个数码管的7段)同时点亮,中断一次 ,7管同时熄灭,每中断一次 ,变反一次。 要求同,每中断一次 ,变反四次。 实验程序B记录并显示的中

37、断次数(中断次数16 次),参考代码如下:ORG0000HAJMPSTARTORG0003HAJMPINT0RORG0100HSTART:MOVIE,#81H;容许INT0中断,置EA=1SETBIT0;边沿触发中断MOVR0,#0;计数初值为0LOOP:MOVP1,#01;第一个数码管显示中断次数MOVDPTR,#TAB0;字形码表首址送DPTRMOVA,R0MOVCA,A+DPTR;查表MOVP2,A;显示SJMPLOOP;结束INT0R:INCR0;中断次数加1CJNER0,#10H,RET0;中断是否满15次MOVR0,#0;循环RET0:RETITAB0:DB3FH,06H,5BH,

38、4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HEND 分析该程序的功能及实验现象。 仿真运行该程序,观察执行的现象是否和估计一致。注意:每按两次按钮, 产生一次中断,叙述程序的执行顺序。三、程序设计 使第六个数码管显示“H”,每中断一次,“H”左移一位。 利用实验板上的两位数码管,显示中断次数(次数不超过FFH)。 利用实验板上的三位数码管,用BCD码显示中断次数(次数不超过255)。 编程并运行,每中断一次,使置于“ON”的开关号显示在第一个数码管的相应段上。12.2.4 实验四定时/计数器 一、实验目的 熟悉8051单片机定时/计数

39、器的应用。 掌握8051单片机定时/计数器的编程方法。二、 实验内容实验电路如 图13. 1所示,将跳线JP1调至右边连接好T0。脉冲源向单片机的计数器T0提供外部计数脉冲,每按两次开关SW2,产生一个计数脉冲。 实验程序A使用查询方式计数外部脉冲,计满两个脉冲,LED显示段加1,参考代码如下:ORG0000HAJMPSTARTORG0100HSTART:MOVTMOD,#06H;计数方式2MOVTH0,#0FEHMOVTL0,#0FEH;计两个脉冲SETBTR0MOVP1,#3FHMOVA,#0COUN:JNBTF0,$;等待计满两个脉冲CLRTF0INCAMOVP2,ASJMPCOUNEN

40、D修改上述程序使计3个脉冲A 加1,并将A值显示在数码管上。 实验程序B使用中断方式计数外部脉冲,计满两个脉冲中断一次,LED显示段加1,参考代码如下:ORG0000HAJMPSTARTORG000BHINCAMOVP2,ARETIORG0100HSTART:MOVTMOD,#06HMOVTH0,#0FEHMOVTL0,#0FEHSETBEASETBET0SETBTR0MOVA,#0MOVP2,ASJMP$END修改上述程序使计3个脉冲中断一次,A 加1,并将A值显示在数码管上。 实验程序C实现一个简易电子琴。实验电路如 图13. 1所示,将跳线JP3拨至右边,使得P2.7脚的输出信号连通喇叭

41、,Proteus中的喇叭与声卡相连,打开连接声卡的音响后可以听到输出的声音。声音产生的基本原理是这样的:已知各音调的频率即知其周期,每过半个周期P2.7取反,送到P2.7接的喇叭后,即可从声卡输出该音调的声音,设计拨动按键K1-K8分别发出各音。各音调频率和要求的按键对应关系如表12. 2所示。表12. 2 实验板所用Proteus元器件设备清单按键Kn12345678音调DoReMiFaSoLaXiDou频率(Hz)262294330349392440494523计数值(H)F88CF95CFA15FA68FB05FB90FC0CFC44简易电子琴的参考代码如下:ORG0000HAJMPSTARTORG001BHAJMP

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号