单片机实验指导.docx

上传人:b****6 文档编号:13334670 上传时间:2023-06-13 格式:DOCX 页数:101 大小:910.48KB
下载 相关 举报
单片机实验指导.docx_第1页
第1页 / 共101页
单片机实验指导.docx_第2页
第2页 / 共101页
单片机实验指导.docx_第3页
第3页 / 共101页
单片机实验指导.docx_第4页
第4页 / 共101页
单片机实验指导.docx_第5页
第5页 / 共101页
单片机实验指导.docx_第6页
第6页 / 共101页
单片机实验指导.docx_第7页
第7页 / 共101页
单片机实验指导.docx_第8页
第8页 / 共101页
单片机实验指导.docx_第9页
第9页 / 共101页
单片机实验指导.docx_第10页
第10页 / 共101页
单片机实验指导.docx_第11页
第11页 / 共101页
单片机实验指导.docx_第12页
第12页 / 共101页
单片机实验指导.docx_第13页
第13页 / 共101页
单片机实验指导.docx_第14页
第14页 / 共101页
单片机实验指导.docx_第15页
第15页 / 共101页
单片机实验指导.docx_第16页
第16页 / 共101页
单片机实验指导.docx_第17页
第17页 / 共101页
单片机实验指导.docx_第18页
第18页 / 共101页
单片机实验指导.docx_第19页
第19页 / 共101页
单片机实验指导.docx_第20页
第20页 / 共101页
亲,该文档总共101页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机实验指导.docx

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

单片机实验指导.docx

单片机实验指导

第一篇DVCC-51NET单片机综合实验仪

工作原理及仿真器使用说明

§1·1DVCC-51NET单片机综合实验仪工作原理

DVCC-51NET单片机综合实验仪实验内容丰富,但单片机单元部分只占机箱面板左下部的一小部分,如下图照片所示:

 

图1·1实验仪单片机单元部分

实验仪单片机单元组成主要部分如下:

①40DIP单片机插座。

