版单片机实验指导.docx

上传人:b****5 文档编号:7264412 上传时间:2023-01-22 格式:DOCX 页数:39 大小:1.49MB
下载 相关 举报
版单片机实验指导.docx_第1页
第1页 / 共39页
版单片机实验指导.docx_第2页
第2页 / 共39页
版单片机实验指导.docx_第3页
第3页 / 共39页
版单片机实验指导.docx_第4页
第4页 / 共39页
版单片机实验指导.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

版单片机实验指导.docx

《版单片机实验指导.docx》由会员分享,可在线阅读,更多相关《版单片机实验指导.docx(39页珍藏版)》请在冰豆网上搜索。

版单片机实验指导.docx

版单片机实验指导

第13章实践训练

13.1概述

本章旨在对学生的软硬件设计能力和软硬件联调及纠错能力进行训练,使学生掌握嵌入式系统的开发方法和技能。

嵌入式系统的开发步骤如下:

分析课题需求→确定方案→软硬件设计→软硬件联调及纠错→绘制印刷电路板→焊接形成产品

软硬件设计、软硬件联调及纠错是开发的关键步骤,实验是学习单片机必需手段和必由之路。

本章的实践内容,紧密结合课堂教案,每个实验先有示例程序<汇编语言和C语言程序示例)然后由学生自行设计。

用跳线改变接口的设计安排。

本章实验提供的硬件电路可以在面包板搭建<此时必须另购编程器),可以在编者提供的可在线编程ISP实验板进行,可以在外购的实验台上进行<只需改端口号),还可以通过Proteus做成80C51虚拟实验板进行。

编者提供的可在线编程ISP实验板具有在线编程<又称为烧写或下载)功能和程序运行功能,因此它既是编程器又是实验板。

为考虑用户的电脑接口差异,可选择不同的下载方式:

并口下载—采用ATMEL公司的89S52<内含8KEEPROM的增强型51单片机),通过25针D型接头的连接线连接电脑和实验板,使用软件MicrocontrollerISPSoftware<需先安装)。

串口下载—COM口或USB下载。

串口下载使用软件SSTEasyIAP11F.EXE<勿需安装)。

单片机采用SST公司的89E58RD<内含32KEEPROM的增强型51单片机),通过9针D型接头的连接线将实验板和电脑COM口相连接,如果加接一条COM和USB的转换线,可用USB接口下载。

如果是Proteus的虚拟实验板,课件中提供了Proteus的虚拟实验板电路图,鼠标点击单片机,选中的文件就虚拟下载了。

实验板为读者综合使用内部资源提供了参考,实验板可以开出如下实验:

⏹汇编语言和C语言程序设计和调试方法

⏹并行口的输入、输出实验

⏹数码管的显示与控制

⏹中断实验<如作报警器)

⏹定时/计数器的应用设计<定时、计数、音乐)

⏹串行通信<单片机和单片机、单片机和PC机的通信)

⏹键盘控制程序设计<选做)

⏹串行EEPROM

⏹串行D/A转换(SPI接口><选做)

⏹串行A/D转换(SPI接口>选做)

⏹LED电子显示屏汉字显示程序设计<选做,需另配汉字显示屏)

⏹LCD液晶显示屏显示程序设计<选做,需另配LCD显示屏)

如果综合利用上述资源用户可以设计诸如多功能数字钟、波形发生器、数字电压表、音乐盒、频率计、抢答器、计算器、模拟量采样等应用系统作为学生的课程设计或毕业设计的实验平台。

I/O端口

用途

P0

①8位拨码开关输入;②4×4矩阵键盘<使用键盘时8位拨码开关应处于OFF态)。

P1.0~P1.5

①6位数码管位选。

②P1.4和P1.5也作AD549的数据线和时钟线<更改跳线J2、J3位置,此时这两位数码管不受控)。

P1.0控制喇叭<更改跳线J9、J10位置)

P1.6P1.7

