单片微机原理与接口技术答案(宋跃版)教材_第1页
单片微机原理与接口技术答案(宋跃版)教材_第2页
单片微机原理与接口技术答案(宋跃版)教材_第3页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、第 1 章 思考题及习题参考答案1.1 写出下列二进制数的原码、反码和补码(设字长为 8 位)。( 1)001011(2) 100110( 3)-001011( 4) -111111答:1)原码:00001011反码:00001011补码:000010112)原码:00100110反码:00100110补码:001001103)原码:10001011反码:11110100补码:111101014)原码:10111111反码:11000000补码:110000011.2已知X和Y,试计算下列各题的X+Y补和X-Y补(设字长为8位)。(1) X=1011Y=0011(2) X=1011Y=0111

2、(3) X=1000Y=1100答:(1) X 补码=00001011 Y 补码=00000011 - Y补码=11111101X+Y 补=00001110 X-Y补=00001000(2) X 补码=00001011 Y 补码=00000111 - Y补码=11111001X+Y 补=00010010 X-Y补=00000100(3) X 补码=00001000 Y 补码=00001100 - Y补码=11110100X+Y 补=00010100 X-Y补=111111001.3 微型计算机由那几部分构成? 答:微型计算机由微处理器、存储器和 I/O 接口电路构成。各部分通过地址总线(AB)

