单片机实验

单片机实验
单片机实验

实验一、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 ,以及对于位寻址的方式(如需用到“.”隔开)的应用。

4) 编一个小程序将内部RAM中的20H单元的内容送到21H单元并调试

代码:

MOV R0,#20H

MOV @R0,#10H

MOV R1,#21H

MOV @R1,20H

JMP $

END

5) 用程序将堆栈指针指向60H,然后在堆栈中依次压入01,02,03,04,05五个数,观察哪些单元内容发生了变化,各变为多少?从哪些窗口可以发现这些变化?顺序将堆栈中的五个数放入30H~34H五个单元中,编程实现之。

代码:

MOV R1,#60H

MOV SP,R1

MOV DPL,#1H

LAB1:PUSH DPL

INC DPL

MOV A,DPL

CJNE A,#6,LAB1

POP 34H

POP 33H

POP 32H

POP 31H

POP 30H

JMP $

END

6) 将外部数据存贮器1000H~100FH 16个单元中存放00H~0FH

代码:

MOV DPTR,#1000H

MOV R1,#10H

LOOP:MOVX @DPTR,#1234H

MOVX A,@DPTR

MOV @R1,A

INC DPTR

INC R1

CJNE R1,#40H,LOOP

JMP $

END

心得:此处需要访问片外存储空间,需要借助寄存器DPTR,需注意其为16位的寄存器,在使用时若与八位寄存器进行数据交换时需分为高八位DPH与低八位DPL来用。

7) 若要求程序从0010H单元开始运行,可用两种方法实现?

方法一 ORG 0010H

方法二 AJMP 0010H

3.选做实验内容:数据传送

目的:

1) 掌握8051单片机内部数据存贮器、外部数据存贮器的数据传送特点和应用

2) 掌握MOV,MOVX和MOVC类指令的用法及区别

内容:

1)将片内RAM数据区20H为首地址的十六个字节传送到30H为首地址的数据

区,即:20H~2FH送30H~3FH

代码:

ORG 0000H

JMP MAIN

ORG 0030H

MAIN:MOV R0,#20H

MOV R1,#30H

LOOP:MOV @R0,#1234H

MOVA,@R0

MOV @R1,A

INC R0

INC R1

CJNE R1,#30H,LOOP

JMP $

END

2) 将外部数据存储器2000H~200FH单元的十六个数传送至内部数据存储器

的30H~3FH

代码:

ORG 0000H

JMP MAIN

ORG 0030H

MAIN: MOV DPTR,#2000H

MOV R1,#30H

LOOP:MOVX @DPTR,#12H

MOVX A,@DPTR

MOV @R1,A

INC DPTR

INC R1

CJNE R1,#40H,LOOP

JMP $

END

总体心得体会:

第一次做实验主要是熟悉了解了下单片机编程软件的使用,开始接触时在对其软件不是太了解的情况下实验编程做的确实很乱,不清楚该怎样进行,比如不知如何进行对指令的调试,也不清楚该如何观察结果,没有一个整体的概念,所以在了解其开发环境上花了不少时间。经过一段时间的摸索后也终于了解了其具体的使用,也能够顺利的对指令的编程运用。运行指令时遇到的一些问题需要注意的也在上面各题中做了说明。还有需要注意的是:进入软件仿真时需要对存储空间进行查看的方法是在Address窗口中输入:d:00h 显示内部数据存储器从00h开始的单元;x:1000h 显示外部数据存储器从1000h开始的单元;c:0000H 显示程序存储器内容。还有由于伪指令END定义的原因,在程序末需加一条死循环调转指令(如 JMP $ )使程序不会进入其他未知空间执行其他指令。

实验二、加、减法实验

1.实验目的

1) 正确使用单片机的加减运算指令

2) 掌握不同指令对于程序状态字的影响及程序状态字的意义、用处

3) 掌握ADD,ADDC,SUBB和DA A等指令的用法

4) 学习模块化程序设计方法

2.实验内容

1) 编写3字节二进制加法子程序,并用主程序调用不同的加数和被加数来

检测该子程序的正确性。需考虑有进位和无进位情况。程序入口为:加

数:22H,21H,20H三字节,22H为最高位

被加数:32H,31H,30H三字节,32H为最高位程序出口为:23H,22H,21H,20H四字节,23H为最高位

例如:地址:23 22 21 20 32 31 30

执行前数据:01 23 45 FF 01 01

执行后数据:01 00 24 46

代码:

ORG 0000H

AJMP MAIN

ORG 30H

MAIN:

MOV 22H,#01H

MOV 21H,#23H

MOV 20H,#45H

MOV 32H,#0FFH

MOV 1H,#01H

MOV 30H,#01H

ACALL ADDI

HERE:JMP HERE

ORG 100H

ADDI:

PUSH PSW

MOV R0, #20H ;加数1地址、和的地址

MOV R1, #30H;加数2地址

CLR C

MOV R2, #3 ;循环3次

LOOP:

MOV A, @R0 ;取

ADDC A, @R1 ;加

MOV @R0, A;存

INC R0

INC R1

DJNZ R2, LOOP

CLR A

ADDC A, #0 ;得到进位

