第3章 指令系统与程序设计
- 格式:doc
- 大小:36.00 KB
- 文档页数:2
第一章微机基础知识1、微处理器:又称中央处理单元CPU,是小型计算机或微型计算机的控制和处理部分。
2、微型计算机:简称微机C,是具有完整运算及控制功能的计算机。
包括:微处理器(CPU)、存储器、接口适配器(输入输出接口电路)、输入/输出(I/O)设备。
3、单片机:是将微处理器、一定容量RAM和ROM以及I/O口、定时器等电路集成在一块芯片上,构成单片微型计算机。
4、单片微型计算机包括:微处理器、RAM、ROM、I/O口、定时器5、微处理器(机)的组成:运算器&控制器㈠运算器的组成:算术逻辑单元(简称ALU)、累加器、寄存器ALU的作用:是把传送到微处理器的数据进行运算或逻辑运算。
运算器的两个主要功能:(1)执行各种算术运算。
(2)执行各种逻辑运算,并进行逻辑测试。
如零值测试或两个值的比较。
㈡控制器的组成:程序计数器、指令寄存器、指令译码器、时序发生器、操作控制器6、CPU中的主要寄存器:累加器(A)、数据寄存器(DR)、指令寄存器(IR)和指令译码器(ID)、程序计数器(PC)、地址寄存器(AR)7、BCD码:用二进制对十进制0-9进行编码——BCD码。
用四位二进制数0000-1001表示0-9。
例如:13 D=0001 0011 BCD例如:1001 0111 BCD=97 D第二章89C51单片机的结构和原理1、运算器包括:ALU(算术运算和逻辑运算单元)TMP(8位的暂存器)ACC(累加器)B(寄存器)PSW(程序状态寄存器)2、存储器包括:程序存储器(ROM)、数据存储器(RAM)3、CPU访问片内、片外ROM指令用MOVC。
访问片外RAM指令用MOVX。
访问片内RAM指令用MOV。
4、高128字节RAM——特殊功能寄存器(SFR):有21个;地址:80H~FFH5、堆栈的两种操作:数据压入(PUSH)数据弹出(POP)6、每条指令由一个或若干个字节组成。
有单字节指令,双字节指令,…多字节指令等。
第3章 指令系统与程序设计
7.完成某种操作可以采用几条指令构成的指令程序实现,试写出完成以下每种操作的指令程序。
(1)将R6的内容传送到R7;
(2)内部RAM单元50H的内容传送到寄存器R6;
(3)外部RAM单元2000H的内容传送到内部RAM单元70H;
(4)外部RAM单元2000H的内容传送到寄存器R6;
(5)外部RAM单元2000H的内容传送到外部RAM单元3000H。
8.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段后上述各单元内容
的变化。
MOV A,@R1 ;(A)=60H
MOV @R1,40H ; (30H)=08H
MOV 40H,A ; (40H)=60H
MOV R1,#7FH ; (R1)=7FH
9.若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20H)=0FH,试写出下列各指令
独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指出CY、AC、和OV的值。
(1)MOV A,@R0 ; (A)=2CH
(2)ANL 40H,#0FH ; (40H)=0CH
(3)ADD A,R4 ; (A)=22H (CY)=1
(4)SWAP A ; (A)=8EH
(5)DEC @R1 ; (20H)=0EH
(6)XCHD A,@R1 ; (A)=EFH (20H)=08H
10.若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、42H单元中
的内容各为多少?
MOV A,50H ;(A)=40H
MOV R0,A ;(R0)=40H
MOV A,#00H ;(A)=0
MOV @R0,A ;(40H)=0
MOV A,#3BH ;(A)=3BH
MOV 41H,A ;(41H)=3BH
MOV 42H,41H ;(42H)=3BH
11.试用位操作和逻辑指令实现下列逻辑操作。要求不得改变未涉及的位的内容。
(1)使ACC.0置位; CLR ACC.0
(2)清除累加器高4位;
ANL A, #0FH
(3)清除ACC.3,ACC.4,ACC.5,ACC.6。
ANL A, #10000111B
12.试编写程序,将内部RAM的20H、21H、22H三个连续单元的内容依次存入2FH、2EH和2DH单元。
MOV R0, #20H
MOV R1, #2FH
MOV R7, #3
LOOP:MOV A, @R0
MOV @R1, A
INC R0
DEC R1
DJNZ R7, LOOP
SJMP $
13.试编写程序,完成两个16位数的减法:7F4DH-2B4EH,结果存入内部RAM的30H和31H单元,
31H单元存差的高8位,30H单元存差的低8位。
CLR C
MOV A, #4DH
SUBB A, #4EH
MOV 30H, A
MOV A, #7FH
SUBB A, #2BH
MOV 31H, A
SJMP $
14.试编写程序,将R1中的低4位数与R2中的高4位数合并成一个8位数,并将其存放在R1中。
MOV A, R1
ANL A, #0FH
MOV R1, A
MOV A, R2
ANL A, #0F0H
ORL A, R1
MOV R1, A
15.试编写程序,将内部RAM的20H、21H单元的两个无符号数相乘,结果存放在R2、R3中,R2中存
放高8位,R3中存放低8位。
MOV A, 20H
MOV B, 21H
MUL AB
MOV R2, B
MOV R3, A
16.若(CY)=1,(P1)=10100011B,(P3)=01101100B。试指出执行下列程序段后,CY、P1口及P3口
内容的变化情况。
MOV P1.3,C ; ( P1.3)=1
MOV P1.4,C ; (P1.4)=1
MOV C,P1.6 ; (C)=0 (P1)=10111011B
MOV P3.6,C ; (P3.6)=0
MOV C,P1.0 ; (C)=1
MOV P3.4,C ; (P3.4)=1 P1=00101100B
17.若单片机的主频为12MHz,试用循环转移指令编写延时50ms的延时子程序。并说明这种软件延时方
式的优缺点。
DELAY : MOV R6, #50
DEL1 : MOV R7, #250
DEL2 : DJNZ R7, DEL2
DJNZ R6, DEL1
RET