3、、数据总线(DB和控制总线(CB相连。1.4 8086 的寻址范围有多大?其物理地址是如何形成?答:8086有20根地址总线,它可以直接寻址的存储器单元数为1M字节,其地址区域为00000HFFFFFH。物理地址是由段地址与偏移地址共同决定的,物理地址=段地址X 16+偏移地址其中段地址通常来自于段寄存器 CS ,物理地址来自于 IP 。1.5 什么叫单片机?它有何特点?答:单片机就是在一块硅片上集成了CPU RAM ROM定时器/计数器和多种I/O 口(如并行、串行及 A/D 变换器等)的一个完整的数字处理系统。单片机主要特点有:品种多样,型 号繁多;存储容量大;频率高,速度快;控制功能强,

4、集成度高;功耗低;配套应用软件多。第 2 章 思考题及习题参考答案:2.1. 说明ROM EPROMEEPRO和FLASH之间的主要区别解:ROM为只读存储器,在一般情况下只能读出所存信息,而不能重新写入。信息的 写入是通过工厂的制造环节或采用特殊的编程方法进行的, 一旦写入, 就能长期保存。EPROM芯片一般允许用户多次编程和擦除。擦除时,通过向芯片窗口照射紫外光的方 法来进行。EEPROM也称E2PROM该类芯片允许用户多次编程和擦除。擦除时,可 采用加电方法在线进行。FLASH是一种新型的大容量、速度快、电可擦除可编程只读 存储器。2.2. EPROM PROM动态RAM静态RAM等存储

5、器中,哪几类是可以随时读写的?解:动态RAM静态RAM这几类是可以随时读写的。2.3 某ROM芯片中有12根地址输入端和8个数据输出端,该芯片的存储容量是多少位? 解:芯片的存储容量是 4K*8 位。24 说明动态RAM和静态RAM的主要区别,使用时应如何选用?解:静态(static)RAM ,即SRAM它以触发器为基本存储单元,所以只要不掉电,其所 存信息就不会丢失。该类芯片的集成度不如动态RAM功耗也比动态RAM高,但它的速度比动态RAM快,也不需要刷新电路。在构成小容量的存储系统时一般选用SRAM在微型计算机中普遍用SRAM构成高速缓冲存储器。动态(Dynamic)RAM,即DRAM 般

6、用MOS型半导体存储器件构成,最简单的存储形式 以单个M0S管为基本单元,以极间的分布电容是否持有电荷作为信息的存储手段,其结构简单,集成度高。但是,如果不及时进行刷新,极间电容中的电荷会在很短时间内自然泄漏, 致使信息丢失。所以,必须为它配备专门的刷新电路。动态RAM芯片的集成度高、价格低廉, 所以多用在存储容量较大的系统中。目前,微型计算机中的主存几乎都是使用动态RAM。2.5. 说明NOR FLASH与 NAND FLAS啲主要区别,使用时应如何选用?解: NOR Flash 具有以下特点:(1) 程序和数据可存放在同一芯片上,拥有独立的数据总线和地址总线, 能快速随机读取,允许系统直接

7、从 Flash中读取代码执行,而无需先将代码下载至RAM中再执行;(2) 可以单字节或单字编程,但不能单字节擦除, 必须以块为单位或对整片执行擦除 操作,在对存储器进行重新编程之前需要对块或整片进行预编程和擦除操作。但是 NORFlash 的擦除和编程速度较慢,块尺寸又较大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储的应用中,NOF技术显得力不从心。NAND Flash 具有以下特点:(1)以页为单位进行读和编程操作,1页为256或512B (字节);以块为单位进行擦除操作,1块为4K、8K或16KB。具有快编程和快擦除的功能,其块擦除时间是2ms而NOR技术的块擦除时间达到几

8、百ms=( 2)数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随机编程。(3) 芯片尺寸小,引脚少,是位成本 (bit cost) 最低的固态存储器,将很快突破每兆字节 1 美元的价格限制。 (4) 芯片包含有失效块,其数目最 大可达到 335 块(取决于存储器密度)。失效块不会影响有效块的性能,但设计者需要将 失效块在地址映射表中屏蔽起来。NORFlash 具有可靠性高、随机读取速度快的优势,在擦除和编程操作较少而直接执行 代码的场合,尤其是纯代码存储的应用中广泛使用,如PC的BIOS固件、移动电话、硬盘驱动器的控制存储器等。NANDFlash 结构的闪速存储器适合于纯数据

9、存储和文件存储, 主要作为 SmartMedia 卡、 CompactFlash卡、PCMCIA ATA卡、固态盘的存储介质,并正成为闪速磁盘技术的核心。26现有2KX 8位的RAM芯片若干片,若用线选法组成存储器, 有效的寻址范围最大是多少KB?若用3-8译码器来产生片选信号,则有效的寻址范围最大又是多少?若要将寻址范围扩展到64KB应选用什么样的译码器来产生片选信号?解:以8086为例,8086有20条地址线,用11条地址线寻址一片 2KX 8位的RAM,余下的 9条地址线做线选法的线, 故可以并联9个芯片,故寻址最大范围是 20KB,若用3-8译码器 来产生片选信号,9条地址线可以控制

10、3个3-8译码器这样就可以控制 24个芯片最大范围 是50KB.若要将寻址范围扩展到 64KB可选用4-16地址译码器来产生片选信号。2.7什么是地址重叠区?它对存储器扩展有什么影响?解:基本地址和前面全译码连接的地址范围是相同的,但两者还是有区别的。 区别在于全译码连接时各芯片的地址是唯一的,而部分译码连接时各芯片地址不是唯一的,也就是可以由若干个地址都选中同一芯片的同一单元,既所谓的地址重叠区。由于存在的地址重叠, 影响了地址区的有效使用,也限制了存储器的扩展。因此,在选用部分译码时,也要尽可能多选一些高位地址线来作为译码器的输入。741382 10 5 4111 11 直A直直总B Tq

11、C空G2B 1512叶玄8000H-83FFHCS UR *09# 3D厂桁8400H-87FFHU* 1 D皿80QOH-83FFHCS IF松阳CS WE心如图 2-221K X 8扩展的3 K X 8的存储系统2.8如图2-22若用1KX 8位片子来扩展3KX 8位RAM试核算各片的地址范围为多少1 0 1A3FFH11 1 1 1 1 1 1 1 1片 1:A15 A 14 A 13A 12 A11 A 10A 9 A8A7A6A5A4 A3A2A1A0G1AB C1 0 11 00 0 00 0 0 00 0 0 02:B000H地址解:A15G11A 14 A 130 1 0A 1

12、2 A 11 A 10 A 9 A 8 A7A6A5A4 A3A2A1A0地址片1A0 0B C0 00 0 0 00 0 0 0A000H1 02:B3FFH11 0 0 111 1 1 11 1 1 1片A15 A 14A 13A 12 A 11 A 10A 9 A8A7A6A5A4 A3A2A1A0地址G1A B C10 11 0 1 0 00 0 0 00 0 0 0片1 0 1B7FFH11 1 1 1 1 1 1 1 1片 3:3:B400H所以各片地址范围为:片 1 : A000H-A3FFH, 片 2: B000H-B3FFH, 片 3: B400H-B7FFH2.9. 现有8

13、KX 8位RAM多片,1片3-8译码器,要构成容量为 16KX 8位的存储器,请用线 译码、部分译码、全译码 3 种方式分别设计,画出连接图,并指出寻址范围。解:线译码法 : 寻址范围: 2000H5FFFH呂位DBA14部分译码寻址范围:0000H3FFFHAI3全译码:寻址范围:0000HFFFFH#1#2DOOO-1FFFH2000-3FFFHCEAl 3-Al 52.10. 如何检查扩展的 RAMI工作是否正常?试编一个简单的RAM险查程序,要求此程序能记录有多少个RAM单元工作有错?且能记录出错的单元地址。解:TEST_CONST EQU 5AHTEST_RAM EQU 03HORG

14、 0000HLJMP INITIALORG 0050HINITIAL: MOV R0 , #253MOV R1, #3HTEST_ALL_RAM: MOV R,2 #0FFHTEST_ONE_RAM: MOV A, R2MOV R,1ACLR AMOV A,R1CJNE A,2H, ERROR_DISPLAYDJNZ R2, TEST_ONE_RAMINC R1DJNZ R0, TEST_ALL_RAMOK_DISPLAY:MOV P1, #11111110BWAIT1: SJMP WAIT1ERROR_DISPLAY: MOV A, R1MOV P1, AWAIT2: SJMP WAIT2E

15、ND第 3 章 思考题及习题参考答案3.1. 80C51单片机的P0P3口在通用I/O 口时操作要注意哪些?P0P3口不做通用I/O 口时是什么功能?在使用上有何特点? P0P3 驱动能力如何?答:(1)作为通用I/O 口时,P0P3都是准双向口,输入引脚信息时都必须先向其锁存器写“1 ”,作为输出口时 P0 口需结上拉电阻。(2)P0可以作为地址/数据总线;P2 口可以作为地址线的高 8位;P3 口是双功能口, 每条口线还具有不同的第二功能。(3)P0 口的驱动能力为8个TTL负载,而其它口仅可驱动4个TTL负载。3.2、MCS-51单片机运行出错或程序进入死循环,如何摆脱困境?答:通过复位

16、电路复位3.3、单片机的复位(RST操作有几种方法,复位功能的主要作用是什么?答:单片机的复位操作方式有: 1、上电复位; 2、手动复位。复位功能的主要作用是:复位时,PC初始化为0000H,使MCS-51单片机从0000H开始执行程3.4、简述程序状态寄存器 PSW寄存器中各位的含义。 答:程序状态字寄存器 PSW, 8 位。其各位的意义为:CY进位、借位标志。有进位、借位时CY=1,否则CY=0AC:辅助进位、借位标志(高半字节与低半字节间的进位或借位);F0:用户标志位,由用户自己定义;RS1、RS0当前工作寄存器组选择位,共有四组:00、01、10、11;OV溢出标志位。有溢出时OV=

17、1,否则OV=0P:奇偶标志位。存于累加器 ACC中的运算结果有奇数个 1时P=1,否则P=0.3.5 、 80C51 单片机的当前工作寄存器组如何选择?答:由特殊功能寄存器中的程序状态寄存器PSW勺RS1 RS0来决定,当RS1、RS0为00时,选择 0组;为 01时,选择 1组;为 10时选择 2组,为 11时选择 3组。3.6、80C51 单片机的控制总线信号有哪些?各信号的作用如何?答:80C51单片机的控制总线信号有以下4个,各信号的作用为:RST/VPD: 复位信号输入引脚 / 备用电源输入引脚;ALE/PROG: 地址锁存允许信号输出引脚 /编程脉冲输入引脚;EA/Vpp :内外

18、存储器选择引脚/片内EPROM或FlashROM)编程电压输入引脚;PSEN外部程序存储器选通信号输出引脚。3.7、8051单片机中EA引脚的作用是什么?答:访问内部或外部程序存储器的选择端当EA接高电平的时候程序从内部RO卅始执行,当EA为低电平的时候,从外部 ROM开始执行3.8、程序计数器PC的作用是什么?答:程序计数器 PC是一个16位的计数器,他总是存放着下一个要取的指令的16位存储单元地址。 用来存放下一条指令的地址用来存放下一条指令的地址的。 当执行一条指令时, 首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,此过程称为“取指 令”。与此同时,PC中的地址或自动加

19、1或由转移指针给出下一条指今的地址。此后经过 分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令3.9、 堆栈有哪些功能?堆栈指示器(SP )的作用是什么?在程序设计时,为什么要对SP重新赋值?答:堆栈在中端过程中用来保护现场数据,复位后SP=7H而堆栈一般设置在通用 RO区(30H-7FH),在系统初始化时候要从新设置。3.10、内部RAM氐128单元划分为哪3个主要部分?说明各部分的使用特点。答:80C51内部128B的数据RAM区,包括有工作寄存器组区、可直接位寻址区和数据缓 冲区。各区域的特性如下:(1) 00H1FH为工作寄存器组区,

20、共分 4组,每组占用8个RAM字节单元,每个单元 作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器 R0R7当前工作寄存器组的选择是由程序状态字PSW的RS1、RS0两位来确定。如果实际应用中并不需要使用工作寄存器或不需要使用 4 组工作寄存器,不使用的工作寄 存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri 的寄存器间接寻址来访问。(2) 20H2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H7FH 当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。(3) 30H7FH为堆栈、数据缓冲区。3.11、简述MCS-51单片机存储区的划分。答:MCS-

21、51单片机的存储器从物理结构上分为:片内和片外数据存储器,片内和片外程 序存储器。2)从逻辑上分别可划分为:片内统一寻址的64K程序存储器空间(OOOOH-FFFFH ); 64KB的片外数据存储器空间( 0000H-FFFFH) ;256B 的片内数据存储器空间( 00H-FFH)。12、MCS-51基本型单片机的中断入口地址各为多少。答:外部中断 0中断入口地址0003H定时 / 计数器 0中断入口地址000BH外部中断 1中断入口地址0013H定时 / 计数器 1中断入口地址001BH串行接口中断入口地址0023H3.13、什么是指令周期、机器周期和时钟周期?答:指令周期:指令的执行时间

22、;机器周期:CPU完成一个最简单的指令所需要的时间;时钟周期:晶振信号周期就是时钟周期。3.14、已知一 MCS51单片机系统使用6MHZ勺外部晶体振荡器,计算:该单片机系统的状态 周期与机器周期各为多少?解:由于晶振为6MHz所以机器周期为2us,因为一个机器周期由 6个状态周期组成,所以 状态周期 1/3us3.15、8031单片机需要外接程序存储器,实际上它还有多少条 I/O 线可以用?当使用外部 存储器时,还剩下多少条 I/O 线可用?答: 8031系统必须外接程序促成器, 原则上说,P0和P2 口要用作数据和地址总线, 所以只 有P1和P3 口可用作I/O 口,共16条I/O线。在使

23、用外部存储器时,除了占用 P0和P2 口 外,还需要用P3 口 RD( P3.7 )和WR( P3.6 )两条控制线,所以这种情况下就只剩下 14条 I/O 线可用了。第 4 章 思考题及习题参考答案4.1. 寻址方式是什么? 答:寻址方式是寻找操作数或操作数地址的方式。2. 89C51 指令系统有哪几种寻址方式?答:89C51的寻址方式有七种。即:寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、 基址寄存器加变址寄存器变址寻址、相对寻址和位寻址。3、访问特殊功能寄存器 SFR可以采用哪些寻址方式?答:直接寻址和位寻址方式。4、 访问RAM单元可以采用哪些寻址方式?访问外部RAMI单元有哪些指

24、令?答:直接寻址、寄存器间接寻址和位寻址方式。访问外部RAM单元的指令有4条:MOVX A,DPTRMOVX A,RiMOVX DPTR, AMOVX Ri, A5、访问外部程序存储器可以采用哪些寻址方式?访问外部程序存储器有哪些指令?答:立即寻址、变址寻址和相对寻址方式。访问外部程序存储器的指令有 2 条MOVC A, A+DPTRMOVC A, A+PC6、试写出完成以下每种操作的指令序列。(1)将R0的内容传送到片内 RAM 20H( 2)将 R1 的内容传送到 R0;(3)内部RAM单元10H的内容传送到外部 RAM单元1000H;(4)外部RAM单元1000H的内容传送到 R5;(5

25、)外部ROM单元1000H的内容传送到 R5;(6) 外部RAM单元2000H的内容传送到外部 RAM单元2001H。答:(1) MOV 20H,R0(2)MOV A,R1MOV R0,A(3)MOV A,10HMOV DPTR,#1000HMOVX DPTR,A(4)MOV DPTR,#1000HMOVX A,A+DPTRMOV R5,A(5)MOV DPTR,#1000HMOV A,#00HMOVC A,A+DPTRMOV R5,A(6)MOV DPTR,#2000HMOVX A,DPTRINC DPTRMOV R0,# 30H; (RO):=30H,78 30MOV A, R0;(A)

26、=60H,E6MOV R1, A;(R1) =60H,F9MOV B, R1;(B) = 10H,87 F0MOV R1, P1;(60H) =0AH,A7 90MOV P2, P1;(P2) =0AH,85 90 A0MOV 10H,# 90H ; (10H) =90H, 75 10 90(30H)= 60H, (60H)= 0A H, (10H)= 90H,(A) = 60H,(B) = 10H, ( P2) = 0AHMOVX DPTR,A7.设内部 RAM (30H)=60H, (60H)=10H, (10H)=20H, (R1)=22H,(P1)=0AH,分析以下程序执行后(30H)

27、=码为多少?? , (60H)=? , (10H)=? , (A) = ? , (B) = ? , (P2)=?每条指令的机器MOVRO,# 30HMOVA, R0MOVR1, AMOVB, R1MOVR1, P1MOVP2, P1MOV10H,# 90H答:8. 设外部 RAM (2030H)=0FH,分析以下指令执行后 (DPTR)=?, (30H)=?, (2030H)=?(A)=? 每 条指令的机器码为多少?MOV DPTR, # 2030HMOVX A, DPTRMOV 30H, AMOV A, # 3FHMOVXDPTR, A答:MOV DPTR, # 2030H; (DPTR)

28、= 2030H , 90 20 30MOVX A, DPTR ; (A) =0FH , E0MOV 30H, A; (30H) =0FH , F5 30MOV A, # 3FH ; (A) =3FH , 74 3FMOVXDPTR, A ; (2030H)=3FH, F0执行结果为:(DPTR)=2030H, (30H)=0FH, (2030H)=3FH ,(A)=3FH。9、编写指令实现下列位操作。(1) 使累加器的最高 2位清零;(2) 屏蔽(清零)20H的高4位;(3) 将E0H的低4位取反,高4位不变;(4) 将P0的低2位置1。( 5)将 10H 的内容取补后存放到 20H 答:(

29、1) CLR ACC.7CLR ACC.6(2) ANL 20H,#0FH(3) XRL E0H,#0FH(4) ORL P0,#03H(5) XRL 10H,#0FFH INC 10H MOV 20H,10H10. 在外部程序存储器中,从1020H单元开始依次存放 09的平方值:0、1、4、9、81,要求依据累加器 A中的值(09)来查找所对应的平方值,试设计程序实现。答:MOV DPTR, # 1020HMOVC A, A+DPTR11. 设 (R0)=20H, (20H)=40H, (A)=58H,则:执行 XCH A, R0 后 (A)= ?, (20H)= ? 若执行 XCHD A,

