单片机实验报告参考.docx

上传人:b****8 文档编号:9808674 上传时间:2023-02-06 格式:DOCX 页数:19 大小:138.34KB
下载 相关 举报
单片机实验报告参考.docx_第1页
第1页 / 共19页
单片机实验报告参考.docx_第2页
第2页 / 共19页
单片机实验报告参考.docx_第3页
第3页 / 共19页
单片机实验报告参考.docx_第4页
第4页 / 共19页
单片机实验报告参考.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

单片机实验报告参考.docx

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

单片机实验报告参考.docx

单片机实验报告参考

《实验一应用系统开发过程演示》实验报告参考

一.实验目的

1.了解单片机应用系统的开发过程,获得感性认识。

2.了解开发箱/开发板的使用方法

3.了解仿真软件的基本功能和使用方法。

(二)仿真软件开发调试环境:

1.英国Labcenterelectronics公司的ProteusEDA工具软件,

2.美国Keil公司的µVision集成开发环境

.

二.实验环境

(一)EL型微机教学实验系统:

1.设备:

北京精议达盛科技有限公司EL-MUT3多CPU单片机/微机实验实训系统

2.软件:

北京精议达盛科技有限公司8051调试软件4.0版

二.实验电路

(一)EL型微机教学实验系统实验电路

(二)仿真软件实验电路:

.

三.

(二)仿真软件开发调试环境:

◆Proteus工具软件下,

1.新建设计

①选取元件

AT89C51,RES,LED-RED

②在工作区放置元件,地线,电源

电阻RES阻值200Ω,模式DIGITAL

③连线

2.源程序设计,生成目标文件代码

“Source→Add/RemoveFiles”新建源程序文件D:

\J08X\LY1.ASM

“Source→SY1.ASM”在文本编辑器编写源程序

通过“Source→BuildAll”编译源程序,生成目标程序。

4.调试仿真

“Debug→Start/Restart进入调试

此时Debug菜单下可打开寄存器窗,调试代码窗,观察单步执行时,数据存储器窗相关寄存器窗口中有关存储单元中数据的变化。

◆美国Keil公司的µVision集成开发环境

参见教科书P12.示例步骤。

.

操作步骤:

(一)EL型微机教学实验系统操作步骤

1.连线:

P1.0~P1.7接LED1~LED8

2.新建汇编语言源文件

3.另存为D:

\J08X\SY1.ASM

4.F3编译生成目标文件,F5进入调试:

工具栏上“R”打开寄存器窗,“H”打开反汇编窗口

F8,单步执行,观察相关寄存器窗口中有关寄存器中数据的变化。

 

四.源程序(括号中为EL型微机教学实验系统中的程序)

ORG0000H(ORG4000H)

SJMPMAIN(LJMPMAIN)

ORG0040H(ORG4100H)

MAIN:

MOVA,#0FEH

LOOP:

MOVP2,A(MOVP1,A)

LCALLD_1s

RLA

AJMPLOOP

;以下为延时子程序

D_Is:

MOVR6,#100;1s

D10ms:

MOVR5,#40:

10ms

DL:

MOVR4,#123

N0P

DJNZR4,$

DJNZR5,DL

DJNZR6,D10ms

RET

END

思考题

1.EL型微机教学实验系统中,F3.F4,F5,F7,F8,F9功用。

答:

F3汇编编译,F4运行到光标F5调试

F7跟踪执行F8单步执行F9运行

2.EL型微机教学实验系统中,工具栏上“H”,“R”,“I”,“E”标签的功用。

答:

“H”反汇编窗口“R”寄存器窗口“I”内部存储器窗口“E”外部存储器窗口

3.以上调试用的操作功能在仿真软件Proteus,µVision中的相应何在?

答:

在仿真软件Proteus中在µVision中

“汇编编译”是菜单项“Source→BuildAll”,ProjectBuilttarget

“调试”的快捷键是“Ctrl+F12”Ctrl+FU

或菜单项“Debug→Start/RestartDebugging”Debug-start/stopDebug

“单步执行”F10F10

“跟踪执行”F11F11

“运行到光标”Ctrl+F10Ctrl+F10

“模拟运行”Alt+F10F5

调试过程中相关的观察窗,“Debug”下拉菜单中:

菜单项View中:

