单片机实验

实验一、MCS51单片机基本开发环境

1.实验目的:

1) 熟悉软件的集成开发环境

2) 掌握单片机软件设计流程

3) 掌握单片机存贮器结构及各窗口之间的联系

2.实验内容:

1) 用三种方法实现将累加器A内容改为20H

方法1--MOV A,#20H

方法2—MOV R0,#20H

MOV A,R0

方法3—MOV R0,#20H

XCH A,R0

心得:越往下做实验时就越感觉这题根本不能说是题目,但不得不说在没接触过编程软件,刚开始学的汇编,第一次做的实验就光这道题都觉得不知道做什么.所以凡是总有开始,不了解情况的多简单的都会觉得难.

2) 将58H位单元置为1,观察内部RAM中2BH内容的变化

代码:

SETB 2BH.0

JMP $

END

心得:这是关于内部存储中对单元和字节了解,不理解很容易做错.比如开始写的指令为

MOV R0,#58H;MOV @R0,#1

这是错误的指令。这就需要认真去了解单片机中的字节地址与位地址的关系。80C51中有位寻址区和字节寻址区。题目中58H为位地址,2BH为字节地址,且58H为2B字节的最低位。由于58H属于位寻址区,可用位操作指令SETB进行置位,SETB 2BH.0执行后,2BH中内容变为01

3) 如果当前状态为有进位、工作寄存器使用区2,请用3种方法设置这种状态

代码:

ANL PSW,#01H

MOV A,PSW

CJNE A,#01,LAB2

LAB1:JMP LAB1

LAB2: SETB PSW.4 MOV P0,#01H MOV R0,#18H

CLR PSW.3 MOV C,P0.0 MOV PSW,R0

MOV PSW.4,C

CPL C

MOV PSW.3,C

END

心得:以上LAB2写了三段代码,可分别完成题目要求。不过实验时只是对代码进行了错误调试,没有对结果进行检验。其中值得注意的是对于布尔(位)操作指令的用法,比如传送指令必须经累加器C,如第二段中MOV P0,#01H ; MOV C,P0.0 ,以及对于位寻址的方式(如需用到“.”隔开)的应用。

1

免费下载该文档:单片机实验
相关文档