30、 R0 后 (A) = ?, (20H) = ?答:执行 XCH A, R0 后 (A)=40H, (20H)=58H若执行 XCHD A, R0 后 (A) =50H, (20H) =48H12. 试编写程序序列, 完成两个16位数的减法:(30H) (31H) (10H)(1伯)宀(30H) (31H)。 答: CLR CMOV A,31HSUBB A,11HMOV 31H,AMOV A,30HSUBB A,10HMOV 30H,A13. 试编写程序,将R0中的低4位数与R1中的高4位数合并成一个8位数,并将其存放在 R0中。答: MOV A,R0ANL A,#0FHMOV B,AMOV

31、A,R1ANL A,#0F0HORL A,BMOV R0,A14. 设计双字节无符号数加法程序实现(R0 R1)+(R2 R3) 宀(R4 R5), R0 、R2、R4存放16位数的高字节,R1、R3、R5存放低字节,假设其和不超过16位。答: MOV A, R1ADDA, R3MOVR5, AMOVA, R0ADDCA, R2MOVR4, A15. 设计双字节无符号数相减程序实现(RO R1) - (R2 R3)宀(R4 R5) 。 R0 R2、R4存放16位数的高字节,R1、R3、R5存放低字节,答:MOV A, R1CLR CSUBB A, R3MOV R5, AMOV A, ROSUB