MOV 23H, A ;保存

POP PSW

RET

END

2) 编写三字节二进制减法子程序入口:被减数:52H,51H,50H, 50H

为最低位

减数:42H,41H,40H, 40H为最低位

出口:差:外部数据存贮器2003H~2000H(2000H为最低位)

用主程序调用多组数据来调试,需考虑无借位和有借位两种情况。

例如:

执行前:地址:52 51 50 42 41 40

数据:90 80 70 10 10 10

执行后:地址:2003 2002 2001 2000

数据:00 80 70 60

代码:

ORG 0000H

AJMP MAIN

ORG 30H

MAIN:

MOV 52H,#90H

MOV 51H,#80H

MOV 50H,#70H

MOV 42H,#10H

MOV 41H,#10H

MOV 40H,#10H

ACALL SUB1

HERE:JMP HERE

SUB1:

PUSH PSW

MOV R0, #50H ;被减数地址

MOV R1, #40H ;减数地址

MOV DPTR, #2000H ;差的地址

CLR C

MOV R2, #3 ;循环3次

LOOP:

MOV A, @R0 ;取

SUBB A, @R1 ;减

MOVX @DPTR, A ;存

INC R0

INC R1

INC DPTR

DJNZ R2, LOOP

CLR A

SUBB A, #0 ;得到借位

MOVX @DPTR, A ;存

POP PSW

RET

END

3) 编写10位十进制加法子程序(十进制数采用压缩BCD码存放)

入口:加数:24H—20H,低地址放低字节

被加数:29H—25H,低地址放低字节

出口和:4005H—4000H,低地址放低字节

要求调用多组数据调试,注意观察PSW的变化,理解DA A指令的含义。

例如:

执行前地址:24 23 22 21 20 29 28 27 26 25

数据:12 34 56 78 90 88 99 33 12 74

执行后地址:4005 4004 4003 4002 4001 4000

数据:01 01 33 89 91 64

代码:

ORG 0000H

AJMP MAIN

ORG 30H

MAIN:

MOV 24H,#12H

MOV 23H,#34H

MOV 22H,#56H

MOV 21H,#78H

MOV 20H,#90H

MOV 29H,#88H

MOV 28H,#99H

MOV 27H,#33H

MOV 26H,#12H

MOV 5H,#74H

ACALL ADD2

HERE:JMP HERE

ADD2:

PUSH PSW

MOV R0, #20H;加数1地址

MOV R1, #25H ;加数2地址

MOV DPTR,#4000H

CLR C

MOV R2, #5 ;循环5次

LOOP:

MOV A, @R0 ;取

ADDC A, @R1 ;加

DA A ;调整为BCD码

MOVX @DPTR, A ;存

INC R0

INC R1

INC DPTR

DJNZ R2, LOOP

POP PSW

RET

END

单片机实训心得体会

单片机实训心得体会 篇一: 通过今次单片机实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用汇编软件编程,通过键盘控制和数码管显示实现了基本时钟显示功能、时间调节功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。例如:不能实现只用两个按键来控制时钟时间,还不能实现闹钟等扩展功能。 踉踉跄跄地忙碌了两周,我的时钟程序终于编译成功。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。 但在这次实训中同时使我对汇编语言有了更深的认识。当我第一次接触汇编语言就感觉很难,特别是今次实训要用到汇编语言,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。 这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过

程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。 篇二:单片机实验心得 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。 作为一名自动化专业的快大三学生,我觉得做单片机实习是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力,如何把我们所学的专业基础课理论知识运用到实践中去,我想做类似实习就为我们提供了良好的实践平台 学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累单片机是一门应用性和实践性很强的学科,要多动手,多做实验。 (4)要学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。 (5)碰到问题可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。

单片机原理及应用习题答案 第三版

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路与相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度与精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度与精度也相对要低一些。例如,现在的单片机产品的CPU 大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量与CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术与段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠标、打印机、硬盘、光盘等)。用户通过标准总线连接外设,能达到即插即用。单片机应用系统的外设都就是非标准的,且千差万别,种类很多。单片机的I/O接口实际上就是向用户提供的与外设连接的物理界面。用户对外设的连接要设计具体的接口电路,需有熟练的接口电路设计技术。 另外,单片机的微处理器(CPU)、存储器、I/O接口电路集成在一块芯片上,而通用微机的微处理器(CPU)、存储器、I/O接口电路一般都就是独立的芯片 1-4 IAP、ISP的含义就是什么? ISP:In System Programable,即在系统编程。用户可以通过下载线以特定的硬件时序在线编程(到单片机内部集成的FLASH上),但用户程序自身不可以对内部存储器做修改。 IAP:In Application Programable,即在应用编程。用户可以通过下载线对单片机进行在线编程,用户程序也可以自己对内部存储器重新修改。 1-6 51单片机与通用微机相比,结构上有哪些主要特点? (1)单片机的程序存储器与数据存储器就是严格区分的,前者为ROM,后者为RAM; (2)采用面向控制的指令系统,位处理能力强; (3)I/O引脚通常就是多功能的; (4) 产品系列齐全,功能扩展性强; (5) 功能就是通用的,像一般微处理机那样可广泛地应用在各个方面。 1-7 51单片机有哪些主要系列产品? (1)Intel公司的MCS-51系列单片机:功能比较强、价格比较低、较早应用的单片机。 此系列三种基本产品就是:8031/8051/8751; (2)ATMEL公司的89系列单片机:内含Flash存储器,开发过程中可以容易地进行程

