单片机原理及应用(姜志海第3版)习题参考答案

上传人:痛*** 文档编号:91249508 上传时间:2022-05-16 格式:DOC 页数:25 大小:355.50KB
收藏 版权申诉 举报 下载
单片机原理及应用(姜志海第3版)习题参考答案_第1页
第1页 / 共25页
单片机原理及应用(姜志海第3版)习题参考答案_第2页
第2页 / 共25页
单片机原理及应用(姜志海第3版)习题参考答案_第3页
第3页 / 共25页
资源描述:

《单片机原理及应用(姜志海第3版)习题参考答案》由会员分享,可在线阅读,更多相关《单片机原理及应用(姜志海第3版)习题参考答案(25页珍藏版)》请在装配图网上搜索。

1、 单片机原理与应用第3版习题参考答案志海 黄玉清 连鑫 编著电子工业目录第1章概述2第2章 MCS-51系列单片机硬件结构4第3章 MCS-51系列单片机指令系统8第4章 MCS-51系列单片机汇编语言程序设计11第5章 MCS-51系列单片机硬件资源的应用15第6章 MCS-51系列单片机并行扩展接口技术19第7章 MCS-51系列单片机串行总线扩展技术23第8章单片机应用系统设计2525 / 25第1章 概述1简述微型计算机的结构与各局部的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备与输出设备五大局部组成。运算器是计算机处理信息的主要局部;控制器控制计算机各部件自动地、协调一致

2、地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。通常把运算器、控制器、存储器这三局部称为计算机的主机,而输入、输出设备那么称为计算机的外部设备简称外设。由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPUCentral Process Unit。2微处理器、微型计算机、微型计算机系统有什么联系与区别?微处理器是利用微电子技术将计算机的核心部件运算器和控制器集中做在一块集成电路上的一个独立芯片。它具有解释指令、执行指令和与外界交换数据的能力。其部包括三局部:运算器、控制器、部存放器阵列工作存放器

3、组。微型计算机由CPU、存储器、输入/输出I/O接口电路构成,各局部芯片之间通过总线Bus连接。以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。3简述在微型计算机中的地址总线、数据总线和控制总线的作用。所谓总线,就是在微型计算机各芯片之间或芯片部各部件之间传输信息的一组公共通信线。计算机元件级总线包括地址总线ABAddress Bus、数据总线DBData Bus、控制总线CBControl Bus三种。1地址总线:地址总线是CPU用来向存储器或I/O接口传送地址信息的,是三态单向总线。地址总线的宽度决定了CPU可直接寻址的存容量。通过地址总线确

4、定要操作的存储单元或I/O接口的地址。2数据总线:数据总线是CPU与存储器与外设交换数据的通路,是三态双向总线。3控制总线:控制总线是用来传输控制信号的,传送方向依据具体控制信号而定,如CPU向存储器或I/O接口电路输出读信号、写信号、地址有效信号,而I/O接口部件向CPU输入复位信号、中断请求信号等。4微型计算机是以CPU为核心,配上存储器、输入/输出接口和系统总线组成的计算机。5在计算机部,一切信息的存取、处理和传递的形式是C 。AASCII码 BBCD码 C二进制 D十六进制609的ASCII码是C 。A09 B3039 C30H39H D40H49H7假设某CPU含有16根地址线,8根

5、数据线,那么该CPU的最大寻址能力是多少KB?64KB8简述单片机的定义、特点、应用领域和开展方向。定义:它采用一定的工艺手段将CPU、存储器和I/O口集成在一个芯片上。特点: 单片机CPU的抗干扰性强,工作温度围宽,而通用微机CPU一般要求在室温下工作,抗干扰能力较弱。 单片机CPU可靠性强,在工业控制中,任何过失都有可能造成极其严重的后果。 单片机CPU控制功能往往很强,数值计算能力较差,而通用微机CPU具有很强的数值运算能力,但控制能力相对较弱,将通用微机用于工业控制时,一般需要增加一些专用的接口电路。 单片机CPU指令系统比通用微机系统简单。 单片机CPU更新换代速度比通用微机处理器慢

6、得多。应用领域:单片机在智能仪表中的应用单片机在机电一体化中的应用单片机在实时控制中的应用在军工领域的应用单片机在分布式多机系统中的应用在民用电子产品中的应用开展趋势: CPU的改良存储器的开展片I/O口的改良一般单片机都有较多的并行口,以满足外围设备、芯片扩展的需要,并配以串行口,以满足对多机通信功能的要求。 提高并行口的驱动能力。这样可减少外围驱动芯片。有的单片机直接输出大电流和高电压,以便能直接驱动LED和VFD荧光显示器等。 增加I/O口的逻辑控制功能。中、高档单片机的位处理系统能够对I/O口线进展位寻址与位操作,这加强了I/O口线控制的灵活性。 特殊的串行接口功能。为单片机构成网络系

