单片机原理及其接口技术教学指南及习题答案.docx
- 文档编号:24994653
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:51
- 大小:142.18KB
单片机原理及其接口技术教学指南及习题答案.docx
《单片机原理及其接口技术教学指南及习题答案.docx》由会员分享,可在线阅读,更多相关《单片机原理及其接口技术教学指南及习题答案.docx(51页珍藏版)》请在冰豆网上搜索。
单片机原理及其接口技术教学指南及习题答案
高等职业教育电子信息贯通制类教材(计算机技术专业)
单片机原理及应用
电子教学资料
韩太林主编
PublishingHouseofElectronicsIndustry
北京BEIJING
前言
为了配合《单片机原理与应用》课程的教学,体现教材的编写特色,更好地为读者服务,编写了此教学资料。
教学资料内容有三个部分:
第一部分是教学指南,包括了课程性质与任务、课程内容和要求、教学建议、教学时间分配。
第二部分是习题答案,给出了每道习题的详细解答过程。
第三部分是电子教案,采用PowerPoint课件形式。
教师可以根据不同的教学要求按需选取和重新组合。
限于编著者水平,教学资料中有错误或不妥之处,请读者给予批评指正。
编者
2003年8月
《单片机原理及应用》教学指南
一、课程的性质与任务
1.性质
微计算机技术是计算机技术的一个重要的分支,它普遍应用于工业控制和过程控制领域。
近年来,微计算机技术呈现出百花齐放百家争鸣的态势。
世界著名的计算机公司、器件制招商都不同程度的涉及了微处理器的领域。
其中inttel公司的MCS-51系列单片微型计算机最具有代表性。
单片微型计算机(简称单片机)是指将CPU、存储器、时钟电路、定时器/计数器以及各种输入/输出接口等功能部件制作在一块大规模集成电路芯片上,具有一定的规模和独立功能的计算机。
单片机是微型计算机发展和应用的一个重要的分支,单片机的硬件结构和指令系统的功能却是按工业控制要求设计制造的,经过几个阶段的发展,其功能和性能更加完善、卓越,应用也更加普及和广泛。
单片机具有体积小、重量轻、灵活性好、抗干扰能力强、可靠性高、面向控制、易于扩展和性价比高等优点。
单片机广泛应用与智能仪器仪表、工业控制、通讯设备、家用电器和国防科技尖端计数领域。
2.任务
我们力图使本书有助于读者采用单片机为各自所从事的学科解决实际的问题。
因此,在编写本书的时候,力求深入浅出、通俗易懂,并注重理论联系实际,着重实际应用。
本教材避免冗长乏味的讲解,从实际应用出发,采用案例式的教学模式,强调了学习流程的顺畅性,内容前后的关联性、循序渐进、由浅入深地完成一个个主题式的学习。
在教材的编写过程中遵循了职业教育的教学规律,突出了“目标教学、任务驱动”这一教学特点,教学目标明确,有的放矢,以引导学生把握单片机的精髓所在。
二、预备知识
单片微型计算机作为计算机课程的一个重要的分支,读者在学习本书之前,应具备一定的计算机基础知识、电子技术和数字电路的基础知识,这样通过对本书的学习才能获得更好的效果。
三、教学提要、课程内容、教学要求
第1章计算机基础知识
本章教学内容
本章主要介绍了微型计算机与单片微型计算机的基本概念、产生与发展,单片微型计算机的特点,计算机常用的数与代码等。
一、计算机普遍采用二进制数,本章简要地介绍了二进制、八进制、十进制、十六进制、BCD码、文字符号代码、计算机中常见的逻辑关系以及计算机中常用的带符号的二进制数。
熟悉和掌握上述内容不仅有助于编写阅读计算机指令程序,而且有助于更好的理解、学习和掌握计算机工作过程和原理。
二、单片机发展及发展趋势。
本章教学要求
教学的基本要求,通过本章的学习应达到:
(1)了解微型计算机和单片微型计算机的发展历史,熟悉单片微型计算机的特点。
(2)掌握计算机中“数”的表示方法,各种进制的转换和有符号数的表示方法。
(3)了解单片微型计算机的特点,应用领域。
习题1答案
1-1将下列十进制数转换成二进制和十六进制。
(1)18.625
(2)225(3)210.875
答:
(1)18.625=(22.5)O=(12.A)H
(2)225=(341)O=(E1)H
(3)210.875=(322.7)O=(D2.E)H
1-2将下列十六进制数转换成八进制和十进制。
(1)3BH
(2)0AE7.D2H(3)34ABH(4)0FF.EDH
答:
(1)3BH=(73)O=(59)D
(2)0AE7.D2H=(5347.644)O=(2791.820)D
(3)34ABH=(32253)O=(13483)D
(4)0FF.EDH=(377.732)O=(255.926)D
1-3将下列十进制数转换成BCD码。
(1)34
(2)5678(3)54.234(4)125.45
答:
(1)34=(00110100)BCD
(2)5678=(0101011001111000)BCD
(3)54.234=(01010100.001000110100)BCD
(4)125.45=(000100100101.01000101)BCD
1-4将下列二进制数转换成十六进制、八进制和十进制
(1)10000000B
(2)01111111B(3)11100101.101B(4)10101010B
答:
(1)10000000B=(200)O=(80H)=(128)D
(2)01111111B=(177)O=(7FH)=(127)D
(3)11100101.101B=(345.5)O=(0E5.AH)=(299.625)D
(4)10101010B=(252)O=(AAH)=(170)D
1-5微型计算机通常有哪些部分组成?
各有哪些功能特点?
答:
控制器:
发布各种操作命令,控制信号等
运算器:
主要进行算术和逻辑运算
存储器:
存储程序,数据,中间结果和运算结果
输入/输出接口:
原始数据和程序等通过输入接口送到存储器,而处理结果,控制信号等通过输出接口送出。
1-6单片微型计算机与一般微型计算机相比较有哪些区别?
有哪些特点?
答:
单片机是将CPU,存储器,输入/输出接口,定时器,串行口等功能模块集成在一个芯片内的微处理器。
它具有体积小,重量轻,抗干扰能力强,环境要求不高,价格低廉,可靠性高,灵活性好,开发较容易等特点。
1-7单片微型计算机主要应用在哪些方面?
答:
主要应用于智能仪器仪表,机电设备过程控制,自动检测,家用电器和数据处理等多个方面。
1-8为什么说单片微型计算机有较高的性能、价格比和抗干扰能力?
答:
单片机因为将CPU,存储器,I/O接口,定时器,串行口等功能部件集成在一个芯片上,可以方便的进行控制。
其总线在结构上与外部总线分开,提高了抗干扰能力,应用较灵活。
第2章MCS-51单片机结构
本章教学内容
本章主要介绍了MCS-51系列单片机的内部结构、存储器结构和SRF的功能。
一、第一部分单片机内部结构分别从CPU的结构、I/O端口的结构、总线的结构、复位电路及引脚说明等方面做了详细的叙述。
二、第二部分存储器结构从程序存储器和数据存储器的结构出发做了详细的论述。
三、第三部分详细介绍了ACC、B、PSW、DPTR、T1、T0、SP、SBUF、P0~P3等寄存器。
本章教学要求
1.熟悉MCS-51单片机CPU内部组成结构、各功能部件的作用。
2.掌握存储器的组织结构,程序存储器(ROM)、数据存储器(RAM)、内部特殊功能寄存器(SFR)的配置情况,熟悉程序状态寄存器(PSW)各位的含义及变化规律。
3.掌握MCS-51单片机引脚功能,包括:
P0~P3并行I/O口线的定义、控制信号、三总线组成、时钟电路、复位电路和CPU时序。
4.掌握P0~P3并行I/O口结构和它们的特点。
习题2答案
2-1MCS-51单片机内部包含哪些主要功能部件?
它们的作用是什么?
答:
(1)一个8bitCPU是微处理器的核心,是运算和逻辑计算的中心。
(2)片内震荡器及时钟电路:
提供标准时钟信号,所有动作都依据此进行。
(3)4KROM程序存贮器:
存贮程序及常用表格。
(4)128BRAM数据存贮器:
存贮一些中间变量和常数等。
(5)两个16bit定时器/计数器:
完全硬件定时器。
(6)32根可编程I/O口线:
标准8位双向(4个)I/O接口,每一条I/O线都能独立地作输入或输出。
(7)一个可编程全双工串行口
(8)五个中断源
2-2MCS-51单片机的核心器件是什么?
它由哪些部分组成?
各部分的主要功能是什么?
答:
核心器件是CPU,由运算器和控制器组成。
运算器主要是进行算术运算和逻辑运算。
控制器完成程序时序安排,取指,计数,传输等操作。
2-38031单片机的EA、ALE和PSEN端的功能是什么?
答:
(1)EA为内部程序存贮器和数据存贮器选择端。
高电平时访问内部程序存贮器(PC值小于4KB)。
低电平时访问外部程序存贮器。
(2)ALE为允许地址锁存,把地址的低字节锁存到外部锁存器。
(3)PSEN为外部程序存贮读选通信号输出端。
在外部程序存贮器取指令期间,PSEN在每个机器周期内两次有效。
2-4程序计数器PC有多少位?
它的主要功能是什么?
答:
PC有16位,用于存放将要执行的指令的地址。
2-5什么叫溢出?
溢出和进位有什么不同?
举例说明。
答:
MCS-51单片机的运算器是8bit,因为在完成算术运算时,其可以表示的数的范围是有限的,当计算结果超出显示的位数时,会产生不正常结果,这种现象叫溢出。
溢出意味着其结果是不正确的。
进位只是表示低位向高位有进位。
2-6单片机复位后,各特殊功能寄存器中的初始化状态是什么?
答:
复位后大部分特殊功能寄存器都将置零。
其中(SP)=07H,P0.P1.P2.P3=0FFH,(IP)=xxx00000,IE=0xx00000
(PCON)=0xxxxxxx(其中x为任意数)。
2-7在MCS-51单片机在21个特殊功能寄存器中,哪些具有位寻址能力?
答:
在21个寄存器中其字节地址可以被8整除的寄存器都可以按位寻址。
2-8MCS-51单片机存储器可分为哪几个空间?
如何区分不同存储器空间的寻址?
答:
可以分为程序存贮器,片内RAM,片外RAM。
程序存贮器和片外RAM必须由必须由寄存器间接寻址片内RAM,可以用寄存器寻址,寄存器间接寻址,直接寻址,按位寻址。
2-9程序状态寄存器PSW的作用是什么?
答:
PSW主要表现CPU运算之后程序状态的信息。
2-10MCS-51单片机P3口具有哪些功能?
答:
P3口为双功能口。
第一种功能可以作为输入输出口。
第二种功能
P3.0→RXD
P3.1→TXD
P3.2→INT0
P3.3→INT1
P3.4→T0
P3.5→T1
P3.6→WE
P3.7→RD
2-11MCS-51单片机的片外总线是哪些总线构成?
答:
片外数据总线(8根),片外地址总线(16根),片外控制总线(PSEN,ALE,RD,WR,EA)
2-12MCS-51单片机对外有几条专用控制线?
答:
PSEN,RD,WR,ALE
2-13什么时候需要复位操作?
对复位信号有何要求
答:
需要在开机,死机,死循环等时进行复位操作。
在震荡器运行的情况下,要实现复位操作,必须使RET引脚至少保持两个机器周期(24个震荡周期)的高电平,才能有效复位。
2-14单片机时钟电路有何用途?
起什么作用?
答:
时钟电路为单片机内部提供标准时钟脉冲。
时钟发生器把震荡器产生的频率分为两分频,产生一个两向时钟信号P1和P2供单片机使用。
单片机的所有的动作都来源于标准脉冲。
第3章指令系统
本章教学内容
本章主要讲述了MCS-51指令的寻址方式以及各类指令的格式、功能和使用方法。
指令主要是用于进行数据操作的,而寻址方式则解决如何取得操作术的问题。
MCS-51共有7种寻址方式,即:
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址和位寻址。
寻址方式的不同主要在取操作数的方法不同或寻址范围的不同上,因此总结寻址方式时,应从两个方面入手进行。
对于具体的指令,由于条数比较多,初学时不宜死记硬背,应掌握指令的格式和功能,在学习下一章程序设计时,多加练习,自然就熟练掌握了。
本章教学要求
1.了解MCS-51单片机的指令格式和寻址方式。
理解助记符指令和机器代码,指令字节数,指令执行速度。
2.掌握数据传送、堆栈操作指令、数据交换指令、算术运算、逻辑运算与移位操作、控制转移指令、子程序调用及返回指令。
3.理解算术与逻辑运算对程序状态字PSW的影响,以及控制转移指令的用法。
习题3答案
3-1.什么是指令系统?
MCS—51单片机共有多少种指令?
答:
MCS-51有5类指令共111条。
数据传送类指令29条,算术运算类指令24条,逻辑操作类指令24条,控制转换类指令17条,位操作类指令17条。
3-2.什么是寻址方式?
MCS—51单片机有哪几种寻址方式?
答:
计算机若想完成操作,就要寻找被操作的数据或数据所在的位置。
因此在计算机指令系统中规定了若干种寻址操作数的方式,规定的寻址操作的方式称为寻址方式。
共7种,寄存器寻址,直接寻址,寄存器间接寻址,立即寻址,变址寻址,位寻址和相对寻址。
3-3.指出下列指令中画线的操作数的寻址方式
MOVXA,@DPTR;寄存器间接寻址
MOVDPTR,#0123H;立即数寻址
MOVCA,@A+DPTR;寄存器间接寻址
MULAB;寄存器寻址
INCDPTR;寄存器寻址
MOVA,30H;直接寻址
MOVA,@R1;寄存器间接寻址
SUBBA,R7;寄存器寻址
3-4.已知内部数据存储器30H和40H单元的内容分别为70H和71H,执行下列一段程序后,试分析有关单元内容。
MOVR0,#30H;(R0)=30H
MOVA,@R0;(A)=((R0))=(30H)=70H
MOV@R0,40H;((R0))=(30H)=(40H)=71H
MOV40H,A;(40H)=(A)=70H
MOVR0,#60H;(R0)=60H
3-5.试编写一段程序,将内部数据存储器30H、3lH单元内容传送到外部数据存储器1000H、1001H单元中去。
答:
MOVDPTR,#1000H
MOVA,30H
MOVX@DPTR,A
INCDPTR
MOVA,31H
MOVX@DPTR,A
3-6.试编写一段程序.将外部数据存储器40H单元中的内容传送到0l00H单元。
答:
MOVDPTR,#0040H
MOVXA,@DPTR
MOVDPTR,#0100H
MOVX@DPTR,A
3-7.设(A)=5AH,(R1)=30H,(30H)=E0H,CY=1。
分析下列各指令执行后A的内容以及对标志位的影响(每条指令都以题中规定的原始数据参加操作)。
(1)XCHA,R1;(A)=30H,(R1)=5AH
(2)XCHA,30H;(A)=0E0H,(30H)=5AH
(3)XCHA,@R1;(A)=0E0H,(R1)=30H,(30H)=5AH
(4)XCHDA,@R1;(A)=50H,(R1)=30H,(30H)=EAH
(5)SWAPA;(A)=A5H
(6)ADDA,R1;(A)=8AH,CY=0,AC=1,OV=0
(7)ADDA,30H;(A)=0DAH,CY=1,AC=1,OV=1
(8)ADDA,#30H;(A)=8AH,CY=0,AC=1,OV=0
(9)ADDCA,30H;(A)=0DBH,CY=1,AC=1,OV=1
(10)INCA;(A)=5BH,CY=1
(11)SUBBA,30H;(A)=6AH,CY=1,AC=0,OV=1
(12)SUBBA,#30H;(A)=2AH,CY=0,AC=0,OV=0
(13)DECA;(A)=59H
(14)RLA;(A)=B5H,CY=0
(15)RLCA;(A)=B5H,CY=0
(16)CPLA;(A)=0A5H
(17)CLRA;(A)=00H
(18)ANLA,30H;(A)=40H
(19)ORLA,@R1;(A)=0FAH
(20)XRLA,#30H;(A)=0BAH
3-8.分析下面各段程序中每条指令的执行结果。
(1)MOVSP,#50H;(SP)=50H
MOVA,#0FH;(A)=OFH
MOVB,#0F0H;(B)=0F0H
PUSHA;(SP)=51H,(51H)=(A)=0FH
PUSHB;(SP)=52H,(52H)=(B)=0F0H
POPB;(B)=(52H)=0F0H,(SP)=51H
POPA;(A)=(51H)=0FH,(SP)=50H
(2)MOVA,30H;(A)=30H
MOVB,#0AFH;(B)=0AFH
MOVR0,#31H;(R0)=31H
MOV30H,#87H;(30H)=87H
XCHA,R0;(A)=31H,(R0)=30H
XCHDA,@R0;(A)=37H,(R0)=30H,(30H)=81H
XCHA,B;(A)=0AFH,(B)=37H
SWAPA;(A)=0FAH
(3)MOVA,#45H;(A)=45H
MOVR5,#78H;(R5)=78H
ADDA,R5;(A)=0CDH
DAA;(A)=23H
MOV30H,A;(30H)=23H
(4)MOVA,#83H;(A)=83H
MOVR0,#47H;(R0)=47H
MOV47H,#34H;(47H)=34H
ANLA,#47H;(A)=03H
ORL47H,A;(47H)=37H,(A)=03H
XRLA,@R0;(A)=34H,(R0)=47H,(47H)=37H
3-9.将A中的2位压缩BCD码分开后送入60H和6IH单元的低位。
答:
MOVR0,A
ANLA,#0F0H
SWAPA
MOV60H,A
MOVA,R0
ANLA,#0FH
MOV61H,A
3-10.试编写一段程序,将R3R2中的4位BCD码倒序排列。
答:
MOVA,R2
SWAPA
MOVR0,#30H
MOV@R0,A
MOVA,R3
SWAPA
MOVR2,A
MOVA,@R0
MOVR3,A
3-11.加法和减法指令影响那些标志位?
怎么影响的?
答:
加法和减法执行的结果将影响程序状态寄存器PSW的进位位CY,溢出位OV,辅助进位位AC和奇偶校验位P。
若7位有进位或借位,则CY置1,否则清0
若3位有进位或借位,则AC置1,否则清0
若6位有进(借)位而7位没有进(借)位,或7位有进(借)位而6位没有则置位溢出标志位OV,否则清0
若结果A中1的个数为奇数则P=1,否则P=0
3-12.试分析执行下列指令后,标志位的内容。
(1)已知(A)=0C3H,ADDA,#0AAH
(2)已知(A)=0C9H,SUBBA,#54H
答:
(1)CY=1,AC=0,P=1
(2)CY=1,AC=1,P=0
3-13.SJMP指令指令和AJMP指令都是两字节转移指令,它们有什么区别?
各自的转移范围是多少?
能否用AJMP指令代替程序中的所有的SJMP指令?
为什么?
答:
AJMP是绝对转移指令,指令提供11位目标地址,无条件转移的目标地址范围是从下一条指令开始的2KB空间。
SJMP是相对短转移指令,指令控制程序无条件转向指定地址。
该指令的rel是一个带符号的相对偏移量,范围为-128到+127。
不能。
因为AJMP指令是2KB范围内的无条件跳转指令。
AJMP把MCS-51的64KB程序存储空间划分为32个区,每个区为2KB,转移目标地址必须与AJMP下一条指令的第一个字节在同一个2KB范围内,否则,将引起混乱。
而SJMP指令给出的相对转移地址范围为-128到+127,若相对转移在两区之间进行,则与AJMP的要求相矛盾。
3-14.若SP=25H,PC=2345H,标号LABEL所在的地址为3456H,问执行长调用指令“LCALLLABEL”之后,堆栈指针和堆栈内容发生什么变化?
PC=?
间上述指令改为短调用指令“ACALLLABEL”是否可以?
为什么?
答:
25+1=26H→SP(26H)=48H
26+1=27H→SP(27H)=23H
PC+1→PC
因此PC=2348H
3-15.为什么SJMP指令的rel=0FEH时,间实现单指令死循环?
若要程序转向目标地址为0F75H,而转移指令“SJMPrel”的地址为0F46H,则偏移量rel为多少?
答:
因为SJMP的rel是一个带符号的相对偏移量,范围为-128到+127。
所以当rel=0FEH时,实现单指令死循环。
Rel=2EH
3-16.试编写—段程序,将P1口的高5位置位,低3位不变。
答:
MOVA,#0FBH
ORLP1,A
3-17.试编写—段程序,将累加器A中的负数转换为其补码。
答:
MOVR0,A
ANLA,#80H
JNZLP
MOVA,R0
LP:
MOVA,R0
CPLA
INCA
3-18.试编写—段程序,将R3R2中的双字节负数转换成补码。
答:
MOVA,R3
ANLA,#80H
JNZLP
LP:
MOVA,R3
CPLA
INCA
MOVR3,A
MOVA,R2
CPLA
INCA
MOVR2,A
3-19.试编写—段程序,将R2中的各位倒序排列后送入R3中。
答:
MOVA,R2
RLCA
MOV00H,C
RLCA
MOV01H,C
RLCA
MOV02H,C
RLCA
MOV03H,C
RLCA
MOV04H,C
RLCA
MOV05H,C
RLCA
MOV06H,C
RLCA
MOV07H,C
MOVR3,20H
3-20.试编写—段程序,将R3中的数乘4(用移位指令)。
答:
MOVA,R3
CLRC
RLCA
CLRC
RLCA
MOVR3,A
第4章汇编语言程序设计
本章教学内容
本章主要介绍了MCS-51单片机汇编语言的程序格式,汇编方式以及汇编语言程序设计的基本方法。
此外还分别介绍了简单程序、分支程序、循环程序、查表程序、子程序等实例。
每一种计算机都有自己的指令系统和汇编语言,汇编语言是一种面向机器的语言。
汇编语言程序有一定的格式和结构,一个程序通常由若干个语句组成,每个语句即为一条指令,占一行。
一个语句一般由标号、操作码、操作数三部分组成。
简单程序又称顺序程序,是一种顺序执行的程序,在这种程序中,没有分支、没有循环、也没有子程序调用。
在结构上简单,能完成一定的功能,是构成复杂程序的基础。
分支程序是一种根据对某种条件的判断结果,决定程序不同走向的一种程序。
分支的选择可通过条件转移指令、转移指令表和转移地址表等方式实现,分支程序从结构上可分为单分支、多分支基本结构。
循环程序是一种按照某种控制规律重复执行若干次,以便用尖端程序完成大量处理任务的程序。
采用循环程序不仅可以缩短程序的长度,节约存储空间,而且可以提高编程效率和质量。
循环程序有计数控制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 及其 接口 技术 教学 指南 习题 答案