单片机原理与应用实验讲义.docx

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

单片机原理与应用实验讲义.docx

《单片机原理与应用实验讲义.docx》由会员分享,可在线阅读,更多相关《单片机原理与应用实验讲义.docx(30页珍藏版)》请在冰点文库上搜索。

单片机原理与应用实验讲义.docx

单片机原理与应用实验讲义

单片机原理与应用实验讲义

第一部分DVCC—52JH+单片机仿真系统

仿真器是一种计算机(单片机)应用系统的开发工具,也称为开发机,用户设计的系统(硬件和软件),在仿真器的控制下进行逐步调试以期达到设计要求。

仿真系统提供编辑、汇编、反汇编、监控命令和高级语言编辑等工具帮助用户设计、调试和修改用户系统的硬件和软件。

因此,熟悉仿真系统的使用与掌握微机或单片机原理具有同等重要性。

DVCC—52JH+单片机仿真系统主要用于MCS—51系列单片机的仿真开发。

由于随机器附带的操作手册内容繁琐,特别是接口地址分配的不透明,给用户使用带来不便,为了使初学者能在较短时间内高效率地掌握开发系统主要功能及基本使用方法,第一部分有针对性地介绍DVC—52JH+的操作使用,这是完成第二部分实验必须先修的内容。

第一节键盘监控命令简介

一、键盘布局

<

Ilin

%

/

&

↑=

PRT

P

S

@

&

Quit

\

Back

Dlin

T

←*

↓;

:

COMP

V

→,

-

K

W

;

G

+

*

EPMOV

L

H

MOVE

Z

<

>

~

Q

U

DAR

U

I

MON

每个键中央标注的文字是单片机仿真系统的控制命令表示,大部分键有两个功能或作用,如

键表示寄存器R7或数字7。

整个键盘分为两大部分,左边的16个键是数字0~F键或寄存器代码键;右边的16个键是功能键,功能键通常与数字键互相配合进行程序调试。

二、数据的显示

单片机仿真系统采用LED(发光二极管)七段显示器作数据显示,共有6个LED,如图1所示,其中“·”用来显示小数点。

左边的4个LED一般用于显示程序存储器和数字存储器的地址,右边的2个LED用来显示对应地址单位的内容。

 

%

图1:

LED显示器

1、程序存储器和片外数据存储器

用4位十六进数表示地址,占满了左边4个LED。

例如,输入102F,左边4个LED显示该数102F,若再按MEM键(表示程序存储器),右边2个LED则显示程序存储器102FH单元的内容;若输入102F后再按ODRW(表示片外数据存储器),左边2个LED显示片外数存102FH单元的内容。

2、片内数据存储器

有两种显示方式。

(1)R0~R7、DPL、DPH、A、B、PSW、PCH、PCL和SP这16个寄存器键盘上已有,只需按该键一次,左边4个LED显示一位对应的代码,右边2个LED就能显示相应单元的内容。

例如:

按R7键,左边4个LED的最高位显示7(表示R7),再按REG(表示片内数存),右边2个LED显示R7单元的内容。

(2)片内其余的数据存储器用2个LED显示地址。

例如,输入24,再按REG键,左边4个LED只有2个LED亮,右边2个LED表示片内24H单元内容。

(3)、右边2个LED在显示时,总有一个LED是闪动的,它表示该数值是可以修改的。

三、单片机仿真系统的单板状态,仿真1态和仿真2态

单板状态、仿真1态和仿真2态——仿真系统虽然提供了64KB片外程序存储器和64KB片外数据存储器,但并不是全部分配给用户(使用者)的。

也就是说,用户能否使用这些存储器,取决于单片机的状态(对片内数据存储器,三种状态时用户都可用)。

~

如图2所示,框图给出了仿真系统在平板状态、仿真1态和仿真2态时用户可用已有存储器的分配情况。

仿真系统通过指令发出控制命令,使FPGA器件输出a0、a1和a2控制信号。

a0有效则选择单板状态,用户可用系统已配置的片外数存和程存地址空间分别为0000H~FEFFH。

a1有效选择仿真1态,用户可用系统已配置的片外程存地址空间为0000H~FEFFH,但用户不能用系统已配置的片外数存,此时必须外接片外数存。

a2有效选择仿真2态,系统已配置的片外数存和程存用户均不能用,必须全部外接。

 

<

 

图2:

三种状态的选择控制线

1、单板状态