7、统提供更便利的条件。外围电路装化低功耗与工作电压围加宽低噪声与高可靠性技术ISP与IAP第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个中断源、2个中断优先级、11

8、1条指令、片采用单总线结构。2MCS-51单片机设有4个8位并行端口,实际应用中8位数据信息由哪个端口传送?16位地址线怎样形成?P3口有何功能?8位数据信息由P0口传送。P2口形成地址大高8位,P0口结果锁存器形成地址的低8位。P3口除具有一般的输入/输出功能,还具有第2功能:P3.0RXD 串行口输入端P3.1TXD 串行口输出端P3.2 外部中断0请求输入端,低电平有效P3.3 外部中断1请求输入端,低电平有效P3.4T0 定时器/计数器0计数脉冲输入端P3.5T1 定时器/计数器1计数脉冲输入端P3.6 外部数据存储器与I/O接口写选通信号输出端,低电平有效P3.7 外部数据存储器与I

9、/O接口读选通信号输出端,低电平有效3MCS-51单片机部RAM区的功能结构如何分配?4组工作存放器使用时如何选择?位寻址区域的字节围是多少?MCS-51单片机片RAM共有128B,字节围为00H7FH,可分为工作存放器区、位寻址区、数据缓冲区共3个区域。1工作存放器区00H1FH单元为工作存放器区。工作存放器也称通用存放器,用于临时存放8位信息。工作存放器分成4组,每组都是8个存放器,用R0R7来表示。程序中每次只用一组,其余各组不工作。使用哪一组存放器工作,由程序状态字PSW中的PSW.3RS0和PSW.4RS1两位来选择,其对应关系如表所示。工作存放器组的选择表PSW.4(RS1)PSW

10、.3(RS0)当前使用的工作存放器组R0R7000组00H07H011组08H0FH102组10H17H113组18H1FH该区域当不被用做工作存放器时,可以作为一般的RAM区使用。2位寻址区20H2FH单元是位寻址区。这16个单元共计16 8 = 128位的每一位都赋予了一个位地址,位地址围为00H7FH。位地址区的每一位都可当做软件触发器,由程序直接进展位处理。通常可以把各种程序状态标志、位控制变量存入位寻址区。00H07H08H0FH10H17H18H1FH0组工作存放器区1组2组3组20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH0706

11、050403020100位寻址区0F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241404F4E4D4C4B4A494857565554535251505F5E5D5C5B5A595867666564636261606F6E6D6C6B6A696877767574737271707F7E7D7C7B7A797830H7FH数据缓冲区该区域当不被用做位寻址区时,可以作为一般的RAM区使用。3数据缓冲

12、区30H7FH是数据缓冲区,即用户RAM,共80个单元。由于工作存放器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片RAM得以充分利用。4简述程序状态字PSW中各位的含义。程序状态字PSW是一个8位存放器,它保存指令执行结果的特征信息,为下一条指令或以后的指令的执行提供状态条件。PSW中的各位一般是在指令执行过程中形成的,但也可以根据需要采用传送指令加以改变。其各位定义如下图。 进位标志CPSW.7在执行某些算术运算类、逻辑运算类指令时,可被硬件或软件置位或清零。它表

13、示运算结果是否有进位或借位。如果在最高位有进位加法时或借位减法时,那么C = 1,否那么C = 0。 辅助进位或称半进位标志位ACPSW.6它表示两个8位数运算,低4位有无进借位的状况。当低4位相加或相减时,假设D3位向D4位有进位或借位,那么AC = 1,否那么AC = 0。在BCD码运算的十进制调整中要用到该标志。 用户自定义标志位F0PSW.5用户可根据自己的需要为F0赋予一定的含义,通过软件置位或清零,并根据F0 = 1或0来决定程序的执行方式,或系统某一种工作状态。 工作存放器组选择位RS1、RS0PSW.4、PSW.3可用软件置位或清零,用于选定当前使用的4个工作存放器组中的某一组

14、。 溢出标志位OVPSW.2做加法或减法时由硬件置位或清零,以指示运算结果是否溢出。在带符号数加减运算中,OV = 1表示加减运算超出了累加器所能表示的数值围128+127,即产生了溢出,因此运算结果是错误的。OV = 0表示运算正确,即无溢出产生。执行乘法指令MUL AB也会影响OV标志,当积大于255时,OV = 1,否那么OV = 0;执行除法指令DIV AB也会影响OV标志,如B中所存放的除数为0,那么OV = 1,否那么0V = 0。 奇偶标志位PPSW.0在执行指令后,单片机根据累加器A中1的个数的奇偶自动将该标志置位或清零。假设A中1的个数为奇数,那么P = 1,否那么P = 0