单片机实验总结

单片机实验总结

程序由410出品,与老师的不大一样,此处省去1万字-----最终解释归410所有 1.试编写程序。统计片内RAM 30H~50H单元中FFH的个数,并将统计结果存51H。 mov r0,#30h //把30h赋给R0 mov r1,#00h //把00h赋给R1 loop: cjne @r0,#0ffh,next //把R0所指的地址里的数(地址30h中的数)与0ffh比较 inc r1 //若为0ffh则R1加1(计算0ffh的个数) next: inc r0 //若不一样则R0加1(即把R0里的地址加1,R0将指向下一个地址) cjne r0,#51h,loop //比较R0所存的地址与51h,若不等则跳回loop 继续执行 mov 51h,r1 //若相等(R0里的数就为51h,完成30h到50h的计数)将R1里的值赋到地址51h里,即地址51h 中存储着0ffh的个数 sjmp $ //等待 end 2、从片内RAM 30H单元开始存放着一组无符号数,其个数存在21H单元中。试编写程序,找出其中最小的数,并将其存入20H单元中。 mov r0,#30h //把30h赋给R0 mov a,@r0 //把R0所指30H中的数赋给a(a中就是地址30h中的无符号数) mov r1,21h //把21h中的数赋给R1 loop: inc r0 //R0加1(即R0将指向下一个地址) mov 30h,@r0 //把R0所指地址的数给到地址30h中 cjne a,30h,chk //比较a中的数与地址30h中的数的大小,若a中的数>30H中的数,则Cy=0;否则相反 chk: jc lop //判断Cy是否为1,若是,则执行下面程序,否则跳至lop 继续执行 mov a,@r0 //把R0所指地址中的数给a,即把最小数赋给了a lop: djnz r1,loop //R1减一,程序跳至loop继续执行,循环直至R1减到0 mov 20h,a //把a中的数赋到地址20h中 end 3、设片外RAM 2000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送回原存储单元。 mov dptr,#2000h //将片外地址2000h给dptr movx a,@dptr //将片外地址2000h中的数赋给a anl a,#0f0h //将a中的数与0f0h与下,屏蔽低四位的数 movx @dptr,a //将屏蔽好的数送回到片外地址2000h中 end

单片机实验报告

实验报告 专业:计算机科学与技术班级:C093 姓名:孙丽君 学号:098677

实验一:数据传送实验 1.实验内容: 将8031内部RAM 40H—4FH单元置初值A0H—A FH,然后将片内RAM 40H—4FH单元中的数据传送到片内RAM 50H—5FH单元。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG 0000H RESET:AJMP MAIN ORG 003FH MAIN:MOV R0,#40H MOV R2,#10H MOV A,#0A0H A1:MOV@R0,A INC R0 INC A DJNZ R2, A1 MOV R1,#40H MOV R0, #50H

MOV R2, #10H A3: MOV A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R2, A3 LJMP 0000H 3.实验结果: 4. CPU 对8031内部RAM存储器有哪些寻址方式? 答:直接寻址,寄存器寻址,寄存器间接寻址,位寻址。

5. 执行程序后下列各单元的内容是什么? 内部RAM 40H~4FH内容:A0~AF 内部RAM 50H~5FH内容:A0~AF 实验二多字节十进制加法实验 1.实验内容: 多字节十进制加法。加数首地址由R0 指出,被加数和结果的存储单元首地址由R1指出,字节数由R2 指出。将程序经模拟调试通过后,运行程序,检查相应的存储单元的内容。 2. 源程序清单: ORG0000H RESET: AJMP MAIN ORG0100H MAIN: MOV SP, #60H MOV R0, #31H MOV@R0, #22H DEC R0 MOV@R0, #33H

单片机原理及应用习题答案 第三版