虽然电路板标明“8031”,但由于第31脚(#EA/VPP)通过100Ω电阻接VCC,

因此它只能使用片内的存储器,而且它的存储空间是程序存储空间与数据存储空间是各自独立编

址的。

它可以使用89C51,89C52,89S51,89S52,89c58等51内核的单片机。

由于它用仿真器内

的SST89C58来仿真实验程序,因此该40针插座一般不插入单片机芯片。

对调试好的实验程序,

可以由专用编程器写入CPU8X51芯片后直接插入该位置,脱离仿真器,独立运行用户实验程序。

②JFZ40针仿真头插座。

插座上有单片机的8位数据总线,16位地址总线,控制总线以及+5V电源线、

地线。

③地址锁存器373芯片,它锁存P0口输出的低8位地址。

④译码器138芯片。

它的输出端Y0~Y7,给出的译码首地址为:

Y0=8000H,Y1=9000H,Y2=A000H,

Y3=B000H,Y4=C000H,Y5=D000H,Y6=E000H,Y7=F000H。

⑤复位电路与3针插座复位选择JR。

上电复位电路由10μF的电解电容与1K电阻构成,JR的2-3

接通时选择上电复位。

JR的1-2接通时选择外部复位,外部复位信号接入插孔RESET上。

⑥插座JZ:

接插用户晶振。

实验仪默认是用仿真板上的晶振,频率为11059200Hz(机器周期为1.085

μS。

实验仪单片机单元组成如下图:

 

图1·2实验仪单片机单元组成图

§1·2DVCC-51C仿真器

DVCC-51C仿真器是一款简易的仿真器。

图1·3中白色的盒子即为仿真器,它的右端通过40芯排线及40针插座与实验仪单片机单元的JFZ40针仿真头插座相连,它的左端由9针RS-232C插座与PC机相连,由keilc51软件进行仿真。

 

图1·3DVCC-51C仿真器

该仿真器使用一片SST89C58单片机和一片AT90S8515单片机来实现仿真功能(主CPU和用户CPU),两片CPU之间通过一根I/O引脚通讯(通讯速率在33兆晶振时约100KBPS),主CPU(AT90S8515)负责跟keilc51通讯,用户CPU(SST89C58)只跟主CPU通讯,仿真器结构原理框图如下:

 

 

图1·4仿真器结构原理框图

 

仿真器主要功能和特性:

1、支持串口的仿真功能

2、串口中断用户可以使用

3、不占用定时器2

4、完全仿真p0,p2口

5、支持89C52等嵌入式CPU仿真

6、占用用户堆栈2个字节

7、占用1条I/O:

P3.5

8、ISP在线编程,在线下载

9、仿真频率最高33兆

10、支持同时最多10个断点

11、支持单步,断点,全速运行

12、支持汇编,c语言,混合调试

13、支持KEILC51的IDE开发仿真环境UV1UV2(V5.20V6.02V6.10V6.12V6.14)

14、单步执行时间(60毫秒)

15、程序代码载入(可以重复装载,无需预先擦除用户程序空间)

16、SFR读取速度(128个)200毫秒

17、跟踪记录(tracerecord)256条

18、可以仿真标准的89c51,89c52,89c58等51内核的单片机仿真

 

§1·3如何用仿真器运行实验程序

参照§1•2节,将PC机、仿真器、实验仪连接在一起。

开启实验仪的电源,启动PC机,然后按下面的步骤一步一步地操作。

点击keiluV2图标,再点击菜单的project,选择openproject。

如图:

 

图1·5

这里拿keilc51V6.14来说明(keilc51v6.02,v6.10,v6.12的设置跟v6.14是一样的),以实验一为例。

先打开子目录test1中的工程文件mcuio,如图:

图1·6

打开后如下图:

 

图1·7

 

选择菜单的Project->OptionforTarget‘对象1’,如图:

 

图1·8

点击后为:

 

图1·9

 

选择Output选项卡,CreateHEXFi的复选按钮应打“√”:

 

图1·10

选择C51选项卡,define栏应是空的

 

图1·11

选择Debug选项卡,按钮选择情况如下图:

Use:

KeilMonitor-51Driver。

LoadApplicationatStart:

选择这项之后,keil才会自动装载你的程序代码。

Gotillmain:

调试c语言程序时可以选择这一项,pc会自动运行到main程序处。

 

图1·12

图中Breakpoint,Watchpoint,Watchpoint&PA(断点、游览点、游览点&PA)可根据情况选择。

上图中点击Settings,打开新的窗口:

 

图1·13

 

Port——设置你的串口号,为仿真机的串口连接线COM所连接的串口。

Baudrate——设置为57600,仿真机固定使用57600bps跟keil通讯。

SerialInterrupt——选中它。

CacheOptions:

可以选也可以不选,推荐选它,这样仿真机会运行的快一点。

最后点击OK和确定关闭你的设置。

再点击工具栏的Project从下拉菜单中选择Rebuildalltargetfiles

 

图1·14

在视窗下部的Build窗口中显示“mcuio”—0Error(s),0Warning表示这个工程所有文件没有错误,也就是你编辑的程序在语法上是正确的(但运行可能有错,或不符合设计要求),下一步可以调试运行了。

 

图1·15

点击工具栏的Debug菜单,如下图:

 

图1·16

 

再点击Start/StopDebugSession命令,就进入仿真调试,可以对你的运行程序和进行调试了。

此时视窗画面如下:

 

图1·17

窗口中ConnectedtoMonitor-51V1.0表示已连接到仿真机,仿真机的版本号为1.0。

Load"G:

\\测试程序\\test1\\mcuio"表示代码装载成功。

可以进行仿真运行了。

图1·17中,左边是寄存器(Regs)窗口,它在调试中可以跟踪显示工作寄存器和专用寄存器(SFR)的内容。

右边时实验的MCS-51汇编语言源程序,可连续运行。

也可以单步运行、设置断点运行。

可以在此窗口中对程序进行修改,修改后要回到图1•14的菜单。

用Buildtarget命令对源程序进行汇编,并可修改程序中可能出现的错误。

用Rebuildalltargetfiles命令,构建所有的目标文件,然后可按图1·16以后的步骤进行操作。

§1·4用仿真器运行实验程序几点注意事项

(1)用户板的晶振的使用

仿真器侧面有一个8路拨码开关,默认的设置如下图:

 

图1·15

图示位置开工向上拨为‘ON’,向下拨为‘OFF’。

各开关状态如下表:

表1·1

开关编号

1

2

3

4

5

6

7

8

开关状态

ON

OFF

OFF

OFF

OFF

OFF

OFF

ON

其中的123路拨码开关是设置使用仿真板的晶振还是用用户板的晶振。

默认是用仿真板上的晶振,频率为11059200Hz。

要使用用户板的晶振,须将123路设置为:

1OFF,2ON,3ON。

(2)用户板复位的使用

第4路拨码开关是设置使用仿真板的复位(RESET)还是用用户板的复位(RESET)。

默认是用仿真板上的复位,就是SST89C58的RESET脚不连到用户板。

要使用用户板的复位,也就是SST89C58的RESET脚连到用户板,要将第4路设置为:

ON。

使用看门狗复位时,最好设置为OFF。

(3)板上的电平转换电路使用

第5,6路拨码开关是设置使用仿真板的MAX232做为电平转换,还是用用户板的电平转换。

默认是用用户板上的转换。

要使用仿真板的串口,将第5,6路设置为:

5ON6ON。

(4)8X51单片机口P3.5的使用

由于监控系统要使用P3.5来进行通讯,用户最好不要使用P3.5。

如果使用,可能会影响该引脚的状态,但对监控系统是没有影响的。

这是该仿真机的一个弱点。

P3.5可以用来做输出。

 

第二篇实验部分

实验一单片机I/O口应用实验

(一)单片机I/O口应用实验

——P3.3口输入P1口输出

一、实验目的

1.学习Keil工具软件进行仿真调试的基本操作。

1.掌握51系列单片机P3口、P1口简单使用方法。

2.学习延时程序的编写和使用。

二、实验内容

1.P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。

(脉冲用

人工拨动开关来实现)

2.P1口做输出口,编写程序,使P1口接的8个发光二极管L0—L7按16进制加一的方式点亮发光二极管。

三、实验说明

1.P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:

当P1口作为输入口时,必须先对它置高电平,使内部MOS管截止,因内部上拉电阻是20KΩ—40KΩ,故不会对外部输入产生影响。

若不先对它置高,且原来是低电平,则MOS管导通,读入的数据不正确。

2.延时子程序的延时计算。

常用的延时程序采用双重循环子程序来实现:

DELAY:

MOVR6,#00H

DELAY1:

MOVR7,#80H

DJNZR7,$

DJNZR6,DELAY1

RET

延时时间计算如下:

延时时间t=延时程序总周期数n×机器周期T

机器周期T有仿真器的振荡频率11059200Hz决定,因此有:

机器周期T=12÷11059200=1.085(μS)

查指令表可知MOVRn,#data与DJNZRn,rel指令均需用2个机器周期,RET指

令为1个机器周期。

分析上面的程序,忽略执行RET指令的时间,该程序总的机

器周期数为:

((128+1+1)×256)+1)×2

延时时间为:

t=[((128+1+1)×256)+1)×2]×1.085(μS)