15、。该标志对串行通信的数据传输非常有用,通过奇偶校验可检验传输的可靠性。5简述MCS-51单片机程序存储器的几个特殊入口地址的含义。0000H:程序入口地址0003H:外部中断0中断服务程序入口地址000BH:定时器/计数器0溢出中断服务程序入口地址0013H:外部中断1中断服务程序入口地址001BH:定时器/计数器1溢出中断服务程序入口地址0023H:串行口发送/接收中断服务程序入口地址6位地址7FH与字节地址7FH有何区别?位地址7FH具体在存中的什么位置?二者存储的数据位数不一样。位地址7FH存放一位二进制数,字节地址7FH存放8为二进制数。位地址7FH具体在存中字节地址为20H的最高位上

16、。7试分别说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值?程序计数器PC是一个16位专用存放器,其容表示下一条要执行的指令的地址。复位后为0000H。MCS-51单片机的堆栈是在片RAM中开辟的一个专用区。堆栈指针SP是一个8位专用存放器,用来存放栈顶的地址。进栈时,SP自动加1,将数据压入SP所指定的地址单元;出栈时,将SP所指示的地址单元中的数据弹出,然后SP自动减1。因此SP总是指向栈顶。复位后为07H。8MCS-51单片机设置4组工作存放器,开机复位后,CPU使用的是哪组存放器?它们的地址如何?CPU如何改变当前工作存放器组?第0组。字节地址为00H07H。通过PSW

17、的RS1、RS0来改变。工作存放器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作存放器组R0R7000组00H07H011组08H0FH102组10H17H113组18H1FH9什么是时钟周期、机器周期和指令周期?当外部的振荡频率是8MHz时,8051单片机的机器周期为多少?MCS-51单片机的时序由下面4种周期构成。1振荡周期振荡周期是指为单片机提供定时信号的振荡源的周期。2状态周期时钟周期两个振荡周期为一个状态周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑运算;在后半周期P2有效时,一般进展部存放器之间

18、的传输。3机器周期CPU执行一条指令的过程可以划分为假设干阶段,每一阶段完成某一项根本操作,如取指令、存储器读/写等。通常把完成一个根本操作所需要的时间称为机器周期。4指令周期指令周期是指执行一条指令所占用的全部时间,它以机器周期为单位。MCS-51系列单片机除乘法、除法指令是4机器周期指令外,其余都是单周期指令和双周期指令。假设用12MHz晶体振荡器晶振,那么单周期指令和双周期指令的指令周期时间分别是1s和2s,乘法和除法指令为4s。通过上面的分析,我们可以看出,外部晶振的二分频是MCS-51单片机的部时钟周期,6个时钟周期构成了单片机的机器周期。如果单片机的外部晶振是8MHz,那么其部的机

19、器周期是1.5s。12PSW = 10H,那么工作存放器R0的地址是 10H ,R4的地址是 14H 。第3章 MCS-51系列单片机指令系统1访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。访问外部数据存储器:MOVXA,DPTRMOVXDPTR,AMOVXA,RiMOVXRi,A访问程序存储器:MOVCA,A+DPTRMOVCA,A+PC2设堆栈指针SP中的容为60H,部RAM中30H和31H单元的容分别为24H和10H,执行以下程序段后,61H、62H、30H、31H、DPTR与SP的容将有何变化?PUSH 30HPUSH31HPOPDPLPOPDPHMOV30H,#00H

20、MOV 31H,#0FFH(61H)=24H (62H)=10H (30H)=00H (31H)=0FFH (DPTR)=2410H (SP)=60H3设(A) = 40H,(R1) = 23H,(40H) = 05H。执行以下两条指令后,累加器A和R1以与部RAM中40H单元的容各为何值?XCHA,R1XCHDA,R1(A)=25H (R1)=40H (40H)=03H4设(A) = 01010101B,(R5) = 10101010B,分别写出执行ANL A,R5;ORL A,R5;XRL A,R5指令后的结果。00000000B 11111111B 11111111B5简述转移指令AJM

21、P 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)MOVR0,AMOVA,BMOVB,R0(2)PUSHAPUSHBPOPAPOPB(3)MOVR0,BXCHA,R0MOVB,R07写出实现以下要求的指令或程序片段。1将部RAM20H单元容与累加器A容相加,结果存放在20H单元中。2将部RAM30H单元容与部RAM31H单元

22、容相加,结果存放到部RAM31H单元中。3将部RAM20H单元容传送到外部RAM2000H单元中。4使部RAM20H单元的D7和D3位清零,其他位保持不变。5使部RAM20H单元的D7和D3位置1,D5位清零,其他位保持不变。6使部RAM20H单元的D7和D3位置1,D5位取反,其他位保持不变。(1)ADDA,20HMOV20H,A(2)MOVA,30HADDA,31HMOV31H,A(3)MOVA,20HMOVDPTR,#2000HMOVXDPTR,A(4)CLR03HCLR07H或:ANL20H,#01110111B(5)SETB03HSETB07HCLR05H或:ORL20H,#1000