第一章习题参考答案 1-1:何谓单片机?与通用微机相比,两者在结构上有何异同? 答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接口电路和相应实时控制器件等电路集成在一块芯片上,称其为单片微型计算机,简称单片机。 单片机与通用微机相比在结构上的异同: (1)两者都有CPU,但通用微机的CPU主要面向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进一步提高。例如,现今微机的CPU都支持浮点运算,采用流水线作业,并行处理、多级高速缓冲(Cache)技术等。CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。单片机主要面向控制,控制中的数据类型及数据处理相对简单,所以单片机的数据处理功能比通用微机相对要弱一些,计算速度和精度也相对要低一些。例如,现在的单片机产品的CPU大多不支持浮点运算,CPU还采用串行工作方式,其振荡频率大多在百兆赫兹范围内;在一些简单应用系统中采用4位字长的CPU,在中、小规模应用场合广泛采用8位字长单片机,在一些复杂的中、大规模的应用系统中才采用16位字长单片机,32位单片机产品目前应用得还不多。 (2) 两者都有存储器,但通用微机中存储器组织结构主要针对增大存储容量和CPU对数据的存取速度。现今微机的内存容量达到了数百兆字节(MB),存储体系采用多体、并读技术和段、页等多种管理模式。单片机中存储器的组织结构比较简单,存储器芯片直接挂接在单片机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间一般都为64 KB。 (3) 两者都有I/O接口,但通用微机中I/O接口主要考虑标准外设(如CRT、标准键盘、鼠

单片机实验总结

程序由410出品,与老师的不大一样,此处省去1万字-----最终解释归410所有 1.试编写程序。统计片RAM 30H~50H单元中FFH的个数,并将统计结果存51H。 mov r0,#30h //把30h赋给R0 mov r1,#00h //把00h赋给R1 loop: cjne r0,#0ffh,next //把R0所指的地址里的数(地址30h中的数)与0ffh比较 inc r1 //若为0ffh则R1加1(计算0ffh的个数)next: inc r0 //若不一样则R0加1(即把R0里的地址加1,R0将指向下一个地址) cjne r0,#51h,loop //比较R0所存的地址与51h,若不等则跳回loop 继续执行 mov 51h,r1 //若相等(R0里的数就为51h,完成30h到50h 的计数)将R1里的值赋到地址51h里,即地址51h中存储着0ffh的个数 sjmp $ //等待 end 2、从片RAM 30H单元开始存放着一组无符号数,其个数存在21H单元中。试编写程序,找出其中最小的数,并将其存入20H单元中。 mov r0,#30h //把30h赋给R0

mov a,r0 //把R0所指30H中的数赋给a(a中就是地址30h中的无符号数) mov r1,21h //把21h中的数赋给R1 loop: inc r0 //R0加1(即R0将指向下一个地址) mov 30h,r0 //把R0所指地址的数给到地址30h中 cjne a,30h,chk //比较a中的数与地址30h中的数的大小,若a 中的数>30H中的数,则Cy=0;否则相反 chk: jc lop //判断Cy是否为1,若是,则执行下面程序,否则跳至lop 继续执行 mov a,r0 //把R0所指地址中的数给a,即把最小数赋给了a lop: djnz r1,loop //R1减一,程序跳至loop继续执行,循环直至R1减到0 mov 20h,a //把a中的数赋到地址20h中 end 3、设片外RAM 2000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送回原存储单元。 mov dptr,#2000h //将片外地址2000h给dptr movx a,dptr //将片外地址2000h中的数赋给a anl a,#0f0h //将a中的数与0f0h与下,屏蔽低四位的数 movx dptr,a //将屏蔽好的数送回到片外地址2000h中 end 4、试编写程序,求出片RAM20H单元中“1”的个数,并将结果存入21H单

单片机实验内容

实验一P1口输入输出实验、继电器控制、音频控制 一、实验目的: 1.学习I/O端口的使用方法 2.掌握继电器控制的基本方法,了解用弱点控制强电的工作原理 3.学习单片机汇编语言源程序的编制方法和调试方法,学习延时子程序的编写和使用 4.了解音频发声原理 二、实验要求: 1.P1口做输出口,接8只发光二极管,编写程序使发光二极管循环点亮。 2.P1.0、P1.1作输入口,接两个拨动开关,P1.2、P1.3作输出口接两个发光二极管,编程 读取开关状态,并在二极管上显示出来。 3.利用单片机的端口,输出电平控制继电器的吸合和断开,实现对外部装置的控制。 4.用端口输出不同频率的脉冲,控制喇叭发出不同音调。 5.用P1.0和延时子程序实现占空比可调的PWM电压波形。 三、实验说明: 1. P1口用为输入口时,必须先对它置“1”才能正确读入数据。 2. 继电器可以实现电子电路和电气电路的连接桥梁。其控制电压是5V,控制端为高电平时继电器的工作常开触点吸合,电气线路连接;控制端为低电平时,触点断开,电气线路切断。 3. 声音的频率由端口输出时延时时长来控制,输出的方波经放大滤波后驱动扬声器发声。 4. PWM是脉宽调制电压信号,可以通过占空比(脉冲中高电平与低电平的宽度比)来输出可调模拟电压,是单片机上常用的模拟量输出方法。例如50%(5:5),10%(1:9),90%(9:1)占空比。 四、实验思考题: 将1位十六进制数存放在40H单元中,利用查表法将其转换为相应的ASCII码 实验二外部中断实验 一、实验目的: 1.学习外部中断技术的基本使用方法 2.学习中断处理程序的编程方法 二、实验要求: 1.用单次脉冲申请中断INT0,在中断处理程序中对输出信号进行反转。 2.用单次脉冲申请中断INT1,在中断处理程序中实现8个小灯左移点亮1次。 三、实验思考题: 1. 相应中断请求的条件是什么? 2. 写出同级中断的查询优先次序。

单片机实验考核题目及答案

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------

C51单片机实验总结报告

HEFEI UNIVERSITY 单片机实验报告 系别电子信息与电气工程系专业 班级 学号 姓名 指导老师 完成时间

实验一构建单片机最小系统和实验环境熟悉 一、预习要求 1.构建单片机最小系统,熟悉51单片机的结构及编程方法 2.按照程序流程图编写出程序 二、实验目的 1.熟悉星单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的使用方法。 2.熟悉MCS51汇编指令,能自己编写简单的程序,控制硬件。 三、实验内容 单片机最小系统实验: 1、熟悉单片机最小系统的组成和工作原理,熟悉Keil C51集成环境软件的安装和使用方法。 2、作出单片机最小系统的组成原理图,分析其各构成单元的工作原理。 存储单元数据传输实验 1、熟悉MCS51汇编指令。 2、进行存储单元数据传输实验,编写程序。 3、运行程序,验证译码的正确性。 四、实验原理 1、作出单片机最小系统的组成原理图

2.最小系统版的组成: 时钟电路,复位电路,电源电路。 3.软件编译环境的熟悉 实验中我们使用keilC环境编译程序。其窗口界面如下: 4.测试程序 ;将从外部RAM3000H单元开始连续存放的 ;50个单字节数据传送到内部RAM30H单元的50个单元中。 ORG 0000H MOV R0,#32H ;计数初值50 MOV A,#78H ;(A)=78H送外部3000H--3050H MOV DPTR,#3000H ;外部数据存储器首地址3000H送DPTR LOOP0: MOVX @DPTR,A ;送78H到外部数据存储区3000H INC DPTR ;外部数据存储区地址增一 DJNZ R0,LOOP0 ;循环次数减一不为零转LOOP0 SETB P1.2 CLR P1.3 CLR P1.4 ;74HC138输入为100,使CS2=0选中62256 MOV R0,#32H ;循环次数50送R0 MOV R1,#30H ;内部数据存储区首址30H送R1 MOV DPTR,#3000H ;外部数据存储区首址3000H送DPTR

单片机实验心得体会3篇

单片机实验心得体会一:单片机实验心得体会 时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。 在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。 这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。将所学知识运用到实践中,在实践中发现问题,强化理论知识。 现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。 第一次是借点亮led灯来熟悉keil软件的使用和试验箱上器材。第一次实验体现了一个人对新事物的接受能力和敏感度。虽然之前做过许多种实验。但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。所以第一次试验相对失败。鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。 在做实验中,第二个问题应该是准备不充分吧。一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。于是我便在上机之前把程序编好,拷到u盘,这样上机时只需调试,解决出现的问题。这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。 三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。但是编程是一件很严肃的事情,容不得半点错误。于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。这也能激发了学习的兴趣。 还有一次实验是调出电脑里的程序,让它在试验箱上实现其功,让我们去体会别人编程的技巧和程序逻辑美感。看了之后,不得不说我目前的水平简直太小儿科了。还有连线也是个问题,

51单片机实验报告

51单片机实验报告

实验一 点亮流水灯 实验现象 Led灯交替亮,间隔大约10ms。实验代码 #include void Delay10ms(unsigned int c); void main() { while(1) { P0 = 0x00; Delay10ms(50); P0 = 0xff; Delay10ms(50); } }

void Delay10ms(unsigned int c) { unsigned char a, b; for (;c>0;c--) { for (b=38;b>0;b--) { for (a=130;a>0;a--); } } } 实验原理 While(1)表示一直循环。 循环体首先将P0的所有位都置于零,然后延时约50*10=500ms,接着P0位全置于1,于是LED全亮了。接着循环,直至关掉电源。延迟函数是通过多个for循环实现的。 实验2 流水灯(不运用库函数) 实验现象 起初led只有最右面的那一个不亮,半秒之后从右数第二个led

也不亮了,直到最后一个也熄灭,然后led除最后一个都亮,接着上述过程 #include #include void Delay10ms(unsigned int c); main() { unsigned char LED; LED = 0xfe; while (1) { P0 = LED; Delay10ms(50); LED = LED << 1; if (P0 == 0x00) { LED = 0xfe; } } } void Delay10ms(unsigned int c)

单片机实验报告

南京晓庄学院电子工程学院 实验报告 课程名称:单片机系统设计与应用 姓名:森 专业:电子信息科学与技术 年级:14级 学号:05 2016年12 月1 日

实验项目列表 序号实验项目名称成绩指导教师 1 单片机仿真软件的使用 2 单片机I/O接口应用实验——流水灯 3 外部中断实验——工业顺序控制模拟 4 定时/计数器实验——矩形波 5 定时/计数器实验——计数器 6 综合实验 7 8 9 10 注: 1、实验箱端口为com6。 2、芯片选择切换到51 3、停止运行使用实验箱上的复位按钮

实验室号:___ 实验时间:成绩: 实验一仿真软件的使用 1.实验目的和要求 1)熟悉Keil C51软件界面,以及编辑、编译、运行程序的步骤; 2)掌握单片机仿真软件使用和调试的方法。 2.实验原理 Keil C51软件使用 在Keil C51集成开发环境下,建立一个工程并编辑源程序,熟悉Keil C51集成开发环境下各种菜单、命令的使用。 3.主要仪器设备(实验用的软硬件环境) 安装有Keil C51软件的PC机1台 4.操作方法与实验步骤 Keil C51软件使用 (1)建立用户文件夹 (2)建立工程 (3)建立文件并编码。输入以下源程序,并保存在项目所在的目录中 (4)把文件加入工程中 (5)编译工程。编译时观察在界面下方的“Build”页中的到编译错误信息和使用的系统资源情况等。 (6)调试。利用常用调试命令,如复位、运行、暂停、单步、单步跳过、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令进行调试,观察并分析调试结果。 (7)目标代码文件的生成。运行生成相应的.HEX文件。 5.实验内容及程序 1)从DATA区地址起始地址为40H的连续10个内存单元的内容传送到XDATA区起始地址为2000H的10个内存单元中。 注意:DATA区地址起始地址为40H的连续10个内存单元必须先赋初值。 P83-5源程序 #include #define uchar unsigned char xdata unsigned char buffer1[10]_at_ 0x2000; //在xdata区定义数组变量BUF1,首地址为2000H data unsigned char buffer2[10]_at_ 0x40; //在data区定义数组变量BUF2,首地址为40H void main(void)

