单片机原理、接口技术及应用课后答案—黄建新

上传人:gbs****77 文档编号:10630943 上传时间:2020-04-13 格式:DOCX 页数:19 大小:86.33KB
返回 下载 相关 举报
单片机原理、接口技术及应用课后答案—黄建新_第1页
第1页 / 共19页
单片机原理、接口技术及应用课后答案—黄建新_第2页
第2页 / 共19页
单片机原理、接口技术及应用课后答案—黄建新_第3页
第3页 / 共19页
点击查看更多>>
资源描述
1 作业题及答案 第 1章 1 9 完成下列数制的转换 1 1011 1101B 11 8125 D B D H 2 110 101B 6 625 D 6 A H 3 166 25 10100110 0100 B A6 4 H 4 1011011 101B 5B A H 1001 0001 0110 0010 0101 BCD 5 100001100011 01000101BCD 863 45 D 1 10 写出下列真值对应的原码 反码和补码 1 1100110B 1100110B 原码 66H 1100110B 反吗 66H 1100110B 补码 66H 2 1000100B 1000100B 原码 C4H 1000100B 反码 BBH 1000100B 补码 BCH 3 86 86 原码 D6H 86 反码 A9H 86 补码 AAH 1 11写出下列机器数分别作为原码 反码和补码时 其表示的真值分别是多少 1 01101110B 110 6EH 2 10110101B 53 35H 74 4AH 75 4BH 1 12 已知 X和 Y的真值 试分别计算 X Y 补 和 X Y 补 并指出是否产生溢 出 设补码均用 8位二进制表示 1 X 1000100B Y 0010010B X补 01000100B Y 补 11101110B X Y 补 0100 0100 1110 1110 1 0011 0010 2 C7 1 C6 1 相同 所以无溢出 X Y 补 C7 0 C6 0 相同 所以无溢出 2 X 1100001B Y 1000010B X Y 补 有溢出 X Y 补 无溢出 3 X 1101001B Y 1010101B X Y 补 有溢出 X Y 补 无溢出 1 13 用十六进制写出下列字符的 ASCII码 1 NBA NBA 4E4241H 2 HELLO 2009 HELLO 2009 48454C4C4F2132303039H 0100 0100 0001 0010 0101 0110 3 第 2章 2 6 80C51单片机的 信号有何功能 在使用 80C31和 89C51单片机时 EA 信号应如何处理 EA 答 是访问外部程序存储器选通信号 当其为低电平时 对 ROM的读操作限 定为外部存储器 当其为高电平时 对 ROM的读操作是从内部开始的 当 PC值大于内部程序存储器地址范围时 CPU 自动转向读外部程序存储器 80C31单片机片内无 ROM 应将 引脚固定接低电平 以迫使系统全EA 部执行片外程序存储器程序 89C51 单片机应将 引脚接 5V 电源 2 9 系统复位后 CPU 使用哪一组工作寄存器 它们的地址是什么 如何改变 当前工作寄存器组 答 系统复位后 CPU 使用 0组寄存器 它们的地址分别是 R0 R7 00H 07H 可以通过改变 PSW寄存器的 PSW 4和 PSW 3两位的值来改变工作寄存器组 2 10 80C51单片机具有很强的布尔 位 处理功能 共有多少单元可以位寻址 采用布尔处理有哪些优点 答 是的 80C51 单片机具有很强的布尔处理功能 在内部 RAM区 20H 2FH的 16个单元都可以位寻址 同时 21个特殊功能寄存器中还有部分特殊功能 寄存器可以位寻址 布尔 位 处理机 是 80C5l系列单片机的突出优点之一 给 面向控制 的实际应用带来了极大的方便 布尔 位 处理机借用进位标志 CY作为位累加器 在布尔运算中 CY 是数 据源之一 又是运算结果的存放处 位数据传送的中心 布尔 位 处理机指令系统中有专门进行位处理的指令集 利用位逻辑操 作功能进行随机逻辑设计 可把逻辑表达式直接变换成软件执行 方法简便 免去了过多的数据往返传送 字节屏蔽和测试分支 大大简化了编程 节省了 存储器空间 加快了处理速度 增强了实时性能 还可实现复杂的组合逻辑处 理功能 所有这些 特别适用于某些数据采集 实时测控等应用系统 2 12 单片机的复位方法有哪两种 复位后各寄存器及 RAM中的状态如何 答 按键复位和外部脉冲复位 单片机复位后 21 个寄存器中 SP 07H P0 P3 均为 FFH SBUF为不定值 其余均为 0 2 13 80C51单片机的 XTAL1 和 XTAL2引脚各有何作用 PSENRDW 4 单片机时钟电路分别采用内部和外部振荡方式时 XTAL1 和 XTAL2引脚应 如何连接 答 是片外程序存储器选通信号 低电平有效 PSEN 片外数据存储器读选通 输出 低电平有效 RD 片外数据存储器写选通 输出 低电平有效 W XTAL1和 XTAL2 内部振荡方式 在 80C51芯片内部有一个高增益反相放大器 其输入端为芯片 引脚 XTALl 其输出端为引脚 XTAL2 当使用芯片内部时钟时 这两根引线用于 外接石英晶体和微调电容 外部振荡方式 把外部已有的时钟信号引入单片机内 该方式适宜用来使单片 机的时钟信号与外部信号保持同步 外部振荡信号由 XTAL1引入 XTAL2 端悬 空不用 5 第 3章 3 7用指令实现下述功能 1 内部 RAM30H单元内容送 R0 MOV R0 30H 2 将立即数 10H送入内部 RAM30H单元 MOV 30H 10H 3 R0 内容送入 R1 MOV A R0 MOV R1 A 4 内部 RAM30H单元内容送外部 RAM30H单元 MOV R0 30H MOV A R0 MOVX R0 A 5 外部 RAM3000H单元内容送内部 RAM30H单元 MOV DPTR 3000H MOVX A DPTR MOV 30H A 6 ROM3000H 单元内容送内部 RAM30H单元 MOV DPTR 3000H MOV A 00H MOVC A A DPTR MOV 30H A 3 8 已知内部 RAM中 30H 40H 40H 50H 50H 5AH 5AH 60H ROM 中 125AH 88H 试分析下面程序的运行结果 并指出每条 指令的源操作数寻址方式 MOV A 50H 直接寻址 MOV R0 A 寄存器寻址 MOV P1 0F0H 立即寻址 MOV R0 30H 直接寻址 MOV DPTR 1200H 立即寻址 MOVX DPTR A 寄存器寻址 MOVC A A DPTR 变址寻址 MOV 40H 50H 直接寻址 MOV P2 P1 直接寻址 程序执行后 P2 F0H 40H 5AH A 88H 1200H 5AH 5AH 40H 6 3 9 设 R1 31H 内部 RAM31H的内容为 68H 32H 单元的内容为 60H A 10H 请指出运行下面的程序后各单元内容的变化 MOV A R1 A 68H MOV R1 32H 31H 60H MOV 32H A 32H 68H MOV R1 45H R1 45H 程序前 3条指令将内部 RAM31H和 32H单元内容互换 3 10 已知当前 PC值为 2000H 用两种方法将 ROM207FH单元中的常数送入累加 器 A 1 MOV DPTR 207FH MOV A 00H MOVC A A DPTR 2 MOV A 7CH MOVC A A PC 3 16 已知延时程序为 DELAY MOV R0 0A0H LOOP1 MOV R1 0FFH LOOP2 NOP DJNZ R1 LOOP2 DJNZ R0 LOOP1 若系统的晶振频率为 12MHz 请指出该延时子程序的延时时间 机器周期数 DELAY MOV R0 0A0H 1 LOOP1 MOV R1 0FFH 1 LOOP2 NOP 1 DJNZ R1 LOOP2 2 DJNZ R0 LOOP1 2 由于晶振频率为 12MHz 1M 1 s 该程序延时时间为 1 1 2 255 2 160 1 122 881ms 7 第 4章 4 13编写程序将内部 RAM40H 60H单元清 0 MOV R7 21H MOV R0 40H LOOP MOV R0 00H INC R0 DJNZ R7 LOOP SJMP 4 15 编程将外部 RAM的 1000H 1FFF 区域的数据送到 2000H 2FFFH 区域 ORG 0100H MOV DPTR 1000H MOVR7 10H LL1 MOVR6 00H LL MOVX A DPTR MOVB A MOVA DPH ADDA 10H MOVDPH A MOVA B MOVX DPTR A MOVA DPH CLRC SUBB A 10H MOVDPH A INCDPTR DJNZ R6 LL INCDPH DJNZ R7 LL1 SJMP 4 16已知一内部 RAM以 BLOCK1和 BLOCK2为起始地址的存储区中分别有 5字节 无符号被减数和减数 低位在前 高位在后 请编写减法子程序令它们相减 并把差放入以 BLOCK1为起始地址的存储单元 BLOCK1 EQU 30H BLOCK2 EQU 40H ORG 0000H 8 LJMP START START MOV R0 BLOCK1 MOV R1 BLOCK2 MOV R7 1 LP MOV R6 5 CLR C LP1 MOV A R0 SUBB A R1 MOV R0 A INC R0 INC R1 DJNZ R6 LP1 DJNZ R7 LP SJMP END 4 17 从内部 RAM20H单元开始存有一组带符号数 其个数已存放在 1FH单元中 要求统计出大于 0 等于 0和小于 0的数的数目 并把统计结果分别存放在 ONE TWO THREE 三个单元中 ONE EQU 1EH TWO EQU 1DH THREE EQU 1CH ORG 0000H LJMP START START MOV ONE 00H MOV TWO 00H MOV THREE 00H MOV R0 20H MOV R7 1FH LOOP3 MOV A R0 INC R0 JZ LOOP1 JB ACC 7 LOOP2 INC ONE SJMP HALT LOOP1 INC TWO SJMP HALT LOOP2 INC THREE HALT DJNZ R7 LOOP3 SJMP 4 18 设内部 RAM30H单元有两个非零的 BCD数 请编写求两个 BCD数的积 并 将积以压缩型 BCD数形式送入 31H单元的程序 ORG 0000H MOVA 30H ANLA 0F0H SWAP A 9 MOVB A MOVA 30H ANLA 0FH MULA B MOVB 0AH DIVAB SWAP A ORLA B MOV31H A SJMP 4 20 编制绝对值函数程序 绝对值函数方程如下 假设 X存于 30H单元 Y 存于 40H单元 X 及 Y均为补码数 X EQU 30H Y EQU 40H ORG 0000H LJMP START START MOV A X JZ LOOP JNB ACC 7 LOOP CPL A ADD A 01H LOOP MOV Y A SJMP END 4 21 试编写统计数据区长度的程序 设数据区从内 RAM30H开始 该数据区以 0结束 统计结果送人 2FH中 且数据区结束字符 也计入统计数据区的长度 中去 ORG 0000H LJMP START START MOV R0 30H MOV R7 00H LOOP MOV A R0 INC R0 INC R7 CJNE A 00H LOOP MOV 2FH R7 SJMP 00当 当当 10 4 23巳知 R7中为 2位十六进制数 试编程将其转换为 ASCII码 存人内部 RAM 31H 32H 中 低字节在前 英文字母为大写 ORG 0000H LJMP START START MOV SP 60H MOV A R7 LCALL BCDASCII MOV 31H A MOV A R7 SWAP A LCALL BCDASCII MOV 32H A SJMP BCDASCII ANL A 0FH CJNE A 10 LOOP LOOP JC AD30H ADD A 07H AD30H ADD A 30H HT RET END 解法 2 ORG 0000H LJMP START START MOV DPTR TAB MOV A R7 ANL A 0FH MOVC A A DPTR MOV 31H A MOV A R7 ANL A 0F0H SWAP A MOVC A A DPTR MOV 32H A SJMP TAB DB30H 31H 32H 33H 34H 35H 36H 37H 38H DB 39H 41H 42H 43H 44H 45H 46H END 4 24设在 MA和 MB单元中有两个补码形式的 8位二进制带符号数 请编写求两 数之和并把它放在 SUML和 SUMH单元 低 8位在 SUML单元 的子程序 提示 在两个 8位二进制带符号数相加时 其和很可能会超过 8位数所能表示 的范围 从而需要采用 16位数形式来表示 因此 在进行加法时 可以预先把 这两个加数扩张成 16位二进制补码形式 然后对它完成双字节相加 ORG 0000H LJMP START 11 START MOV A MA JB ACC 7 LLA MOV R7 00H SJMP LLL LLA MOV R7 0FFH LLL MOV A MB JB ACC 7 LLB MOV R6 00H SJMP LADD LLB MOV R6 0FFH LADD MOV A MA ADD A MB MOV SUML A MOV A R6 ADDC A R7 MOV SUMH A SJMP 4 25 设外部 RAM1000H 10FFH 数据区中的数均为无符号数 试编写程序 找出 该区域中的数的最大值 并放人内部 RAM30H单元中 MOVDPTR 1000H MOVR7 00H 计数器 MOVB 00H 放中间结果 L1 MOVX A DPTR CJNE A B L2 L2 JC L3 MOVB A B中放大值 L3 INCDPTR DJNZ R7 L1 MOV30H B SJMP 4 28 已知 a b c 均为 0 9 的整数 试编程求解表达式 Y a b 2 b c 2 c a 2的值 AA EQU 31H BB EQU 32H CC EQU 33H Y EQU 34H ORG 0000H LJMP START START MOV SP 60H MOV A AA CLR C SUBB A BB 12 ACALL CHUNCI MOV R6 A MOV A BB CLR C SUBB A CC ACALL CHUNCI ADD A R6 MOV R6 A MOV A CC CLR C SUBB A AA ACALL CHUNCI ADD A R6 MOV R6 A MOV Y R6 SJMP CHUNCI JNB ACC 7 SQR CPLA ADDA 01H SQR ADD A 01H MOVC A A PC RET SQRTAB DB 0 1 4 9 16 25 36 49 64 81 4 29 从内部 RAM的 SCORE单元开始放有 16位同学某门课程的考试成绩 试编 程求平均成绩 存入 AVERAGE单元 ORG 0100H MOVR5 00H MOVR6 00H MOVR0 SCORE MOVR7 16 LL MOVA R0 ADDA R5 MOVR5 A MOVA R6 ADDC A 00H MOVR6 A INCR0 DJNZ R7 LL MOVR4 04H LL1 CLRC MOVA R6 RRCA MOVR6 A 13 MOVA R5 RRCA MOVR5 A DJNZ R4 LL1 MOVAVERAGE R5 SJMP 第 5章 5 8 80C51外扩 ROM时 为什么 P0口要接一个 8位锁存器 而 P2口却不接 答 P0 口既作为地址线传送地址的低 8位 又要作为数据线传送 8位数据 只 能分时用做地址线 故 P0口输出的低 8位地址数据必须用锁存器锁存 锁存器 的锁存控制信号为引脚 ALE输出的控制信号 P2 口只用作地址高 8位 5 9 若要设计一个 32K 8位的外 RAM存储器 分别采用 2114 1K 4 位 和 6264 8K 8 位 芯片 各需多少块存储芯片 答 2114 芯片需要 8 4 32 1 64 片 6264芯片需要 32 8 4 片 5 12 80C51扩展 2片 6264存储器芯片 试用 P2 6 P2 7 对其片选 并指出它 们的地址范围 答 地址范围 6264 1 10 0 0000 0000 0000 0000 1 1111 1111 1111 1111 8000H 9FFFH 6264 2 01 0 0000 0000 0000 0000 1 1111 1111 1111 1111 4000H 5FFFH1 2 3 4 5 6 A B C D 6 5 4 3 2 1 DCBA Titl e Num ber Rev isio n SizeBDat e 14 Ma r 20 06 She et of File C P RO GR AM FIL ES DE SIG N E XPL OR ER 99 S E E XA MP LES 626 4 4 000 H D DB Dra wn By P0 0 39 P0 1 38 P0 2 37 P0 3 36 P0 4 35 P0 5 34 P0 6 33 P0 7 32 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 RD 17 WR 16 AL E P 30 803 1 A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9 24 A10 21 A11 23 A12 2 CS1 20WE 27 OE22 D0 11 D1 12 D2 13 D3 15 D4 16 D5 17 D6 18 D7 19 626 4 1 A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9 24 A10 21 A11 23 A12 2 CS1 20WE 27 OE22 D0 11 D1 12 D2 13 D3 15 D4 16 D5 17 D6 18 D7 19 626 4 2 E1 G 11 1D 3 1Q 2 2D 4 2Q 5 3D 7 3Q 6 4D 8 4Q 9 5D 13 5Q 12 6D 14 6Q 15 7D 17 7Q 16 8D 18 8Q 19 74L 373 A 1 B 2 C 3 E3 6 E1 4 E2 5 Y0 15 Y1 14 Y2 13 Y3 12 Y4 11 Y5 10 Y6 9 Y7 7 74L S13 8 5V 14 15 第 6章 6 1 输入 输出信息有哪几种 答 通过接口传送的信息包括数据信息 状态信息和控制信息 6 2 什么是接口 接口应具有哪些功能 接口是将外设连接到总线上的一组逻辑电路的总称 功能 1 地址译码与设备选择 2 缓冲锁存数据 3 信息的输入输出 4 信息转换 6 7 什么是中断源 80C51 有哪些中断源 CPU 响应中断时 其入口地址是什么 答 能引起中断的外部设备或内部原因称为中断源 包括外部中断源和内部中 断源 80C51中有 5个中断源 1 P3 2 外部中断 0 0INT 2 P3 3 外部中断 1 3 TF0 P3 4 定时器 计数器 T0溢出中断 4 TF1 P3 5 定时器 计数器 T1溢出中断 5 RX TX 串行中断 入口地址 外部中断 0 0003HINT 定时器 计数器 0 T0 000BH 外部中断 1 0013HI 定时器 计数器 1 T1 001BH 串行口 RI TI 0023H 定时器 计数器 2 T2 仅 80C52有 002BH 6 11 80C51的外部中断有哪几种触发方式 如何选择 16 答 有电平触发方式和边沿触发方式 通过对 ICON寄存器的 D0位 IT0和 D2位 IT1置位或清 0实现 该为为 0 为低电平触发方式 该位为 1 为下降沿触发方式 第 7章 7 8 8255A各端口可以工作在几种方式下 当端口 A工作在方式 2时 端口 B 和 C工作于什么方式下 答 8255A 共有三种工作方式 方式 0 方式 1和方式 2 其中 A口可以工作在 方式 0 方式 1和方式 2 B 口可以工作在方式 0 方式 1 而 C口只能工作在 方式 0 在 A口工作在方式 2时 B 口可以工作在方式 0或方式 1 C 口高 5位为 A 口提供联络信号 C 口低 3位可作为输入输出线使用或用作 B口方式 1之下的 控制线 7 9 某 8255A芯片的地址范围为 7F80H 7F83H 工作于方式 0 A 口 B 口为输 出口 C 口低 4位为输入 高 4位为输出 试编写初始化程序 MOV DPTR 7F83H MOV A 1000 0001B MOVX DPTR A 7 11 8255A的方式控制字和 C口按位置位 复位控制字都可以写入 8255A的同 一控制寄存器 8255A 是如何区分这两个控制字的 答 看控制字的最高位 D7 如果该位的值为 1 则认为是方式控制字 反之 则认为是 C口置位 复位控制字 7 12 编写程序 采用 8255A的 C口按位置位 复位控制字 将 PC7置 0 PC4 置 1 已知 8255A各端口的地址为 7FFCH 7FFFH MOV DPTR 7FFFH MOV A 0EH MOVX DPTR A MOV DPTR 7FFFH MOV A 09H MOVX DPTR A 7 13 设 8255A接到系统中 端口 A B C 及控制口地址分别为 220H 221H 222H 及 223H 工作在方式 0 试编程将端口 B的数据输入 后 从端口 C输出 同时 将其取反后从端口 A输出 MOV DPTR 223H MOV A 82H MOVX DPTR A 17 MOV DPTR 221H MOVX A DPTR INC DPTR MOVX DPTR A CPL A MOV DPTR 220H MOVX DPTR A SJMP 第 8章 8 3 定时器 T1用于对外部脉冲计数 每计满 1000个脉冲后使内部 RAM 60H单 元内容加一 要求 T1以方式 1中断实现 TR1 启动 解 计数常数为 TC 2 16 1000 64536 FC18H 由于采用 T1方式 1 计数方式 故方式控制字为 0101 0000B 50H 程序如下 ORG 0000H AJMP MAIN ORG 001BH LJMP T1INT ORG 0200H MAIN MOV TMOD 50H MOVTH1 0FCH MOVTL1 18H SETB ET1 SETB EA SETB TR1 SJMP ORG0800H T1INT INC 60H MOVTH1 0FCH MOVTL1 18H RETI 8 4 利用定时器 T0方式 2产生一个 5KHz的方波 已知晶振频率为 12MHz 解 方波的周期为 1 5000 0 2ms 故 T0定时时间应为 0 1ms 定时常数为 CHTC915601 01 02638 即 TCH 9CH TCL 9CH 由 T0工作于方式 2 故方式控制字为 02H 1 查询方式 ORG 0000H AJMP MAIN ORG 0200H 18 MAIN MOVTMOD 02H MOVTH0 9CH MOVTL0 9CH CLR ET0 SETB TR0 WATT JBC TF0 WAVE SJMP WATT WAVE CPL P1 7 SJMP WATT 2 中断方式 ORG0000H AJMP MAIN ORG000BH LJMP T0INT ORG 0200H MAIN MOVTMOD 02H MOVTH0 9CH MOVTL0 9CH SETB ET0 SETB EA SETB TR0 SJMP ORG0800H T0INT CPL P1 7 RETI 8 5 试编写程序 使 T0以方式 1每隔 10ms向 CPU发出中断申请 在中断服务 程序中将 30H单元内容减 1 设晶振频率为 12MHz 解 计数常数为 HFDTC 08536106532 002316 由于采用 T0方式 1 定时方式 故方式控制字为 0000 0001B 01H 程序如下 ORG 0000H AJMP MAIN ORG 000BH LJMP T0INT ORG 0200H MAIN MOV TMOD 01H MOVTH0 0D8H MOVTL0 F0H SETB ET0 SETB EA 19 SETB TR0 SJMP ORG0800H T0INT DEC 30H MOVTH0 0D8H MOVTL0 F0H RETI 第 10章 10 11 DAC0832在逻辑上由哪几部分组成 可以工作在哪几种模式下 答 输入寄存器 转换寄存器和 D A转换器三部分组成 单缓冲 双缓冲和直通方式 10 12 某 8位 D A转换器 输出电压为 0 5V 当输入数字量为 30H时 其对 应的输出电压是多少 解 X 48 5 0 255 0 X 5 48 255 0 94V 10 13 DAC0832与 80C51单片机连接时有哪些控制信号 它们的作用是什么 答 ILE 输入锁存允许 片选信号 CS 写输入寄存器1WR 上述三个信号用于把数据写入到输入寄存器 写 DAC寄存器2 允许输入寄存器的数据传送到 DAC寄存器XFER 上述二个信号用于启动转换 10 16 ADC0809是什么功能的芯片 答 模数转换芯片
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!