23、1000BANL20H,#11011111B(6)SETB03HSETB07HCPL05H或:ORL20H,#10001000BXRL20H,#00100000B8试分析以下程序段执行后,(A) =?,(30H) =?MOV30H,#0A4HMOVA,#0D6HMOVR0,#30HMOVR2,#5EHANLA,R2ORLA,R0SWAPACPLAXRL A,#0FEHORL30H,A(A)=6EH (30H)=0EFH9设片RAM(30H) = 0EH,执行下面的程序后,(A)=?,指出该程序完成的功能。MOVR0,#30HMOVA,R0RLAMOVB,ARLARLAADDA,B=8CH功能:

24、将30H中的容*10操作,结果在累加器A中。第4章 MCS-51系列单片机汇编语言程序设计1编程将片RAM 30H39H单元中的容送到以3000H为首的存储区中。MOVR0,#30HMOVDPTR,#3000HMOVR7,#10L1:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,L1RET2片RAM 60H开始存放20个数据,试统计正数、负数与为零的数据个数,并将结果分别存在50H、51H、52H单元中。MOV50H,#0MOV51H,#0MOV52H,#0MOVR7,#20MOVR0,#60HL3:MOVA,R0JZL1ACC.7,L2INC50HSJMP LEND

25、L2:INC51HSJMPLENDL1:INC52HLEND:INCR0DJNZR7,L3RET3设10次采样值依次放在片RAM 50H59H的连续单元中,试编程去掉一个最大值、去掉一个最小值,求其余8个数的平均值,结果存放在60H中。MOVR0,#50H;最大值MOVA,R0MOVR7,#9INCR0L1:CLRCMOVB,ASUBBA,R0MOVA,BJNCL2XCHA,R0L2:INCR0DJNZR7,L1MOVR0,#51H;最小值MOVA,R0MOVR7,#8INCR0L1:CLRCMOVB,ASUBBA,R0MOVA,BJNL4XCHA,R0L4:INCR0DJNZR7,L3MOV

26、R3,#0;求和MOVR4,#0MOVR7,#8MOVR0,#52HL5:MOVA,R4ADDA,R0MOVR4,AMOVA,R3ADDCA,#0MOVR3,AINCR0DJNZR7,L5MOVA,R4;平均值SWAPARLAMOVB,AMOVA,R3RRARRARRAANLA,#00011111BORLA,BMOV60H,ARET4编写程序将R4、R5、R6中的3个字节数据对半分解成6个字节,存入显示缓冲区DISMEM0DISMEM5。MOVA,R6LCALLCLMOVDISMEM0,R0MOVDISMEM1,R1MOVA,R5LCALLCLMOVDISMEM2,R0MOVDISMEM3,R

27、1MOVA,R4LCALLCLMOVDISMEM4,R0MOVDISMEM5,R1RETCL:MOVB,AANLA,#0FHMOVR0,AMOVA,BANLA,#0F0HSWAPAMOVR1,ARET5试编程把以2000H为首地址的连续10个单元的容按升序排列,存放到以3000H为首地址的存储区中。MOVDPTR,#2000H;读到片30H开始的单元MOVR0,#30HMOVR7,#10L1:MOVXA,DPTRMOVR0,AINCDPTRINCR0DJNZR7,L1START:CLR00H;排序CLRCMOVR7,#9MOVR0,#30HMOVA,R0L3:INCR0MOVR2,ASUBBA

28、,R0MOVA,R2JCNEXTSETB00HXCHA,R0DECR0MOVR0,AINCR0NEXT:MOVA,R0DJNZR7,L300H,STARTMOVDPTR,#3000H;送到片外3000H开始的单元MOVR0,#20HMOVR7,#10L2:MOVA,R0MOVXDPTR,AINCDPTRINCR0DJNZR7,L2RET6设片30H单元开始,连续存放2个字节二进制数,试分别将其转换为BCD码,并以压缩BCD码格式连续存放在以60H为首地址的存储区中,低位字节存放在低地址单元中。DBCD:MOVR0,30HMOVA,R0MOVR6,AMOVR1,60H MOVA,R1MOVR7,