大学生单片机实习总结

大学生单片机实习总结 ,我们将为大家提供关于20XX年实习报告的信息,敬请期待! :xx :实习报告范文| 实习报告模板| 会计实习报告 | 大学生实习报告 | 顶岗实习报告 | 金工实习报告 | 毕业实习报告 | 土木工程实习报告 | 生产实习报告 |实习周记 | 3000字范文 大学生单片机实习总结 随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机实习课题也在一周内完成了。俗话说“好的开始是成功的一半”。说这次实习,我认为最重要的就是做好程序调试,认真的研究老师给的题目。其次,老师对实验的讲解要一丝

不苟的去听去想,因为只有都明白了,做起产品就会事半功倍,如果没弄明白,就迷迷糊糊的去做,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

C51单片机实验报告

实验报告册 课程名称:单片机原理与应用B 指导老师:xxx 班级:xxx 姓名:xxx 学号:xxx 学期:20 —20 学年第学期南京农业大学工学院教务处印

实验目录实验一:指示灯/开关控制器 实验二:指示灯循环控制 实验三:指示灯/数码管的中断控制 实验四:电子秒表显示器 实验五:双机通信

姓名:学号:班级:成绩: 实验名称:指示灯/开关控制器 一、实验目的: 学习51单片机I/O口基本输入/输出功能,掌握C语言的编程与调试方法。 二、实验原理: 实验电路原理图如图所示,图中输入电路由外接在P1口的8只拨动开关组成;输入电路由外接在P2口的8只低电平驱动的发光二极管组成。此外,还包括时钟电路、复位电路和片选电路。 在编程软件的配合下,要求实现如下指示灯/开关控制功能:程序启动后,8只发光二极管先整体闪烁3次(即亮→暗→亮→暗→亮→暗,间隔时间以肉眼可观察到为准),然后根据开关状态控制对应发光二极管的亮灯状态,即开关闭合相应灯亮,开关断开相应灯灭,直至停止程序运行。 三、软件编程原理为; (1)8只发光二极管整体闪烁3次