上电或按RST键,仿真系统输出a0有效,单片机处于单板状态,LED显示P.。

单板状态时,系统已配置了片外程存和数存,用户(使用者)可使用这些资源,它们的地址分配如下:

片外程序存储器:

0000H~FEFFH范围用户可用。

片外数据存储器:

0000H~FEFFH范围用户可用。

2、仿真1态

LED显示P.后再按F2键仿真系统输出a1有效,单片机处于仿真1态,LED显示P.……。

仿真1态时,用户只能使用系统已配置的片外程序存储器,地址范围0000H~FEFFH;已配置的片外数据存储品用户不能用,因此,在仿真1态,用户要用片外数据存储器必须另外外接,外接的数据存储器和其它接口可用3—8译码器y0~y7的8个译码输出作片送信号,它们对应的地址为:

/

Y0=8000H~8FFFH,Y1=9000H~9FFFH,Y2=A000H~AFFFH

Y3=B000H~BFFFH,Y4=C000H~CFFFH,Y5=D000H~DFFFH

Y6=E000H~EFFFH,Y7=F000H~FFFFH。

3、仿真2态

LED显示P.后再按F1键,仿真系统输出a2有效,单片机处于仿真2态,LED显示H.……,仿真2态时,系统配置的片外数据存储器和程序存储器,用户均不能用。

因此,仿真2态需用的程存和数据,全部由用户外接(0000H~FEFFH)。

仿真2态主要用于用户设计的硬件仿真,第二部分的实验不用仿真2态。

4、单板状态和仿真1态的主要作用

单板状态系统已配置的片外程存和数存(包括8155、8255)已占用了全部64KB地址空间,已无地址分配给外部接口芯片。

因此,需要分配地址的外部接口电路不能在单板状态下应用。

仿真1态用户只能用系统已配置的0000H~FEFFH片外程序存储器,不能用已配置的片外数据存储器。

如果用户需要用片外数据存储器就必须外接。

仿真1态时,系统已提供了部分接口芯片或插座,并通过3—8译码器给出了Y0~Y7共8个片送选信号,用户使用这些接口芯片时,用线连接相应的引脚即可。

例如,用户要扩展片外数据存储器,先在V28插座上6264芯片(见图3),细线表示系统已连接了,粗线表示需要用户连接的线,A0~A12和D0~D7用2块排线连接,XRD、XWR、+5V和Y0用单根线连接。

由于Y0=8000H~8FFFH,只能提供4KB地址空间,所以只能得到8000H~8FFFH的4KB片外数存(尽管6264有8KB,但也只能用4KB)。

<

 

图3

5、8155键盘显示接口的使用

仿真系统的三种状态所用程序存储器地址范围都只能是0000H~FEFFH,FF00H~FFFFH单元是系统自用的。

所用片外数据存储器地址也只能是0000H~FEFFH单元,FF00H~FFFFH单元供8155键盘显示和8255接口用,它们的接口地址分配如下:

[

8155键盘显示接口地址——8155控制口=FF20H,8155A口字位=FF21H,8155B口(字

形)=FF22H,8155C口(键盘扫描)=FF23H。

8255并行接口地址——8255控制口=FF2BH,8255A口=FF28H,8255B口=FF29H,8255C口=FF2AH。

8155是键盘扫描和显示(LED)的接口芯片,它与键盘及LED显示器的连接如图4所示。

使用8155时(本系统只用8155作键盘扫描和LED显示),第一条指令为SETB0D4H,即设置RS1RS0=10,选用第2组工作寄存器R0~R7。

 

}

 

图4

8155使用方法:

\

(1)SETB0D4H后,向控制口(即命令状态寄存器)FF20H写入控制字MOVA,#00000011B;A、B口为输出,C口为输入方式。

(2)由图4可知,A口既作为LED字位的输出控制,又作为键盘扫描的输出控制。

A口作字位输出控制时,PA5=1控制最左边位LED,PA0=1控制最右边位LED。

A口作键扫输出时,PA7~PA0每次有一位输出0,其余7位输1,PC0~PC5作输出,当有键按下时(如B键按下),则PA0=0时,PC0=0,从而确定为B键按下。

(3)B口作LED字形输出控制,B口的PB7~PB0与LED引脚的对应关系如表1所示,图5是LED管脚示意图,由图5和表1可知,B口(PB7~PB0)输出数据与LED显示字符的对应关系如表2所示。

表1