29、A MOVR2,#2INCR2CLRABB0:MOVR1,AINCR1DJNZR2,BB0MOVR3,#16BB3:MOVA,R6MOVR0,AMOVR2,#2CLRCBB1:MOVA,R0RLCAMOVR0,AINCR0DJNZR2,BB1MOVR2,#2INCR2MOVA,R7MOVR1,ABB2:MOVA,R1ADDCA,R1DAAMOVR1,AINCR1DJNZR2,BB2DJNZR3,BB3RET7设片RAM中从20H开始的单元,连续存放10个非压缩BCD码,试将其转换为ASCII码,存放到片50H开始的单元中。MOVR0,#20HMOVR1,#50HMOVR7,#10L1:MOVA

30、,R0ADDA,#30HMOVR1,AINCR0INCR1DJNZR7,L1RET8从20H单元开始有一无符号数据块,其长度在20H单元。求出数据块中的最小值,并存入21H单元。参看第3题。9片外RAM从2000H单元开始存有10个单字节无符号数,找出最大值存入片外RAM 3000H单元,试编写程序。参看第3题。10从片外RAM 2000H单元开始存有20个有符号数,要求把它们传送到片外RAM 3000H开始的单元,但负数不传送,试编写程序。MOVDPTR,#2000HMOVR0,#20HMOVR7,#20L1:MOVXA,DPTRMOVR0,AINCDPTRINCR0DJNZR7,L1MOV

31、DPTR,#3000HMOVR0,#20HMOVR7,#20L2:MOVA,R0ACC.7,L3MOVXDPTR,AL3:INCDPTRINCR0DJNZR7,L2RET第5章 MCS-51系列单片机硬件资源的应用1MCS-51单片机的4个I/O接口的作用是什么?三总线是如何分配的?为什么说能作为I/O使用的一般只有P1口?P0口形成数据总线;P2口形成地址的高8位,P0口经过锁存器形成地址的低8位;P3口形成控制总线。在具有外部扩展的时间,需要用到数据总线、地址总线和控制总线,而三总线占用了P0、P2、P3口,可以单独使用的只有P1口。2举例说明MCS-51单片机P1口的输入操作与输出操作。

32、输入操作:MOV P1,#0FFHMOV A,P1输出操作:MOV P1,A3简述MCS-51单片机的中断系统结构。MCS-51单片机的有5个中断源,它们均有两级优先级,通过4个专用中断控制存放器IE、IP、TCON、SCON进展中断管理,其结构原理如下图。4MCS-51单片机有几个中断源?各中断标志是如何产生的?如何去除?MCS-51单片机的5个中断源分为两种类型:一类是外部中断源,包括和;另一类是部中断源,包括两个定时器/计数器T0和T1的溢出中断和串行口的发送/接收中断。1外部中断MCS-51单片机提供了两个外部中断请求和,它们的中断请求信号有效方式分为电平触发和脉冲触发两种。电平方式是

33、低电平有效,脉冲方式为负跳变触发有效。CPU在每个机器周期的S5P2检测和上的信号。对于电平方式,只要检测到低电平信号即为有效申请;对于脉冲方式,那么需要比拟两次检测到的信号,才能确定中断请求信号是否有效。中断请求信号上下电平的状态都应至少维持一个机器周期,以确保电平变化能被单片机检测到。2部中断MCS-51单片机部有TF0、TF1、TI、RI,分别为定时器/计数器溢出中断和串行口的发送/接收中断的中断源。在中断请求被响应前,中断源发出的中断请由CPU锁存在特殊功能存放器TCON和SCON的相应中断标志位中的。一旦某个中断请求得到响应,CPU必须把它的相应标志位复位成0状态,否那么MCS-51

34、单片机就会因中断未能得到与时撤除而重复响应同一中断请求,这是绝对不允许的。MCS-51单片机的5 5个中断源,实际上只分属于三种中断类型。这三种类型是:外部中断、定时器/计数器溢出中断和串行口中断。对于这三种中断类型的中断请求,其撤除方法是不同的。1定时器/计数器溢出中断请求的撤除TF0和TF1是定时器/计数器溢出中断标志位,它们因定时器/计数器溢出中断请求的输入而置位,因定时器/计数器溢出中断得到响应而自动复位成0状态。因此定时器/计数器溢出中断源的中断请自动撤除的,用户根本不必专门为它们撤除。2串行口中断请求的撤除TI和RI是串行口中断的标志位,中断系统不能自动将它们撤除,这是因为MCS-

35、51进入串行口中断服务程序后常需要对它们进展检测,以测定串行口发生了接收中断还是发送中断。为了防止CPU再次响应这类中断,用户应在中断服务程序的适当位置处通过指令将它们撤除:CLRTI;撤除发送中断CLRRI;撤除接收中断3外部中断的撤除外部中断请求有两种触发方式:电平触发和脉冲触发。对于这两种不同的中断触发方式,MCS-51单片机撤除它们的中断请求的方法是不一样的。在脉冲触发方式下,外部中断标志IE0和IE1是依靠CPU两次检测和上的触发电平状态而设置的。因此,芯片设计者使CPU在响应中断时自动复位IE0或IE1,就可撤除或上的中断请求,因为外部中断源在中断服务程序时是不可能再在或上产生负边