32、B A, R2MOV R4, A17. 设2个BCD码数存在外部 RAM的2000H和内部RAM的20H。设计程序实现 2个BCD码相 加,其结果的十位和个位送到外部RAM的2000H单元,结果的百位值送F0位。答: MOV DPTR,#2000HMOVX A,DPTRADD A, 20HDA AMOVX DPTR, AMOV F0H,CY18.设变量X存放在片内10H单元中,函数Y存放在片内20H单元。编写程序实现如下函数功能。80H X0Y= 50 彳 X=0FFH X0则转移到POSI;若 X0时 A=80H存函数Y值结束19. 利用位逻辑指令,模拟下图硬件逻辑电路功能。试编写程序实现。

33、答:MOV CY,P1.0ANL CY,P1.1CPL CYMOV F0,CYMOV CY,P1.1ORL CY,P1.2ANL CY,F0CPL CYMOV F0,CY20. 若(CY) =0, (P1) =10110111B,试指出执行下列程序段后, CY P1 口内容的变化情况。MOV P1.2,CMOV C, P1.4JBC P1.7 ,SSORL C, P1.6SS:CPL P1.3ANL C, /P1.3MOV P1.0,C答:(CY)=0,( P1)=0011 1010B第5章 思考题及习题参考答案1、80C51单片机汇编语言有何特点?答:优点;源程序结构紧凑、灵活,汇编成的目标

