单片机技术与应用各章习题答案_第1页
单片机技术与应用各章习题答案_第2页
单片机技术与应用各章习题答案_第3页
单片机技术与应用各章习题答案_第4页
单片机技术与应用各章习题答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

单片机技术与应用各章习题答案 练习题 1 一、选择题 1. 在 CPU 内部,反映程序运行状态或运算结果特征的寄存器是 ( B )。 A. PC B. PSW C. A D. SP 2. 在家用电器中使用单片机应属于计算机的 ( C )。 A. 辅助工程应用 B. 数值计算应用 C. 控制应用 D. 数据处理应用 3. 当标志寄存器 P S W 的 R S 0 和 R S 1 分别为 1 和 0 时,系统选用的工作寄存器组为 ( B )。 A. 组 0 B. 组 1 C. 组 2 D. 组 3 4. AT89S52 单片机中,唯一一个用户可使用的 16 位寄存器是 ( B )。 A. PSW B. DPTR C. ACC D. PC 5.二进制数 110010010 对应的十六进制数可表示为 ( A ). A. 192H B. C90H C. 1A2H D. CA0H 6. 二进制数 110110110 对应的十六进制数可表示为 ( B ). A. 1D3H B. 1B6H C. DB0H D. 666H 7. -3 的补码是 ( D )。 A. 10000011 B. 11111100 C. 11111110 D. 11111101 8. CPU 主要的组成部分为 ( A )。 A. 运算器.控制器 B. 加法器.寄存器 C. 运算器.寄存器 D. 存放上一条的指令地址 9. 计算机的主要组成部件为 ( A )。 A. CPU ,内存, I O 口 B. CPU ,键盘,显示器 C. 主机,外部设备 D. 以上都是 10. INTEL 8051CPU 是位 ( C )的单片机。 A. 16 B. 4 C. 8 D. 准 16 11. 对于 INTEL 8031 来说, EA 脚总是( A )。 A. 接地 B. 接电源 C. 悬空 D. 不用 12. 单片机应用程序一般存放在( B ). A. RAM B. ROM C. 寄存器 D. CPU 13. 单片机上电后或复位后,工作寄存器 R0 是在( A )。 A. 0 区 00H 单元 B. 0 区 01H 单元 C. 0 区 09H 单元 D. SFR 14. 进位标志 CY 在 ( B )中 。 A. 累加器 B. 算逻运算部件 ALU C.程序状态字寄存器 PSW D.DPOR 15. 单片机 AT89S52 的 XTAL1 和 XTAL2 引脚是 ( D )引脚 。 A. 外接定时器 B. 外接串行口 C. 外接中断 D. 外接晶振 16. 十进制数 126 其对应的十六进制可表示为 ( D ). A. 8 F B. 8 E C. F E D. 7 E 17. 十进制数 89.75 其对应的二进制可表示为 ( A ). A. 10001001.01110101 B. 1001001.10 C. 1011001.11 D. 10011000.11 18. 在单片机中,通常将一些中间计算结果放在 ( A )中 。 A. 累加器 B. 控制器 C. 程序存储器 D. 数据存储器 19. 程序计数器 PC 用来 ( C )。 A. 存放指令 B. 存放正在执行的指令地址 C. 存放下一条的指令地址 D. 存放上一条的指令地址 20. 8031 单片机中片内 RAM 共有( A )字节 。 A. 128 B. 256 C. 4K D. 64K 二、问答题 1. AT89S52 单片机的 信号有何功能?在使用 8031 时 信号引脚应如何处理?EEA 答:(1) 是访问外部程序存储器 ROM 的控制信号。A 当 为低电平(接地)时,CPU 只执行外部程序存储器中的程序。E 当 为高电平且 PC 值小于 0FFFH(4K )时,CPU 执行内部程序存储器的程序,但当 PC 的值超 出 4K 时(对 8051/8751/8951)将自动转去执行片外程序存储器内的程序。 8031 单片机无片内 ROM,必须外接程序存储器,因此,8031 的 必须接地(低电平) 。EA 2. 请说明 AT89S52 单片机内 RAM 低 128 字节和高 128 字节的用途? 答:单片机内部低 128 位字节是内部数据存储器,此存储器分为 3 部分:工作寄存区、位寻址区、 数据缓冲区。 80HFFH 是高 128 字节做为特殊功能寄存器使用。 三、编程题 试编写一段延时 12ms 的程序,并画出流程图 开始 置外循环初 值 置内循环初值 R7-1=0? R6-1=0? 结束 N N Y Y ORG 0000H MOV R6, #18H L2: MOV R7, #0FAH L1: DJNZ R7, L1 DJNZ R6, L2 END 练习题 2 一、选择题 1. 有如下程序段:MOV R0,30H SETB C CLR A ADDC A,00H MOV R0,A 执行结果是 ( B )。 A. ( 30H ) =0 0H B. ( 30H ) =0 1H C. ( 00H ) =0 0H D. ( 00H ) =0 1H 2. 下列指令中正确的是 ( B )。 A. MOV P2.1 , A B. JBC TF0 , L1 C. MOVX B , DPTR D. MOV A , R3 3. 下列指令中错误的是 ( D ). A . MOV A , R4 B . MOV 20H , R4 C . MOV A , R3 D . MO V R4 , R3 4. 下列指令中不影响标志位 CY 的指令有( D )。 A . ADD A , 20H B . CLR A C . RRC A D . INC A 5. LJMP 跳转空间最大可达到 ( D )。 A . 2KB B . 256B C . 128B D . 64KB 6. 89S52 的内部 RAM 中,可以进行位寻址的地址空间为 ( B )。 A . 00H2FH B . 20H2FH C . 00H0FFH D . 20H0FFH 7. 设累加器 A 的内容为 0 C 9 H ,寄存器 R2 的内容为 54H , C Y=1 ,执行指令 SUBB A,R2 后结果为 ( A ). A .( A ) =74H B .( R2 ) =74H C .( A ) =75H D .( R2 ) =75H 8. 设( A ) =0C3H , ( R0 ) =0AAH ,执行指令 ANL A , R0 后,结果 ( A ). A .( A ) =82H B .( A ) = 6CH C .( R0 ) =82 D .( R0 ) =6CH 9. AT89S52 单片机中,唯一一个用户不能直接使用的寄存器是 ( C )。 A . PSW B . DPTR C . PC D . B 10. 执行如下三条指令后, 30H 单元的内容是 ( C )。 MOV R1,30H MOV 40H,0E H MOV R1,40H A . 40H B . 30H C . 0EH D . 0FFH 11. 8031 单片机中既可位寻址又可字节寻址的单元是 ( A )。 A. 20H B.30H C.00H D. 70H 12. 假定( A)=0C5H,执行指令: SWAP A 后,累加器 A 的内容为 ( C )。 A.0CH B.C0H C.5CH D.0C5H 二、填空题 1. 寻址方式就是如何找到存放操作数的地址,把操作数提出来的方法。 2. 复位方式有上电自动复位和按键手动复位。 3. AT89S52 外部数据存储器寻址空间 64KB。 4. AT89S52 常用的寻址方式有立即寻址、直接寻址、寄存器、寄存器间接寻址、变址寻址。 5. 以助记符形式表示的计算机指令就是它的 汇编 语言。 6. 在变址寻址方式中,以累加器作变址寄存器,以 PC 或 DPTR 作基础寄存器。 7. AT89S52 内部程序存储器( ROM)容量 8 KB ,地址从 0000H 开始,用于存放程序和表格 常数。 8. AT89S52 输入/输出口线 8 条,它们都是 I/O 端口。 三、分析题 1. 已知(A)=06H, (R 3)=08H 执行 ADD A,R 3 DA A 结果(A)= 14H 2. 已知(A)=0C3H, (R 0)=55H 执行 ORL A,R 0 结果(A)= D7H (R 0)= 55H 3. 说明下列指令中源操作数采用的寻址方式 MOV A, R7 ;寄存器寻址 MOV A, 55H ;直接寻址 MOV A, #55H ;立即寻址 MOV A, R0 ;寄存器间接寻址 JMP A+DPTR 基址变址寻址 4. 设 (R 0)=32H, (A)=48H, (32H )=80H, (40H)=08H,请指出在执行下列程序段后,上述 各单元内容的变化。 MOV A, R0 ; (A)=80H MOV R0,40H ; (32H)=08H MOV 40H, A ; ( 40H)=80H MOV R0, #35H ; (R0 )=35H 5. 已知(A)=0C3H, (R 0)=0AAH , (C Y)=1,无符号数 执行指令 ADDC A,R 0 后, (A )= 6EH , (R 0)= 0AAH , CY= 1 ,OV= 0 ,A C= 0 。 6. 阅读下列程序段,说明程序段实现功能,并把每条指令加注释; 已知: (40H)=98H , (41H)=0AFH. MOV R0,#40H ; 40H R0 MOV A, R0 ; 98H A INC R0 ; 41H R0 ADD A, R0 ; 98+(A)=47H A INC R0 MOV R0,A ; 结 果 存 入 42H 单 元 CLR A ; 清 A ADDC A, #0 ; 进 位 存 入 A INC R0 MOV R0, A ; 进 位 存 入 43H 功 能 : 将 40H, 41H 单 元 中 的 内 容 相 加 结 果 放 在 42H 单 元 , 进 位 放 在 43H 单 元 , (R0) =43H, (A) 1, (40H)=98H, (41H) AFH, (42H) 47H, (43H)=01H。 7. 已知(A)=83H, (R 0)=17H, (17H)=34H ,请写出执行完下列程序段后,A 的内容,并把分 析过程写出。 ANL A, #17H ;(A)03H ORL 17H, A ;(17H)37H XRL A, R0 ;(A) 34H CPL A ;(A)0CBH 8. 已知(30H)=40H, (40H)=10H, (10H)=00H, (P 1)=0CAH,请写出执行以下程序段后,各 有关单元的内容。 MOV R0 , #30H ; (R0)=30H MOV A, R0 ; (A)= 40H MOV R1 , A ; (R1)=40H MOV B ,R0 ; (B)= 40H MOV R1,P1 ; (40)=0CAH MOV P2 ,P1 ; (P2)=0CAH MOV 10H, #20H ; (10H)= 20H MOV 30H, 10H ; (30H)=20H 四、编程题 1. 假设三个 8 位无符号数相加,其中一加数在内部 RAM 的 50H,51H ,52H,另一个数在内部 RAM 的 53H, 54H,55H 相加之后放在 50H,51H,52H 单元中,进位存放在 53H 单元中,请编程 序,并画出流程图。 答: MOV R0 ,#50H MOV R1 , #53H MOV R7 , #03H CLR C LOOP: MOV A ,R0 ADD A,R1 MOV R0 ,A INC R0 INC R1 DJNZ R7 , LOOP CLR A ADDC A, #00H MOV R0 , A SJMP $ 2. 内存中有两个 4 字节无符号数相加,一个存放在 30H33H 开始的单元中,一个存放在 40H 43H 开始的单元中,请编程求它们的和,结果放在 30H33H 中。 答:MOV R2,#04H ;字节长度R2 MOV R0,#30H ;一个加数首地址R0 MOV R1,#40H ;另一个加数首地址R1 CLR C ;清进位位 L1;MOV A,R0 ;取一个加数 ADDC A,R1 ;两个加数带进位相加 DA A ;十进制调整 MOV R0,A ;存放结果 INC R0 ;指向下一个字节 INC R1 DJNZ R2,L1 ;字节长度减 l,没加完,转 L1,继续相加 RET ;全加完,返回 3. 用移位指令计算,10*X,已知 X 是一个 8 位无符号数。请编程序。 答:MOV R0 ,# DATA MOV A , R0 RL A MOV R1,A RL A RL A ADD A, R1 MOV R0 , A 4. 编程序将外 RAM2000H 单元开始存放的 8 个数据传送到片内 RAM50H 开始的单元中。 答: MOV R2,#08H ;数据块长度R2 MOV R1,#50H ;数据块目的地址R1 MOV DPTR,#2000H ;数据块源地址DPTR LOOP: MOVX A,DPTR ;传送一个数据 MOV R1,A INC DPTR ;指向下一个数据 INC R1 DJNZ R2,LOOP ;长度减 1,没传送完,转 LOOP,继续传送 RET ;传送完,返回 5. 编程序将片内 RAM30H 单元开始存放的 20 个数据传送到片外 RAM1000H 开始的单元中,并画 出流程图 答: MOV R2,#14H ;数据块长度R2 MOV R1,#30H ;数据块目的地址R1 MOV DPTR,#1000H ;数据块源地址DPTR LOOP: MOV A ,R1 MOVX DPTR ,A ;传送一个数据 INC DPTR ;指向下一个数据 INC R1 DJNZ R2,LOOP ;长度减 1,没传送完,转 LOOP,继续传送 RET ;传送完,返回 6. 编程序将片内 RAM20H 单元开始存放的 32 个数据传送到片内 RAM50H 开始的单元中。 答: MOV R7,#20H ;数据块长度R2 MOV R1,#20H ;数据块目的地址R1 MOV R2,#50H ;数据块源地址R2 LOOP: MOV A ,R1 MOV R2 ,A ;传送一个数据 INC R2 ;指向下一个数据 INC R1 DJNZ R7,LOOP ;长度减 1,没传送完,转 LOOP,继续传送 RET ;传送完,返回 7. 将 1000H 单元内容拆开,高位送 1001H 单元,低位送 1002H 单元。 答: ORG 0660H MOV DPTR ,#1000H MOVX A,DPTR MOV B, A ;(1000)A B SWAP A ;交换 ANL A, #0FH ;屏蔽高位 INC DPTR MOVX DPTR ,A ;送 1001H INC DPTR MOV A ,B ANL A, #0FH ;(1000)内容屏蔽高位 MOVX DPTR ,A ;送 1002H LOOP: SJMP LOOP 8. R0 低位有一个十六进制数,把它转换成 ASCII 码送入 R0。 答: ORG 0100H MOV A,R0 ;取转换值 ANL A,#0FH ;屏蔽高 4 位 ADD A,#03H ;计算偏移量 MOVC A,A+PC ; 查表 MOV R0,A ;存结果 SIMP $ ASCTAB:DB 0, 1, 2, 3 DB 4, 5, 6, 7 DB 8, 9, A, B DB C, D, E, F END 练习题 3 一、选择题 1. 各中断源发出的中断请求信号,都会标记在( D )寄存器 。 A. TMOD/SCON B. TCON/PCON C. IE/TCON D. TCON/SCON 2. 执行返回指令,退出中断服务子程序,则返回地址来自( C )。 A. ROM B. 程序计数器 C. 堆栈区 D. CPU 寄存器 3. 中断查询,查询的是 ( B ). A. 中断请求信号 B. 中断标志 C. 外中断方式控制位 D. 中断允许控制位 4. 外部中断 1 的中断入口地址为( C )。 A. 0003H B. 000BH C. 0013H D. 001BH 5. AT89S52 单片机共有( C )中断源 。 A . 4 B . 5 C . 6 D . 7 6. AT89S52 单片机共有( A )个中断优先级 。 A . 2 B . 3 C . 4 D . 5 7. 中断是一种 ( A )。 A .资源共享技术 B .数据转换技术 C .数据共享技术 D .并行处理技术 8. 执行 MOV I E , 81H 指令的意义是:( B )。 A .屏蔽中断源 B .开放外部中断源 0 C .开放外部中断源 1 D .开放外部中断源 0 和 1 9. 启动 T1 运行的指令是 ( C ) A. SETB ET0 B. SETB ET1 C. SETB TR0 D. SETB TR1 10. AT89S52 系统中,同一优先级的几个中断源中 优先权最高( A )。 A. INT0 B. T0 C. INT1 D. T1 11. AT89S52 单片机在响应中断后,需要用软件来清除的中断标志是 ( B )。 A. TF0 . TF1 B. RI . TI C. IE0 . IE1 D. IT0. IT1 12.下列有关 AT89S52 中断优先级控制的叙述中,错误的是 ( C )。 A. 低优先级不能中断高优先级 ,但高优先级能中断低优先级。 B. 同级中断不能嵌套 C. 同级中断请求按时间的先后顺序响应 D. 同时同级的多中断请求,将形成阻塞,系统无法响应。 13.( TMOD )=05H ,则 T0 工作方式为( B )。 A. 13 位计数器 B. 16 位计数器 C. 13 位定时器 D. 16 位定时器 14. AT89S52 单片机用来开放或禁止中断的控制寄存器是 ( C )。 A. IP B. TCON C. IE D. SCON 二、简答题 1. 什么叫外部中断?有几个外部中断源?请求信号由什么引脚引入? 答:当 CPU 执行主程序时,外设向 CPU 强行发出的一个中断请求,CPU 接到信号,中断主程序的 执行并保存断点地址,然后转去响应中断。 有 2 个外部中断源;请求信号有 INT0 和 INT1 引脚引入。 2. 什么叫中断?中断的作用是什么? 答:当 CPU 正在处理某事件时,外界发生了更为紧急的请求,要求 CPU 暂停当前的工作,转而去 处理这个紧急事件,处理完毕,CPU 再回到原来被中断的地方,继续原来的工作,这样的过程称 为中断。 中断作用:(1)分时操作 (2)实时处理 (3)故障处理 3. 中断优先级的顺序?5 个中断源的入口地址? 答:顺序:外部中断 0定时器 0 中断外部中断 1定时器 1 中断串行接口中断。 5 个中断源的入口地址: 中断源 中断矢量地址 中断源 中断矢量地址 外部中断 0(INT0 ) 0003H 定时器 T1 中断 001BH 定时器 T0 中断 000BH 串行口中断 0023H 外部中断 1(INT1 ) 0013H 三、编程题 1. 用定时器 T1,工作方式 0,在 P1.0 产生周期为 500us 的连续方波,时钟振荡频率为 6MHZ,用 查询方式编写程序。 答:(1)计算机器周期:Tm=12/focs=

温馨提示

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

评论

0/150

提交评论