36、沿而使相应的中断标志IE0或IE1置位的。在电平触发方式下,外部中断标志IE0和IE1是依靠CPU检测和上的低电平而置位的。尽管CPU响应中断时相应中断标志IE0或IE1,能自动复位成“0状态,但假设外部中断源不能与时撤除它在或上的低电平,就会再次使已经变“0的中断标志IE0或IE1置位,这是绝对不允许的。因此电平触发型外部中断请求的撤除必须使或上的低电平随着其中断被CPU响应而变为高电平。一种可供采用的电平型外部中断的撤除电路如下图。=由图可见,当外部中断源产生中断请求时,D触发器复位成“0状态,Q端的低电平被送到,该低电平被8051检测后就使中断标志IE0置1。8051响应上的中断请求可转

37、入中断服务程序执行,故可以在中断服务程序开头安排如下程序来使上的电平变高:INSVR:SETBP1.0CLRP1.0CLRIE0END8051执行上述程序就可在 P1.0上产生一个宽度为两个机器周期的负脉冲。在该负脉冲作用下,D触发器被置位成1状态,上的电平也因此而变高,从而撤除了其上的中断请求。5设MCS-51单片机时钟为12MHz,利用定时器T0编程令P1.0引脚输出2ms的矩形波程序,要求占空系数为1:2高电平时间短。ORG0000HLJMP MAINORG000BHLJMPT0INTORG0030HMAIN:MOVSP,#60HMOVR7,#0MOVTMOD,#01H;初始化MOVTH

38、0,#0FDH;定时666微妙MOVTL0,#66HSETBEASETBET0SETBTR0L1:SJMPL1;中断服务程序T0INT:MOVTH0,#0FDH;重载初始值MOVTL0,#66HINCR7CJNE R7,#1,LL1CLRP1.0SJMP LLENDLL1:CJNER7,#3,LLENDSETBP1.0MOVR7,#00HLLEND:RETI6MCS-51单片机设有几个可编程的定时器/计数器?它们可以有4种工作方式,如何选择和设定?作为定时器或计数器应用时,它们的速率分别为晶振频率的多少倍?2个16位的定时器/计数器。通过TMOD的M1M0选择。M1M0=00:方式013位定时

39、器/计数器工作方式;M1M0=01:方式116位定时器/计数器工作方式;M1M0=10:方式2常数自动装入的8位定时器/计数器工作方式;M1M0=11:方式3仅适用于T0,为两个8位定时器/计数器工作方式;在方式3时T1停止计数。是外部晶振频率的12倍。7如果MCS-51单片机系统的晶振频率为12MHz,分别指出定时器/计数器方式1和方式2的最长定时时间。方式1:65536微妙; 方式2:256微妙8假设异步通信,每个字符由11位组成,串行口每秒传送250个字符,问波特率是多少?2750位/秒=2750波特9设串行异步通信的传送速率为2400波特,传送的是带奇偶校验的ASCII码字符,每个字符

40、包含10位1个起始位,7个数据位,1个奇偶校验位,1个停止位,试编程初始化程序。设定串行口位方式1.MOVSCON,#40HMOVPCON,#80HMOVTMOD,#20HMOVTH1,#0F4HMOVTL1,#0F4HSETBTR110MCS-51单片机P1端口上,经驱动接有8支发光二极管,假设外部晶振频率为6MHz,试编写程序,使这8支发光管每隔2s循环发光要求用T1定时。ORG0000HLJMPMAINORG001BHLJMPT1INTORG0030HMAIN:MOVSP,#70HMOVTMOD,#10H;T1方式1MOVTH1,#3CH;定时100msMOVTL1,#0B0HMOVA,

41、#11111110BMOVR7,#20;100ms*20=2SSETBEASETBET1SETBTR1SJMP$T1INT:MOVTH1,#3CHMOVTL1,#0B0HDJNZR7,L1MOVR7,#20MOVP1,ARLAL1:RETI第6章 MCS-51系列单片机并行扩展接口技术1试用Intel 2864,SRAM6264为MCS-51单片机设计一个存储器系统,它具有8KB EEPROM地址由0000H1FFFH和16KB的数据存储器地址为2000H5FFFH。要求绘出该存储器系统的硬件连接图,并指出每片芯片的地址空间。使用一片Intel 2864,两片RAM6264.参看图6-14,采