34、程序效率高,具有占存储空间少、运行速 度快、实时性强等优点。缺点:由于它的是面向机器的语言,所以它缺乏通用性,编程复杂繁琐,但应用相当广 泛。2、利用80C51单片机汇编语言进行程序设计的步骤如何?答:(1).需要对单片机应用系统预先完成的任务进入深入的分析,明确系统的设计任务、 功能要求、技术指标。(2).要对系统的硬件资源和人工作环境进行分析和熟悉(3).利用数学方法或数学模型来对其进行描述,从而把一个实际问题转化成由计算机 进行处理的问题。(4).对各种算法进行分析比较,并进行合理的优化。3、常用的程序结构有哪几种?特点如何? 答:常用的程序结构有以下几种:(1)顺序程序结构:顺序结构是

35、按照逻辑操作顺序,从某一条指令开始逐条顺序进行, 直到某一条指令为止; 比如数据传送与交换、 查表程序和查表程序的设计等; 在顺序结构中 没有分支,也没有子程序,但它是组成复杂程序的基础和主干;( 2)分支程序结构: 它的主要特点是程序执行流程中必然包含有条件判断指令, 符合条 件要求的和不符条件合要求的有不同的处理程序;( 3)循环程序结构 :它在本质上只是分支程序中的一个特殊形式,它由循环初始化、循环体、循环控制和结束部分构成;在循环次数已知情况下, 采用计数循环程序, 其特点是必须在初始部分设定计数的初始值,循环控制部分依据计数器的值决定循环次数; 根据控制循环结束的条件,决定是否继续循

