单片机C51程序设计课后习题答案(复习专用)_第1页
单片机C51程序设计课后习题答案(复习专用)_第2页
单片机C51程序设计课后习题答案(复习专用)_第3页
单片机C51程序设计课后习题答案(复习专用)_第4页
单片机C51程序设计课后习题答案(复习专用)_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章1.给出了以下有符号数的圆、反码和补码(假定计算机字符长度为8位):45 -89 -6 112A: 45原始=,45反转=,45补货=89原始=,89反=,89补充=【6】原=,【6】反=,【6】补充=112原始=,45相反=,45补货=2.表示计算机内部的以下字符显示:Asendfjmdsv120a :1h 73h 45h 4eh 64h 66h 46h 6dh 64h 73h 73h 76h 3132h 30h什么是微控制器?答:微控制器是通过将微计算机的微处理器、内存、I/O接口、计时器/计数器、串行接口、中断系统等集成到一个集成电路芯片中而创建的微计算机。这称为单片机,这称为单片

2、机。单片机的主要特点是什么?答:主要特征包括:1)单芯片存储在存储结构中使用哈佛体系结构2)芯片针脚中的大部分使用时分多路复用技术3)内部资源访问采用特殊的功能寄存器(SFR)形式4)在命令系统中使用面向控制的命令系统5)内部通常集成全双工串行接口6)微控制器外部扩展能力强表示单片机的主要应用领域。答:独立应用:1)工业自动化控制;2)智能仪表;3)计算机外部设备和智能接口;4)家用电器多机应用程序:功能分布式系统、并行多机处理系统和本地网络系统。第二章Mcs-51单片机的组件是什么?答:MCS-51单片机主要包括时钟电路、中央处理器(CPU)、内存系统(RAM和ROM)、定时/计数器、并行接

3、口、串行接口、中断系统和一些特殊功能寄存器(SFR)。2.MCS-51的标志寄存器是多少位?您的意思是什么?答:MCS-51徽标寄存器PSW有8位。D7D6D5D4D3D2D1D0c交流F0RS1RS0诺布-p含义如下:C(PSW.7):进位或位元指示符。AC(PSW.6):可以是次要进位或暂时位元旗标。F0(PSW.5):自定义标志位。是系统为自定义标志位保留的。RS1,RS0(PSW.4,PSW.3):寄存器组选择位。软件位设置或0,可用于在四组操作寄存器中选择当前操作寄存器组。OV(PSW.2):溢出标志位。加法或减法运算中,如果运算的结果超出8位二进制数的范围,则OV设置为1并溢出标志

4、。否则,OV将清除0。P(PSW.0):奇偶校验标志位。命令执行后累加器a记录1个数的奇偶校验。如果累加器a中1的数字为奇数,则p设定位置,如果累加器a中1的数字为偶数,则p清除0。其中PSW.1未定义,可用于用户。3.在8051的存储结构中,内部数据存储可以划分为多少个区域?每个都有什么特性?答:片上数据内存可以按功能划分为特殊的功能寄存器区,其中还包括操作寄存器组、位寻址区、常规RAM区和堆栈区。可作为8个寄存器(例如R0 r7)访问的00H1FH单元:位寻址区域,20H2FH单元,可按位访问;一般RAM区域,30H至7FH单位;堆栈区域,单位为08 7F特殊功能寄存器区域位于80HFFH

5、设备上。4.什么是堆栈?介绍了MCS-51单片机堆栈处理过程。答:堆栈是按照先进先出和后进先出原则管理的存储区域。CS-51单芯片堆栈向上增长,寄存数据从地址低端扩展到高端,删除数据从地址高端扩展到低端。堆栈和堆栈数据以字节为单位。进入堆栈时,SP指针的内容将自动添加1,然后再将数据存储到SP指针所指向的单元中。堆栈自动减去SP指针的内容,然后将SP指针的内容减去1。Mcs-51单片机有多少I/O线路?与微控制器外部总线有什么关系?答:MCS-51单片32条I/O线通过地址锁定提供低8位(a7到A0),P2端口通过提供高8位(a15到A8)形成。数据总线宽度为8位,直接来自P0端口。控制总线包

