版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、此文档来源于网络,如有侵权请联系网站删除单片机原理及应用(第3 版)习题参考答案姜志海黄玉清刘连鑫编著电子工业出版社目录第 1 章 概述 . . 2第 2 章 MCS 51 系列单片机硬件结构 . 4第 3 章 MCS 51 系列单片机指令系统 . 8第 4 章 MCS 51 系列单片机汇编语言程序设计 . 11 第 5 章 MCS 51 系列单片机硬件资源的应用 . 16 第 6 章 MCS 51 系列单片机并行扩展接口技术 . 20 第 7 章 MCS 51 系列单片机串行总线扩展技术 . 25 第 8 章 单片机应用系统设计 . 27 只供学习沟通用此文档来源于网络,如有侵权请联系网站删
2、除第 1 章 概述1简述微型运算机的结构及各部分的作用 微型运算机在硬件上由运算器、掌握器、储备器、输入设备及输出设备五大部分组成;运算器是运算机处理信息的主要部分;掌握器掌握运算机各部件自动地、和谐一样地工作;存 储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将运算机的处理结果用数 字、图形等形式表示出来;通常把运算器、掌握器、储备器这三部分称为运算机的主机,而输入、输出设备就称为运算机 的外部设备(简称外设) ;由于运算器、掌握器是运算机处理信息的关键部件,所以常将它们合称为中心处理单元CPU(Central Process Unit);2微处理器、微型运算机、微型运算机
3、系统有什么联系与区分?微处理器是利用微电子技术将运算机的核心部件(运算器和掌握器)集中做在一块集成电路上 的一个独立芯片;它具有说明指令、执行指令和与外界交换数据的才能;其内部包括三部分:运算 器、掌握器、内部寄存器阵列(工作寄存器组);微型运算机由 CPU、储备器、输入 / 输出( I/O )接口电路构成,各部分芯片之间通过总线(Bus)连接;以微型运算机为主体,配上外部输入 运算机系统;/ 输出设备、电源、系统软件一起构成应用系统,称为微型3简述在微型运算机中的地址总线、数据总线和掌握总线的作用;所谓总线,就是在微型运算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线;运算机元件级
4、总线包括地址总线 AB( Address Bus)、数据总线 DB(Data Bus)、掌握总线 CB(Control Bus)三种;(1)地址总线:地址总线是 CPU用来向储备器或 I/O 接口传送地址信息的,是三态单向总线;地址总线的宽度打算了 CPU可直接寻址的内存容量;通过地址总线确定要操作的储备单元或 I/O 接口的地址;(2)数据总线:数据总线是 CPU与储备器及外设交换数据的通路,是三态双向总线;(3)掌握总线:掌握总线是用来传输掌握信号的,传送方向依据详细掌握信号而定,如 CPU向储备器或 I/O 接口电路输出读信号、写信号、地址有效信号,而 I/O 接口部件向 CPU输入复位
5、信号、中断恳求信号等;4微型运算机是以 CPU为核心,配上(储备器) 、(输入 / 输出接口)和系统总线组成的运算机;5在运算机内部,一切信息的存取、处理和传递的形式是(C );AASCII 码 BBCD码 C二进制 D十六进制609 的 ASCII 码是( C );A09 B3039 C 30H39H D40H49H 只供学习沟通用此文档来源于网络,如有侵权请联系网站删除7假设某CPU含有 16 根地址线, 8 根数据线,就该CPU的最大寻址才能是多少KB?64KB 8简述单片机的定义、特点、应用领域和进展方向;定义:它采纳肯定的工艺手段将CPU、储备器和I/O 口集成在一个芯片上;特点:
6、单片机 CPU的抗干扰性强,工作温度范畴宽,而通用微机 扰才能较弱;CPU一般要求在室温下工作,抗干 单片机 CPU牢靠性强,在工业掌握中,任何差错都有可能造成极其严峻的后果; 单片机 CPU掌握功能往往很强,数值运算才能较差,而通用微机CPU具有很强的数值运算能力,但掌握才能相对较弱,将通用微机用于工业掌握时,一般需要增加一些专用的接口电路; 单片机 CPU指令系统比通用微机系统简洁; 单片机 CPU更新换代速度比通用微机处理器慢得多;应用领域:单片机在智能外表中的应用 单片机在机电一体化中的应用 单片机在实时掌握中的应用 在军工领域的应用 单片机在分布式多机系统中的应用 在民用电子产品中的
7、应用 进展趋势: CPU的改进 储备器的进展 片内 I/O 口的改进 一般单片机都有较多的并行口,以满意外围设备、芯片扩展的需要,并配以串行口,以满意对 多机通信功能的要求; 提高并行口的驱动才能;这样可削减外围驱动芯片;有的单片机直接输出大电流和高电压,以便能直接驱动 LED和 VFD(荧光显示器)等; 增加 I/O 口的规律掌握功能;中、高档单片机的位处理系统能够对 I/O 口线进行位寻址及位 I/O 口线掌握的敏捷性;操作,这加强了 特别的串行接口功能;为单片机构成网络系统供应更便利的条件;外围电路内装化 低功耗与工作电压范畴加宽 低噪声与高牢靠性技术 ISP 及 IAP 只供学习沟通用
8、此文档来源于网络,如有侵权请联系网站删除第 2 章 MCS 51 系列单片机硬件结构 1MCS 51 系列单片机内部有哪些主要的规律部件?MCS 51 单片机是在一块芯片上集成了CPU、RAM、ROM、定时器 / 计数器和多种I/O 功能部件,具有了一台微型运算机的基本结构,主要包括以下部件:一个 8 位的 CPU、一个布尔处理机、一个片内振荡器、128B 的片内数据储备器、4KB的片内程序储备器( 8031 无)、外部数据储备器和程序储备器的寻址范畴为64KB、21 个字节的专用寄存器、4 个 8 位并行 I/O 接口、一个全双工的串行口、2 个 16 位的定时器 / 计数器、 5 个中断源
9、、 2 个中断优先级、 111.条指令、片内采纳单总线结构;2MCS51 单片机设有 4 个 8 位并行端口,实际应用中 8 位数据信息由哪个端口传送?16 位地址线怎样形成?P3 口有何功能?8 位数据信息由 P0口传送;P2 口形成地址大高 8 位, P0 口结果锁存器形成地址的低 8 位;P3 口除具有一般的输入 / 输出功能,仍具有第 2 功能:P3.0 RXD 串行口输入端P3.1 TXD 串行口输出端P3.2 INT0 外部中断 0 恳求输入端,低电平有效P3.3 INT1 外部中断 1 恳求输入端,低电平有效P3.4 T0 定时器 / 计数器 0 计数脉冲输入端P3.5 T1 定
10、时器 / 计数器 1 计数脉冲输入端P3.6 WR 外部数据储备器及 I/O 接口写选通信号输出端,低电平有效P3.7 RD 外部数据储备器及 I/O 接口读选通信号输出端,低电平有效3MCS 51 单片机内部 RAM区的功能结构如何安排?4 组工作寄存器使用时如何挑选?位寻址区域的字节范畴是多少?MCS 51 单片机片内RAM共有 128B,字节范畴为00H7FH,可分为工作寄存器区、位寻址区、数据缓冲区共3 个区域;(1)工作寄存器区00H1FH单元为工作寄存器区;工作寄存器也称通用寄存器,用于暂时寄存 8 位信息;工作寄存器分成 4 组,每组都是 8 个寄存器,用 R0R7 来表示;程序
11、中每次只用一组,其余各组不工作;使用哪一组寄存器工作,由程序状态字 关系如表所示;PSW中的 PSW.3(RS0)和 PSW.4(RS1)两位来挑选,其对应工作寄存器组的挑选表只供学习沟通用PSW.4RS1 PSW.3RS0 当前使用的工作寄存器组该 区 域R0R7 0 0 0 组( 00H07H)当 不 被0 1 1 组( 08H 0FH)用 做 工1 0 2 组( 10H17H)1 1 3 组( 18H 1FH)此文档来源于网络,如有侵权请联系网站删除作寄存器时,可以作为一般的 RAM区使用;(2)位寻址区20H2FH 单元是位寻址区;这 16 个单元(共计 16 8 = 128 位)的每
12、一位都给予了一个位地址,位地址范畴为 00H7FH;位地址区的每一位都可当做软件触发器,由程序直接进行位处理;通常可以把各种程序状态标志、位掌握变量存入位寻址区内;0 组00H 07H1 组04 03 02 01 00 工 作 寄08H 0FH2 组存器区10H 17H 18H 1FH3 组20H 07 06 05 0F 0E 0D 0C 0B 0A 09 08 位21H 17 16 15 14 13 12 11 10 22H 1F 1E 1D 1C 1B 1A 19 18 23H 27 26 25 24 23 22 21 20 24H 2F 2E 2D 2C 2B 2A 29 28 寻25H
13、 26H 37 36 35 34 33 32 31 30 27H 3F 3E 3D 3C 3B 3A 39 38 址28H 47 46 45 44 43 42 41 40 29H 4F 4E 4D 4C 4B 4A 49 48 2AH 57 56 55 54 53 52 51 50 2BH 区5F 5E 5D 5C 5B 5A 59 58 2CH 67 66 65 64 63 62 61 60 2DH 6F 6E 6D 6C 6B 6A 69 68 2EH 77 76 75 74 73 72 71 70 2FH 7F 7E 7D 7C 7B 7A 79 78 数 据 缓30H 7FHRAM区使
14、用;冲区该区域当不被用做位寻址区时,可以作为一般的(3)数据缓冲区30H7FH是数据缓冲区,即用户 RAM,共 80 个单元;由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令拜访,这三个区的单元既有自己特殊的功能,又可统一调度使用;因此,前两个区未使用的单元也可作为用户 RAM单元使用,使容量较小的片内 RAM得以充分利用;4简述程序状态字 PSW中各位的含义;程序状态字 PSW是一个 8 位寄存器,它储存指令执行结果的特点信息,为下一条指令或以后的指令的执行供应状态条件;PSW中的各位一般是在指令执行过程中形成的,但也可以依据需要采纳传送指令加以转变;其各位定义如下列图;PSW
15、.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 C AC F0 RS1 RS0OV P 进位标志C(PSW.7)在执行某些算术运算类、规律运算类指令时,可被硬件或软件置位或清零;它表示运算结果是否有进位或借位;假如在最高位有进位(加法时)或借位(减法时)帮助进位(或称半进位)标志位 AC(PSW.6),就 C = 1 ,否就 C = 0 ;它表示两个8 位数运算,低4 位有无进(借)位的状况;当低4 位相加(或相减)时,如D3 位只供学习沟通用此文档来源于网络,如有侵权请联系网站删除 向 D4位有进位(或借位) ,就 AC = 1 ,否就 AC = 0
16、 ;在 BCD码运算的十进制调整中要用到该标志;用户自定义标志位F0(PSW.5)F0 = 1或 0 来决用户可依据自己的需要为F0 给予肯定的含义,通过软件置位或清零,并依据定程序的执行方式,或系统某一种工作状态;工作寄存器组挑选位 RS1、RS0( PSW.4、 PSW.3)可用软件置位或清零,用于选定当前使用的 溢出标志位 OV(PSW.2)4 个工作寄存器组中的某一组;做加法或减法时由硬件置位或清零,以指示运算结果是否溢出;在带符号数加减运算中,OV = 1表示加减运算超出了累加器所能表示的数值范畴(错误的; OV = 0 表示运算正确,即无溢出产生;128 +127),即产生了溢出,
17、因此运算结果是执行乘法指令MUL AB也会影响 OV标志,当积大于255 时, OV = 1 ,否就 OV = 0 ;执行除法指令 DIV AB 也会影响 OV标志,如 B中所存放的除数为 奇偶标志位 P(PSW.0)0,就 OV = 1 ,否就 0V = 0 ;在执行指令后,单片机依据累加器 A 中 1 的个数的奇偶自动将该标志置位或清零;如 A 中 1 的个数为奇数,就 P = 1 ,否就 P = 0 ;该标志对串行通信的数据传输特别有用,通过奇偶校验可检验传输的牢靠性;5简述 MCS51 单片机程序储备器的几个特别入口地址的含义;0000H:程序入口地址0003H:外部中断 0 中断服务
18、程序入口地址000BH:定时器 / 计数器 0 溢出中断服务程序入口地址0013H:外部中断 1 中断服务程序入口地址001BH:定时器 / 计数器 1 溢出中断服务程序入口地址0023H:串行口发送 / 接收中断服务程序入口地址6位地址 7FH与字节地址 7FH有何区分?位地址 7FH详细在内存中的什么位置?二者储备的数据位数不一样;位地址 7FH存放一位二进制数,字节地址 7FH存放 8 为二进制数;位地址 7FH详细在内存中字节地址为 20H的最高位上;7试分别说明程序计数器 PC和堆栈指针 SP的作用;复位后 PC和 SP各为何值?程序计数器 PC 是一个 16 位专用寄存器,其内容表
19、示下一条要执行的指令的地址;复位后为0000H;MCS 51 单片机的堆栈是在片内 RAM中开创的一个专用区;堆栈指针 SP是一个 8 位专用寄存器,用来存放栈顶的地址;进栈时,SP自动加 1,将数据压入 SP 所指定的地址单元;出栈时,将 SP所指示的地址单元中的数据弹出,然后 SP自动减 1;因此 SP总是指向栈顶;复位后为 07H;8MCS 51 单片机设置 4 组工作寄存器,开机复位后,CPU使用的是哪组寄存器?它们的地址如何? CPU如何转变当前工作寄存器组?第 0 组;字节地址为 00H07H;只供学习沟通用此文档来源于网络,如有侵权请联系网站删除 通过 PSW的 RS1、RS0来
20、转变;工作寄存器组的挑选表PSW.4RS1 PSW.3RS0 当前使用的工作寄存器组R0 R7 0 0 0 组( 00H07H)0 1 1 组( 08H0FH)1 0 2 组( 10H17H)1 1 3 组( 18H1FH)9什么是时钟周期、机器周期和指令周期?当外部的振荡频率是 周期为多少?MCS 51 单片机的时序由下面 4 种周期构成;(1)振荡周期 振荡周期是指为单片机供应定时信号的振荡源的周期;(2)状态周期(时钟周期)8MHz时, 8051 单片机的机器两个振荡周期为一个状态周期,用 S 表示; 两个振荡周期作为两个节拍分别称为节拍 P1和节拍P2;在状态周期的前半周期 P1 有效
21、时,通常完成算术规律运算;在后半周期 P2 有效时,一般进行内部寄存器之间的传输;(3)机器周期CPU 执行一条指令的过程可以划分为如干阶段,每一阶段完成某一项基本操作,如取指令、存储器读 / 写等;通常把完成一个基本操作所需要的时间称为机器周期;(4)指令周期指令周期是指执行一条指令所占用的全部时间,它以机器周期为单位;MCS51 系列单片机除乘法、除法指令是 4 机器周期指令外, 其余都是单周期指令和双周期指令;如用 12MHz晶体振荡器 (晶振),就单周期指令和双周期指令的指令周期时间分别是 1 s 和 2 s,乘法和除法指令为 4 s;通过上面的分析,我们可以看出,外部晶振的二分频是
22、MCS 51 单片机的内部时钟周期,6 个时钟周期构成了单片机的机器周期;假如单片机的外部晶振是8MHz,就其内部的机器周期是1.5 s;12已知 PSW = 10H,就工作寄存器只供学习沟通用R0的地址是 10H ,R4的地址是 14H ;此文档来源于网络,如有侵权请联系网站删除第 3 章 MCS 51 系列单片机指令系统1拜访外部数据储备器和程序储备器可以用哪些指令来实现?举例说明;拜访外部数据储备器:MOVXA,DPTR MOVXDPTR,A MOVXA,Ri MOVXRi,A 拜访程序储备器 : MOVCA,A+DPTR MOVCA,A+PC 2设堆栈指针 SP中的内容为 60H,内部
23、 RAM中 30H 和 31H 单元的内容分别为 24H 和 10H,执行以下程序段后,61H、62H、30H、31H、DPTR及 SP的内容将有何变化?PUSH 30H PUSH31H POP DPL POP DPH MOV 30H, #00H MOV 31H,#0FFH 61H=24H 62H=10H 30H=00H 31H=0FFH DPTR=2410H SP=60H 3设 A = 40H,R1 = 23H , 40H = 05H ;执行以下两条指令后,累加器A和 R1以及内部RAM中 40H 单元的内容各为何值?XCH A,R1 XCHDA,R1 A=25H R1=40H 40H=03
24、H 4设 A = 01010101B,R5 = 10101010B,分别写出执行ANL A,R5;ORL A,R5; XRL A, R5指令后的结果;00000000B 11111111B 11111111B 5简述转移指令 AJMP addr11 ,SJMP rel ,LJMP addr16 及 JMP A + DPTR的应用;AJMP addr11 :2K 范畴内的转移;SJMP rel :256 字节复位内的转移;LJMP addr16 :64K 范畴内的转移;JMP A + DPTR:在某一地址开头的256 字节范畴内的转移;6试用三种方法实现累加器A 和寄存器 B 的内容交换 ;1
25、MOV R0,A 2 MOV A,B MOV B,R0 PUSH A 3 PUSH B POP A POP B MOV R0,B XCH A,R0 只供学习沟通用此文档来源于网络,如有侵权请联系网站删除MOV B,R0 7写出实现以下要求的指令或程序片段;(1)将内部RAM20H单元内容与累加器A内容相加,结果存放在20H单元中;RAM31H单元中;(2)将内部RAM30H单元内容与内部RAM31H单元内容相加,结果存放到内部(3)将内部RAM20H单元内容传送到外部RAM2022H单元中;(4)使内部RAM20H单元的 D7和 D3位清零,其他位保持不变;(5)使内部RAM20H单元的 D7
26、和 D3位置 1,D5位清零,其他位保持不变;(6)使内部RAM20H单元的 D7和 D3位置 1,D5位取反,其他位保持不变;1 ADD A,20H 2 MOV 20H,A MOV A,30H 3 ADD A,31H MOV 31H,A MOV A,20H 4 MOV DPTR,#2022H MOVX DPTR,A CLR 03H CLR 07H 或:5 ANL 20H,#01110111B SETB 03H SETB 07H CLR 05H 或:6 ORL 20H,#10001000B ANL 20H,#11011111B SETB 03H SETB 07H CPL 05H 或:ORL 2
27、0H,#10001000B XRL 20H,#00100000B 8试分析以下程序段执行后,A = ?, 30H = ?MOV 30H,#0A4H MOV A,#0D6H MOV R0,#30H MOV R2,#5EH ANL A,R2 ORL A,R0 SWAP A CPL A XRL A,#0FEH ORL 30H,A A=6EH 30H=0EFH 9设片内 RAM30H = 0EH,执行下面的程序后,MOV R0,#30H 只供学习沟通用A= ?,指出该程序完成的功能;此文档来源于网络,如有侵权请联系网站删除MOV A,R0 RL A MOV B,A RL A RL A ADD A,B
28、=8CH 功能:将30H中的内容 *10 操作,结果在累加器A中;只供学习沟通用此文档来源于网络,如有侵权请联系网站删除第 4 章 MCS 51 系列单片机汇编语言程序设计1编程将片内 RAM 30H 39H单元中的内容送到以 3000H为首的储备区中;MOV R0,#30H MOV DPTR,#3000H MOV R7,#10 L1:MOV A,R0 MOVX DPTR,A INC R0 INC DPTR DJNZ R7,L1 RET 2片内 RAM 60H开头存放 20 个数据,试统计正数、负数及为零的数据个数,并将结果分别存在 50H、 51H、52H 单元中;L3: MOV 50H,#
29、0 MOV 51H,#0 MOV 52H,#0 MOV R7,#20 MOV R0,#60H MOV A,R0 L2:JZ L1 JB ACC.7,L2 INC 50H SJMP LEND INC 51H L1:SJMP LEND INC 52H LEND: INC R0 DJNZ R7,L3 RET 3设 10 次采样值依次放在片内RAM 50H59H 的连续单元中,试编程去掉一个最大值、去掉一个最小值,求其余 8 个数的平均值,结果存放在 60H 中;MOV R0,#50H ; 最大值MOV A,R0 MOV R7,#9 INC R0 L1: CLR C MOV B,A SUBB A,R0
30、 MOV A,B JNC L2 XCH A,R0 L2: INC R0 DJNZ R7,L1 MOV R0,#51H ; 最小值MOV A,R0 MOV R7,#8 INC R0 只供学习沟通用此文档来源于网络,如有侵权请联系网站删除L1: CLR C L4: MOV B,A SUBB A,R0 MOV A,B JN L4 XCH A,R0 INC R0 L5:DJNZ R7,L3 MOV R3,#0 ; 求和MOV R4,#0 MOV R7,#8 MOV R0,#52H MOV A,R4 ADD A,R0 MOV R4,A MOV A,R3 ADDC A,#0 MOV R3,A INC R0
31、 DJNZ R7,L5 MOV A,R4 ; 平均值SWAP A RL A MOV B,A MOV A,R3 RR A RR A RR A ANL A,#00011111B ORL A,B MOV 60H,A RET 4编写程序将R4、R5、R6中的 3 个字节数据对半分解成6 个字节, 存入显示缓冲区 ( DISMEM0DISMEM5);MOV A,R6 LCALL CL MOV DISMEM0,R0 MOV DISMEM1,R1 MOV A,R5 LCALL CL MOV DISMEM2,R0 MOV DISMEM3,R1 MOV A,R4 LCALL CL MOV DISMEM4,R0
32、MOV DISMEM5,R1 RET CL: MOV B,A ANL A,#0FH MOV R0,A MOV A,B ANL A,#0F0H 只供学习沟通用此文档来源于网络,如有侵权请联系网站删除SWAP A MOV R1,A RET 5试编程把以2022H为首地址的连续10 个单元的内容按升序排列,存放到以3000H为首地址的储备区中;MOV DPTR,#2022H ; 读到片内 30H开头的单元MOV R0,#30H ;排序MOV R7,#10 L1: MOVX A,DPTR MOV R0,A INC DPTR INC R0 DJNZ R7,L1 START: CLR 00H CLR C
33、;送到片外3000H开头的单元MOV R7,#9 MOV R0,#30H MOV A,R0 L3:INC R0 MOV R2,A SUBB A,R0 MOV A,R2 JC NEXT SETB 00H XCH A,R0 DEC R0 MOV R0,A INC R0 NEXT: MOV A,R0 DJNZ R7,L3 JB 00H,START MOV DPTR,#3000H MOV R0,#20H MOV R7,#10 L2: MOV A,R0 MOVX DPTR,A INC DPTR INC R0 DJNZ R7,L2 RET 6设片内 30H 单元开头,连续存放 2 个字节二进制数,试分别将
34、其转换为 BCD码,并以压缩BCD码格式连续存放在以 60H 为首地址的储备区中,低位字节存放在低地址单元中;DBCD: MOV R0,30H MOV A,R0 MOV R6,A MOV R1,60H MOV A,R1 MOV R7,A MOV R2,#2 INC R2 CLR A 只供学习沟通用此文档来源于网络,如有侵权请联系网站删除BB0: MOV R1, A BB3: INC R1 DJNZ R2,BB0 MOV R3,#16 MOV A,R6 BB1: MOV R0,A MOV R2,#2 CLR C MOV A,R0 BB2: RLC A MOV R0, A INC R0 DJNZ
35、R2,BB1 MOV R2,#2 INC R2 MOV A,R7 MOV R1,A MOV A,R1 ADDC A,R1 DA A MOV R1, A INC R1 DJNZ R2,BB2 DJNZ R3,BB3 RET 7设片内 RAM中从 20H 开头的单元,连续存放10 个非压缩 BCD码,试将其转换为ASCII 码,存放到片内50H 开头的单元中;MOV R0,#20H MOV R1,#50H MOV R7,#10 L1: MOV A,R0 ADD A,#30H MOV R1,A INC R0 INC R1 DJNZ R7,L1 RET 8从 20H 单元开头有一无符号数据块,其长度在
36、 21H 单元;参看第 3 题;20H 单元;求出数据块中的最小值,并存入9片外 RAM从 2022H单元开头存有10 个单字节无符号数,找出最大值存入片外RAM 3000H单元,试编写程序;参看第 3 题;10从片外RAM 2022H单元开头存有20 个有符号数,要求把它们传送到片外RAM 3000H开头的单元,但负数不传送,试编写程序;MOV DPTR,#2022H MOV R0,#20H MOV R7,#20 只供学习沟通用此文档来源于网络,如有侵权请联系网站删除L1: MOVX A,DPTR L2: MOV R0,A INC DPTR INC R0 DJNZ R7,L1 MOV DPT
37、R,#3000H MOV R0,#20H MOV R7,#20 MOV A,R0 L3: JB ACC.7,L3 MOVX DPTR,A INC DPTR INC R0 DJNZ R7,L2 RET 只供学习沟通用此文档来源于网络,如有侵权请联系网站删除第 5 章 MCS 51 系列单片机硬件资源的应用1MCS 51 单片机的 4 个 I/O 接口的作用是什么?三总线是如何安排的?为什么说能作为 I/O使用的一般只有 P1 口?P0 口形成数据总线;P2 口形成地址的高 8 位, P0 口经过锁存器形成地址的低 8 位; P3 口形成掌握总线;在具有外部扩展的时间,需要用到数据总线、地址总线和
38、掌握总线,而三总线占用了 P0、 P2、P3 口,可以单独使用的只有 P1口;2举例说明 MCS-51单片机 P1 口的输入操作与输出操作;输入操作:MOV P1,#0FFH MOV A,P1 输出操作:MOV P1,A 3简述 MCS-51单片机的中断系统结构;MCS-51单片机的有5 个中断源, 它们均有两级优先级,通过 4 个专用中断掌握寄存器(IE 、IP、TCON、SCON)进行中断治理,其结构原理如下列图;4MCS-51单片机有几个中断源?各中断标志是如何产生的?如何清除?MCS 51 单片机的 5 个中断源分为两种类型:一类是外部中断源,包括 INT0 和 INT1 ;另一类是内
39、部中断源,包括两个定时器 / 计数器( T0 和 T1)的溢出中断和串行口的发送 / 接收中断;(1)外部中断MCS 51 单片机供应了两个外部中断恳求INT0 和 INT1 ,它们的中断恳求信号有效方式分为电平触发和脉冲触发两种;电平方式是低电平有效,脉冲方式为负跳变触发有效;CPU在每个机器周期的 S5P2检测INT0和INT1上的信号;对于电平方式,只要检测到低电平信 号即为有效申请;对于脉冲方式,就需要比较两次检测到的信号,才能确定中断恳求信号是否有效;只供学习沟通用此文档来源于网络,如有侵权请联系网站删除 中断恳求信号高低电平的状态都应至少保护一个机器周期,以确保电平变化能被单片机检
40、测到;(2)内部中断MCS 51 单片机内部有TF0、TF1、TI 、RI,分别为定时器 / 计数器溢出中断和串行口的发送/ 接收中断的中断源;在中断恳求被响应前,中断源发出的中断恳求是由 CPU锁存在特别功能寄存器 TCON和 SCON的 相应中断标志位中的;一旦某个中断恳求得到响应,CPU必需把它的相应标志位复位成 0 状态,否 就 MCS51 单片机就会因中断未能得到准时撤除而重复响应同一中断恳求,这是肯定不答应的;MCS 51 单片机的 5 5 个中断源,实际上只分属于三种中断类型;这三种类型是:外部中断、定 时器 / 计数器溢出中断和串行口中断;对于这三种中断类型的中断恳求,其撤除方
41、法是不同的;(1)定时器 / 计数器溢出中断恳求的撤除TF0 和 TF1 是定时器 / 计数器溢出中断标志位,它们因定时器/ 计数器溢出中断恳求的输入而置位,因定时器 / 计数器溢出中断得到响应而自动复位成0 状态;因此定时器/ 计数器溢出中断源的中断恳求是自动撤除的,用户根本不必特地为它们撤除;(2)串行口中断恳求的撤除 TI 和 RI 是串行口中断的标志位,中断系统不能自动将它们撤除,这是由于 MCS51 进入串行口 中断服务程序后常需要对它们进行检测,以测定串行口发生了接收中断仍是发送中断;为了防止 CPU 再次响应这类中断,用户应在中断服务程序的适当位置处通过指令将它们撤除:CLR T
42、I ; 撤除发送中断CLR RI ; 撤除接收中断(3)外部中断的撤除外部中断恳求有两种触发方式:电平触发和脉冲触发;对于这两种不同的中断触发方式,MCS51单片机撤除它们的中断恳求的方法是不相同的;在脉冲触发方式下,外部中断标志IE0 和 IE1 是依靠 CPU两次检测INT0和INT1上的触发电平状态而设置的; 因此,芯片设计者使CPU在响应中断时自动复位IE0 或 IE1 ,就可撤除INT0或INT1上的中断恳求,由于外部中断源在中断服务程序时是不行能再在 应的中断标志 IE0 或 IE1 置位的;INT0 或 INT1 上产生负边沿而使相在电平触发方式下,外部中断标志 IE0 和 IE
43、1 是依靠 CPU检测INT0和INT1上的低电平而置位的;尽管 CPU响应中断时相应中断标志 IE0 或 IE1 ,能自动复位成“0” 状态,但如外部中断源不能准时撤除它在 INT0 或 INT1 上的低电平, 就会再次使已经变“0” 的中断标志 IE0 或 IE1 置位, 这是肯定不答应的;因此电平触发型外部中断恳求的撤除必需使INT0 或 INT1 上的低电平随着其中断被CPU响应而变为高电平;一种可供采纳的电平型外部中断的撤除电路如下列图;由图可见,当外部中断源产生中断恳求时,D 触发器复位成“0” 状态,Q 端的低电平被送到INT0 ,该低电平被8051 检测后就使中断标志IE0Q
44、D 置 1;INT0只供学习沟通用SD CP 1 外部中断信号8051 P1.0 = 此文档来源于网络,如有侵权请联系网站删除8051 响应INT0上的中断恳求可转入程序来使INT0上的电平变高:INSVR: SETB P1.0 CLR P1.0 CLR IE0 END INT0 中断服务程序执行,故可以在中断服务程序开头支配如下8051 执行上述程序就可在 P1.0 上产生一个宽度为两个机器周期的负脉冲;在该负脉冲作用下,D触发器被置位成 1 状态,INT0上的电平也因此而变高,从而撤除了其上的中断恳求;5设 MCS51 单片机时钟为 12MHz,利用定时器 T0 编程令 P1.0 引脚输出
45、 2ms的矩形波程序,要求占空系数为 1:2 (高电平常间短) ;ORG 0000H LJMP MAIN ORG 000BH LJMP T0INT ORG 0030H MAIN:MOV SP,#60H MOV R7,#0 MOV TMOD,#01H ; 初始化MOV TH0,#0FDH ; 定时 666 微妙MOV TL0,#66H SETB EA SETB ET0 SETB TR0 L1:SJMP L1 ;中断服务程序T0INT:MOV TH0,#0FDH ; 重载初始值MOV TL0,#66H INC R7 CJNE R7,#1, LL1 CLR P1.0 SJMP LLEND LL1:C
46、JNE R7,#3, LLEND SETB P1.0 MOV R7,#00H LLEND:RETI 6MCS-51单片机内设有几个可编程的定时器/ 计数器?它们可以有4 种工作方式,如何挑选和设定?作为定时器或计数器应用时,它们的速率分别为晶振频率的多少倍?2 个 16 位的定时器 / 计数器;通过 TMOD的 M1M0挑选;M1M0= 00:方式 0 13 位定时器 / 计数器工作方式;M1M0= 01:方式 1 16 位定时器 / 计数器工作方式;只供学习沟通用此文档来源于网络,如有侵权请联系网站删除M1M0= 10:方式 2常数自动装入的8 位定时器 / 计数器工作方式;M1M0= 11
47、:方式 3仅适用于T0,为两个 8 位定时器 / 计数器工作方式;在方式3 时 T1 停止计数;是外部晶振频率的12 倍;12MHz,分别指出定时器/ 计数器方式1 和方式 2 的最7假如 MCS51 单片机系统的晶振频率为长定时时间;方式 1:65536 微妙;方式 2:256 微妙8如异步通信,每个字符由 11 位组成,串行口每秒传送 250 个字符,问波特率是多少?2750 位/ 秒=2750 波特9设串行异步通信的传送速率为2400 波特,传送的是带奇偶校验的ASCII 码字符,每个字符包含 10 位( 1 个起始位, 7 个数据位, 1 个奇偶校验位,设定串行口位方式 1. MOV
48、SCON,#40H MOV PCON,#80H MOV TMOD,#20H MOV TH1,#0F4H MOV TL1,#0F4H SETB TR1 1 个停止位),试编程初始化程序;10MCS51 单片机 P1 端口上,经驱动接有8 支发光二极管,如外部晶振频率为6MHz,试编写程序,使这8 支发光管每隔2s 循环发光(要求用T1 定时);ORG 0000H ;T1 方式 1 LJMP MAIN ORG 001BH LJMP T1INT ORG 0030H MAIN: MOV SP,#70H MOV TMOD,#10H MOV TH1,#3CH ;定时 100ms MOV TL1,#0B0H
49、 ; 100ms*20=2S MOV A,#11111110B MOV R7,#20 SETB EA SETB ET1 SETB TR1 SJMP $ T1INT: MOV TH1,#3CH MOV TL1,#0B0H DJNZ R7,L1 MOV R7,#20 MOV P1,A RL A L1:RETI 只供学习沟通用此文档来源于网络,如有侵权请联系网站删除第 6 章 MCS 51 系列单片机并行扩展接口技术1试用 Intel 2864,SRAM6264为 MCS51 单片机设计一个储备器系统,它具有8KB EEPROM(地址由 0000H1FFFH)和 16KB 的数据储备器(地址为 件连
50、接图,并指出每片芯片的地址空间;使用一片Intel 2864,两片 RAM6264. 2022H5FFFH);要求绘出该储备器系统的硬参看图 6-14 ,采纳译码器译码;2864 可以不用译码,其片选信号直接接地,其地址为0000H1FFFH,读掌握接 /PSEN;RAM6264的片选分别接74LS138 的/Y1 、/Y2 ,其地址分别为: 2022H3FFFH、4000H5FFFH,其读;写掌握分别接 /RD、/WR;2试设计用两片 74LS377 和两片 74LS244 扩展两个并行输出口和两个并行输入口的扩展连接 电路图;参看图 6-20 、6-21. 3简述单片机如何进行键盘的键输入
51、以及怎样实现键功能处理;当所设置的功能键或数字键按下时,运算机应用系统应完成该按键所规定的功能;键信息输入 是与软件编程亲密相关的过程;对于一组键或一个键盘,需要通过接口电路与 CPU相连; CPU可以 采纳查询或中断方式明白有无键输入并检查是哪个键被按下,将该键的信息送入 CPU,然后通过散 转指令转入执行该键的功能程序,执行完毕又返回到原始状态;键输入接口与软件应牢靠而快速地实现键信息输入与执行键功能任务;为此,应解决以下问题;(1)键开关状态的牢靠输入 目前,无论是按键仍是键盘,大部分利用的都是机械触点的合、断作用;机械触点在闭合及断 开瞬时由于弹性作用的影响均有抖动过程,从而使电压信号
52、也显现抖动,如图 9-20 所示;抖动时间 长短与开关的机械特性有关,一般为 5 10ms;按键的稳固闭合时间,由操作人员的按键动作确定,一般为特别之几秒至几秒;为了保证 CPU 对键的一次闭合仅做一次键输入处理,必需去抖动影响;通常,去抖动影响的方法有硬、软两种;在硬件上是实行在键输出端加 R S 触发器或单稳态电 路构成去抖动电路;在软件上实行的措施是,在检测到有键按下时,执行一个 10ms左右的延时程序 后,再确认该键电平是否仍保持闭合状态电平,如仍保持闭合状态电平,就确认该键处于闭合状态,从而去除了抖动影响;(2)对按键进行编码以给出键值或直接给出键号任何一组按键或键盘都要通过I/O
53、接口线查询按键的状态;依据不同的键盘结构采纳不同的编码方法;但无论有无编码及采纳什么编码,最终都要转换成与累加器中数值相对应的键值,以实现按键功能程序的散转转移(相应的散转指令为 完成下述任务:检测有无键按下;JMP A + DPTR),因此一个完善的键盘掌握程序应有键按下后,在无硬件去抖动电路时,应用软件延时方法除去抖动影响;只供学习沟通用此文档来源于网络,如有侵权请联系网站删除有牢靠的规律处理方法,如n 键按下,即只处理一个键,其间任何按下又松开的键不产生影响,不管一次按键连续有多长时间,仅执行一次按键功能程序;输出确定的键号以满意散转指令的要求;4何谓键抖动?键抖动对单片机系统有何影响?
54、如何排除键抖动?目前,无论是按键仍是键盘,大部分利用的都是机械触点的合、断作用;机械触点在闭合及断开瞬时由于弹性作用的影响均有抖动过程,从而使电压信号也显现抖动,如图 9-20 所示;抖动时间长短与开关的机械特性有关,一般为 5 10ms;按键的稳固闭合时间,由操作人员的按键动作确定,一般为特别之几秒至几秒;为了保证 CPU对键的一次闭合仅做一次键输入处理,必需去抖动影响;通常,去抖动影响的方法有硬、软两种;在硬件上是实行在键输出端加 R S 触发器或单稳态电路构成去抖动电路;在软件上实行的措施是,在检测到有键按下时,执行一个 10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平,如
55、仍保持闭合状态电平,就确认该键处于闭合状态,从而去除了抖动影响;5何谓静态显示?何谓动态显示?两种显示方式有何优缺点?所谓静态显示,是指当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,公共端接固定的电平;LED 动态显示是将全部位的段选线并接在一个 别由相应的 I/O 接口线掌握,称为位口;I/O 接口上,称为段口,共阴极端或共阳极端分静态显示显示稳固,但软件简洁;动态显示硬件简洁,但软件需要不断地刷新;6假如一个8 位 D/A 转换器的满量程(对应于数字量255)为 10V,试分别确定模拟量为2.0V和 8.0V 所对应的数字量;51 204 7某 12 位 D/A 转换器,输出
56、电压为02.5V,当输入的数字量为400H时,对应的输出电压是多少?2.5/212*400H=0.625V 8使用 DAC0832与 MCS51 单片机连接时有哪些掌握信号?双缓冲方式如何工作?在何种情形 下要使用双缓冲工作方式?ILE :输入锁存使能信号输入端,高电平有效;CS:片选信号端;WR1 、 WR2 :两个写信号端,均为低电平有效;XFER :传输掌握信号输入端,低电平有效;DAC0832可工作于双缓冲器方式,输入寄存器的锁存信号和DAC寄存器的锁存信号分开掌握,这种方式适用于几个模拟量需同时输出的系统,每一模拟量输出需一个DAC0832,构成多个 DAC0832同时输出的系统;9
57、试设计一个12 位 A/D 转换器与 8031 的接口电路,编写连续转换10 次并将转换结果存入片只供学习沟通用此文档来源于网络,如有侵权请联系网站删除 内 50H开头的单元中的程序;接口电路参看图6-48 ; ;AD574A 端口地址MOV R1,#50H MOV R7,#10 LL: LCALL AD574A MOV R1,31H INC R1 MOV R1,30H DJNZ R7,LL SJMP $ AD574A:MOV R0,#7CH MOVX R0,A ;启动 AD574A进行 12 位转换SETB P1.0 置 P1.0 为输入方式LOOP:JB P1.0 ,LOOP ; 检测 S
58、TS的状态INC R0 ;使 R/C为 1,按双字节读取转换结果MOVX A,R0 ; 读取高 8 位转换结果MOV 31H,A ;存高 8 位结果INC R0 ; 使 R/C、A0 均为 1 INC R0 MOVX A,R0 ;读取低 4 位结果ANL A,#0FH ;屏蔽高 4 位MOV 30H,A ;存低 4 位结果RET 10设 MCS51 单片机系统扩展一个8255,其口地址分别为7CFFH7FFFH,其中 PC扩展一个 4 2的矩阵键盘, PC0PC3为行, PC6PC7为列,试画出 盘治理程序;8255 与单片机及键盘的连接简图,并编写键连接简图参看图6-35 的键盘部分, 将
59、8*2 的矩阵键盘改为4*4 的矩阵键盘, 片 8288A 的片选改为接 MCS-51单片机的 P2.7 ;键盘治理程序:KEY:MOV A,#00H ; 全部行输出0 KEY1:MOV DPTR,#7EFFH ; 读列值MOVX DPTR,A MOV DPTR,#7EFFH MOVX A,DPTR ANL A,#0FH ; 不全 1,说明有键按下CJNE A,#0FH,KEY1 SJMP KEYEND ; 全 1,说明无键按下MOV B,#11111110B ; 有键,逐行输出0 KEY4:MOV A,B MOV DPTR,#PORT1 MOVX DPTR,A MOV DPTR,#PORT2
60、 MOVX A,DPTR ANL A,#0FH CJNE A,#0FH,KEY2 MOV A,B RL A JNB ACC.4,KEYEND 只供学习沟通用此文档来源于网络,如有侵权请联系网站删除KEY2:MOV B,A SJMP KEY4 ANL B,#0FH ;运算键值KEY6:MOV R7,A MOV A,B SWAP A ORL A,R7 MOV B,A ; 键值在 B中MOV R7,#00H MOV R6,#10H MOV DPTR,#KEYTAB KEYTAB1:MOV A,R7 MOVC A,A+DPTR CJNE A,B,KEY5 MOV A,R7 RL A ADD A,R7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年精卫填海成语故事神话融合教案
- 2026年插翅难飞成语故事情境想象授课教案
- 2026 年小学《山行》“生”“坐”关键字赏析教学设计
- ISO 4664-32021 硫化橡胶或热塑性橡胶动态性能的测定第3部分玻璃化转变温度标准立项发展报告
- 从管理任务到管理能量从管理能量到管理意义
- 2026标准塑胶拉链头项目生物基材料替代率与碳足迹核算深度研究报告
- 基于几何深度学习的蛋白质结合位点预测结题报告
- 基于光栅的波分复用与解复用器设计结题报告
- 2026心形海绵私域流量池LTV测算与社群裂变转化效能深度研究
- 基于动态图卷积的交通流预测结题报告
- 肝病科管理制度
- 2026年机械制图与公差第一二三章培训课件
- 五升六数学《暑假作业》每日一练 2026
- 宏观经济学二十五讲中国视角
- 2026年设备监理师之质量投资进度控制押题模拟含答案详解(A卷)
- 安全教育培训记录
- 2026年交通安全法律法规的解读与应用
- 走进高中数学(新高一开学第一课)
- 水泥厂办公室制度规范
- 2026年村干部公务员考试试题
- 老年护理课题申报通知书
评论
0/150
提交评论