亮灯:向P2口送入数值0; 灭灯:向P2口送入数值0FFH; 闪烁3次:循环3次; 闪烁快慢:由软件延时时间决定。 (2)根据开关状态控制灯亮或灯灭 开关控制灯:将P1口(即开关状态)内容送入P2口;无限持续:无条件循环。 四、实验结果图: 灯泡闪烁:

按下按键1、3、5、7:

经检验,其余按键按下时亦符合题目要求。 五、实验程序: #include"reg51.h" void delay(unsigned char time) { unsigned int j=15000; for(;time>0;time--) for(;j>0;j--); } void main(){ key,char i; for(i=0;i<3;i++) { P2=0x00; delay(500); P2=0xff; delay(500) } while(1) { P2=P3;

单片机实验总结

单片机实验程序小结 实验二中断实验 1.将P1口驱动的8个LED发光二极管做左移循环闪烁(7灭1亮),当有中 断请求时(连接在0 INT引脚上的按键来模拟)使8个LED发光二极管闪烁6次。 a)程序: ORG 0000H LJMP START ORG 0003H LJMP EXT1 ORG 0100H START: SETB EA SETB EX0 SETB IT0 MOV SP,#60H MOV A,#01H L1: MOV P1,A ACALL DELAY RL A JMP L1 DELAY: MOV R1,#50 J1: MOV R2,#20 J2: MOV R3,#248 DJNZ R3,$ DJNZ R2,J2 DJNZ R1,J1 RET EXT1: PUSH ACC PUSH PSW CLR RS1 SETB RS0 MOV A,#00H MOV R7,#12 S1: MOV P1,A ACALL DELAY CPL A DJNZ R7,S1 POP PSW POP ACC

RETI END 2.0 INT接实验箱上的负脉冲按钮,来模拟中断源。当有“中断请求”(该铵钮按下并松开)时,使连接在P1口上的4个发光二极管的状态反映(记录)“中断请求”次数(初使状态时,该4个发光二极管全灭)。 a)程序: ORG 0000H LJMP START ORG 0003H LJMP EXT1 ORG 0100H START: SETB EA SETB EX0 SETB IT0 MOV SP,#60H MOV A,#00H MOV P1,A JMP $ EXT1: PUSH PSW RL A ADD A,#1H MOV P1,A POP PSW RETI END