PB口

PB7

PB6

PB5

-

PB4

PB3

PB2

PB1

PB0

PB12

LED引脚

5

10

9

*

1

2

4

6

7

LED

表2

B口输出

0C0H

0F9H

0A4H

0B0H

99H

92H

82H

0F8H

?

80H

90H

LED显示

0

1

2

3

4

5

\

6

7

8

9

B口输出

88H

83H

0C6H

0A1H

86H

8EH

0FFH

0CH

89H

0DEH

7FH

LED显示

A

b

·

c

d

E

F

全熄

H

Γ

·

-

 

 

图5.LED管脚

(5)C口作键扫输入,只用PC0~PC5。

四、各键功能与用法

下面以单板状态为例说明各键功能与用法。

如果是仿真1态,按RST键后再按F2,LED显示P……后各键操作即与单板状态相同。

1、复位键—RST:

黄色小键(不在键盘区)。

任何情况下按RST键,单片机均处于单板状态,单板状态的标志是LED显示P0字符。

2、返回待命状态键—MON:

大部分情况下,按MON键将返回待命状态(等待按键执行命令的状态),LED显示P。

如果按MON键LED不显示P,则需按RST键。

3、程序存储器读写命令——MEM键:

MEM键作用是显示和修改指定程序存储器单元的内容。

用法举例:

将下面程序的操作码装入起始地址为1000H单地的程序存储器。

程存地址操作码程序

.

ORG1000H

1000H:

7401MOVA,#01H

1002H:

2403MOVA,#03H

操作方法:

先按RST键(显示P.;如果已显示P.,则不必按RST键)→连续按4位数字键1000(左边4个LED显示1000)→按MEM键(后边2个LED有一位会闪动,按任意数字键会将该数字填入闪动的这一位)→按数字74→按NEXT键(左边4个LED显示下一个单元地址1001)→按数字键01→按NEXT键→按数字键24→按NEXT→按数字键03。

注:

每按一次NEXT键,存储器地址自动加1;每按一次LAST键,存储器地址减1。

输入完后按RST键结束本次操作。

4、片内数据存储器读写——REG键:

显示和修改片内数存指定单元的内容。

操作方法:

按RST键(显示P0后)→连续按2位数字键(片内数存只有2位十六进制编址)→(与MEM类同)。

片内特殊功能寄存器对应地址如下表:

SFR

地址

~

SFR

地址

SFR

地址

SFR

地址

SFR

地址

SFR

地址

!

P0

80

DPH

83

TMOD

89

TH0

8C

SCON

98

/

IE

A8

SP

81

PCON

87

TL0

8A

TH1

8D