反汇编窗口SourceCodedisasamblywindows

寄存器窗口Register,SFRMemoryRegisterswindows

内部存储器窗口InternalMemoryMemorywindows

外部存储器窗口ExternalMemory

实验二片上资源认知实验===实验报告参考2

一、实验目的

1.了解单片机芯片的片上资源。

2.掌握µVision软件的单步命令及片上基本资源观察方法。

二、实验步骤

1.建立一个工程,加入下面程序:

①程序1②程序2

ORG0000HORG0000H

MAIN:

MOVA,#0FEHMAIN:

MOVR0,#30H

LOOP:

MOVP2,AMOVR2,#10H

RLAMOVDPTR,#TAB

AJMPLOOPMOVA,#0H

ENDLOOP:

PUSHACC

MOVCA,@A+DPTR

MOV@R0,A

INCR0

POPACC

INCA

DJNZR2,LOOP

END

TAB:

65,74,88,98,92,85,91,55,73,84

2.执行Project→Buil(1target命令,生成目标文件(.HEX)该段程序生成7个字节的代码74H,FEH,F5H,A0H,23H,0lH,02H,在代码窗口观察这些指令代码。

3.按F10,执行单步命令:

(1)程序1

①在寄存器区观察A、PC的变化。

②在Peripherals→I/O-Ports>Port2窗口观察P2口状态的变化。

③在内部RAM区观察地址0xA0处的内容(即P2口锁存器)。

④修改程序并验证。

(2)程序2

①在寄存器区观察PC、A、R0、R2的变化

②观察ROM向RAM数据传送的过程。

③观察执行指令PUSH,POP时,入栈和出栈操作过程。

三、实验记录

实验1

指令

开始

第二轮

第三轮

PC

A

P2

ORG0000H

0000

00

00

MAIN:

MOVA,#0FEH

0002

FE

PC

A

P2

PC

A

P2

LOOP:

MOVP2,A

0004

FE

0004

FD

0004

FB

RLA

0005

FD

0005

FB

0005

F7

AJMPLOOP

0002

0002

0002

实验记录(表中数据为十六进制)

修改后

指令

开始

第二轮

第三轮

PC

A

P2

ORG0000H

MAIN:

MOVA,#03H

PC

A

P2

PC

A

P2

LOOP:

MOVP2,A

RLA

AJMPLOOP

实验2实验记录

1执行前四条程序得寄存器初值:

(R0)=30H,(R2)=10H,(DPTR)=13H,(A)=00H

2执行指令后的相关寄存器(A,SP,PC)和数据存储器的变化

指令

执行指令后的相应存储器(RAM30H~3FH)的变化

第一轮

第二轮

(PC)

(PC)

PUSHACC

(SP)=08H,(08)=00H,

000BH

(SP)=08H,(08)=01H,

000BH

MOVCA,@A+DPTR

(A)=5AH

000CH

(A)=64H

000CH

MOV@R0,A

(30H)=5AH

000DH

(30H)=64H

000DH

INCR0

(R0)=31H

000EH

(R0)=32H

000EH

POPACC

(A)=00H,(SP)=07H

0010H

(A)=01H,(SP)=07H

0010H

INCA

(A)=01H

0011H

(A)=02H

0011H

DJNZR2,LOOP

(R2)=0FH

0009H

(R2)=0EH

0009H

栈操作:

PUSHACC:

(SP)=(SP)+1,((SP))=(ACC)

POPACC:

(ACC)=((SP)),(SP)=(SP)-1

用uVision观察,ROM中地址0013H开始16B个地址的值:

13H

14H

15H

16H

17H

18H

19H

1AH

1BH

ACH

1DH

1EH

1FH

20H

21H

22H

5A

64

4E

57

58

5C

45

5F

5B

56

5B

47

58

4D

43

63

执行程序后用uVision观察RAM中刷新得到新数据

30H

31H

32H

33H

34H

35H

36H

37H

38H

39H

3AH

3BH

3CH

3DH

3EH

3FH

5A

64

4E

57

58

5C

45

5F

5B

56

5B

47

58

4D

43

63

实验三指令与寻址方式认知实验

一.实验目的

1了解单片机基本指令和寻址方式。

2掌握µVision环境中查看指令操作结果的技巧。

二.实验步骤

1建立一个工程,加入以下程序:

ORG0000H;主程序段开始地址:

0000H

MAIN:

MOVR7,#16;(R7)=16

MOVA,#00H;(A)=0

MOVR0,#30H;(R0)=30H

LP:

MOV@R0,A;(30H)=0

INCR0;(R0)=(R0)+1=31H

INCA;(A)=(A)+1=1

DJNZR7,LP;(R7)=(R7)+1,(PC)=LP(LP是符号地址,指向LP标号行)

SJMP$;跳出LP循环体,执行SJMP$死循环。

END;汇编程序结束

三.实验记录

1汇编、连接该程序,生成可执行文件。

利用单步、执行到光标处2种方法运行程序观察程序运行的结果.

1)在µVision环境下,新建工程SY3,选择单片机类型;