6、含处于第二功能状态的P3端口和四条单独的控制线RST、EA、ALE和PSEN。6.什么是机器周期?MCS-51单片机周期包括多少个时钟周期?答:机器周期:机器周期是包含S1、S2、S66状态的单片微机的默认工作周期,每个状态包含两位时钟周期(振动周期):P1和P2。因此,一个机器周期包含12个时钟周期。7.如果时钟周期的频率是12MHz,则艾氏信号的频率是多少?答:2MHZ第三章MCS-51单片机中有多少种寻址方法?哪种寻址方法可用于片上的RAM?可用于外部RAM的寻址方法是什么?答:寻址方法可以分为多个寻址和寻址,例如常数寻址(即时寻址)、寄存器数寻址(寄存器寻址)、内存数寻址(直接寻址、寄

7、存器间接寻址、寻址)和寻址(绝对寻址和相对寻址)。片上RAM寻址包括寄存器寻址、直接寻址和寄存器间接寻址。外部RAM寻址具有寄存器的间接寻址方法。2.在外部RAM单元寻址中,使用Ri进行间接寻址与使用DPTR进行间接寻址之间有何区别?答:外部数据存储寻址是Ri间接寻址,只能访问低端256字节单位,并且可以使用DPTR作为指针间接访问整个64K字节。3.内部处理中位地址是如何表示的?A: 1。直接位地址(00H-0FFH)。示例:20H2.字节地址包含位号。例如,20H.3表示20H单元格的3位。特殊功能寄存器名称具有位号。例如,P0.1表示P0端口的1位。4.位符号地址。例如:TR0是计时/计

8、数器T0的起始位,即可从workspace页面中移除物件。4.完成以下任务的说明:(1)将R0的内容发送到R1。MOV A、R0MOV R1,a(2)将片上RAM的20H单位内容以片上RAM的40H单位发送。MOV 40H,20H(3)将片上30H单位RAM的内容以片上外部RAM的50H单位发送。MOV A,30HMOV R0,#50HMOVX R0,a(4)将片上50H单位RAM的内容以片上外部RAM的3000H单位发送。MOV A,50HMOV DPTR,#3000HMOVX DPTR,a(5)将片上RAM的2000H单位内容以片上RAM的20H单位发送。MOV DPTR,#2000HMO

9、VX A,DPTRMOV 20H,a(6)将块外部RAM的1000H单位的内容发送到块外部RAM的4000H单位。MOV DPTR,#1000HMOVX A,DPTRMOV DPTR,#4000HMOV DPTR,a(7)将ROM的1000H单位的内容以片内RAM的50H单位发送。MOV A,#0MOV DPTR,#1000HMOVC A,A DPTRMOV 20H,a(8)将ROM的1000H单位内容发送到区块外部RAM的1000H单位。MOV A,#0MOV DPTR,#1000HMOVC A,A DPTRMOVX DPTR,a区分以下命令的区别是什么?(1)MOV A、20H和MOV A

10、,#20Ha:前者的源操作数是直接寻址,后者的源操作数是立即寻址。(2)MOV A,R1和MOVX A,R1答:前者的源操作数访问片上数据存储,而后者的源操作数访问片上数据存储要低256字节。(3)MOV A,R1和MOV A,R1答:前一个源操作数是寄存器寻址,后一个源操作数寄存器是间接寻址。(4)MOVX A,R1和MOVX A,DPTR答:对于访问切片外部数据存储,源操作数为256字节,源操作数访问整个64K字节。(5)MOVX A,DPTR和MOVC A,A DPTR答:源操作数是对片上数据存储的访问,源操作数是对程序数据存储的访问。6.对于片上RAM,(20H)=40H,(40H)=