[

SBUF

99

P3

B0

DDL

82

TCON

88

TL1

8B

~

P1

90

P2

A0

IP

B8

PSW

D0

A

E0

-

B

F0

如果特殊功能寄存器在键盘上已存在,则只需按该键即可代表它的地址。

如R7,按R7→再按REG就能显示R7的内容。

5、片外数据存储器读写命令——ODRW键:

显示和修改指令片外数存单元的内容。

使用方法与MEM键相同。

6、断点运行键——FVBP键

断点运行:

程序运行到设置断点的这条指令时自动停止。

设置断点操作:

按RST键→输入某条指令所在地址→按F1键。

设置断点后,再输入程序首地址——按FVBP则执行断点运行。

断点运行给调试某一段程序提供了方便。

7、连续运行——EXEC键

操作方法:

按RST→输入程序首地址→按EXEC键,程序连续运行直至结束。

8、单步运行——STEP键

单步运行:

按RST键,输入程序首地址,每按一次STEP键,程序就执行一条指令(语句)。

如果是调用子程序语句,则按一次STEP键将子程序全部执行完。

如果按STEP键达1秒钟以上,则以每分钟500条指令的速度执行程序,左边4个LED显示执行地址,右边2个LED显示A的内容,松开STEP则停止执行程序。

/

9、偏移量计算键——OFST键

用法举例:

计算下面程序偏移量rel。

程存地址操作码程序

1051H:

7401ST:

A,#01H

1053H:

80relSJMPST

偏移量rel存在程序存储器1054H单元中,求rel操作方法:

RST→1054→MEM→输入ST低8位即51→按OFST(右边2个LED显示的数就是rel值)。

10、删除键DEL和插入键INS。

DEL操作方法:

按RST→输入要删除指令所在地址→按MEM键→按DEL,该字节被删除,若连续删除下一个字节,再按DEL键即可。

INS键操作方法:

按RST→输入要插入指令所在地址→按MEN键→按INS,该字节被插入。

若连续插入下一个字节,再按INS键即可。

%

11、联机键——PCDBG键:

将单片机与PC机联机调试程序时,先将联机线接好,再按PCDBG键,单片机准备与PC机建立联机关系。

12、程序块移动比较等操作方法如下表。

操作功能

状态

操作顺序

1

2

3

4

5

6

程序/数据移动

(机内)

源首址

F1

源末址

F2

目首址

MOVE

程序/数据移动

(内部→外部)

P……

源首址

仿真RAM区

F1

源末址

*

仿真RAM区

F2

目首址

用户目标板

MOVE

程序/数据移动

(外部→内部)

H……

源首址

用户目标版

F1

源末址

用户目标版

F2

目首址

仿真RAM区

MOVE

程序块比较

源首址

F1

源末址

F2

目首址

COMP

机内程序或用户数

据区与固化区比较

源首址

F1

源末址

F2

目首址

(EPROM)

EPCOM

EPROM高速固化

源首址

F1

源末址

F2

目首址

(机器内存)

EPMOV

固化区内容传向

机内存

源首址

F1

源末址

F2

目首址

(机器内存)

EPMOV

固化区内容

向用户数据区

P……

源首址

F1

源末址

F2

目首址

(用户机)

EPMOV

反汇编(机内)

源首址

F1

源末址

F2

>

浮动地址

DAR

反汇编(用户机)

H……

源首址

F1

源末址

F2

浮动地址

DAR

全速断点

源首址

F1

执行首址

FVBP

P……

源首址

F1

执行首址

FVBP

第二节联机软件使用简介

单片机仿真系统提供的联软件是在WINDOWS9X/NT界面上运行的综合调试软件,主要功能是将汇编程序翻译成操作码并装入单片机的程序存储器,运行程序可以单机运行,也可以联机运行。

单机运行:

PC机将翻译完的操作码装入单片机指定程序存储器单元后,按RST键断开联机,再按照第一节方法运行程序。

&

联机运行:

PC机装入操作码到单片机后,由PC机监控程序的运行。

一、联机软件菜单及功能

文件菜单

载入或创建源程序文件,打开历史文档以及退出DVCC实验系统等

编辑菜单

对源程序窗口的有关内容进行编辑。

并对编译、链接成功的51/96源程序进行源程序窗口调试。

查找菜单

对编辑窗口的源程序进行查找、替换、定位等操作。

编译菜单

对编辑的源程序进行编译、连接、传送等。

选项菜单

控制工具栏的显示状态(打开或关闭),设置编译、连接、系统等选项。

动态调试菜单

对源程序进行单步、宏单步、连续执行、端口操作、系统联机、文件(EXE)传送等操作。

实验指南菜单

提供所选实验项目的目的、内容、原理图、源程序、相关芯片查询等。

窗口菜单

列出当前屏幕出现的所有窗口名及指出当前活动窗口名。

并可调整活窗口

帮助菜单

获得在线帮助。

注释:

宏单步(TaceOut)——单步执行一条语句,遇子程序调用到跳过子程序。

单步(TaceIn)——单步执行一条语句,遇子程调用则步入子程序。

二、主要菜单功能简介

1、单片机与PC机联机

DVCC系统的菜单功能一部分需将单片机与PC机联机后才能实现。

联机操作:

先按单片机上“PCDBG键”,PC机上则点击“动态调试”菜单,再点击“联接DVCC系统”。

2、文件菜单

实现汇编程序的编辑和修改,存盘后文件扩展名.asm。

3、编译菜单

将汇编程序翻译为操作码,编译菜单有3种选择:

①编译:

只生成扩展名为.OBJ的中间文件,不能装载到单片机程序存储器。

程序编译后同时生成.LST列表文件(操作码与程序指令同时列出)。

②编译连接:

编译并连接当前文件,生成.ABS文件和.HEX文件,可装入单片机。

③编译连接传送:

生成.ABS文件或.HEX文件并装载到单片机程序存储器。

4、动态调试菜单

运行“编译连接传送”后的程序。

5、窗口菜单

窗口菜单的反汇编命令能将操作码翻译为汇编程序。

第二部分单片机实验

·

实验一单机程序调试

一、实验目的

熟悉和掌握DVCC—52JH/JH+单片机仿真系统的使用及程序调试方法。

二、实验仪器

DVCC—52JH/JH+实验箱

三、实验原理

单机情况下,单片机仿真系统的监控管理程序监控各键的动作,因此,通过各功能键能实现程序操作码装入程序存储器(MEM键),显示和修改片内数据存储器(REG键),显示和修改片外数据存储器(ORW键),单步和连续运行及调试程序等。

四、实验内容

以下实验仿真系统处于单板状态。

"

(一)、将下面程序装入程序存储器。

程存地址操作码序号程序

1000H1ORG1000H

2SETBRS1

3SETBRS0

4MOVA,#05H

5ADDA,#04H

6MOV50H,A

7MOVR0,A

8ADDA,#01H

-

9MOVR7,A

10RLA

11MOVDPTR,#1000H

12MOVX@DPTR,A

13CLRRS1

14CLRRS0

15RET

1、查表给出每条指令的操作码和对应的存储器单元地址;

2、装入操作码,给出主要操作步骤:

3、单步运行程序,写出操作步骤:

4、连续运行程序,写出操作步骤:

5、检查运行结果

A=<>,操作步骤:

(1000H)=<>,操作步骤:

R7=<>,操作步骤:

(50H)=<>,操作步骤:

R0=<>,操作步骤:

C=<>,操作步骤:

6、在第6条语句处设置断点,然后运行程序操作步骤:

7、删除第8条语句,操作步骤:

`

8、插入第8条语句,操作步骤:

(二)、将下面程序操作码装入程序存储器

程存地址操作码序号程序

1ORG1050H

1050H2MOVR4,#04H

3MOVA,#03H

4LOOP:

RLA

5DECR4

6CJNER4,#OOH,LOOP

7RET

·

装入操作码,写出求偏移量rel步骤,rel=<>。

五、思考题

什么是单步运行有什么作用

实验二联机程序调试

一、实验目的

掌握联机软件使用,进一步熟悉仿真系统程序调试方法。

二、实验仪器

DVCC—52JH+仿真实验箱,PC机和DVCC软件。

三、实验原理

利用DVCC软件功能实现汇编程序的编辑,编译连接传送和运行调试。

四、实验内容

下面程序中,源RAM区首址在(R2、R3)中,目的RAM首址在(R4、R5)中,字节个数存在(R6、R7)中,将源RAM区数据送到目的RAM区。

1ORG0090H

2MOVR2,#10H

3MOVR3,#00H

4MOVR4,#40H

5MOVR5,#00H

6MOVR6,#10H

7<

8MOVR7,#00H

8DMVE:

MOVSP,#70H;设栈指针

9MOVDPL,R3

11MOVDPH,R2

12MOVXA,@DPTR;取源操作数

13MOVDPL,R5

14MOVDPH,R4

15MOVX@DPTR,A;存入目的地址中

16CJNER3,#0FFH,DMVE1

17INCR2

18DMVE1:

INCR3;源地址加1

19CJNER5,#OFFH,DMVE2

20INCR4

21DMVE2:

INCR5;目的地址加1

22CJNER7,#00H,DMVE5

23CJNER6,#00H,DMVE6;未传送完成字节数减1

24MOVR0,7EH

25MOVA,#0FFH;关显示器的1-5位

26MOVR4,#06H

27DMVE3:

MOV@R0,A

28DECR0

29DJNZR4,DMVE3

30MOV7EH,#8CH;最后一位显示P

31DMVE4:

LCALLDISPD

32SJMPDMVE4;循环调显示子程序

33DMVE5:

DECR7

34SJMPDMVE

35DMVE6:

DECR7

36DECR6

37SJMPDMVE;未完继续

38DISPD:

SETB0D4H;显示子程序

39MOVR1,#7EH

40MOVR2,#20H

41MOVR3,#00H

42DISPD1:

MOVDPTR,#0FF21H;从右至左第一位点亮

43MOVA,R2

44MOVX@DPTR,A;显示位码送字位口

45MOVA,@R1

46MOVDPTR,#0FF22H

47MOVX@DPTR,A;显示段码送字形口

&

48MOVR0,#99H

49DISPD2:

DJNZR3,DISPD2;延时

50DECR0

51CJNER0,#00H,DISPD2

52MOVA,#0FFH

53MOVX@DPTR,A

54

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

当前位置:首页 > 自然科学 > 物理

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

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