2)用80C51指令新建上面的汇编文件,另存为SY3.ASM.;

3)在SY3工程窗的Soucegroup中加入(Add)SY3.ASM文件;。

4)用project\Buildtarget汇编成目标文件,没有语法错误后,即用Debug\Start\StopDebugSession,进入调试环境:

a)Registers窗口观察寄存器A,R0的变化,

b)在Memory窗口观察内部RAM30H~3FH中存储数据的变化。

5)单步执行(F10),各语句的运行结果,描述在各语句的分号后。

6)执行到光标(Ctrl+F10),得到该程序运行结果。

光标置于SJMP$,点击Debug\RuntoLine(Ctrl+F10),在Memory窗口观察到内部RAM30H~3FH中存储数据为00H~0FH。

2分析程序的功能,研究观察以下指令的寻址方式及其操作效果:

a)MOVA,#00H;源操作数,目标操作数寻址方式分别为立即寻址和寄存器寻址方式,运行结果:

(A)=0

b)MOV@R0,A;源操作数,目标操作数寻址方式分别为寄存器寻址和寄存器间接寻址寻址方式,运行结果:

((R0))=(A)----(30H)=(A)

c)DJNZR7,LP本指令是判零不为零转移指令,为相对转移寻址方式,执行情况:

(R7)-1=?

,若不为零,转移到标号行LP,不然,执行下一条指令。

d)INCR0该指令操作数为寄存器寻址方式。

执行结果为,(R0)=(R0)+1

四.收获和体会

进一步熟悉了nVission仿真软件的新建项目,新建汇编文件,及汇编得到目标文件,并在仿真系统中用单步执行观察各条指令执行的情况,用执行到光标,观察到程序运行结果。

通过实验,进一步认识立即寻址,寄存器寻址,相对寻址,寄存器间接寻址的意义。

实验四程序设计与硬件仿真实验

一.实验目的

1了解单片机基本程序结构,掌握查表程序设计方法

2掌握在pVision环境中分析程序及操作结果。

3掌握硬件仿真及简单键盘和显示接口程序设计与调试的方法

二.实验内容

1平方值查表程序设计

2.简单按键与显示电路构建和相应的程序设计

三.、实验步骤

1内容1用nVision建立工程,加入程序,调试运行,观察运行结果。

程序1:

查平方表程序P130

ORG0000H

MOVR2,#8

MOVR0,#30H

MOVA,R2

ADDA,#03H

MOVCA,@A+PC

MOV@R0,A

SJMP$

TAB:

DB0,1,4,9,16,25,36,49,64,81

END

2内容2用proteus:

新建工程,设计电路如图(选择元件,放置元件,连线),新建ASM文件,加入工程,调试运行

程序2:

简单键盘和并口显示程序

KEY_NUMEQU30H

MDEQU31H

ORG0000H

LJMPMAIN

ORG0040H

MAIN:

MOVSP,#5FH;初始化

MOVP1,#0FFH

MOVP2,#0FFH

MOVP0,#0FFH

MOVP3,#0FFH

MOVMD,#00H

MOVDPTR,#LED_CODE_P0

M0D0:

MOVA,MD

LCALLDISP0;显示"P"

LCALLDELAY

LCALLDELAY

M0:

LCALLKEY

MOVA,KEY_NUM

MOVCA,@A+DPTR

MOVP2,A;LED2显示数据

JMPM0

DELAY:

MOVR6,#0F0H

DL1:

MOVR7,#0F0H