串行IICEEPROM(24C04>时钟线SCL和数据线SDA(跳线J1连接>。

P2.0~P2.7

①7段数码管段选;P2.7控制数码管小数点;②跳线J6连接时P2.7作TLC549片选信号CS

P3.0、P3.1

UART串口MAX232的TXD、RXD

P3.2

外部中断输入INT0(跳线J5连接>

P3.3

SPI接口TLC5616数据线DIN。

(虚拟板也作TLC549的数据线SDO>

P3.4

①计数器T0外部脉冲(跳线J6连接>。

②TLC5615片选信号CS(跳线J8连接>

P3.5

SPI接口TLC5615时钟线SCLK

P3.6

留用,如外部扩展,作总线写WR信号(虚拟板作TLC5615片选信号CS>

P3.7

留用,如外部扩展,作总线读RD信号(虚拟板作TLC549片选信号CS>

带锁按压开关W1

并口编程方式时为编程/执行控制,按下为编程状态,弹起为执行程序状态。

串口编程方式时W1为无效,应一直处于弹起状态,

带锁按压开关W2-INT0

J5的跳线连在INT0端时,每按一次W2,脉冲源输出电平变化一次,产生中断INT0所需的外部中断请求信号,注按两次才会产生一个脉冲。

带锁按压开关W3-T0

J6的跳线连在T0端时,每按一次W3,脉冲源输出电平变化一次,产生T0定时/计数器的所需的外部计数脉冲,注按两次才会产生一个脉冲。

4.硬件实验板的单片机端口安排、跳线、开关的使用见表12.1.硬件实验板和虚拟实验板除TCL549,TCL5615的连线不同外,其他线路相同。

表12.1实验板单片机端口、跳线、开关的使用

 

13.3仿真调试技术

目前嵌入式系统的仿真调试软件很多Wave、Keil、Proteus等,它们都带有汇编器,Keil还带有C51编译器。

Wave在本书的前3版都有所介绍,由于是全中文,对初学者或英文不熟悉的仍可使用,使用方法本教材的电子教案附件提供,Wave软件在Wave公司的网站下载,下面重点介绍Proteus由于它不带C51编译器,对Keil也作简单介绍。

13.3.1Proteus概述

Proteus是英国LabcenterElectronics公司出品的电子设计自动化软件,它能完成软硬件设计→仿真及纠错→绘制印刷电路板产品的全套设计过程,提高了设计效率,缩短了产品的开发周期。

软件的最大特色之处就是可以仿真包括外围接口、模数混合电路在内的嵌入系统,是一款不可多得的优秀单片机系统仿真平台。

实现了以软代硬,以虚拟代现实的全新的实验模式。

充分利用Proteus单片机仿真技术,使读者只要有一台电脑,就可以随时随地进行单片机的系统仿真实验,从而更快更有效地掌握单片机技术。

Proteus包括ISIS和ARES两部分:

ISIS

用于电路原理图的设计及交互式的仿真调试。

ISIS提供了包括电阻、电容、三极管、集成块等30多个元件库数千种元器件和多种现实存在示波器、数字电压表等虚拟仪器仪表,可以直观地仿真数字电路和模拟电路和微控制器系统的功能与结果。

ISIS的工作界面如图13.4所示。

图13.4中仅简要标示了一下软件界面上的操作功能面板,而软件的详细操作与使用需要读者自己查阅相关的帮助文献资料。

ARES

ARES是一款高性价比的PCB设计软件,用于印刷电路板的设计并产生光绘输出文件。

其工作界面如图13.5所示。

Proteus支持的单片机类型有8051系列、AVR系列、PIC系列、68000系列、MSP430、ARM7/LPC2000系列以及8086等。

最新Proteus的demo版本可以到Labcenter公司的网站上下载。

Proteus的demo版软件除了不能存盘与打印外,其余功能与正式版的没有差别。

图13.4ISIS软件界面及其功能位置示意图

图13.5ARES软件界面截屏图

ISIS的主菜单栏包括文件、视图、编辑、工具、库、设计、图形、源程序、侦错、模板、系统设置、帮助等,使用下拉菜单选择具体功能,其中的快捷工具栏的工具很多,分为横排的标准工具栏和竖排的绘图工具栏,简要介绍如图13.6所示,图中的我为标准工具栏,

 

(e>绘图工具

 

13.3.2Proteus中51单片机应用系统的开发

应用Proteus开发51单片机应用系统的步骤如下:

绘制应用系统的硬件电路图<﹡.DNS)→编辑源文件(﹡.ASM或﹡.C并存盘>.→将源文件进行编译和连接生成﹡.HEX文件→仿真调试及纠错→绘制印刷电路板<*。

DSN)→焊接形成产品

1.用ISIS绘制单片机应用系统的硬件电路图

启动ISIS后出现图13.4画面,点击对象选择窗口的P或L选择所需要的微处理器或元器件,Proteus所支持的元器件中英文如表3.2

表3.2<见林立书P212)

分类

元器件类型

选择好的元器件点击“OK”按钮后,元器件型号会列于对象选择窗口,右击其型号,该

型号的图会出现在图像编辑窗口,右击该元器件图,根据出现的菜单可对其进行旋转、翻转等操作,以摆好元器件的位置,双击该元器件图,出现元器件编辑窗口,对该元器件编号,封装等进行选择。

利用图13.1最左边的绘图工具画总线,系列线或单根的线,<直接点击两个元器件,ISIS也可以自动走线。

)点击绘图工具的LBL可以给线加标签,对于同名标签的线是互连的。

选择绘图工具中的POWER和GROUND画出电源和地,电路原理图画好后存盘。

图13.6基于Proteus的80C51实验板仿真电路图

点击<选中)、双击、右击图中的某一部件,都会对该部件进行操作

2.编辑源文件

利用文本编辑器编辑源文件,源文件可以是汇编语言<﹡.ASM)也可以是C语言<﹡.C)。

如果是汇编语言先要选择汇编工具,Proteus软件包带有8051单片机汇编语言开发工具ASEM51,该工具已经将交叉汇编和链接两步过程合二为一,但它不支持重定位段和外部符号,因此要求所有的汇编代码在一个文件中。

选择汇编工具的方法是在ISIS界面主菜单Source中设置好相关参数,汇编工具设置位置如图13.4所示,在Tool栏的下拉中选ASEM51。

 

(a>设置菜单项图(b>设置界面

13.7ISIS中8051汇编工具链的设置

Proteus不带C语言的编译工具,必须使用C51编译和连接,而Keil带有C语言的编译,因此要先由Keil的C51编译器编译,生成﹡.HEX文件,再进行调试。

编辑源程序的方法是点主菜单Source,出现如图13.3(a>菜单项,选择添加/移除源程序,尔后出现图13.3(b>的设置界面,图中左上部设置应用系统的微控制器80C51(U1和电路图的80C51标签要一致>,如果电路中不存在微控制器,该项是无效的;右上部源程序工具链的选择,点击下拉选择其中的ASEM51选项;图中下部是用户源文件的选择位置,点击Change按钮找用户编写的源程序文件,点击New则新建源文件。

Prot

(a>设置菜单项图(b>设置界面

13.8ISIS中8051汇编源文件设置

一般来讲一片8051单片机对应一个源文件,一个电路中容许有多个8051单片机,可以对应多个汇编源文件。

3.将源文件进行编译和连接生成﹡.HEX文件

汇编源码文件设置好之后,接下来就可以点击Source菜单下的BuildAll项就可以启动汇编好连接过程,如图13.5所示。

图13.5(b>是汇编成功后出现的提示信息,如果汇编过程中出现错误,其文本框中也会给出相应的错误提示,用户根据提示处修改源文件,再次汇编,直至通过为止。

 

(a>启动汇编菜单(b>汇编成功后的提示信息框

图13.9ISIS单片机仿真电路中汇编源码文件的汇编

汇编成功后,生成的.HEX编程文件会自动地装载到8051单片机器件中,如果加载非当前汇编的文件,双击图中的单片机,出现如图13.10画面,可以为单片机选择新的执行文件,为使实验效果观察更为有利,也可以更改时钟频率。

图13.10ISIS单片机属性设置对话框

4.Proteus的仿真调试

将﹡.HEX文件加载到原理图文件的单片机中,利用单步、断点等运行手段仿真调试,发现错误,修改程序或硬件电路。

在Proteus中的调试均采用软件仿真的方式进行。

点击主菜单Debug,出现如图13.11所示的菜单项,点击Start/RestartDebugging按钮,或者点击ISIS仿真面板上的Step和Pause按钮均可以启动仿真调试,如果有错误,就会出现提示信息,依据提示信息将故障排除。

程序调试有单步、断点、全速等多种运行方式,在DEBUG菜单项选用,其中

Execute:

全速执行,执行完程序后退出调试状态。

StepOver:

如是子程序调用语句,将视为一条指令执行。

StepInto:

遇到子程序调用语句,进入子程序中,跟踪执行。

StepOut:

执行程序直到当期的子程序返回。

需要注意的是,仿真面板上的STEP一般不是指令的

单步操作,而是指仿真动画的单步方式,具体使用的时候应该

图13.11DEBUG菜单项

加以区别。

在调试过程中,当程序运行暂停时,点击图13.11中的3.8051CPU,选择你希望看到的单片机相关的调试信息,如图13.12所示。

调试窗口中所显示的寄存器或者存储器的内容是不能手动修改的,而只能查看其结果。

在源码显示窗口中,点击鼠标右键,进一步设置还可以显示行号、地址、机器码等信息,同时也可以设置断点,如图13.12(d>中第8行处的实心圆圈所示。

(a>8051寄存器窗口(b>8051特殊功能寄存器窗口

(c>8051内部RAM窗口(d>8051源代码窗口

图13.12Proteus的8051各种调试信息显示窗口

更为方便的查看多个变量值的方法是可以将它们集中在WatchWindow窗口中,如图12.13(a>所示,其查看变量的添加可由鼠标右键弹出菜单设置,如图13.13(b>所示。

添加方式有按照名称和按照地址两种,分别如图13.14(a>和(b>所示。

(a>Watch窗口显示框(b>Watch窗口设置弹出菜单

图13.13Proteus的WatchWindow窗口

 

(a>按名称(b>按地址

图13.14WatchWindow窗口的变量添加方式

13.3.2

图13.15

图13.21

13.3.3Keil和Proteus的联合使用,C51程序的仿真调试

Proteus不带C51语言的编译工具,但可以看到虚拟器件的执行效果,而Keil带有C语言的编译,同时它调试的方法修改手段等功能强大,充分发挥两者的长处,是不错的调试方法。

pro-setup77

 

图13.21

13.5单片机编程<下载)方法

使用Proteus可以完成产品的设计,这只是纸上谈兵,最后必须完成产品的制作,少不了要将调试成功的程序的*.HEX文件烧写进单片机(称为编程或下载>。

编程有三种方式:

并行口编程、串行口编程和USB编程。

根据自己电脑的配置选择。

它们是使用电脑的不同端口完成的。

端口名和编号通过以下步骤可以查:

我的电脑-系统任务-查看系统信息—系统属性—硬件-设备管理器-端口

各步出现的画面如13.17图所示

 

图13.17查找电脑的端口的步骤

几种不同编程的方式的差别见表13.4

表13.4不同编程的方式的差别

编程方法

并行口编程

串行口编程

USB编程

电脑接口

EPC打印端口LPT1(并行口>

串行通信端口COM1

按图13.4步骤查找正在使用的USB口占用的COM编号

连接线

25针D型插头连接线

 

9针D型插头连接线

USB-COM转接线

适用的单片机

ATMELAT89S52(内有8KbROM的增强型51单片机>

SST公司的SST89E58

(内有32KbROM的增强型51单片机>

使用的软件

SSTEasyIAP11F.exe

USB驱动软件

SSTEasyIAP11F.exe

SSTEasyIAP11F.exe<无须安装)一般单片机的网站都可以下载。

使用USB编程时,需购买USB-COM转接线,其附带的软盘上USB驱动软件,因为一般计算机有两个以上的USB接口,插到不同的USB插口,计算机安排的COM序号是不同的,你必须查你插上的USB接口使用的COM号码。

本教材提供的实验板,三种编程方式的接口都已作在板上,当你购买实验板时软盘会提供相应软件及使用指南。

不管哪种编程方式,除根据要求更换单片机外,实验板和实验程序不作任何改动。

注意串口编程时W1键(EXE/ISP并口的执行转换按键>不起作用,使它处于弹高的位置。

串口编程软件SSTEasyIAP11F.exe程序操作如下:

1.选择主菜单DetectChip/RS232,按图13.18(c>的顺序选择你的SST单片机型号和存储器模式

(c>

图13.18选择单片机型号

2.OK后出现下面画面,选择实验板和计算机相连的COM口序号,波特率及晶振频率可不作修改,但COM口一定要根据你的计算机连接情况<见图13.4)作正确选择。

如用USB接口要先查清楚你所接的USB对应的COM序号进行选择。

如图13.4中USB接口对应是COM6,换一个USB口要查一次USB对应的COM序号

图13.19选择COM口序号

3.点击上图中最下行的中的DetectMCU选项后出现图13.20画面。

点击图中“确定”以后,按实验板上的复位键,软件对单片机进行检测,被写的单片机的有关信息出现在图13.21中:

 

图13.20

图13.21显示的单片机有关信息

4.点击图13.21中Download后,圆圈中出现黑点,出现图13.22画面,选择

图13.22选择下载的*.HEX文件

出现图13.23警告信息:

原有的信息将被清除,是否继续下载:

答是。

随后进入下载过程,出现图13.24滚动条。

图13.24程序下载

下载完成。

按单片机实验板的复位键后即可以执行已下载的程序。

如重新下载再重复上述过程。

用USB下载过程同上。

并口编程的软件及操作说明见出版社华信网站的本教材的课件中,本节不作说明。

13.5实验指导

实验的方法有基于ISP实验板的和基于Proteus的两种,根据实验室的条件选择。

基于ISP实验板的硬件电路见图13.3,图中考虑到用户的自行扩展硬件;基于Proteus考虑画图的方便,所以两种电路在AD549和DA5615和并行口的安排上稍有差异,定时器和中断共用脉冲源,实验中根据采用的实验方法参考不同的电路图。

基于Proteus的电路图见图13.25,该电路图会附在教材的课件上,直接在Proteus的ISIS上使用,作哪个实验就使用图的哪一部分。

图中的按键和开关操作只需要用鼠标点击或拖动。

当然读者也可以自行画实验电路图。

图13.26基于Proteus的虚拟实验板电路图

12.2.1实验一程序设计

一、实验目的

⑴熟悉Proteus软件的基本操作。

(2>掌握Proteus环境下80C51汇编程序的编辑、汇编及调试的方法。

⑶掌握8051C语言程序设计的方法

二、实验内容

⑴搭建Proteus的8051单片机环境,直接点击教材配套的80C51实验板设计电路<读者也可自行绘制电路),进入基于Proteus的8051实验平台。

实验板默认的时钟频率为11.0592MHz,读者根据需要可以在单片机属性对话框的时钟频率项中自行修改。

⑵鼠标点击菜单“Source”→“Add/RemoveSourcefiles”,弹出“Add/RemoveSourceCodeFiles”对话框后,点击“New”按钮按照提示信息建立一个汇编语言源文件,文件名自取,进入编辑窗口键入以下实验程序后存盘。

INDEXEQU20H

SUMEQU21H

ORG0000H

AJMPSTART

ORG0100H

START:

MOVINDEX,#5

MOVA,#0

LOOP:

ADDA,INDEX

DJNZINDEX,LOOP

MOVSUM,A

SJMPSTART

END

⑶点击“Source”→“BuildAll”,使用Proteus自带的汇编器对源程序汇编,生成.HEX格式编程文件。

⑷点击仿真控制面板的暂停键

,启动系统仿真。

点击“Source”→“WatchWindow”打开变量观察窗口,在观察窗口中加入变量INDEX和SUM以及累加器ACC;点击“Debug”→“8051CPU”→“SourceCode”打开源码窗口。

⑸使用快捷键F11,单步执行程序,观察Watch窗口中ACC、INDEX、SUM内容的变化情况。

⑹在源码窗口最最后一条指令SJMPSTART处设置断点,执行后观察ACC、INDEX、SUM内容的变化。

三、程序设计

编写程序并在实验板上仿真调试。

⑴将外部数据存储器0001H和0002H单元内容互换。

⑵将外部数据存储器010~01FH单元内容移到020~02FH单元。

⑶统计内部数据存储器从30H单元开始的十个字节中,正数﹑负数和零的个数,并分别置于R4,R5,R6中。

⑷完成八位数除以八位数,即R2/R1=R3......R4。

⑸将外部数据存储器0~05H单元的BCD码转换为ASCII码放回原单元。

⑹将外部数据存储器0~05H单元中的十六进制数转换成ASCII码放回原单元。

⑺将R0中的二进制数转换成BCD码存于内部数据存储器的22H~20H单元。

⑻完成两个四字节数的相加<即32位数),和存于内部数据存储器的24H~20H单元

⑼完成两个四字节数BCD码数的相加,和存于内部数据存储器的24H~20H单元

12.2.2实验二并行接口

一、实验目的

⑴掌握8051单片机并行口的输入方式和输出方式的编程。

⑵熟悉基于Proteus的虚拟80C51实验板的结构。

⑵熟悉8051单片机并行口的Proteus仿真调试。

二、实验内容

⑴实验程序A

实验仿真电路如图12.6所示,单片机的P0口接8位拨码开关,P1口接6个数码管的位选,P2口接6个数码管的段选。

编辑以下程序并运行,观察执行现象。

为显示的现象更为清晰一些,可以将单片机的属性编辑对话框中将时钟频率调至1MHz,如图12.15所示。

ORG0000H

AJMPSTART

ORG0100H

START:

MOVP1,#01H

MOVA,#1

NEXT:

MOVP1,A

MOVR3,#0

LOOP:

MOVR4,#0

DJNZR4,$

DJNZR3,LOOP

RLA

SJMPNEXT

END

图12.158051单片机属性编辑对话框

自编程序:

①使第三个数码管各段轮流亮。

②使六个数码管共42段LED各段轮流亮。

⑵实验程序B

实验仿真电路如图12.6所示,将拨码开关的第几位置“ON”,第一个数码管则显示几。

程序如下:

ORG0000H

AJMPSTART

ORG0100H

START:

MOVDPTR,#TAB0

MOVP1,#01H

STA1:

SETBC

MOVR0,#1

ASP:

MOVP0,#0FFH

MOVA,P0

ASP1:

RRCA

JNCLED。

检测是哪个开关置“ON”

INCR0

CJNER0,#9,ASP1

SJMPSTA1

LED:

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

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1