单片机实验总结

单片机原理及接口技术实验总结 本学期的单片机实验转眼已到尾声,共做了六项实验,分别是KEIL4、ISP下载软件的安装于使用、P1口输出循环灯实验、P1口转弯灯实验、P3.3口输入P1口输出实验和中断实验。在王承林老师的带领与指导下,我们认真完成每次的实验任务,并在实验中拓展,去发现一些新的问题。 在这六项实验中让我刻骨铭心的是中断实验。中断可以说是我的一个弱点,首先从概念上我理解比较含糊,理解能力差;其次,6个中断源比较难记清,经常记混,加之它们分配的寄存器存在太多的异同,工作方式更是让人头疼;再次,中断的使用。中断的精髓是在于使用,在电路设计中使用中断来控制单片机的工作,使之更好的达到所需目的。我刚开始学习的时候连怎么使用中断还是一无所知,后来我到图书馆里查找资料,慢慢的琢磨。至今学会了中断源的4种工作方式,能简单设计出中断电路。虽然起步晚,但我相信能厚积薄发,未来一定能熟练使用它们。 经过学习单片机的中断控制,我发现自己存在许多不足,但这些都困难无法阻挡我对单片机的追求。许多同学在做实验时都抱着不良的心态,他们只想照着实验本的步骤原原本本把实验完成就算大功告成,很少更深层次挖掘里面的奥秘,更有甚者是打酱油的,我不得不为他们如此浪费那么好的学习机会感到可惜。我能为他们做的就是帮助他们讲解一些单片机知识,有时教他们编写程序。

实验室是培养高层次人才和开展科学研究的重要基地。邢台学院对培养学生的动手能力是十分重视的,为了提高学生的动手能力,让学生做相关实训并完成单片机实验,在实验的形式上注重培养学生的实验技能和动手能力。从单片机实验中学生就可以总结出大量的经验以适应当代社会的发展。 学习单片机这门课程,要掌握单片机指令系统中汇编语言各种基本语句的意义及汇编语言程序设计的基本知识和方法,以及单片机与其他设备相连接的输入输出中断等接口技术。使我从硬件软件的结合上理论联系实际,提高动手能力,从而全面掌握单片机的应用。 单片机课是一门实践性很强的课程,仅有课堂上理论知识的学习,对运用好单片机是完全不够的,必须亲自做实验,从实验中吸取教训,总结经验,增加实战经验,加深对单片机的理解,更好的运用单片机。单片机实验课的目的就是为学生提供做实验的机会,让学生能够从几个简单的实验中学会单片机开发的过程和单片机的实际运用。 单片机实验课让我将课堂上学到的理论知识运用到实验当中去,在实验中发现问题,解决问题,强化理论知识的运用。下面是自己做实验当中遇到的一些问题和体会。 首先,自己在实验课上对老师讲解的东西没有很好的领会。自己觉得老师讲的电路和原理自己都懂,就没有认真听老师的讲解,但是当自己去理解程序和修改程序就发现自己对电路的工作原理和过程

单片机实验报告

实 验 报 告 实验课程:单片机原理及应用 班级: 12自动化2班 学号: 姓名: 教师:张玲 成绩: 实验日期:年月日 实验名称:实验1——计数显示器 一、实验目的: 学习Proteus 软件的使用,掌握单片机原理图的绘图方法。 二、实验内容: 1、绘制“计数显示器”电路原理图; 2、利用提供的hex文件验证此电路的运行效果。 三、实验要求: 提交的实验报告中应包括:1、绘图方法简述,要求说明元件与电源的选取、摆放及属性编辑,总线与标签的画法等内容;2、电路原理图; 3、仿真运行效果展示,要求就仿真文件加载方法及3~4幅运行截图进行简要说明;4、实验小结,说明遇到的主要问题或实验

1体会等。 参考电路原理图如下: 元件类别电路符号元件名称 Microproces sor ICs “U1”80C51 Miscellaneo us “X1”/12MHz CRYSTAL Capacitors“C1”~“C2” /1nF CAP Capacitors“C3”/22μF CAP-ELEC Resistors Packs “RP1”/7-100ΩRESPACK-7 Resistors“R1”/100ΩRES Optoelectro nics “LED1”~ “LED2” 7SEG-COM-CAT-G RN Switches & Relays “BUT”BUTTON 1、编程思路及C51源程序:

2、电路原理图: 3、仿真运行效果展示:

4、实验小结: 熟悉Proteus软件,了解软件的结构组成与功能;学习ISIS模块的使用方法, 学会设置图纸、选元件、线画总线、修改属性等基本操作;学会可执行文件 加载及程序仿法;理解Proteus在单片机开发中的作用,完成单片机电路原 理图的绘制。

单片机实训心得体会

