单片微机原理及应用__徐春辉___电子工业出版社习题答案
- 格式:doc
- 大小:586.00 KB
- 文档页数:151
第二章单片机结构及原理1、MCS-51 单片机内部包含哪些主要功能部件?它们的作用是什么?答:(1)一个8bit CPU 是微处理器的核心,是运算和逻辑计算的中心。
(2)片内震荡器及时钟电路:提供标准时钟信号,所有动作都依据此进行。
(3)4K ROM程序存贮器:存贮程序及常用表格。
(4)128B RAM 数据存贮器:存贮一些中间变量和常数等。
(5)两个16bit 定时器/计数器:完全硬件定时器(6)32 根可编程I/O 口线:标准8 位双向(4 个)I/O 接口,每一条I/O 线都能独立地作输入或输出。
(7)一个可编程全双工串行口。
(8)五个中断源。
2、什么是指令?什么是程序?答:指令是规定计算机执行某种操作的命令。
程序是根据任务要求有序编排指令的集合。
3、如何认识89S51/52 存储器空间在物理结构上可以划分为 4 个空间,而在逻辑上又可以划分为3 个空间?答:89S51/52 存储器空间在物理结构上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
在逻辑上有3个存储器地址空间:片内、片外统一的64KB 程序存储器地址空间,片内256B数据存储器地址空间,片外64KB的数据存储器地址空间。
4、开机复位后,CPU 使用的是哪组工作寄存器?他们的地址是多少?CPU 如何确定和改变当前工作寄存器组?答:开机复位后,CPU 使用的是第0 组工作寄存器,地址为00H~07H,CPU 通过改变状态字寄存器PSW中的RS0 和RS1 来确定工作寄存器组。
5、什么是堆栈?堆栈有何作用?在程序设计时,有时为什么要对堆栈指针SP 重新赋值?如果CPU 在操作中要使用两组工作寄存器,SP 应该多大?答:堆栈是一个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。
堆栈指针SP复位后指向07H 单元,00H~1FH 为工作寄存器区,20H~2FH 为位寻址区,这些单元有其他功能,因此在程序设计时,需要对SP 重新赋值。
微机原理及应用习题答案《微机原理及应用》习题答案第一章?1.11 请完成下列数制转换:(1)将174.66D转换为对应的二进制和十六进制形式。
(2)将100011101011.01011B转换为对应的十进制和十六进制形式。
(3)将F18A6.6H转换为对应的二进制和十进制形式。
答:174.66D=10101110.1010B=AE.AH100011101011.01011B=2283.34375D=8EB.58HF18A6.6H=989350.375D?1.12 请写出与数据+37和-37对应的8位机器数原码、反码和补码,并分别用二进制和十六进制表示出来。
答:-37D=(10100101B)原=(11011010B)反=(11011011B)补?1.13 8位机器数46H,若作为无符号数和补码有符号数,其对应的真值各是什么?若作为BCD码和ASCII码,其对应的又是什么?答:无符号数46H=70,补码46H=+70 BCD码46H=46,ASCII码46H=“F”第二章?2.5什么是8088中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?1MB最多能分成多少个逻辑段?请将如下逻辑地址用物理地址表达:(1) FFFFH:0H (2) 40H:17H (3) 2000H:4500H (4) B821H:4567H答:⑴ FFFFH:0H = FFFF0H ⑵ 40H:17H = 00417H⑶ 2000H:4500H = 24500H⑷ B821H:4567H = B C777H?2.8已知DS=2000H,BX=0100H,SI=0002,存储单元[20210H]~[20213H]依次存放12H,34H,56H,78H,[21200H]~[21203H]依次存放2AH,4CH,87H,65H,说明下列每条指令执行完后AX寄存器的内容以及源操作数的寻址方式?答:⑴ AX=1200H,立即数寻址;⑵ AX=0100H,寄存器寻址;⑶ AX=4C2AH,直接寻址;⑷ AX=3412H,寄存器间接寻址;⑸ AX=4C2AH,寄存器相对寻址;⑹ AX=7865H,基址变址寻址;⑺ AX=65B7H,基址变址相对寻址。
单⽚机原理及应⽤习题标准答案--(第三版)单⽚机原理及应⽤习题答案--(第三版)————————————————————————————————作者:————————————————————————————————⽇期:第⼀章习题参考答案1-1:何谓单⽚机?与通⽤微机相⽐,两者在结构上有何异同?答:将构成计算机的基本单元电路如微处理器(CPU)、存储器、I/O接⼝电路和相应实时控制器件等电路集成在⼀块芯⽚上,称其为单⽚微型计算机,简称单⽚机。
单⽚机与通⽤微机相⽐在结构上的异同:(1)两者都有CPU,但通⽤微机的CPU主要⾯向数据处理,其发展主要围绕数据处理功能、计算速度和精度的进⼀步提⾼。
例如,现今微机的CPU都⽀持浮点运算,采⽤流⽔线作业,并⾏处理、多级⾼速缓冲(Cache)技术等。
CPU的主频达到数百兆赫兹(MHz),字长普遍达到32位。
单⽚机主要⾯向控制,控制中的数据类型及数据处理相对简单,所以单⽚机的数据处理功能⽐通⽤微机相对要弱⼀些,计算速度和精度也相对要低⼀些。
例如,现在的单⽚机产品的CPU⼤多不⽀持浮点运算,CPU还采⽤串⾏⼯作⽅式,其振荡频率⼤多在百兆赫兹范围内;在⼀些简单应⽤系统中采⽤4位字长的CPU,在中、⼩规模应⽤场合⼴泛采⽤8位字长单⽚机,在⼀些复杂的中、⼤规模的应⽤系统中才采⽤16位字长单⽚机,32位单⽚机产品⽬前应⽤得还不多。
(2) 两者都有存储器,但通⽤微机中存储器组织结构主要针对增⼤存储容量和CPU对数据的存取速度。
现今微机的内存容量达到了数百兆字节(MB),存储体系采⽤多体、并读技术和段、页等多种管理模式。
单⽚机中存储器的组织结构⽐较简单,存储器芯⽚直接挂接在单⽚机的总线上,CPU对存储器的读写按直接物理地址来寻址存储器单元,存储器的寻址空间⼀般都为64 KB。
(3) 两者都有I/O接⼝,但通⽤微机中I/O接⼝主要考虑标准外设(如CRT、标准键盘、⿏标、打印机、硬盘、光盘等)。
《单片机原理及应用》习题参考答案第一章1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么?在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。
可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。
十六进制数可以简化表示二进制数。
2.3.(1) 0B3H (2)80H (3) 17.AH (4) 0C.CH4.5.6.7.137 119 898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
数据总线(DB):CPU是通过数据总线与存储单元或外部设备交换数据信息的,故数据总线应为双向总线。
在CPU进行读操作时,存储单元或外设的数据信息通过数据总线传送给CPU;在CPU进行写操作时,CPU把数据通过数据总线传送给存储单元或外设9.什么是接口电路? CPU与接口电路连接一般应具有哪些信号线?外部设备与接口电路连接一般应具有哪些信号线?CPU通过接口电路与外部输入、输出设备交换信息,一般情况下,外部设备种类、数量较多,而且各种参量(如运行速度、数据格式及物理量)也不尽相同。
单片微型计算机原理及应用课后答案习题22.1 MCS-51单片机内部包含哪些主要逻辑功能部件? 答:微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、特殊功能寄存器(SFR)、并行I/O口、串行通信口、定时器/计数器及中断系统。
2.2 说明程序计数器PC和堆栈指针SP的作用。
复位后PC和SP各为何值? 答:程序计数器PC中存放将要执行的指令地址,PC有自动加1功能,以实现程序的顺序执行。
它是SFR中唯一隐含地址的,因此,用户无法对它进行读写。
但在执行转移、调用、返回等指令时能自动改变其内容,以实现改变程序的执行顺序。
程序计数器PC中内容的变化决定程序的流程,在执行程序的工作过程中,由PC输出将要执行的指令的程序存储器地址,CPU读取该地址单元中存储的指令并进行指令译码等操作,PC则自动指向下一条将要执行的指令的程序存储器地址。
SP是一个8位的SFR,它用来指示堆栈顶部在内部RAM中的位置。
系统复位后SP为07H,若不对SP设置初值,则堆栈在08H开始的区域,为了不占用工作寄存器R0~R7的地址,一般在编程时应设置SP的初值(最好在30H~7FH区域)。
2.3 程序状态字寄存器PSW的作用是什么?其中状态标志有哪几位?它们的含义是什么?答:PSW是保存数据操作的结果标志,其中状态标志有CY(PSW.7):进位标志,AC(PSW.6):辅助进位标志,又称半进位标志,F0、F1(PSW.5、PSW.1):用户标志;OV(PSW.2):溢出标志;P(PSW.0):奇偶标志。
2.4 什么是堆栈? 堆栈有何作用? 为什么要对堆栈指针SP重新赋值? SP的初值应如何设定? 答:堆栈是一种数据结构,所谓堆栈就是只允许在其一端进行数据写入和数据读出的线性表。
其主要作用有两个:保护断点和保护现场。
堆栈区的设置原则上可以在内部RAM的任意区域,但由于MCS-51单片机内部RAM的00H~1FH地址单元已被工作寄存器R0~R7占用,20H~2FH为位寻址区,故堆栈一般设在30H~7FH(对于8032系列芯片可为30H~0FFH)的区域内。
单⽚机原理及应⽤习题答案《单⽚机原理及应⽤》习题答案习题1解答1. 填空:⑴20D=10100B=14H;⑵1100101B=101D=65H;⑶1F8H= 1 1111 1000B=504D;⑷1个字节由8 个⼆进制位组成,每个⼆进制位只有 2 种状态,可表⽰为0 或 1 ;⑸1K字节就是2的10 次⽅字节,即1024 个字节;1M字节就是2的20 次⽅字节,约为1048567 个字节。
2. 在8位⼆进制中,+26、-26、-127、-1的补码(⽤⼗六进制表⽰)是多少?解:正数的补码等于原码,负数的补码等于它的原码除符号位不变,其余的各位求反加1。
[+26]原=0001 10101B=1AH,[+26]补=1AH[-26]原=1001 10101B,[-26]补=1110 0101B+1=1110 0110B=0E6H[-127]原=1111 1111B,[-127]补=1000 0000B+1=1000 0001B=81H[-1]原=1000 0001B,[-1]补=1111 1110B+1=1111 1111B=0FFH3. ⽤⼗进制写出下列补码表⽰的数的真值:FEH、FBH、80H、11H、70H、7FH。
解:真值是指⽇常⽤“+”或“-”号表⽰的数。
机器数是指计算机中⽤编码表⽰的数,正数的符号以最⾼位为0表⽰,负数的符号以最⾼位为1表⽰。
根据补码求真值的⼀个通俗⼝诀是“正码不变,负码求补,补后勿忘添负号”。
①FEH=1111 1110B,其符号位为“1”,属负数,故其原码为1000 0001B+1=1000 0010B,即FEH真值为-2;②同理FBH属负数,其真值为-5;③80H的真值为-128;④11H的真值为+17;⑤70H的真值为+112;⑥7FH的真值为+127。
4. 微型计算机主要由哪⼏部分组成?各部分有何功能?答:⼀台微型计算机由中央处理单元(CPU)、存储器、I/O接⼝及I/O设备等组成,相互之间通过三组总线(Bus):即地址总线AB、数据总线DB和控制总线CB来连接。
第1章思考题及习题参考答案1写出下列二进制数的原码、反码和补码(设字长为8位)。
(1)001011 (2)100110(3)-001011 (4)-111111答:(1)原码:00001011 反码:00001011 补码:00001011(2)原码:00100110 反码:00100110 补码:00100110(3)原码:10001011 反码:11110100 补码:11110101(4)原码:10111111 反码:11000000 补码:110000012已知X和Y,试计算下列各题的[X+Y]补和[X-Y]补(设字长为8位)。
(1) X=1011 Y=0011(2) X=1011 Y=0111(3) X=1000 Y=1100答:(1)X补码=00001011 Y补码=00000011 [–Y]补码=11111101[X+Y]补=00001110 [X-Y]补=00001000(2)X补码=00001011 Y补码=00000111 [–Y]补码=11111001[X+Y]补=00010010 [X-Y]补=00000100(3)X补码=00001000 Y补码=00001100 [–Y]补码=11110100[X+Y]补=00010100 [X-Y]补=111111003 微型计算机由那几部分构成?答:微型计算机由微处理器、存储器和I/O接口电路构成。
各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
4 8086的寻址范围有多大?其物理地址是如何形成?答:8086有20根地址总线,它可以直接寻址的存储器单元数为1M字节,其地址区域为00000H—FFFFFH。
物理地址是由段地址与偏移地址共同决定的,物理地址=段地址×16+偏移地址其中段地址通常来自于段寄存器CS ,物理地址来自于IP。
5 什么叫单片机?它有何特点?答:单片机就是在一块硅片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O口(如并行、串行及A/D变换器等)的一个完整的数字处理系统。
第1章单片机概述参考答案1.答:微控制器,嵌入式控制器2.答:CPU、存储器、I/O口、总线3.答:C4.答:B5.答:微处理器、微处理机和CPU它们都是中央处理器的不同称谓,微处理器芯片本身不是计算机。
而微计算机、单片机它们都是一个完整的计算机系统,单片机是集成在一个芯片上的用于测控目的的单片微计算机。
嵌入式处理器一般意义上讲,是指嵌入系统的单片机、DSP、嵌入式微处理器。
目前多把嵌入式处理器多指嵌入式微处理器,例如ARM7、ARM9等。
嵌入式微处理器相当于通用计算机中的CPU。
与单片机相比,单片机本身(或稍加扩展)就是一个小的计算机系统,可独立运行,具有完整的功能。
而嵌入式微处理器仅仅相当于单片机中的中央处理器。
为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。
6.答:MCS-51系列单片机的基本型芯片分别:8031、8051和8071。
它们的差别是在片内程序存储器上。
8031无片内程序存储器、8051片内有4K字节的程序存储器ROM,而8751片内有集成有4K字节的程序存储器EPROM。
7.答:因为MCS-51系列单片机中的“MCS”是Intel公司生产的单片机的系列符号,而51系列单片机是指世界各个厂家生产的所有与8051的内核结构、指令系统兼容的单片机。
8.答:相当于MCS-51系列中的87C51,只不过是AT89S51芯片内的4K字节Flash存储器取代了87C51片内的4K字节的EPROM。
9.单片机体积小、价格低且易于掌握和普及,很容易嵌入到各种通用目的的系统中,实现各种方式的检测和控制。
单片机在嵌入式处理器市场占有率最高,最大特点是价格低,体积小。
DSP是一种非常擅长于高速实现各种数字信号处理运算(如数字滤波、FFT、频谱分析等)的嵌入式处理器。
由于对其硬件结构和指令进行了特殊设计,使其能够高速完成各种复杂的数字信号处理算法。
《微机原理及应用》习题答案第一章⏹1.11答:174.625D=10101100.1010B=AC.AH100011101011.01011B=2283.34375D=8EB.58HF18A6.6H=989350.375D⏹1.12答:-37D=(10100101B)原=(11011010B)反=(11011011B)补⏹1.13答:无符号数46H=70,补码46H=+70BCD码46H=46,ASCII码46H=“F”第二章●2.5答:⑴FFFFH:0H = FFFF0H⑵40H:17H = 00417H⑶2000H:4500H = 24500H⑷B821H:4567H = BC777H●2.8答:⑴AX=1200H,立即数寻址⑵AX=0100H,寄存器寻址⑶AX=4C2AH,直接寻址⑷AX=3412H,寄存器间接寻址⑸AX=4C2AH,寄存器相对寻址⑹AX=7865H,基址变址寻址⑺AX=65B7H,基址变址相对寻址●2.9答:⑴操作数类型不同;⑵不能手工修改IP;⑶不能将立即数直接MOV到段寄存器;⑷不能在段寄存器之间直接MOV数据;⑸300大于AL所能存放的数据的范围;⑹寄存器间接寻址只能用BX/BP/SI/DI之一;⑺MOV AX,[BX+DI];⑻目的操作数不能是立即数;●2.10答:lea bx,table ;bx=0200hmov al,8 ;al=08hxlat ;al=12h●2.11答:⑴al=89h⑵al=12h,CF=1,ZF=0,SF=0,OF=1,PF=1,AF=1⑶al=afh,CF=0,ZF=0,SF=1,OF=0,PF=1,AF=0⑷al=afh,CF=1,ZF=0,SF=1,OF=1,PF=1,AF=0⑸al=00h,CF=0,ZF=1,SF=0,OF=0,PF=1,AF=0⑹al=ffh,CF=0,ZF=0,SF=1,OF=0,PF=1,AF=1⑺al=00h,CF=0,ZF=1,SF=0,OF=0,PF=1,AF=1●2.12答:⑴add dx,bx;⑵add al,[bx+si];⑶add [bx+00b2h],cx⑷add word ptr [0520h],3412h⑸add al,0a0h●2.13答:(V -( X * Y + Z -540 ) )/ X●2.14答:⑴ax=1470h⑵ax=1470h,CF=0,ZF=0,SF=0,OF=0,PF=0⑶ax=1470h,CF=0,ZF=0,SF=0,OF=0,PF=0⑷ax=0000h,CF=0,ZF=0,SF=0,OF=1,PF=1⑸ax=0ffffh,CF=0,ZF=0,SF=0,OF=1,PF=1⑹ax=0ffffh,CF=0,ZF=0,SF=1,OF=0,PF=1●2.16答:⑴1256h;⑵3280h ●2.17答:⑴ax=1e1eh;⑵al=1******1b;⑶cx<64h●2.18答:65536●2.19答:将array数组的20个字(无进位)累加,其和存入total单元。
《微机原理及应用》第一章习题答案习题与思考题1.1、在计算机中为什么都采用二进制数而不采用十进制数?二进制数有哪两种缩写形式?[解] 二进制数只有两个状态,而十进制数有十个状态,……有八进制和十六进制两种缩写形式:xxxxQ,xxxxH。
1.2、将下列十进制数转换为二进制数:50, 0.83, 24.31, 79.75, 199, 73.25[解] 50→00110010B; 0.83→0.01…B; 24.31→11000.01001111…B79.75→01001111.11B; 199→B; 73.25→1001001.01B1.3、将下列十进制数转换为八进制和十六进制数:39,99.735,54.625,127,119[解] 39→47Q→27H; 99.735→123.5702Q→63.BC28H; 54.625→66.5Q→36.AH127→177Q→7FH; 119→167Q→77H1.4、将下列二进制数转换为十进制数:11 1101.101B, 10 0101.11B, 1001 1001.001B, 110 0110.011B1101 1010.1101B[解] 11 1101.101B→61.625; 10 0101.11B→37.75; 1001 1001.001B→153.125110 0110.011B→102.375; 1101 1010.1101B→218.81251.5、完成下列转换:(1)10 110.10 111B 转换为十六进制数;(2)34.97H转换为八进制数和十进制数;(3)0BA.7FH转换为二进制数和八进制数;(4)43.27Q转换为二进制数和十六进制数;[解] (1)10 110.10 111B→16.B8H; (2)34.97H→64.456Q→52.59(3)0BA.7FH→.01111111B→272.376Q(4)43.27Q→100011.010111B→23.5CH1.6、设机器字长为8位,写出下列用真值表示的二进制数的原码、补码和反码:+0010101,+1111111,+1000000,-0010101,-1111111,-1000000[解] +0010101的原码、补码和反码均为00010101B;+1111111的原码、补码和反码均为01111111B;+1000000的原码、补码和反码均为01000000B;-0010101的原码为B, 补码为B, 反码为B;-1111111的原码为B, 补码为B, 反码为B;-1000000的原码为B, 补码为B, 反码为B。
(完整word版)《微机原理及应用》习题答案《微机原理及应用》习题答案教材:《80X86/Pentium微型计算机原理及应用》答案第一章计算机基础1-3(1) 01101110 真值=110(2) 10001101 真值=-131-4(1)+010111[+010111]原=[+010111]反=[+010111]补=00010111 (2) +101011[+101011]原=[+101011]反=[+101011]补=00101011 (3) –101000[-101000]原=10101000 [-101000]反=11010111[-101000]补=11011000(4) -111111[-111111]原=10111111 [-111111]反=11000000[-111111]补=110000011-6(1) [x1+y1]补=[x1]补+ [y1]补=00010100+00100001=00110101(2)[x2-y2]补=[x2]补+ [-y2]补=11101100+00100001=000011011-7(1) 85+60解:[-85]补=10101011 [60]补=00111100[-85]补+[60]补=10101011+00111100=11100111 (11100111)补=10011001 真值=-25CS=0,CP=0, CS⊕CP=0 无溢出(4)-85-60[-85]补=10101011 [-60]补=11000100[-85]补+[-60]补=10101011+11000100=101101111CS=1, CP=0 CS⊕CP=1 有溢出1-8(1) [x]补+ [y]补=01001010+01100001=10101011CS=0, CP=1 CS⊕CP=1 有溢出(2) [x]补- [y]补=[x]补+ [-y]补=01001010- 01100001=01001010+10101010=100010110CS=1, CP=1 CS⊕CP=0 无溢出1-9(1) (127)10=(000100100111)BCD(2) (74)H=(116)10=(000100010110)BCD1-10 (1) 41H 代表 A(2) 72H 代表 r(3) 65H 代表 e(4) 20H 代表 SP1-14(1) 69.57(69.57)10=(1000101.100)B=0.1000101100 X 27=0.1000101100 X 2+111浮点规格数为 011101000101(2)-38.405(-38.405)10=(-100110.011)B-100110.011= -0.100110011 x 26 = - 0.100110011 x 2110 浮点规格数为 011011001100(3) - 0.3125(-0.3125)10=(-0.0101)2=(-0.101)2 x 2-001浮点规格数为 1111110100001.+0.008342.(+0.00834)10=(0.000000100010001)2=(0.100010 001)2 x 2-1103.浮点规格数为 1010010001004.1-155.(1) (69.57)10=(1000101.10010001111010111)26.=(1.00010110010001111010111)2 x 21107.p=6+127=133=(10000101)28.单精度浮点数为010000101000101100100011110101119.(2)(-38.405)10=(-100110.011001111010111000)210.= - (1.00110011001111010111000)2 x 210111.p=5+127=132=(10000100)212.单精度浮点数为1100001000011001100111101011100013.(3) (-0.3125)10=(-0.0101)2=(-1.01)2 x 2-1014.p=-2+127=125=(1111101)215.单精度浮点数为10111110101000000000000000000000第二章80X86/Pentium 微处理器2-3IO/M DT/R DEN RD WR读存储器0 0 0 0 1 写存储器0 1 0 1 02-17PA=CS x 16+IP IP的范围为0000H~FFFFH 而CS为A000H因此PA的范围即现行代码段可寻址的存储空间范围为A0000H~AFFFFH2-201234ABCDH=00010010001101001010101111001101 BPA=SS x 16+SP=A0000H+0100H=A0100H栈顶SP=0100H-4=00FCH11001101 A00FCH101010110011010000010010 A0100F2-21(1) 1278H+3469H=0001 0010 0111 1000+0011 0100 0110 1001=0100 0110 1110 0001SF=0 ZF=0 AF=1 PF=1 CF=0 OF=0(2) 54E3H-27A0H=0101 0100 1110 0011+1101 1000 0110 0000=1 0010 1101 0100 0011SF=0 ZF=0 AF=1 PF=0 CF=0 OF=0当进行16位或8位加或减运算时,若最高位产生进位或借位时,将CF置1,否则为0,当进行带符号数补码运算时,运算结果超出了机器所能表示的数值范围,就产生溢出,将OF置1,否则OF置0,即OF用来表示有符号数运算的溢出,而CF则用来表示无符号数运算的溢出。
单片机原理及应用习题答案一、简介单片机(Microcontroller)是集成电路领域中的一种特殊类型,是一种完整的计算机系统,通常包括微处理器、存储器、输入输出接口和各种外设接口电路。
它具有体积小、功耗低、成本低等特点,广泛应用于各个领域。
二、单片机的基本工作原理单片机的基本工作原理是通过执行储存在其存储器中的程序来控制各种外设,并完成所需的功能。
单片机内部由运算器、控制器、存储器以及输入输出端口等组成。
1. 运算器运算器是单片机的核心,负责执行各种算术运算和逻辑运算。
它由ALU(算术逻辑单元)、寄存器等组成,能够进行加法、减法、乘法、除法等运算。
2. 控制器控制器负责从存储器中获取指令,并按照指令逐步执行。
它包括指令寄存器、程序计数器等部件,能够控制数据的流动和程序的执行。
3. 存储器存储器是用来存储程序代码和数据的地方。
单片机的存储器包括ROM(只读存储器)和RAM(随机存储器),其中ROM用于存储程序代码,RAM用于存储数据。
4. 输入输出端口输入输出端口用来与外部设备进行数据交换。
单片机的输入输出端口可以用来连接开关、LED、电机等各种外设,完成相应的控制任务。
三、单片机应用习题答案1. 习题一题目:使用单片机控制LED闪烁,要求每隔1秒闪烁一次。
答案:通过设置单片机的定时器,可实现LED的周期性闪烁。
具体步骤如下:1) 初始化单片机的定时器,设置为1秒钟一个周期;2) 设置一个计数器,每当定时器溢出时计数器加1;3) 当计数器为奇数时,将LED引脚置高,即LED点亮;4) 当计数器为偶数时,将LED引脚置低,即LED熄灭。
2. 习题二题目:编写程序,通过单片机控制电机正转和反转,并控制电机的转速。
答案:要控制电机正转和反转,需要通过PWM(脉宽调制)技术来实现。
步骤如下:1) 初始化单片机的PWM模块,设置频率和占空比;2) 设置一个计数器,用来控制电机正转和反转的时间;3) 当计数器小于一定值时,输出PWM信号,控制电机正转;4) 当计数器大于一定值时,反转电机,输出相反的PWM信号。
单片机原理及应用技术(第3版)+习题答案章1 绪论 1.第一台计算机的问世有何意义答第一台电子数字计算机ENIAC问世标志着计算机时代的到来与现代的计算机相比ENIAC有许多不足但它的问世开创了计算机科学技术的新纪元对人类的生产和生活方式产生了巨大的影响2.计算机由哪几部分组成答由运算器控制器存储器输入设备和输出设备组成运算器与控制器合称为CPU3.微型计算机由哪几部分构成答微型计算机由微处理器存储器和IO接口电路构成各部分通过地址总线AB 数据总线DB和控制总线CB相连4.微处理器与微型计算机有何区别答微处理器集成了运算器和控制器即CPU而微型计算机包含微处理器存储器和IO接口电路等5.什么叫单片机其主要特点有哪些答在一片集成电路芯片上集成微处理器存储器IO接口电路从而构成了单芯片微型计算机即单片机单片机主要特点有控制性能和可靠性高体积小价格低易于产品化具有良好的性能价格比6.微型计算机有哪些应用形式各适于什么场合答微型计算机有三种应用形式多板机系统机单板机和单片机多板机通常作为办公或家庭的事务处理及科学计算属于通用计算机单板机IO设备简单软件资源少使用不方便早期主要用于微型计算机原理的教学及简单的测控系统现在已很少使用单片机单片机体积小价格低可靠性高其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势目前单片机应用技术已经成为电子应用系统设计的最为常用技术手段7.当前单片机的主要产品有哪些各有何特点答多年来的应用实践已经证明80C51的系统结构合理技术成熟因此许多单片机芯片生产厂商倾力于提高80C51单片机产品的综合功能从而形成了80C51的主流产品地位近年来推出的与80C51兼容的主要产品有ATMEL公司融入Flash存储器技术推出的AT89系列单片机Philips公司推出的80C5180C552系列高性能单片机华邦公司推出的W78C51W77C51系列高速低价单片机ADI公司推出的ADμC8xx系列高精度ADC单片机LG公司推出的GMS9097系列低压高速单片机im公司推出的DS89C420高速50MIPS单片机Cygnal公司推出的C8051F系列高速SOC单片机等 8.简述单片机的开发过程答系统需求分析硬件方案设计软件编程仿真调试实际运行9.单片机应用系统开发方法有哪些新方法答在系统编程ISP技术在应用编程IAP技术章 2 80C51的结构和原理1.80C51单片机在功能上工艺上程序存储器的配置上有哪些种类答功能上分为基本型和增强型工艺上分为HMOS工艺和CHMOS工艺在片内程序存储器的配置上有掩膜ROMEPROM和Flash无片内程序存储器形式2. 80C51单片机的存储器的组织采用何种结构存储器地址空间如何划分各地址空间的地址范围和容量如何在使用上有何特点答采用哈佛结构在物理上设计成程序存储器和数据存储器两个独立的空间80C51基本型单片机片内程序存储器为4KB地址范围是0000H-0FFFH用于存放程序或常数片内数据存储器为128字节RAM地址范围是00H-7FH用于存放运算的中间结果暂存数据和数据缓冲另外在80H-FFH还配有21个SFR3.80C51单片机的P0P3口在结构上有何不同在使用上有何特点答作为通用IO口时P0P1P2和P3都是准双向口P0可以作为地址数据总线此时是一个真正的双向口P2口可以作为地址线的高8位P3口是双功能口每条口线还具有不同的第二功能另外P0口的驱动能力为8个TTL负载而其它口仅可驱动4个TTL负载4.如果80C51单片机晶振频率分别为6 MHz110592 MHz12MHz时机器周期分别为多少答机器周期分别为2μs1085μs1μs5.80C51单片机复位后的状态如何复位方法有几种答复位后PC内容为0000HP0口~P3口内容为FFHSP内容为07HSBUF内容不定IPIE和PCON的有效位为0其余的特殊功能寄存器的状态均为00H复位方法一种是上电复位另一种是上电与按键均有效的复位6.80C51单片机的片内片外存储器如何选择答80C51的引脚为访问片内片外程序存储器的选择端访问片内片外数据存储器需要采用不同的指令加以区分7.80C51单片机的PSW寄存器各位标志的意义如何答CY进位借位标志有进位借位时 CY 1否则CY 0AC辅助进位借位标志高半字节与低半字节间的进位或借位F0用户标志位由用户自己定义RS1RS0当前工作寄存器组选择位OV溢出标志位有溢出时OV 1否则OV 0P奇偶标志位存于ACC中的运算结果有奇数个1时P 1否则P 08. 80C51单片机的当前工作寄存器组如何选择答当前工作寄存器组的选择由特殊功能寄存器中的程序状态字寄存器PSW的RS1RS0 来决定9.80C51单片机的控制总线信号有哪些各信号的作用如何答RSTVPD复位信号输入引脚备用电源输入引脚ALE地址锁存允许信号输出引脚编程脉冲输入引脚VPP内外存储器选择引脚片内EPROM或FlashROM编程电压输入引脚外部程序存储器选通信号输出引脚10.80C51单片机的程序存储器低端的几个特殊单元的用途如何答0000H单片机复位入口地址0003H外部中断0的中断服务程序入口地址000BH定时计数器0溢出中断服务程序入口地址0013H外部中断1的中断服务程序入口地址001BH定时计数器1溢出中断服务程序入口地址0023H串行口的中断服务程序入口地址章3 80C51的指令系统 1.80C51系列单片机的指令系统有何特点答执行时间短1个机器周期指令有64条2个机器周期指令有45条而4个机器周期指令仅有2条即乘法和除法指令指令编码字节少单字节的指令有49条双字节的指令有45条三字节的指令仅有17条位操作指令丰富这是80C51单片机面向控制特点的重要保证2.80C51单片机有哪几种寻址方式各寻址方式所对应的寄存器或存储器空间如何答80C51单片机的寻址方式有七种即寄存器寻址直接寻址寄存器间接寻址立即寻址基址寄存器加变址寄存器变址寻址相对寻址和位寻址这些寻址方式所对应的寄存器和存储空间如下表所示序号寻址方式寄存器或存储空间 1 寄存器寻址寄存器R0R7AABDPTR和C布尔累加器 2 直接寻址片内RAM低128字节SFR3 寄存器间接寻址片内RAMR0R1SP片外RAMR0R1DPTR 4 立即寻址ROM 5 变址寻址ROMA+DPTRA+PC 6 相对寻址ROMPC当前值的+127~-128字节7 位寻址可寻址位内部RAM20H2FH单元的位和部分SFR的位3.访问特殊功能寄存器SFR可以采用哪些寻址方式答直接寻址和位寻址方式4.访问内部RAM单元可以采用哪些寻址方式答直接寻址寄存器间接寻址和位寻址方式5.访问外部RAM单元可以采用哪些寻址方式答寄存器间接寻址6.访问外部程序存储器可以采用哪些寻址方式答立即寻址变址寻址和相对寻址方式7.为什么说布尔处理功能是80C51单片机的重要特点答单片机指令系统中的布尔指令集存储器中的位地址空间与CPU中的位操作构成了片内的布尔功能系统它可对位bit变量进行布尔处理如置位清零求补测试转移及逻辑与或等操作在实现位操作时借用了程序状态标志器PSW中的进位标志Cy作为位操作的累加器8.对于80C52单片机内部RAM还存在高128字节应采用何种方式访问答寄存器间接寻址方式9.试根据指令编码表写出下列指令的机器码1MOV A88H----------------74H 88H2MOV R350H----------------ABH50H3MOV P155H----------75H90H55H4ADD AR15SETB 12H10.完成某种操作可以采用几条指令构成的指令序列实现试写出完成以下每种操作的指令序列1将R0的内容传送到R12内部RAM单元60H的内容传送到寄存器R23外部RAM单元1000H的内容传送到内部RAM单元60H4外部RAM单元1000H的内容传送到寄存器R25外部RAM单元1000H的内容传送到外部RAM单元2000H答1MOV AR0MOV R1A2MOV R260H3MOV DPTR1000HMOVX ADPTRMOV 60HA4MOV DPTR1000HMOVX ADPTRMOV R2A5MOV DPTR1000HMOVX ADPTRMOV DPTR2000HMOVX DPTR A11.若R1 30HA 40H30H 60H40H 08H试分析执行下列程序段后上述各单元内容的变化MOV AR1MOV R140HMOV 40HAMOV R17FH答R1 7FHA 60H30H 08H40H 60H12.若A E8HR0 40HR1 20HR4 3AH40H 2CH20H 0FH试写出下列各指令独立执行后有关寄存器和存储单元的内容若该指令影响标志位试指出CYAC和OV的值 1MOV AR02ANL 40H0FH3ADD AR44SWAP A5DEC R16XCHD AR1答1A 2CH240H 0CH3A 22HCY 1AC 1OV 04A 8EH520H 0EHP 16A EFH20 08H13.若50H 40H试写出执行以下程序段后累加器A寄存器R0及内部RAM的40H41H42H单元中的内容各为多少MOV A50HMOV R0AMOV A00HMOV R0AMOV A3BHMOV 41HAMOV 42H41H答A 3BHR0 40H40H 00H41H 3BH42H 3BH14.试用位操作指令实现下列逻辑操作要求不得改变未涉及的位的内容1使ACC0置位2清除累加器高4位3清除ACC3ACC4ACC5ACC6答1SETB ACC02ANL A0FH3ANL A87H15.试编写程序将内部RAM的20H21H22H三个连续单元的内容依次存入2FH2EH和2DH单元答MOV 2FH20HMOV 2EH21HMOV 2DH22H16.试编写程序完成两个16位数的减法7F4DH-2B4EH结果存入内部RAM 的30H和31H单元30H单元存差的高8位31H单元存差的低8位答CLR CYMOV 30H7FHMOV 31H4DHMOV R0 31HMOV AR0SUBB A 4EMOV R0A 保存低字节相减结果DEC R0MOV A R0SUBB A2BHMOV R0A 保存高字节相减结果 17.试编写程序将R1中的低4位数与R2中的高4位数合并成一个8位数并将其存放在R1中答MOV AR2ANL A0F0HORL R1A18.试编写程序将内部RAM的20H21H单元的两个无符号数相乘结果存放在R2R3中R2中存放高8位R3中存放低8位答MOV A20HMOV B21HMUL ABMOV R3AMOV R2B19.若CY 1P1 10100011BP3 01101100B试指出执行下列程序段后CYP1口及P3口内容的变化情况MOV P13CMOV P14CMOV CP16MOV P36CMOV CP10MOV P34C答CY 1 P1 10111011B P3 00111100B 章 4 80C51的汇编语言程序设计1.80C51单片机汇编语言有何特点答汇编语言结构紧凑灵活汇编成的目标程序效率高具有占存储空间少运行速度快实时性强等优点它是面向机器的语言对于单片机硬件的操作直接方便有利于初学者对单片机结构的认知但它与高级语言相比移植性不好编程复杂对编程人员的基础要求高2.利用80C51单片机汇编语言进行程序设计的步骤如何答一任务分析首先要对单片机应用系统的设计目标进行深入分析明确系统设计任务功能要求和技术指标然后对系统的运行环境进行调研这是应用系统程序设计的基础和条件二算法设计经过任务分析和环境调研后已经明确的功能要求和技术指标可以用数学方法或模型来描述进而把一个实际的系统要求转化成由计算机进行处理的算法并对各种算法进行分析比较并进行合理的优化三流程描述程序的总体构建先要确定程序结构和数据形式资源分配和参数计算等然后根据程序运行的过程规划程序执行的逻辑顺序用图形符号将程序流程绘制在平面图上应用程序的功能通常可以分为若干部分用流程图将具有一定功能的各部分有机地联系起来流程图可以分为总流程图和局部流程图总流程图侧重反映程序的逻辑结构和各程序模块之间的相互关系局部流程图反映程序模块的具体实施细节3.常用的程序结构有哪几种特点如何答顺序程序无分支无循环结构的程序其执行流程是依指令在存储器中的存放顺序进行的分支程序可以改变程序的执行顺序循环程序按某种控制规律重复执行的程序控制一部分指令重复执行若干次以便用简短的程序完成大量的处理任务4.子程序调用时参数的传递方法有哪几种答利用累加器或寄存器利用存储器利用堆栈5.什么是伪指令常用的伪指令功能如何答伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令常用的伪指令包括ORG功能是向汇编程序说明下面紧接的程序段或数据段存放的起始地址END功能是结束汇编DB功能是从标号指定的地址单元开始在程序存储器中定义字节数据DW功能是从标号指定的地址单元开始在程序存储器中定义字数据空间EQU功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号名BIT功能是将位地址赋给指定的符号名6.设被加数存放在内部RAM的20H21H单元加数存放在22H23H单元若要求和存放在24H25H中试编写出16位无符号数相加的程序采用大端模式存储答程序如下ORG 0000HMOV R0#21HMOV R1#23HMOV AR0ADD AR1MOV 25HADEC R0DEC R1MOV AR0ADDC AR1MOV 24HASJMPEND7.编写程序把外部RAM中1000H101FH的内容传送到内部RAM的30H4FH中答ORG 0000HMOV DPTR1000HMOV R030HMOV R732LOOPMOVX ADPTRMOV R0AINC R0INC DPTRDJNZ R7LOOPRET8.编写程序实现双字节无符号数加法运算要求 R0R1R6R7→60H61H 答ORG 0000HMOV AR1ADD AR7MOV 61HAMOV AR0ADDC AR6MOV 60HASJMPEND9.若80C51的晶振频率为6MHz试计算延时子程序的延时时间DELAYMOV R70F6HLPMOV R60FAHDJNZ R6DJNZ R7LPRET答延时时间 2μs [1 122502246 2]2 0247486秒含调用指令2个机器周期10.在内部RAM 的30H37H单元存有一组单字节无符号数要求找出最大数存入BIG 单元试编写程序实现答ORG 0000HBIG DATA 2FHONE DATA 2AHTWO DATA 2BH STARTMOV R77 比较次数MOV R030HLOOPMOV AR0MOV ONEAINC R0MOV TWOR0CLR CSUBB AR0JC NEXT ONE小TWO大继续比下一对数MOV R0ONE ONE大放后面交换DEC R0MOV R0TWO TWO小放前面INC R0NEXTDJNZ R7LOOPSJMPEND11.编写程序把累加器A中的二进制数变换成3位BCD码并将百十个位数分别存放在内部RAM的50H51H52H中答单字节二进制数转换为压缩的BCD码仅需要2个字节在将压缩的BCD码拆分存于3个单元org 0MOV 52H0MOV 51H0MOV 50H0MOV A0FDhLCALL DCDTHSJMP DCDTHMOV R78MOV R0A 暂存于R0LOOPCLR CMOV AR0RLC AMOV R0AMOV R151H MOV AR1ADDC AR1DA ADEC R1MOV AR1ADDC AR1DA AMOV R1ADJNZ R7LOOPINC R1 50H已是结果R1指向51H51H单元需拆分MOV A00HXCHD AR1MOV 52HAMOV AR1SWAP AMOV R1ARETEND12.编写子程序将R1中的2个十六进制数转换为ASCII码后存放在R3和R4中答ORG 0MOV R15BHMOV AR1ANL A0F0HSWAP AACALL ASCIIMOV R3AMOV AR1ANL A 0FHACALL ASCIIMOV R4 ASJMPASCIIPUSH ACCCLR CSUBB A 0AHPOP ACCJC LOOPADD A 07HLOOP ADD A 30HRETEND13.编写程序求内部RAM中50H59H十个单元内容的平均值并存放在5AH单元答ORG 0000HMOV R710MOV R050HMOV B10CLR CCLR ALOOPADDC AR0INC R0DJNZ R7LOOPDIV ABMOV 5AHASJMPEND14.如图410所示编制程序实现上电后显示P有键按下时显示相应的键号07答实现程序如下TEMP EQU 30HORG 0000HJMP STARTORG 0100HSTARTMOV SP5FHMOV P08CH 正序显示"P"MOV P30FFH 输入方式CLR CYNOKEYMOV AP3CPL AJZ NOKEY 无键按下MOV TEMPP3 有键按下CALL D10msMOV AP3CJNE ATEMPNOKEY 去抖动MOV R20 键号计数器复位 MOV ATEMPLPRRC AJNC DONEINC R2SJMP LPDONEMOV AR2MOV DPTRCODE_P0MOVC AADPTRMOV P0AJMP NOKEYD10msMOV R510 10MSD1msMOV R4249DLNOPNOPDJNZ R4DLDJNZ R5D1msRETCODE_P0DB 0C0H0F9H0A4H0B0H99H92H82H0F8HDB 80H90H88H83H0C6H0A1H86H8EHEND章5 80C51的中断系统及定时计数器 180C51有几个中断源各中断标志是如何产生的又是如何复位的CPU响应各中断时其中断入口地址是多少答5个中断源分别为外中断和T0和T1溢出中断串口中断电平方式触发的外中断标志与引脚信号一致边沿方式触发的外中断响应中断后由硬件自动复位T0和T1CPU响应中断时由硬件自动复位RI和TI由硬件置位必须由软件复位另外所有能产生中断的标志位均可由软件置位或复位各中断入口地址―0003HT0000BH0013HT1001BHRI和TI0023H2某系统有三个外部中断源123当某一中断源变低电平时便要求CPU处理它们的优先处理次序由高到低为321处理程序的入口地址分别为2000H2100H2200H 试编写主程序及中断服务程序转至相应的入口即可答将3个中断信号经电阻线或接LJMP MAINORG 00013HLJMP ZDFZORG 0040HMAINSETB EASETB EX1SJMP 0RG 0200H ZDFZPUSH PSWPUSH ACCJB P10DV0JB P11DV1JB P12DV2INRETPOP ACCPOP PSWRETIORG 2000HDV0------------JMP INRETORG 2100HDV1------------JMP INRETDV2------------JMP INRET3外部中断源有电平触发和边沿触发两种触发方式这两种触发方式所产生的中断过程有何不同怎样设定答当IT0 0时为电平触发方式电平触发方式时CPU在每个机器周期的S5P2采样引脚电平当采样到低电平时置IE0=1向CPU请求中断采样到高电平时将IE0清0在电平触发方式下CPU响应中断时不能自动清除IE0标志电平触发方式时外部中断源的有效低电平必须保持到请求获得响应时为止不然就会漏掉在中断服务结束之前中断源的有效的低电平必须撤除否则中断返回之后将再次产生中断该方式适合于外部中断输入为低电平且在中断服务程序中能清除外部中断请求源的情况当IT0 1时为边沿触发方式边沿触发方式时CPU在每个机器周期的S5P2采样引脚电平如果在连续的两个机器周期检测到引脚由高电平变为低电平即第一个周期采样到 1第二个周期采样到 0则置IE0=1产生中断请求在边沿触发方式下CPU响应中断时能由硬件自动清除IE0标志边沿触发方式时在相继两次采样中先采样到外部中断输入为高电平下一个周期采样到为低电平则在IE0或IE1中将锁存一个逻辑1若CPU暂时不能响应中断申请标志也不会丢失直到CPU响应此中断时才清0另外为了保证下降沿能够被可靠地采样到和引脚上的负脉冲宽度至少要保持一个机器周期若晶振频率为12MHz为1微秒边沿触发方式适合于以负脉冲形式输入的外部中断请求4定时计数器工作于定时和计数方式时有何异同点答定时计数器实质是加1计数器不同点设置为定时器模式时加1计数器是对内部机器周期计数1个机器周期等于12个振荡周期即计数频率为晶振频率的112计数值乘以机器周期就是定时时间设置为计数器模式时外部事件计数脉冲由T0或T1引脚输入到计数器在每个机器周期的S5P2期间采样T0T1引脚电平当某周期采样到一高电平输入而下一周期又采样到一低电平时则计数器加1更新的计数值在下一个机器周期的S3P1期间装入计数器相同点它们的工作原理相同它们都有4种工作方式由TMOD中的M1M0设定即方式013位计数器方式116位计数器方式2具有自动重装初值功能的8位计数器方式3T0分为两个独立的8位计数器T1停止工作 5定时计数器的4种工作方式各有何特点答方式0位13位计数器由TL0的低5位高3位未用和TH0的8位组成TL0的低5位溢出时向TH0进位TH0溢出时置位TCON中的TF0标志向CPU发出中断请求计数初值计算的公式为X=213-N方式1的计数位数是16位由TL0作为低8位TH0作为高8位组成了16位加1计数器计数个数与计数初值的关系为X=216-N方式2为自动重装初值的8位计数方式TH0为8位初值寄存器当TL0计满溢出时由硬件使TF0置1向CPU发出中断请求并将TH0中的计数初值自动送入TL0TL0从初值重新进行加1计数周而复始直至TR0 0才会停止计数个数与计数初值的关系为 X=28-N方式3只适用于定时计数器T0定时器T1处于方式3时相当于TR1=0停止计数方式3时T0分成为两个独立的8位计数器TL0和TH0TL0使用T0的所有控制位当TL0计数溢出时由硬件使TF0置1向CPU发出中断请求而TH0固定为定时方式不能进行外部计数并且借用了T1的控制位TR1TF1因此TH0的启停受TR1控制TH0的溢出将置位TF16要求定时计数器的运行控制完全由TR1TR0确定和完全由高低电平控制时其初始化编程应作何处理答TMOD中GATE的值不同完全由TR1TR0确定时GATE为0完全由高低电平控制时GATE为17当定时计数器T0用作方式3时定时计数器T1可以工作在何种方式下如何控制T1的开启和关闭答T0用作方式3时T1可以工作在方式01和2T1的开启由TR1控制即TR1=1时T1开始工作TR1=0时或者定时计数器工作在方式3时T1停止工作8利用定时计数器T0从P10输出周期为1s脉宽为20ms的正脉冲信号晶振频率为12MHz试设计程序答采用定时20ms然后再计数149次的方法实现aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为1N=t Tcy =20×10-31×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中20H送入TL1中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序 ORG 0030H MAINMOV TMOD01H 设T1工作于方式2MOV TH0 4EH 装入循环计数初值MOV TL020H 首次计数值LP0SETB P10ACALL NT0CLR P10MOV R749 计数49次LP1ACALL NT0DJNZ R7LP1AJMP LP0NT0MOV TH0 4EHMOV TL020HSETB TR0JNB TF0CLR TR0CLR TF0RETEND9要求从P11引脚输出1000Hz方波晶振频率为12MHz试设计程序答采用T0实现aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为111000 1×10-3N=t Tcy =05×10-31×10-6=500X=216-N=65536-500=65036=FE0CH即应将FEH送入TH0中0CH送入TL0中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 000BH T0的中断入口地址LJMP DVT0ORG 0030HMAINMOV TMOD01H 设T0工作于方式2MOV TH0 0FEH 装入循环计数初值MOV TL00CH 首次计数值SETB ET0 T0开中断SETB EA CPU开中断SETB TR0 启动T0SJMP 等待中断DVT0CPL P11MOV TH0 0FEHMOV TL0 0CHSETB TR0RETIEND10试用定时计数器T1对外部事件计数要求每计数100就将T1改成定时方式控制P17输出一个脉宽为10ms的正脉冲然后又转为计数方式如此反复循环设晶振频率为12MHz答aT1工作在计数方式2时控制字TMOD配置M1M0 10GATE 0C 1可取方式控制字为60HT1工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为10Hb计算初值X定时10ms时晶振为12 MHz所以机器周期Tcy为1N=t Tcy =10×10-31×10-6=10000X=216-N=65536-10000=55536=D8F0H即应将D8H送入TH1中F0H送入TL1中计数100时N=100X=28-N=256-100=156=9CHc实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 001BH T1的中断入口地址LJMP DVT1ORG 0030HMAINMOV TMOD60H T1工作于计数方式2MOV TH19CH 装入计数初值MOV TL19CHCLR P17SETB ET1 T1开中断SETB EA CPU开中断SETB TR1 启动T1SJMP 等待中断 DVT1SETB P17CLR ET1CLR TR1MOV TMOD10H T1工作于定时方式1MOV TH10D8H 装初值MOV TL10F0HSETB TR1JNB TF1 查询等待10msCLR TF1CLR TR1CLR P17MOV TMOD60H T1工作于计数方式2MOV TH19CH 装初值MOV TL19CHSETB ET1 T1开中断SETB TR1 启动T1RETIEND 11利用定时计数器T0产生定时时钟由P1口控制8个指示灯编一个程序使8个指示灯依次闪动闪动频率为1次秒即亮1秒后熄灭并点亮下一个-----答采用定时20ms计数50次实现1秒定时编制1秒延时子程序由主程序调用aT0工作在定时方式1时控制字TMOD配置M1M0 01GATE 0C 0可取方式控制字为01Hb计算计数初值X晶振为12 MHz所以机器周期Tcy为1N=t Tcy =20×10-31×10-6=20000X=216-N=65536-20000=45536=4E20H即应将4EH送入TH1中20H送入TL1中c实现程序如下ORG 0000HAJMP MAIN 跳转到主程序ORG 0030HMAINCLR CYMOV A01HLP0MOV P1ACALL D1SECRL AAJMP LP0 D1SECMOV R750 计数50次MOV TMOD01HDLMOV TH04EHMOV TL020HSETB TR0JNB TF0CLR TR0CLR TF0DJNZ R7DLRETEND - 95 -。
第一章1-1.微处理器、微型计算机和微型计算机系统三者之间有什么不同?【解】微处理器(CPU),由运算器和控制器组成。
运算器完成算术运算和逻辑运算,控制器分析命令并指挥协调各部件统一行动完成命令规定的各种动作或操作。
微型计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。
微型计算机系统包括微型计算机硬件和软件。
1-4.说明位、字节、字长的概念及它们之间的关系。
【解】(1) 位(bit)。
位是计算机所能表示的最基本最小的数据单位。
它只能有两种状态“0”和“1”,即二进制位。
(2) 字(Word)。
计算机中作为一个整体参与运算、处理和传送的一串二进制数,是计算机中信息的基本单位。
(3) 字长(Word Length)。
计算机中每个字所包含的二进制位数称为字长。
它们之间的关系:字由位构成,字长指每个字所包含的位的个数。
1-5.32位机和准32位机区别32位机指该机的数据总线宽度为32位,准32位机为芯片内部数据总线宽度是32位,片外则为16位的cpu第二章2-1 微型计算机由哪几部分组成,各部分的功能是什么?【解】微型计算机由运算器、控制器、存储器、输入设备、输出设备五大部分组成。
运算器完成算术运算和逻辑运算;控制器分析命令并指挥协调各部件统一行动完成命令规定的各种动作或操作;存储器存放原始数据、中间结果和最终结果以及程序;输入设备、输出设备与外界交换信息。
2-2.CPU在内部结构上由哪几部分组成,CPU应具备什么功能?【解】微处理器(CPU)由运算器和控制器组成。
CPU应具备的功能:对数据进行处理并对处理过程进行控制。
2-3 4,6,8,1,9,7,2,5,10,32-7:第16字为70A0:DE05 末物理地址为70A00+DE05=7E8052-8.①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。