=72219.77(μS)

≈72.3(mS)

可以改变R6,R7设定的初值来改变延时时间。

四、实验原理图

图(1-1)

图中9根粗黑线段在实验仪上需用两端带插头的软导线连接。

五、实验程序框图

图(1-3)

图(1-2)

六、实验程序

实验源程序mcuio.ASM如下:

ORG0000h

1.AJMPHA1S

ORG0030H

2.HA1S:

MOVA,#00H

3.HA1S1:

JBP3.3,HA1S1

4.MOVR2,#20H

5.LCALLDELAY

6.JBP3.3,HA1S1

7.HA1S2:

JNBP3.3,HA1S2

8.MOVR2,#20H

7.LCALLDELAY

9.JNBP3.3,HA1S2

10.INCA

11.PUSHACC

12.MOVP1,A

13.POPACC

14.AJMPHA1S1

15.DELAY:

PUSH02H

16.DELAY1:

PUSH02H

17.DELAY2:

PUSH02H

18.DELAY3:

DJNZR2,DELAY3

19.POP02H

20.DJNZR2,DELAY2

21.POP02H

22.DJNZR2,DELAY1

23.POP02H

24.DJNZR2,DELAY

25.RET

END

七、实验步骤

1、P3.3用插针连至K1,P1.0~P1.7用插针连至L0~L7。

2、调试、运行程序mcuio.ASM。

3、开关K1每拨动一次,L0~L7发光二极管按16进制方式加一点亮。

八、实验要求

1.在PC机上利用Kiel工具软件在实验机上连续运行mcuio程序。

2.在PC机上利用Kiel工具软件在实验机上单步执行mcuio程序。

3.用双重循环延时程序替代原mcuio.ASM程序中的延时程序,即第15~25句,并在

实验机上运行。

4.按指导教师的要求写实验报告。

九、思考探讨的问题

1.mcuio.ASM程序中第2~6句的用意是什么?

2.第15,16,17,19,21,23句中的02H是什么意思?

3.假定1机器周期为1μS,估算mcuio.ASM程序中的延时程序DELAY的延时时间。

(二)并行I/O接口8255A应用

一、实验目的

1.了解8255A芯片的引脚功能。