DJNZR7,$

DJNZR6,DL1

RET

KEY:

MOVA,P3;扫描键入数据

ANLA,#0FH

MOVKEY_NUM,A

LCALLDELAY

MOVA,P3

ANLA,#0FH

CJNEA,KEY_NUM,KEY

CPLA

ANLA,#0FH

MOVKEY_NUM,A

RET

DISP0:

MOVP0,#8CH;显示功能号

PUSHACC

MOVCA,@A+DPTR

MOVP2,A

POPACC

RET

LED_CODE_P0:

DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H

DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH

END

四.

简单键盘和并口显示

五.实验记录

程序1—查表程序。

通过指令MOVCA,@A+PC;MOV@R0,A,将指令MOVR2,#8中的立即数作为基数查平方表得值64,送内部RAM30H存放。

程序2—简单键盘状态与相应显示程序。

改变P3口按钮情况,通过查表程序查出显示码,在P2口输出(七段码管显示相应的数:

0,1,2……f)

实验五中断实验

一.实验目的

1.了解单片机中断系统工作原理,掌握中断程序结构。

2.掌握在仿真环境和开发板环境下,中断程序调试方法。

二.实验内容

1.仿真软件下用外部中断依次点亮P2口8引脚相连接的发光二极管的程序调试;

2.仿真软件下用外部中断控制P1口低四位连接的发光二极管显示P1口低四位连接的开关状态的程序调试。

3.用单片机试验箱实现外部中断控制P1口低四位连接的发光二极管显示P1口低四位连接的开关状态的程序调试。

三.实验程序和实验电路图

1.P2口8引脚连接的发光二极管依次点亮程序

汇编程序:

ORG0000H

LJMPMAIN

ORG0003H

MOVP0,A

RLA

RETI

ORG0040H

MAIN:

MOVSP,#5FH

MOVA,#0FEH

SETBEA

SETBEX0

SETBIT0

SJMP$

END

2.

P1口低四位连接的发光二极管显示P1口低四位连接的开关状态的程序

仿真环境汇编程序:

ORG0000H

LJMPMAIN

ORG0003H;INT0入口地址

LJMPINSER;跳转到中断子程序

ORG0100H;主程序起始地址

MAIN:

SETBEX0;INT0中断允许

SETBIT0;IT0=1为下降沿触发

SETBEA;开总应许

HERE:

SJMPHERE;没中断重复执行

ORG0200H;下面程序的起始地址

INSER:

MOVA,#0F0H;A初始化

MOVP0,A;高4位做输入

MOVA,P0;读开关状态到A

CPLA

SWAPA;半字节交换

MOVP0,A;开关状态在P1低4位输出

RETI;返回到打断处

END

试验箱环境汇编程序:

ORG4000h

LJMPMAIN

ORG4003H

LJMPINSER

ORG4100H

MAIN:

SETBEX0

SETBIT0

SETBEA

HERE:

SJMPHERE

ORG4200H

INSER:

MOVA,#0F0H

MOVP1,A

MOVA,P1

SWAPA

MOVP1,A

RETI

END

四.实验记录

1.在程序1发光二极管依次点亮实验中:

a.点击仿真窗口电路图的按钮,P2口8引脚连接的发光二极管依次点亮。

b.单步执行至SJMP$,不再执行下一条程序,光标置于其他行,用执行到光标处,也没有反应,只有执行到光标时按与INT0引脚连接的按钮,才实现中断服务,另一个发光二极管点亮,

2.在程序2发光二极管显示开关状态中,

a.点击仿真窗口电路图的按钮,P1口低四位相连的发光二极管显示当前高四位相连的开关通电状态。

b.单步执行至HERE:

SJMPHERE,不再执行下一条程序,光标置于其他行,用执行到光标处,也没有反应,只有执行到光标时按与INT0引脚连接的按钮,才实现中断服务,另一个发光二极管点亮,

五.收获与体会

1.通过中断实验,进一步认识中断调用和入口地址的含义

2.初步掌握了中断服务程序的编写方法。

3.进一步熟悉仿真环境和开发板(试验箱)环境下,单片机程序的编写,汇编,调试,单步执行,执行到光标和代码窗,寄存器窗的利用。

+

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

当前位置:首页 > 解决方案 > 学习计划

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

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