当前位置:首页 > 单片机原理及应用教程第三版答案
8. 为什么说单片机具有较强的位处理能力 对于许多控制系统开关量控制是控制系统的主要对象之一。作为传统的CPU对于简单的个别开关量进行控制却显得不那么方便而让MCS-51值得骄傲的正是它有效地解决了单一位的控制。 MCS-51片内CPU还是一个性能优异的位处理器也就是说MCS-51实际上又是一个完整而独立的1位单片机也称布尔处理机。该布尔处理机除了有自己的CPU、位寄存器、位累加器即进位标志Cy、I/O口和位寻址空间外还有专供位操作的指令系统可以直接寻址对位存储单元和SFR的某一位进行操作。MCS-51单片机对于位操作布尔处理有置位、复位、取反、测试转移、传送、逻辑与和逻辑或运算等功能。所以单片机具有较强的位处理能力。
9. 指出8051可进行位寻址的存储空间。 007FH即20H.02FH.7及SFR地址能被8整除的寄存器中的各位。
10. 位地址90H和字节地址90H及P1.0有何异同如何区别 位地址90H表示P1.0位 字节地址90H表示P1口.
11. 在访问外部ROM或RAM时P0和P2口各用来传送什么信号P0口为什么要采用片外地址锁存器 P0口传送地址低八位后可复用数据线所以P0口要采用片外地址锁存器。P2口传送地址高八位。
12. 什么是时钟周期什么是机器周期什么是指令周期当振荡频率为12MHz时一个机器周期为多少微秒 时钟周期也称振荡周期即振荡器的振荡频率fosc的倒数是时序中最小的时间单位。机器周期执行一条指令的过程可分为若干个阶段每一阶段完成一规定的操作完成一个规定操作所需要的时间称为一个机器周期一个机器周期包含12个时钟周期。 5 当振荡频率为12MHz时一个机器周期为12/12×1000000秒1微秒 指令周期定义为执行一条指令所用的时间。
13. MCS-51单片机有几种复位方法复位后CPU从程序存储器的哪一个单元开始执行程序 MCS-51的复位电路包括上电复位电路和按键外部复位电路 0000H .
14. 8051系统掉电时如何保存内部RAM中的数据 单片机在运行过程中如果发生掉电片内RAM和SFR中的信息将会丢失。为防止信息丢失可以把一组备用电源加到RST/VPD端当VCC上的电压低于VPD上的电压时备用电源通过VPD端以低功耗保持内部RAM和SFR中的数
据。
15. 8051单片机引脚ALE的作用是什么当8051不外接RAM和ROM时ALE上输出的脉冲频率是多少其作用是什么 地址锁存使能输出ALE当单片机访问外部存储器时外部存储器的16位地址信号由P0口输出低8位P2口输出高8位ALE可用作低8位地址锁存控制信号当不用作外部存储器地址锁存控制信号时该引脚仍以时钟振荡频率的1/6固定地输出正脉冲可以驱动8个LS型TTL负载。
第三章
1.MCS-51有哪几种寻址方式举例说明它们是怎样寻址的 MCS-51指令系统的寻址方式有以下7种 立即寻址方式操作数直接出现在指令中。 直接寻址方式中操作数的单元地址直接出现在指令中。 寄存器寻址方式中寄存器中的内容就是操作数。 寄存器间接寻址方式中指定寄存器中的内容是操作数的地址该地址对应存储单元的内容才是操作数。 变址寻址方式是以程序指针PC或数据指针DPTR为基址寄存器以累加器A作为变址寄存器两者内容相加即基地址偏移量形成16位的操作数地址 相对寻址是以程序计数器PC的当前值作为基地址与指令中的第二字节给出的相对偏移量rel进行相加所得和为程序的转移地址。 位地址内部RAM地址空间的可进行位寻址的128位和SFR地址空间的可位寻址的11个8位寄存器的88位。位寻址给出的是直接地址。
2.位寻址和字节寻址如何区分在使用时有何不同 由寻址方式可以看出不同的寻址方式所寻址的存储空间是不同的。正确地使用寻址方式不仅取决于寻址方式的形式而且取决于寻址方式所对应的存储空间。字节寻址必须是对8位存储单元位寻址的存储空间只能是片内RAM的20H2FH字节地址中的所有位位地址为00H7FH和部分SFR的位决不能是该范围之外的任何单元的任何位。
3.要访问专用寄存器和片外数据寄存器应采用什么寻址方式举例说明。 访问专用寄存器可采用直接寻址或寄存器寻址。 6 访问片外数据寄存器寄存器间接寻址
4.什么是堆栈其主要作用是什么 堆栈是后进先出的数据存储区 一般用于中断处理过程中若需要保护现场数据如内部RAM单元的内容可使用入栈指令将数据压入堆栈中断处理
过程执行完后再使用出栈指令恢复现场数据。
5.编程将内部RAM的20H单元的内容传送给外部RAM的2000H单元。 MOV A20H MOV DPTR2000H MOVX DPTRA
6.编程将内部数据存储器20H30H单元内容清零。 MOV R020H MOV A0 MOV R317 LOP :MOV R0A INC R0 DJNZ R3LOP
7.编程查找内部RAM的32H41H单元中是否有0AAH这个数据若有这一数据则将50H单元置为0FFH否则清50H单元为0。 MOV R3 10H MOV A0AAH MOV R031H LOP :INC R0 SUBB AR0 JZ LOP1 DJNZ R3LOP MOV 50H0H AJMP LOP3 LOP1:MOV 50H0FFH LOP3: AJMP 1OP3
8.查找20H4FH单元中出现00H的次数并将查找结果存入50H单元。 MOV R330H MOV R020H MOV A0 LOP: MOV AR0 JZ LOP1 LOP3: INC R0 7 DJNZ R3LOP AJMP LOP2 LOP1: INC 50H AJMP LOP3 LOP2:AJMP LOP2
9.已知A83HR017H17H34H写出下列程序段执行完后的A中的内容。 ANL A 17H ORL 17H A XRL A R0 CPL A A11001011B0CBH
10.已知单片机的fosc12MHz分别设计延时0.1s、1s、1min的子程序。 设晶振频率为12MHz一个机器周期为1?0?8s 延时1ms的子程序 执行时间机器周期 DELAY: MOV R7 0FFH 1 LOOP: NOP 1 NOP 1 DJNZ R7 LOOP 2 RET 2 该程序段的总的执行时间为
14×2552s1023?0?8s≈1ms 延时时间为100ms的子程序 DELAY: MOV R564H 对延时1ms的子程序循环100次。 LOP1: MOV R7 0FFH LOOP: NOP NOP DJNZ R7 LOOP DJNZ R5LOP1 RET 延时时间为1s的子程序 DELAY1: MOV R3 0AH 对延时100ms的子程序循环10次 DELAY: MOV R564H 。 LOP1: MOV R7 0FFH LOOP: NOP NOP DJNZ R7 LOOP DJNZ R5LOP1 8 DJNZ R3 DELAY RET 延时时间为60s的子程序 对延时1s的子程序循环60次 11MCS-51汇编语言中有哪些常用的伪指令各起什么作用 BIT地址符号命令 END结束汇编 EQU等值 DB定义字节 DW定义字 DS定义存储单元 ORG汇编起始地址
12.比较下列各题中的两条指令有什么异同 ① MOV A R1 MOV 0E0H R1 指令功能相同寻址方式表示不同 ② MOV A P0 MOV A 80H 指令功能相同寻址方式表示不同 ③ LOOP:SJMP
LOOP SJMP 指令功能相同 .
13.下列程序段汇编后从3000H开始各有关存储单元的内容是什么 ORG 3000H TAB1: EQU 1234H TAB2: EQU 5678H DB 6513quotabcABCquot DW TAB1TAB29ABCH 3000H: 65 3001H: 13 3002H: ?6?7a?6?8 3003H: ?6?7b?6?8 3004H: ?6?7c?6?8 3005H:
?6?7A?6?8 3006H:?6?8B?6?8 3007H: ?6?7C?6?8 3008H: 34H 3009H: 12H 300AH: 78H 300BH: 56H 300CH: 0BCH 300DH: 9AH .
14.为了提高汇编语言程序的效率在编写时应注意哪些问题 1 把要解决的问题化成一个个具有一定独立性的功能模块各模块尽量采用子程序完 9 成其功能。 2 力求少用无条件转移指令尽量采用循环结构。 3 对主要的程序段要下功夫精心设计这样会收到事半功倍的效果。 4 能用8位数据解决问题的就不要使用16位数据。 5 累加器是信息传递的枢纽在调用子程序时应通过累加器传送子程序的参数通过累加器向主程序传送返回参数。所以在子程序中一般不把累加器推入堆栈。若需保护累加器的内容时应先把累加器的内容存入其他寄存器单元然后再调用子程序。 6为了保证程序运行的安全可靠应考虑使用软件抗干扰技术如数字滤波技术、指令冗余技术、软件陷井技术用汇编语言程序实现这些技术不需要增加硬件成本可靠性高稳定性好方便灵活。
15.试编写8字节外部数据存储器到内部数据存储器的数据块传送程序外部数据存储器地址范围为40H47H内部数据存储器地址范围为30H37H。 MOV R38 MOV R040H MOV R130H LOP1:MOVX AR0 MOV R1A INC R0 INC R1 DJNZ R3LOP1.
16.试编写8字节外部程序存储器到内部数据RAM的传送程序外部程序存储器地址为2040H2047H内部RAM地址为30H37H。 参看15题答案提示外部程序存储器地址为16位地址2040H2047H间接寻址采用DPTR .
17.试编程使内部RAM的20H4FH单元的数据块按降序排列。 参看23题答案提示本题对20H4FH单元48个数据降序排列。
18.内部RAM的20H单元开始有一个数据块以0DH为结束标志试统计该数据块长度将该数据块传送到外部数据存储器7E01H开始的单元并将长度存入7E00H单元。 MOV R0 20H MOV DPTR 7E01H LOP: MOV A R0 MOV 60HA SUBB A 0DH JZ LOP1 MOV A60H MOVX DPTR A 10 INC
R3 INC R0 INC DPTR AJMP LOP LOP1: MOV DPTR 7E00H MOV AR3 MOVX DPTR A END.
19.试编写一个用查表法查09字形7段码假设表的首地址为TABLE的子程序调用子程序前待查表的数据存放在累加器A中子程序返回后查表的结果也存放在累加器A中。 SQR1: MOV DPTRTABLE MOVC A ADPTR RET TABLE: DB 0C0H0F9H0A4H0B0H99H 09的字形显示段码LED共阳极。 DB 92H82HF8H80H90H.
20.内部RAM的DATA开始的区域中存放着10个单字节十进制数求其累加和并将结果存入SUM和SUM1单元。 MOV R0DATA MOV R30AH MOV A0 LOP: ADD AR0 MOV R4A ADDC A 0 MOV R5A INC R0 DJNZ R3 LOP MOV SUMR4 MOV SUM1R5 END .
21.内部RAM的DATA1和DATA2单元开始存放着两个等长的数据块数据块的长度在LEN单元中。请编程检查这两个数据块是否相等若相等将0FFH写入RESULT单元否则将0写入RESULT单元。 MOV R0DATA1 MOV R3 LEN LOP: MOV A R0 CJNZ ADATA2 LOP1 11 INC R0 INC DATA2 DJNZ R3LOP MOV A0FFH MOV RESULTA AJMP LOP2 LOP1:MOV A0 MOV RESULT A LOP2: AJMP LOP2 END.
22.有一输入设备其端口地址为20H要求在1秒钟时间内连续采样10次读取该端口数据求其算术平均值结果存放在内部RAM区20H单元。 MOV R020H MOV R20 MOV A0 MOV R40 LOP : MOV R30AH IN : ACALL DELAY MOVX A R0 MOV R2 A MOV A R4 ADD A .
共分享92篇相关文档