2.掌握8255A可编程并行接口芯片基本输入/输出方式0的应用方法

3.掌握利用方式0控制A口、B口、C口输入输出的编程方法。

二、8255A的工作原理

8255A是可编程并行接口芯片,双列直插式封装,用+5V单电源供电,图2·1是8255A的引脚图。

 

图2·18255A的引脚图

8255A内部有3个8位I/O端口:

A口、B口、C口;这三个口可以分为各有12位的两组:

A和B组,A组包含A口8位和C口的高四位,B组包含B口8位和C口的低4位;即:

①A组的引脚为:

PA.7~PA.0与PC.7~PC.4

②B组的引脚为:

PB.7~PB.0与PC.3~PC.0

8255A有2根地址线,因此它有4个实用地址,由于实验仪8255A的片选信号CS’接地址译码器74LS138的Y0,Y0的起始地址为8000H,因此3个平行口及工作方式控制字的地址为:

PA的地址————8000H

PB的地址————8001H

PC的地址————8002H

工作方式控制字————8003H

8255A芯片有8根数据线。

由于8255A数据总线缓冲器是双向三态8位驱动器,因此可以8根数据线直接和单片机系统数据总线相连。

可以用MOVX指令传送工作方式控制字和输入/输出数据(信号)。

8255A芯片有三种工作方式:

方式0:

基本输入/输出

方式1:

选通输入/输出

方式2:

双向输入/输出

在本实验中我们只讨论和使用工作方式0,即基本输入/输出方式。

在该方式下的A口8位和B口8位可以由输送入8255A的工作方式控制字来决定是输入还是输出。

C口分成高4位(PC7~PC4)和低4位(PC3~PC0)两组,也由控制字决定其输入或输出。

需注意的是:

该方式下,只能将C口其中一组的四位全部置为输入或输出。

方式0的工作方式控制字的格式如下:

 

图2·28255A的方式0的工作方式控制字的格式

如果想设置PA为输出,PB口为输入,则控制字为‘10000010B’。

只要执行下面的指令:

MOVDPTR,#8003H

MOVA,#82H

MOV@DPTR,A

就可以使8255A工作在PA为输出,PB口为输入的状态。

(此时,PC.7~PC.4为输出,PC.3~PC.0为输出)

本实验的PA为输入,PB口为输出,则控制字为‘10010000BH’。

只要执行下面的指令:

MOVDPTR,#8003H

MOVA,#90H

MOV@DPTR,A

就可以了。

(此时,PC.7~PC.4为输出,PC.3~PC.0为输出)

图2·2的格式中最高位是特征位。

为‘1’表示是工作方式控制字,为‘0’,表示是PC口的按位置1/置0控制字,其格式如下:

 

图2·38255A的按位置1/置0控制字

例如:

如果要设置PC.2为‘1’,置1/置0控制字为‘00000100’,可以执行下面的指令:

MOVDPTR,#8003H

MOVA,#90H

MOV@DPTR,A

三、实验内容

1.基本实验:

用8255A的PA口做输入口,PB口做输出口,控制PA口状态从PB口输出显示。

2.扩展实验:

根据要求,设计使发光二极管按不同方式闪烁的实验程序,并上机运行。

四、实验说明

通过PA口接8个开关K1~K8,开关向上为输入高电平,即逻辑‘1’。

向下为输入低电平,即逻辑‘0’。

PB口通过74LS240(8路,反相)接8个发光二极管的阴极,PB口输出‘1’,经74LS240反相输出‘0’,驱动发光二极管发光(参看实验一,图1·1)。

从PA口读入8位开关的状态送PB口显示,拨动K1~K8,PB口上接的8个发光二极管L0~L7对应显示K1~K8的状态。

五、实验接线图

基本实验与扩展实验的接线图是一样的,如下图所示:

 

图2·4并行I/O接口8255A应用实验接线图

六、基本实验程序框图

 

图2·5并行I/O接口8255A基本实验程序流程图

七、基本实验程序

org0000h

ajmpmain

org0030h

main:

movsp,#60h

movdptr,#8003h

mova,#90h;方式0,PA口输入、PB口输出

movx@dptr,a

m:

movdptr,#8000h

movxa,@dptr

lcalldelay

movdptr,#8001h

movx@dptr,a

lcalldelay

ajmpm

delay:

movr6,#00h

djnzr6,$

ret

end

八、实验步骤

1、8255芯片的PA0~PA7插孔依次接在开关K1~K8。

2、8255芯片的PB0~PB7插孔依次接发光二极管L0~L7。

3、8255芯片的片选8255CS’插孔接译码输出Y0。