单片机实训心得体会 导读:本文是关于单片机实训心得体会,希望能帮助到您! 单片机实训心得体会一 时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机综合课程设计也在一周内完成了。 俗话说“好的开始是成功的一半”。说起课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,选一个自己有兴趣的题目。其次,老师对实验的讲解要一丝不苟的去听去想,因为只有都明白了,做起设计就会事半功倍,如果没弄明白,就迷迷糊糊的去选题目做设计,到头来一点收获也没有。最后,要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。 虽然这次的课程设计算起来在实验室的时间只有三天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。 硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。 当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。第二,是在学习态度上,这次课设是对我的学习态度的一次检验。对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。我们这次实习所遇到的多半问题多数都是由于我们不够严谨。第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,

有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。 在这次难得的课程设计过程中我锻炼了自己的思考能力和动手能力。通过题目选择和设计电路的过程中,加强了我思考问题的完整性和实际生活联系的可行性。在方案设计选择和芯片的选择上,培养了我们综合应用单片机的能力,对单片机的各个管脚的功能也有了进一步的认识。还锻炼我们个人的查阅技术资料的能力,动手能力,发现问题,解决问题的能力。并且我们熟练掌握了有关器件的性能及测试方法。 再次感谢老师的辅导以及同学的帮助,是他们让我有了一个更好的认识,无论是学习还是生活,生活是实在的,要踏实走路。课程设计时间虽然很短,但我学习了很多的东西,使我眼界打开,感受颇深。 单片机实训心得体会二 这个学期的单片机课已经早早的上完了,但是理论纯属理论,没有与实践的结合总让我们学的不踏实,感觉没有达到学以致用的效果。所庆幸的是在课程介绍考试完之后,老师给我们安排了这次单片机课程设计,给了我们学以致用的做好的实践。 关于这次课程设计,我们花费了比较多的心思,既是对课程理论内容的一次复习和巩固,还让我们丰富了更多与该专业相关的其他知识,比如软件应用等,在摸索中学习,在摸索中成长,在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获,在真正设计之前我们做了相当丰富的准备,首先巩固一下课程理论,再一遍熟悉课程知识的构架,然后结合加以理论分析、总结,有了一个清晰的思路和一个完整的的软件流程图之后才着手设计。在设计程序时,我们不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;养成注释程序的好习惯是非常必要的,一个程序的完美与否不仅仅是实现功能,而应

(完整版)单片机课后习题答案

单片机课后习题答案 1.89C51单片机内包含哪些主要逻辑功能部件? 答:80C51 系列单片机在片内集成了以下主要逻辑功能部件: (l)CPU(中央处理器):8位(2)片内RAM:128B(3)特殊功能寄存器:21个(4)程序存储器:4KB (5)并行I/O 口:8位,4个⑹串行接口:全双工,1个⑺定时器/计数器:16位,2个(8)片内时钟电路:1 个 2.89C51 的EA 端有何用途? 答:/EA端接高电平时,CPU只访问片内flash Rom并执行内部程序,存储器/EA 端接低电平时,CPU 只访问外部ROM ,并执行片外程序存储器中的指令。/EA 端保持高电平时,CPU 执行内部存储器中的指令。 3.89C51 的存储器分哪几个空间?如何区别不同空间的寻址? 答:ROM (片内ROM和片外ROM统一编址)(使用MOVC)(数据传送指令)(16bits 地址)(64KB)片外RAM(MOVX)(16bits 地址)(64KB)片内RAM (MOV)(8bits 地址)(256B) 4. 简述89C51 片内RAM 的空间分配。 答:片内RAM有256B,低128B是真正的RAM区,高128B是SFR (特殊功能寄存器)区。 5. 简述布尔处理存储器的空间分配,片内RAM 中包含哪些可位寻址单元。 答:片内RAM 区从00H~FFH (256B) 其中20H~2FH (字节地址)是位寻址区对应的位地址是00H~7FH 6. 如何简捷地判断89C51 正在工作? 答:用示波器观察8051 的XTAL2 端是否有脉冲信号输出(判断震荡电路工作是否正常?)ALE (地址锁存允许)(Address Latch Enable )输出是fosc 的 6 分频用示波器观察ALE 是否有脉冲输出(判断8051 芯片的好坏?)观察PSEN (判断8051能够到EPROM 或ROM中读取指令码?) 因为/PSEN 接外部EPROM (ROM )的/OE 端子OE=Output Enable (输出允许) 7. 89C51 如何确定和改变当前工作寄存器组? 答:PSW (程序状态字)(Program Status Word )中的RS1和RS0可以给出4 中组合,用来从4组工作寄存器组中进行选择PSW属于SFR( Special Function Register)(特殊功能寄存器) 9. 读端口锁存器和“读引脚”有何不同?各使用哪种指令? 答:读锁存器(ANLP0,A )就是相当于从存储器中拿数据,而读引脚是从外部拿数据(如MOV A,P1 这条指令就是读引脚的,意思就是把端口p1 输入数据送给A)传送类MOV,判位转移JB、JNB、这些都属于读引脚,平时实验时经常用这些指令于外部通信,判断外部键盘等;字节交换XCH 、XCHD 算术及逻辑运算 ORL、CPL、ANL 、ADD、ADDC 、SUBB、INC 、DEC 控制转移CJNE、DJNZ 都属于读锁存器。10. 89C51 P0?P3 口结构有何不同?用作通用I /O 口输入数据时,应注意什么?

相关文档
最新文档