11、10H,(10H)=50H,(P1)=0CAH。运行以下命令,分析背面片上RAM的20H、40H、10H单元和P1、P2的内容:MOV R0,#20HMOV A, r0A=40HMOV R1、a;R1=40HMOV A, R1A=10HMOV R0,P1;(40H)=0CAHMOV P2,P1P2=0CAHMOV 10H,A(10H)=10HMOV 20H,10H(20H)=10H结果:(20H)=10H,(10H)=10H,(40H)=0CAH,P2=0CAH和P1=0CAH7.已知(A)=02H,(R1)=7FH,(DPTR)=2FFCH,片上RAM(7FH)=70H,片上RAM(2FFE

12、H)=11H(1)MOV A,R1结果:累加器A等于70H(2)MOVX DPTR,a结果:外部RAM(2FFCH)单位等于02H(3)MOVC A,A DPTR结果:累加器A为64H(4)XCHD A,R1结果:累加器A等于00H,片上RAM(7FH)单位等于72H8.已知:(A)=78H,(R1)=78H,(B)=04H,CY=1,片上RAM(78H)=0DDH,(80H)=6c(1)ADD A, R1累加器a为55H,CY为1(2)SUBB A,# 77h累加器a等于00H,CY等于0(3)mul ab;累加器a等于E0H,b寄存器等于01H,CY等于1,OV等于0(4)div ab;累

13、加器a等于1EH,b寄存器等于00H,CY,OV等于0(5)ANL 78H,# 78h片上RAM(78H)单位等于58H(6)ORL A,# 0fh累加器a等于7FH(7)XRL 80H,a;片上RAM(80H)等于14H9.集(A)=83H,(R0)=17H,(17H)=34H,在执行下一命令段后分析累加器A,R0,17H单元格的内容。ANL A,# 17hA=03HORL 17H,a;(17H)=37HXRL A, r0A=34HCPL A;A=CBH结果:A=CBH,(R0)=17H,(17H)=37H10.编写完成以下要求的说明:(1)累加器a的低2位间隙,其余位不变。ANL A,#B

14、(2)累加器a的高度2位置“1”,其余位不变。ORL A,#B(3)累加器的高4位反转,其余位不变。XRL A,#B(4)累加器0、2、4、6位反向顺序,其馀位不变。XRL A,#B11.说明LJMP命令和ajp命令之间的区别?答:LJMP命令后面提供了16位目标地址,可以传输到64KB程序内存中的任何位置。但缺点是执行时间长,字节数多。AJMP指令具有11位直接地址,在运行时,程序指针PC的值加上双字节长度,然后将指令的11位地址addr11传递给程序指针PC的低11位。此时,程序指针的高5位不变,只能在当前2K范围内传输。12.如果当前命令CJNE A,#12H,10H的地址为0FFEH,

15、累加器A的值为10H,则执行命令后的PC值是多少?如果累加器a的值为12H?答:执行命令后的PC值为1011H,累计机a值为12H,则执行命令后的PC值为1001H。13.使用位处理指令实现P1.4=P1.0(P1.1P1.2)/P1.3的逻辑功能。程序:MOVC,P1.1ORLC,P1.2ANLC,P1.0ORLC,/P1.3MOVP1.4,c14.以下程序段编译后,从1000H单位开始的单位内容是什么?ORG 1000H选项卡:db12h,34HDS 3DW 5567H、87HA: (1000H)=12H,(1001H)=34H,(1002H)=00H,(1003H)=00,(1004H)=00,()15.试验性地编制将区块内RAM的20H、21H、22H单元的内容按顺序放在区块外RAM的20H、21H、22H中的过程。程序:MOVR0,#20HMOVR2,#03HLoop: mova,R0MOVXR0,aINCR0DJNZR2,LOOPSJMP$16.编程实现将切片RAM的2000H至2030H单元的内容全部移动到片内RAM的20H单元启动位置,并将源位置整理为0。程序:MOVR0,#20HMOVDPTR,#2000HMOVR2,#30HLOOP:MOVXA,DPTRMOV R0,aMOVA,#00MOVXDPTR,aI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论