36、环程序的执行。( 4)子程序:它的主要特点是, 在执行过程中需要由其它的程序来调用,执行完后又需 要把执行流程返回到调用该子程序的主程序。4、子程序调用时,参数的传递方法有哪几种?答:在 80C51 单片机中,子程序调用时,参数的传递方法由三种:(1)、利用累加器 A 或寄存器;(2)、利用存储器;(3)、利用堆栈。5、什么是伪指令?常用的伪指令功能如何? 答:伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。常用的伪指令有:(1) 起始地址设定伪指令ORG该指令的功能是向汇编程序说明下面紧接的程序段或 数据段存放的起始地址;(2) 汇编结束伪指令 END该指令的功能是汇编程序遇到E

37、ND伪指令后立即结束汇编;(3)字节数据定义伪指令 DB该指令的功能是从标号指定的地址单元开始,在程序存 储器中定义字节数据;(4)字数据定义伪指令 DW该指令的功能是从标号指定的地址单元开始,在程序存储 器中定义字数据;(5)空间定义伪指令 DS该指令的功能是从标号指定的地址单元开始,在程序存储器 中保留由表达式所指定的个数存储单元作为备用空间,并都填以零值;(6)赋值伪指令 EQU该指令的功能是将表达式的值或特定的某个汇编符号定义为一 个指定的符号名;(7)位地址符号定义伪指令 BIT,该指令的功能是将位地址赋给指定的符号名。6:把外部 RAM的 2000-20FFH RAM空间置零程序如

38、下:ORG 000HMOV R0,#00HMOV DPTR,#2000H; 空间首地址送 DPTRLOOP: MOV A,#00HMOVX DPTR,A ;清零INC DPTR;DPTR加 1INC RO;字节数加1CJNE RO,#OOH,LOOP;连续清 256个字节LOOP1: SJMP LOOP1END7、录入并调试一个排序子程序,其功能为用冒泡法将内部RAM中从50H开始的十个单字节无符号正整数,按从小到大的次序重新排列。程序如下: 用冒泡法进行数据排序ORG 0000HMOV R3,#50HLOOP0: MOV A,R3MOV R0,A;指针送 R0MOV R7,#0AH;长度送

39、R7CLR 00H;标志位为0MOV A,R0LOOP1: INC R0MOV R2,ACLR CMOV 22H,R0CJNE A,22H,LOOP2;相等吗?SETB CLOOP2: MOV A,R2JC LOOP3;小于或等于不交换SETB 00HXCH A,R0DEC R0XCH A,R0INC R0;大于交换位置LOOP3:MOV A,R0DJNZ R7,L OOP1JB OOH,L OOPOLOOP: SJMP LOOP;一次循环中有交换继续;无交换退出END8、设被加数存放在内部 RAM勺20H 21H单元,加数存放在 22H 23H单元,若要求和存放在24H答:25H中,试编写出