4、调试、运行程序8255.ASM程序(在test3的文件夹中)。

拨动开关,相对应的发光二极管显示其状

态。

九、扩展实验

1.实验接线图不变,可以通过设计软件,可以使发光二极管按设计的要求进行发光。

下面这个程序是

如果K1拨上,从右向左轮流每次亮1个发光二极管;如果K2拨上,从右向左轮流每次亮2个发光二极管。

(下面程序仅供参考)

ORG0000H

AJMPMAIN

ORG0030H

MAIN:

MOVSP,#60H

MOVDPTR,#8003H

MOVA,#90H;方式0,PA口输入、PB口输出

MOVX@DPTR,A

M:

MOVDPTR,#8000H;本句至AJMPM,为检测K1或K2开关是否拨上,

MOVXA,@DPTR;即PB.0或PB.1是否输入为高电平。

JZM

LCALLDELAY

JZM

MOV30H,A

ANLA,#01H

JNZN1

MOVA,30H

ANLA,#02H

JNZN2

AJMPM

N1:

MOVA,#01H;如果K1拨上,从右向左轮流每次亮1个发光二极管。

MOVDPTR,#8001H

MOVX@DPTR,A

L1:

LCALLDELAY

RLA

MOVX@DPTR,A

SJMPL1

N2:

MOVA,#03H;如果K2拨上,从右向左轮流每次亮2个发光二极管。

MOVDPTR,#8001H

MOVX@DPTR,A

L2:

LCALLDELAY

RLA

MOVX@DPTR,A

SJMPL2

DELAY:

MOVR6,#00H;延时子程序

D1:

MOVR7,#0A0H

DJNZR7,$

DJNZR6,D1

RET

END

2.(选做)编写一个程序,按下K1键,L0,L1两个发光管亮,并不停地闪烁。

按下K2键,L2,L3两个发光管亮,并不停地闪烁。

十、实验要求

1.在PC机上利用Kiel工具软件在实验机上连续运行基本实验8255程序。

2.在PC机上利用Kiel工具软件在实验机上单步执行基本实验8255程序,只运行十步,观察SFR中的内容的变化。

3.在PC机上利用Kiel工具软件在实验机上连续运行扩展程序1。

4.(选做)编写扩展实验2的程序,并上机调试运行。

5.按指导教师的要求写实验报告。

十一、思考探讨的问题

1.基本实验程序中:

MOVSP,#60H,这一句的用途是什么?

将#60H换成#20H会出现什么问

题?

2.扩展实验1中,下面这段程序:

M:

MOVDPTR,#8000H

MOVXA,@DPTR

JZM

LCALLDELAY

JZM

两条JZM指令的用意是什么?

3.假定1机器周期为1μS,扩展实验1的延时程序DELAY的延时时间是多少?

实验二数据存贮器及定时器/计数器实验

(一)数据存贮器62256扩展实验

一、实验目的

1、学习片外存贮器扩展方法。

2、学习数据存贮器不同的读写方法。

二、单片机数据存储器扩展原理

单片机数据存储器扩展,就是单片机如何与数据存储器接口。

下图为数据存储器62256与51系列单片机接口电路(8031,8051,80C51……接口电路与此相同)。

存储器62256为32K8位的数据存储器(RAM),他有主要有14根地址线、8根数据线、片选信号线CS’、读信号线RD’、写信号线WR’,他与单片机接口如下图3·3。

由图可见他的地址空间为0000~7FFFH。

CE’

图3·1数据存储器62256与51系列单片机接口电路

三、实验内容

1.基本实验:

使用一片62256RAM,作为片外扩展的数据存贮器,先对其0000H~0EF1H单元写入

“01010101”(55H),然后将0000H~0EF1H单元内容依次读出,检查是否为“01010101”。

若正

确,发光二极管L1闪烁发光,否则L1始终是亮的。

2.扩展实验:

将上面的“检查是否为‘01010101’。

若正确,发光二极管L1闪烁发光,否则L1始终

是亮的。

”改成“若正确,发光二极管L0,L2,L4,L6为一组,L1,L3,L5,L7为一组,轮流闪烁发

光,否则L0~L7全亮”

四、实验说明

本实验采用的是55H(0101,0101)或AAH(1010,1010)来对存储器进行读写操作。

一般采用这两个数据的读写操作就可查出数据总线的短路、断路等,在实验调试用户电路时非常有效。

编写的程序对片外扩展的数据存贮器进行读写操作,若L1灯闪动说明RAM读写正常。

五、

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

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2