42、用译码器译码。2864可以不用译码,其片选信号直接接地,其地址为0000H1FFFH,读控制接/PSEN;RAM6264的片选分别接74LS138的/Y1、/Y2,其地址分别为:2000H3FFFH、4000H5FFFH,其读。写控制分别接/RD、/WR。2试设计用两片74LS377和两片74LS244扩展两个并行输出口和两个并行输入口的扩展连接电路图。参看图6-20、6-21.3简述单片机如何进展键盘的键输入以与怎样实现键功能处理。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所规定的功能。键信息输入是与软件编程密切相关的过程。对于一组键或一个键盘,需要通过接口电路与CPU相连。

43、CPU可以采用查询或中断方式了解有无键输入并检查是哪个键被按下,将该键的信息送入CPU,然后通过散转指令转入执行该键的功能程序,执行完毕又返回到原始状态。键输入接口与软件应可靠而快速地实现键信息输入与执行键功能任务。为此,应解决以下问题。1键开关状态的可靠输入目前,无论是按键还是键盘,大局部利用的都是机械触点的合、断作用。机械触点在闭合与断开瞬间由于弹性作用的影响均有抖动过程,从而使电压信号也出现抖动,如图9-20所示。抖动时间长短与开关的机械特性有关,一般为510ms。按键的稳定闭合时间,由操作人员的按键动作确定,一般为十分之几秒至几秒。为了保证CPU对键的一次闭合仅做一次键输入处理,必须去

44、抖动影响。通常,去抖动影响的方法有硬、软两种。在硬件上是采取在键输出端加R-S触发器或单稳态电路构成去抖动电路。在软件上采取的措施是,在检测到有键按下时,执行一个10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平,假设仍保持闭合状态电平,那么确认该键处于闭合状态,从而去除了抖动影响。2对按键进展编码以给出键值或直接给出键号任何一组按键或键盘都要通过I/O接口线查询按键的状态。根据不同的键盘结构采用不同的编码方法。但无论有无编码与采用什么编码,最后都要转换成与累加器中数值相对应的键值,以实现按键功能程序的散转转移相应的散转指令为JMP A + DPTR,因此一个完善的键盘控制程序应完

45、成下述任务: 检测有无键按下。 有键按下后,在无硬件去抖动电路时,应用软件延时方法除去抖动影响。 有可靠的逻辑处理方法,如n键按下,即只处理一个键,其间任何按下又松开的键不产生影响,不管一次按键持续有多长时间,仅执行一次按键功能程序。 输出确定的键号以满足散转指令的要求。4何谓键抖动?键抖动对单片机系统有何影响?如何消除键抖动?目前,无论是按键还是键盘,大局部利用的都是机械触点的合、断作用。机械触点在闭合与断开瞬间由于弹性作用的影响均有抖动过程,从而使电压信号也出现抖动,如图9-20所示。抖动时间长短与开关的机械特性有关,一般为510ms。按键的稳定闭合时间,由操作人员的按键动作确定,一般为十

46、分之几秒至几秒。为了保证CPU对键的一次闭合仅做一次键输入处理,必须去抖动影响。通常,去抖动影响的方法有硬、软两种。在硬件上是采取在键输出端加R-S触发器或单稳态电路构成去抖动电路。在软件上采取的措施是,在检测到有键按下时,执行一个10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平,假设仍保持闭合状态电平,那么确认该键处于闭合状态,从而去除了抖动影响。5何谓静态显示?何谓动态显示?两种显示方式有何优缺点?所谓静态显示,是指当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,公共端接固定的电平。LED动态显示是将所有位的段选线并接在一个I/O接口上,称为段口,共阴极端或共阳极

47、端分别由相应的I/O接口线控制,称为位口。静态显示显示稳定,但软件简单;动态显示硬件简单,但软件需要不断地刷新。6如果一个8位D/A转换器的满量程对应于数字量255为10V,试分别确定模拟量为2.0V和8.0V所对应的数字量。51 2047某12位D/A转换器,输出电压为02.5V,当输入的数字量为400H时,对应的输出电压是多少?2.5/212*400H=0.625V8使用DAC0832与MCS-51单片机连接时有哪些控制信号?双缓冲方式如何工作?在何种情况下要使用双缓冲工作方式?ILE:输入锁存使能信号输入端,高电平有效。:片选信号端。、:两个写信号端,均为低电平有效。:传输控制信号输入端

48、,低电平有效。DAC0832可工作于双缓冲器方式,输入存放器的锁存信号和DAC存放器的锁存信号分开控制,这种方式适用于几个模拟量需同时输出的系统,每一模拟量输出需一个DAC0832,构成多个DAC0832同时输出的系统。9试设计一个12位A/D转换器与8031的接口电路,编写连续转换10次并将转换结果存入片50H开始的单元中的程序。接口电路参看图6-48。MOVR1,#50HMOVR7,#10LL:LCALLAD574AMOVR1,31HINCR1MOVR1,30HDJNZR7,LLSJMP$AD574A:MOVR0,#7CH ;AD574A端口地址MOVXR0,A ;启动AD574A进展12