40、16位数相加的程序。ORG 1000HMOV R1,#21HMOV R2,#23HMOV R3,#25HCLR CLP;MOV A,R2ADDC A,R1MOV R3,ADEC R1DEC R2DEC R3DJNE R1,#1FH,LPSJMP $9、 编写一段程序,把外部RAM中 1000H1030H单元的内容传送到内部RAM的30H60H单元中。答: ORG 0030HMOV R1,#49MOV R0,#30HMOV DPTR,#1000HLOOP: MOVX A,DPTRMOV R0,AINC DPTRINC R0DJNZ R1,LOOPSJMP $END10、编写程序,实现双字节无符号

41、数加法运算,要求( R1R0 +(R7R6)61H60H。答:MOV A,R0ADD A,R6MOV 60H,AMOV A,R1ADDC A,R7MOV 61H,ASJMP $11、用R0和R1作数据指针,R0指向第一个加数,并兼作“和”的指针,R1指向另一个加数,字节存放到R2中作计数初值。答:主程序:JAFA: MOV R0,#20H;指向加数最低字节MOV R1,#29H;指向另一加数最低字节MOV R2,#04H;字节数作计数值ACALL JASUB;调用加法子程序AJMP $RTE多字节加法子程序:JASUB: CLR CJASUB1: MOV A,R0取出加数的一个字节(4E无符号

42、数加数)ADDCA,R1加上另一数的一个字节MOVR0,A保存和数INCR0指向加数的高位INCR1指向另一加数的高位DJNZR2,JASUB1全部加完了吗?RET12、 在内部RAM的21H单元开始存有一组单字节不带符号数,数据长度为30H,要求找出最 大数存入 BIG 单元。答:START: MOV R7,30HDEC R7MOV R0,#21HMOV A,R0LOOP:INC R0CLR CSUBB A,R0JNC NEXTMOV A,R0NEXT:DJNZ R7,LOOPMOV BIG, ASJMP $END13、求双字节补码程序设双字节数放在内部 RAM的30H和31H单元(高字节在

43、低地址),将其取补后存入 40H(存 放高字节)和41H (存放低字节)单元答:START:MOV A,31HCPL AADD A,#01HMOV 41H,AMOV A,30HCPL AJNC DONEADD A,#01HDONE:MOV 30H,ASJMP $14、编程统计累加器 A中“ 1”的个数。答:MOV R1,#0PUSH ACCLOOP1:JZ DONECLR CRLC AJNC LOOP1INC R1SJMP LOOP1DONE:POP ACCSJMP $END15、编程序实现 1+2+3+100=?答:汇编代码如下 :H_Byte EQU R4 ;保存结果,高 8 位L_Byt

44、e EQU R5 ;保存结果,低 8 位Max_Adder EQU 100 ; 最大的加数ORG 0000HLJMP MAINORG 0030HMAIN:MOV R2,#1 ; 加数MOV R4,#0MOV R5,#0START:MOV A,#Max_AdderCLR CYSUBB A,R2JC RESULTMOV A,R2ADD A,L_ByteMOV L_Byte,A ; 保存低位MOV A,H_ByteADDC A,#0MOV H_Byte,A ; 保存高位INC R2JMP STARTRESULT:SJMP $ ; 只用于调试ENDC 语言代码如下 :#include at89x51.

45、h /void main(void)unsigned char i=1;unsigned int result=0; for(i=1;i=100;i+) result+=i;while(1); /这里用于调试由于这里只是计算结果,所以这行代码可以去掉第 6 章思考题及习题参考答案1. 什么是中断、中断源、中断服务程序、中断程序入口地址?答: 当有中断源申请中断,并允许响应时,处理暂停当前执行的程序转去执行中断服务子 程序的过程叫中断。 导致中断产生的事件和原因统称为中断源。 处理暂停主程序后转去执行 的,用来处理中断事件的程序成为中断服务子程序。 中断程序入口地址是指的中断服务子程 序的第一条

46、指令所在的地址。2. 中断优先权有什么作用,中断嵌套是什么? 答:中断优先权可以用来解决多个中断源同时申请中断时, 处理器响应中断的优先顺序。 中 断嵌套是指处理器正在执行中断服务子程序时, 被新的中断打断, 转去执行新的中断而出现 的一个中断嵌套到另一个中断中的现象。3. 保护断点是保护什么,怎么保护的,中断返回后的下一步到到哪里去? 答:保护断点是保护主程序暂停时的下一条将要执行的指令的地址。保护方法是将下一条 指令的地址值入栈。中断返回后,断点地址从堆栈中弹出到程序计数器或指令指针寄存器, 继续执行主程序。4保护现场有什么作用,需要保护哪些内容,怎么保护的?5. 80C51单片机有个中断

47、源,分别是、和。答:5, INTO , INT1 ,TO, T1,串口6. 80C51单片机中断有个优先权等级,最多可以实现 级嵌套。答:2,27. 80C51中断嵌套的原则是什么?答:80C51中断嵌套的原则是:高级中断可以打断低级中断,低级中断不能打断高级中断, 同级中断不可以打断同级中断。8. 80C51响应中断的条件有哪些? 答:80C51响应中断的条件有:中断申请的对应中断使能控制位有效;全局中断使能控制位有效;中断申请时没有更高级别的中断服务程序正在执行;9. 80C51的各个中断源是如何撤销中断申请的? 答:80C51各中断源的中断申请撤销方法是:定时/计数器中断:在中断被响应后

48、,由硬件自动清零中断申请标志位;串口中断:由软件清零中断申请标志位;边沿触发时的外部中断:中断被响应后,由硬件自动清零中断申请标志位;电平触发的外部中断:需要设计专门的电路, 通过软件编程通知外部中断源,由外部中断源撤销申请。10. 80C51单片机中有 个定时/计数器,定时/计数0有种工作方式,定时/计数1有种工作方式。答:2,4,311. 80C51单片机中有与定时/计数器相关的特殊功能寄存器有哪些,各自有什么作用? 答:有TMO刖TCON的高4位。TMODI来设置定时/计数的工作方式,选择计数时钟的来源。具体格式如下: 定时/计数器1定时/计数器0D7D6D5D4D3D2D1D0名称GA

49、TEC/ TM1M0GATEC/TM1M0TCON勺高4位用来控制定时/计数器的启动和停止,并设置中断标志位,向处理器申请中断。具体格式如下:位地址8FH8EH8DH8CH8BH8AH89H88H位名称TF1TR1TF0TR0IE1IT1IE0IT012. 80C51单片机中的定时/计数器用作定时器和计数器时,有什么区别?答:用作定时器时,通常选择内部时钟,也可使用外部时钟,应用中,通常需要根据定时 要求设定计数初值。并查询等待定时时间结束,或者在定时时间结束后向处理器申请中断; 用作计数器时,只能选择外部时钟,通常设置计数初值为零,而且需要读取计数结果。13. 80C51单片机中的定时/计数

50、器的门控设置位 GATE有什么作用?答: GATE用来设置外部中断输入引脚 INTO或INT1是否影响定时/计数器的启动和停止。 当GATE有效时,只有INTO或INT1为高时,相应计数器才可能启动;当 GATE无效时,INTO或INT1不影响计数器的启停。14. 80C51单片机中的定时/计数器的方式0和方式1有什么共同点和不同点?答:方式1和方式0都是不能自动重装的定时/计数器方式,基本结构相同。不同的是,方式1是16位定时/计数器;而方式 0是13位定时/计数器,其中计数寄存器低字节的高3位不使用。15. 当定时/计数器TO工作在方式3时,T1可以工作在哪些方式, 与TO不工作在方式3时

51、, T1的工作方式有什么差异?答:TO工作在方式3时,T1可以工作在方式 O,方式1,方式2。相对于TO不工作在方式 3时,T1没有了启动控制位 TR1,没有了中断申请标志位 TF1,只有设置成方式3才能停止计 数,设置在其它方式都会不停计数。16. 要求设置单片机的定时器 1工作在中断模式,方式 1,计数器模式,软件启动,定时器 O未使用,使用外部中断 O,下降沿触发中断,外部中断 1闲置,串口关闭。要求设置定时 器1的中断优先级最高。那么 IE=、IP=、TMOD=、ITO=_。答:89H 或 1OOO1OO1B,O8H 或 OOOO1OOOB, 5OH 或 O1O1OOOOB, 1仃.执

52、行以下代码的作用是 ANL TMOD, #OFOHORL TMOD, #O2H答:设置定时/计数器0工作在方式2,定时器模式,仅由软件启动。18. 若某单片机系统的晶振为12MHz使用定时/计数器0,进行700us定时,可以使用哪些工作方式,要求只要软件就可以启动,且通过查询方式实现。写各种方式下的初始化程序。答:晶振频率为12MHz则计数器时钟周期为 1us,定时时间为700us,则需要计数700,方 式0的最大计数为8192,方式1为65536,方式2和方式3为256。因此可以选择方式 0和 方式1。一:选择方式 0方式0为13位计数器,计数初值为:13 fosc t12 106 700 10-6TO初值 -2 -亠 81927492 12 12TH0= 11101010B=0

温馨提示

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

评论

0/150

提交评论