49、位转换SETBP1.0 ;置P1.0为输入方式LOOP: P1.0,LOOP ;检测STS的状态INC R0 ;使R/为1,按双字节读取转换结果MOVX A,R0 ;读取高8位转换结果MOV 31H,A ;存高8位结果INC R0INC R0 ;使R/、A0均为1MOVXA,R0 ;读取低4位结果ANL A,#0FH ;屏蔽高4位MOV 30H,A ;存低4位结果RET10设MCS-51单片机系统扩展一个8255,其口地址分别为7CFFH7FFFH,其中PC扩展一个42的矩阵键盘,PC0PC3为行,PC6PC7为列,试画出8255与单片机与键盘的连接简图,并编写键盘管理程序。连接简图参看图6-

50、35的键盘局部,将8*2的矩阵键盘改为4*4的矩阵键盘,片8288A的片选改为接MCS-51单片机的P2.7。键盘管理程序:KEY:MOVA,#00H ;所有行输出0MOVDPTR,#7EFFHMOVXDPTR,AMOVDPTR,#7EFFH;读列值MOVXA,DPTRANLA,#0FHCJNEA,#0FH,KEY1;不全1,说明有键按下SJMPKEYEND;全1,说明无键按下KEY1:MOVB,#11111110B;有键,逐行输出0KEY4:MOVA,BMOVDPTR,#PORT1MOVXDPTR,AMOVDPTR,#PORT2MOVXA,DPTRANLA,#0FHCJNEA,#0FH,KE

51、Y2MOVA,BRLAJNBACC.4,KEYENDMOVB,ASJMPKEY4KEY2:ANLB,#0FH;计算键值MOVR7,AMOVA,BSWAP AORLA,R7MOVB,A;键值在B中MOVR7,#00HMOVR6,#10HKEY6:MOVDPTR,#KEYTABMOVA,R7MOVCA,A+DPTRCJNEA,B,KEY5MOVA,R7RLAADDA,R7MOVDPTR,#KEYTAB1JMPA+DPTR ;转相应的键处理KEYTAB1:LJMPK0LJMPK1LJMPK2LJMPK15KEY5:INCR7DJNZR6,KEY6KEYEND:RETKEYTAB:DB 0EEH,0E

52、DH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7HDB 0BEH,0BDH,0BBH,0B7H,7EH,7DH,7BH,77H11ADC0809与MCS-51单片机接口时有哪些控制信号?作用分别是什么?使用ADC0809时,转换的主要步骤有哪些?START:启动A/D转换。当START为高电平时,A/D开始转换。EOC:转换完毕信号。当A/D转换完毕时,由低电平转为高电平。OE:输出允许信号。CLK:工作时钟,最高允许值为1.2MHz。当CLK为640kHz时,转换时间为100s。ALE:通道地址锁存允许。A、B、C:通道地址输入。地址锁存信号ALE在上升沿将三位通道地址锁存,相

53、应通道的模拟量经多路模拟开关送到A/D转换器。启动信号START上升沿复位部电路,START信号的下降沿启动A/D转换。此时转换完毕信号EOC呈低电平状态,由于逐次逼近需要一定的过程,所以在此期间模拟信号应维持不变,比拟器一次次地进展比拟,直到转换完毕。此时转换完毕信号EOC变为高电平,假设CPU发出输出允许信号OE,那么可读出数据,一次A/D转换的过程就完毕了。12在一个由MCS-51单片机与一片ADC0809组成的数据采集系统中,ADC0809的地址为7FF8H7FFFH。试画出有关的逻辑框图,并编写出每隔一分钟轮流采集一次8个通道数据的程序。共采样100次,其采样值存入片外RAM 300

54、0H开始的存储单元中。原理框图参看图6-45。第7章 MCS-51系列单片机串行总线扩展技术1SPI总线一般使用几条线?分别是什么?SPI使用4条线:串行时钟SCK,主机输入/从机输出数据线MISO简称SO,主机输出/从机输入数据线MOSI简称SI和低电平有效的从机选择线。2I2C总线一般使用几条线?分别是什么?I2C总线采用两线制,由数据线SDA和时钟线SCL构成。3说明I2C总线主机、从机数据传输过程。I2C总线采用两线制,由数据线SDA和时钟线SCL构成。I2C总线为同步传输总线,数据线上的信号完全与时钟同步。数据传送采用主从方式,即主器件主控器寻址从器件被控器,启动总线产生时钟,传送数据与完毕数据的传送。SDA/SCL总线上挂接的单片机主器件或外围器件从器件,其接口电路都应具有I2C总线接口,所有器件都通过总线寻址,而且所有SDA/SCL的同名端相连4SPI总线与I2C总线在

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

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

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


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