单片机基础与应用习题答案第7章
- 格式:doc
- 大小:26.50 KB
- 文档页数:1
第5、6、7、8章习题一、问答题1.说明51单片机读端口锁存器的必要性,为什么? 答:2.请说明为什么使用LED 需要接限流电阻,当高电平为+5V 时,正常点亮一个LED 需要多大阻值的限流电阻(设LED 的正常工作电流为8~mA ,导通压降为0.6V ),为什么? 答:3.简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。
答:4.简述LED 数码管动态扫描的原理及其实现方式。
答:5.为什么51单片机在读口的引脚状态时,许先向端口写“1”,请用图5-1 P1结构图加以说明。
答:5.简述89c51各IO 口的驱动能力。
答:6.什么是中断?中断与子程序最本质的区别?答:写锁存器内部总线图5-1 P1口结构图7.编制中断服务程序时,为什么在主程序的初始化程序中,必须设置EA=1 这条指令(或达到同样功能的对IE赋值的指令),以及在中断服务程序中为什么通常需要保护现场和恢复现场?答:8.单片机89C51有哪些中断源,CPU对其中断如何请求?答:9.简述单片机89C51中断的自然优先级顺序,如何提高某一中断源的优先级别。
答:10.简述51系列单片机中断响应的条件。
答:11.用汇编语言编程时,在51系列单片机执行中断服务程序的指令较多时,为什么一般都要在入口地址(又称中断矢量地址)开始的地方放一条跳转指令?答:12.为什么一般都把主程序的起始地址放在0030H之后?答:13.中断服务子程序返回指令RETI和普通子程序返回指令RET的区别?答:14.简述51单片机定时/计数器4种工作模式的特点。
答:15.定时/计数器用作定时器时,其计数脉冲由谁提供?定时时间与哪些因素有关?答:16.画出51单片机计数/定时器方式1的逻辑结构框图,说明它们的工作原理,如何使用门控和非门控启动计数的方法。
答:17.在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么?答: (1)确定T/C的工作方式——编程TMOD寄存器;(2)计算T/C中的计数初值,并装载到TH和TL;(3)T/C在中断方式工作时,须开CPU中断和源中断——编程IE寄存器;(4)启动定时器/计数器——编程TCON中TR1或TR0位。
第七章选择题答案(1)从串口接收缓冲器中将数据读入到变量temp 中的C51语句是______。
A.temp = SCON; B.temp = TCON; C.temp = DPTR; D.temp = SBUF; (2)全双工通信的特点是,收发双方______。
A.角色固定不能互换 B.角色可换但需切换 C .互不影响双向通信D.相互影响互相制约(3)80C51 的串口工作方式中适合多机通信的是______。
A.工作方式0 B.工作方式 1 C.工作方式 2 D.工作方式 3(4)80C51 串行口接收数据的次序是下述的顺序______。
①接收完一帧数据后,硬件自动将SCON的RI置1 ②用软件将RI清零③接收到的数据由SBUF读出④置SCON的REN为1,外部数据由RXD(P3.0) 输入A.①②③④B.④①②③C.④③①②D.③④①②(5)80C51 串行口发送数据的次序是下述的顺序______。
①待发数据送SBUF ②硬件自动将SCON的TI 置1③经TXD(P3.1)串行发送一帧数据完毕④用软件将SCON的TI 清零A.①③②④B.①②③④C.④③①②D.③④①②(6)80C51 用串口工作方式0 时______。
A.数据从RXD串行输入,从TXD串行输出B.数据从RXD串行输出,从TXD串行输入C.数据从RXD串行输入或输出,同步信号从TXD输出D.数据从TXD串行输入或输出,同步信号从RXD输出(7)在用接口传送信息时,如果用一帧来表示一个字符,且每帧中有一个起始位、一个结束位和若干个数据位,该传送属于______。
A.异步串行传送B.异步并行传送C.同步串行传送D.同步并行传送(8)80C51 的串口工作方式中适合点对点通信的是______。
A.工作方式0 B.工作方式 1 C.工作方式 2 D.工作方式 3(9)80C51 有关串口内部结构的描述中______是不正确的。
A.51 内部有一个可编程的全双工串行通信接口B.51 的串行接口可以作为通用异步接收/发送器,也可以作为同步移位寄存器C.串行口中设有接收控制寄存器SCOND.通过设置串口通信的波特率可以改变串口通信速率(10)80C51 有关串口数据缓冲器的描述中______是不正确的。
第七章1、什么是串行异步通信,它有哪些作用?答:在异步串行通信中,数据是一帧一帧(包括一个字符代码或一字节数据)传送的,每一帧的数据格式参考书。
通信采用帧格式,无需同步字符。
存在空闲位也是异步通信的特征之一。
2、89C51单片机的串行口由哪些功能部件组成?各有什么作用?答:89C51单片机的串行接口由发送缓冲期SBUF,接收缓冲期SBUF、输入移位寄存器、串行接口控制器SCON、定时器T1构成的波特率发生器等部件组成。
由发送缓冲期SBUF发送数据,接收缓冲期SBUF接收数据。
串行接口通信的工作方式选择、接收和发送控制及状态等均由串行接口控制寄存器SCON控制和指示。
定时器T1产生串行通信所需的波特率。
3、简述串行口接收和发送数据的过程。
答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读和写的。
当向SBUF发“写”命令时(执行“MOV SBUF,A”),即向缓冲期SBUF装载并开始TXD引脚向外发送一帧数据,发送完便使发送中断标志位TI=1。
在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN (SCON.4)=1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1。
当发读SBUF命令时(执行“MOV A, SBUF”),便由接收缓冲期SBUF 取出信息通过89C51内部总线送CPU。
4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:89C51串行口有4种工作方式:方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。
有2种帧格式:10位,11位方式0:方式0的波特率≌fosc/12(波特率固定为振荡频率1/12)方式2:方式2波特率≌2SMOD/64×fosc方式1和方式3:方式1和方式3波特率≌2SMOD/32×(T1溢出速率)如果T1采用模式2则:5、若异步通信接口按方式3传送,已知其每分钟传送3600个字符,其波特率是多少?答:已知每分钟传送3600个字符,方式3每个字符11位,则:波特率=(11b/字符)×(3600字符/60s)=660b/s6、89C51中SCON的SM2,TB8,RB8有何作用?答:89c51SCON的SM2是多机通信控制位,主要用于方式2和方式3.若置SM2=1,则允许多机通信。
《单片机原理及接口技术》(第2版)人民邮电出版社第7章 AT89S51单片机的串行口思考题及习题71.帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式。
答:方式1。
2.在串行通信中,收发双方对波特率的设定应该是的。
答:相等的。
3.下列选项中,是正确的。
A.串行口通信的第9数据位的功能可由用户定义。
对B.发送数据的第9数据位的内容是在SCON寄存器的TB8位中预先准备好的。
对C.串行通信帧发送时,指令把TB8位的状态送入发送SBUF中。
错D.串行通信接收到的第9位数据送SCON寄存器的RB8中保存。
对E.串行口方式1的波特率是可变的,通过定时器/计数器T1的溢出率设定。
对4.通过串行口发送或接收数据时,在程序中应使用。
A.MOVC指令B.MOVX指令 C.MOV指令 D.XCHD指令答:C5.串行口工作方式1的波特率是。
A.固定的,为f osc/32 B.固定的,为f osc/16C.可变的,通过定时器/计数器T1的溢出率设定D.固定的,为f osc/64答:C6.在异步串行通信中,接收方是如何知道发送方开始发送数据的?答:当接收方检测到RXD端从1到0的跳变时就启动检测器,接收的值是3次连续采样,取其中2次相同的值,以确认是否是真正的起始位的开始,这样能较好地消除干扰引起的影响,以保证可靠无误的开始接受数据。
7.AT89S51单片机的串行口有几种工作方式?有几种帧格式?各种工作方式的波特率如何确定?答:串行口有4种工作方式:方式0、方式1、方式2、方式3;有3种帧格式,方式2和3具有相同的帧格式;方式0的发送和接收都以fosc/12为固定波特率,方式1的波特率=2SMOD /32×定时器T1的溢出率方式2的波特率=2SMOD /64×fosc方式3的波特率=2SMOD /32×定时器T1的溢出率8.假定串行口串行发送的字符格式为1个起始位、8个数据位、1个奇校验位、1个停止位,请画出传送字符“B ”的帧格式。
第7章思考题及习题7参考答案一、填空1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。
答:32.768ms,262.144ms,1024µs2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。
答:1/243.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。
答:系统时钟信号12分频后,定时器初值4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程?若时钟频率为6MHz,求允许测量的最大脉冲宽度为。
答:方式1定时,131.072ms。
5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。
答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。
答:FCH,18H。
二、单选1.定时器T0工作在方式3时,定时器T1有种工作方式。
A.1种B.2种 C.3种D.4种答:C2. 定时器T0、T1工作于方式1时,其计数器为位。
A.8位B.16位C.14位D.13位答:B3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。
A. 仅取决于TR x状态B. 仅取决于GATE位状态C. 是由TR x和INT x两个条件来共同控制D. 仅取决于INT x的状态答:C4. 定时器T2工作在自动重装载方式时,其计数器为位。
A.8位B. 13位C.14位D. 16位答:D5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。
A.87HB. 09HC.80HD. 00H答:B三、判断对错1.下列关于T0、T1的哪些说法是正确的。
A.特殊功能寄存器SCON,与定时器/计数器的控制无关。
第7章习题答案7-1 键抖动对单片机系统有何影响?有哪些消除抖动的方法?答:由于按键是机械开关结构,所以当用手按下其中一个键时,往往会出现所按键在闭合位置和断开位置之间发生跳几下后才会稳定到闭合状态的情况。
在释放一个键时,也会出现类似的情况,这就是键的抖动,抖动的持续时间不一,但通常不会大于10ms。
若抖动问题不解决,就会引起对闭合键的多次读入。
对于键抖动最方便的解决方法就是当发现有键按下后,不是立即进行扫描,而是延时大约10ms后再进行。
由于一个键按下的时间一般会持续上百毫秒,所以延迟10ms后再扫描处理并不迟。
另外一种办法就是使用硬件电路(如触发器)进行消抖。
7-3 自己设计一个3×3的矩阵键盘的硬件电路,试编制相应的键盘扫描程序。
(注:为结合开发板的情况),我以开发板上的4×4键盘为例进行说明:解:只考虑了键盘的处理,并没有考虑显示#include "regx52.h"#define uchar unsigned char#define uint unsigned intstatic const char c_keyCode[16]={0x01,0x02,0x03,0x0a, /*键盘1,2,3,A*/0x04,0x05,0x06,0x0b, /*键盘4,5,6,B*/0x07,0x08,0x09,0x0c, /*键盘7,8,9,C*/0x0e,0x00,0x0f,0x0d}; /*键盘*,0,#,D*/ uchar ScanKeys(void); /*扫描键盘模块*/void Delay (uchar value); /*10ms延时*/void main(void) /*主程序入口*/{while(1){ScanKeys();}}uchar ScanKeys(void) /*扫描键盘模块*/ {uchar scanV alue;P3_2 = 0;P3_3 = 0;P1=0xf0;if ((P1&0xf0)!=0xf0) /*有键按下*/{Delay(1); /*延时10ms以消除抖动*/P1=0xf0;if ((P1&0xf0)==0xf0) /*有键按下*/{return 0xee;}else{P1=0xfe;scanV alue=P1;switch (scanV alue){case 0xee: iScan=0x01;break; //键"a"case 0xde: iScan=0x02;break; //键"1"case 0xbe: iScan=0x03;break; //键"2"case 0x7e: iScan=0x0a;break; //键"3"}P1=0xfd;scanV alue=P1;switch (scanV alue){case 0xed: iScan=0x04;break; // 键"4case 0xdd: iScan=0x05;break; // 键"5case 0xbd: iScan=0x06;break; // 键"6case 0x7d: iScan=0x0b;break; // 键"b}P1=0xfb;scanV alue=P1;switch (scanV alue){case 0xeb: iScan=0x07;break; // 键"7case 0xdb: iScan=0x08;break; // 键"8case 0xbb: iScan=0x09;break; // 键"9case 0x7b: iScan=0x0c;break; // 键"c}P1=0xf7;scanV alue=P1;switch (scanV alue){case 0xe7: iScan=0x00;break; // 键"0case 0xd7: iScan=0x0d;break; // 键"dcase 0xb7: iScan=0x0e;break; // 键"ecase 0x77: iScan=0x0f;break; // 键"f}}// P1=0xf0;while ((P1&0xf0)!=0xf0);//防止键按住不放return iScan;}return 0xee;}void Delay (uchar value) /*10ms延时*/{uchar i,j;while (value--){for(j=20; j>0;j--)for(i=250;i>0;i--);}}7-4 结合开发板的情况,在6个数码管上从右到左依次显示一个“3”,直到出现6个“3”为止,延时时间设为1秒。
一、填空题1. A/D 转换器的作用是将(模拟量)转为(数字量),D/A 转换器的作用是将(数字量)转为(模拟量)。
2. D/A 转换器的三个最重要指标是(转换时间)、(分辨率)、(转换精度)。
3. 从输入模拟量到输出稳定的数字量的时间间隔是A/D 转换的计数指标之一,称为(转换速度)。
4. D/A 转换的基本原理是用电阻解码网络将N 位数字量逐位转换成模拟量并求和。
根据其转换原理可分为(权电阻网路型)D/A 转换器、(权电流型)D/A 转换器、(T 型电阻网络型)D/A 转换器。
5. 若8位D/A 转换器的输出满刻度电压为+5V ,则该D/A 转换器能分辨的最小电压变化为(0.016V )。
6. DAC0832是一个(8)位的D/A 转换芯片,数据输入可采用(单缓冲)、(双缓冲)和(直通方式)三种,其输出形式为(电流输出)。
7. A/D 转换器具有(采样)、(保持)、(量化)和(编码)四个功能。
目前常见的A/D 转换器为(积分型)和(逐次逼近式)。
8. ADC0809是逐次逼近式A/D 转换器,它内部由(比较器)、(控制时序电路)、(逐次逼近寄存器)、(D/A 转换器)和(输出缓冲器)组成。
二、选择题1. 下列具有模数转换功能的芯片是(A )A 、 ADC0809B 、DAC0832C 、BS18B20D 、DS13022. ADC0809的启动转换的信号是(D )A 、ALEB 、EOC C 、CLOCKD 、START3. 要想把数字送入DAC0832的输入缓冲器,其控制信号应满足(B )A 、1=ILE ,1=CS ,01=W RB 、1=ILE ,0=CS ,01=W RC 、0=ILE ,1=CS ,01=W RD 、0=ILE ,0=CS ,01=W R4. A/D 转换方法有以下四种,ADC0809是一种采用(C )进行A/D 转换的8位接口芯片。
A 、计数式B 、双积分式C 、逐次逼近式D 、并行式5. 8位D/A 转换器的分辨率能给出满量程电压的(D )。
《单片机原理及应用程序》(第三版)习题参考答案第一章1. 为什么计算机要采用二进制数?学习十六进制数的目的是什么?在计算机中,由于所采用的电子逻辑器件仅能存储和识别两种状态的特点,计算机内部一切信息存储、处理和传送均采用二进制数的形式。
可以说,二进制数是计算机硬件能直接识别并进行处理的惟一形式。
十六进制数可以简化表示二进制数。
2.(1) 01111001 79H (2) 0.11 0.CH (3) 01111001.11 79.CH(4) 11101010.101 0EA.AH (5)01100001 61H (6) 00110001 31H3.(1) 0B3H (2)80H (3) 17.AH (4) 0C.CH4.(1)01000001B 65 (2) 110101111B 4315.(1) 00100100 00100100 00100100 (2) 10100100 11011011 11011100(5) 10000001 11111110 111111116.00100101B 00110111BCD 25H7. 137 119 898.什么是总线?总线主要有哪几部分组成?各部分的作用是什么?总线是连接计算机各部件之间的一组公共的信号线。
一般情况下,可分为系统总线和外总线。
系统总线应包括:地址总线(AB)控制总线(CB)数据总线(DB)地址总线(AB):CPU根据指令的功能需要访问某一存储器单元或外部设备时,其地址信息由地址总线输出,然后经地址译码单元处理。
地址总线为16位时,可寻址范围为216=64K,地址总线的位数决定了所寻址存储器容量或外设数量的范围。
在任一时刻,地址总线上的地址信息是惟一对应某一存储单元或外部设备。
控制总线(CB):由CPU产生的控制信号是通过控制总线向存储器或外部设备发出控制命令的,以使在传送信息时协调一致的工作。
CPU还可以接收由外部设备发来的中断请求信号和状态信号,所以控制总线可以是输入、输出或双向的。
第一章:1. 给出下列有符号数的原码、反码和补码(假设计算机字长为8位)。
+45 -89 -6 +112答:【+45】原=00101101,【+45】反=00101101,【+45】补=00101101【-89】原=11011001,【-89】反=10100110,【-89】补=10100111【-6】原=10000110,【-6】反=11111001,【-6】补=11111010【+112】原=01110000,【+112】反=01110000,【+112】补=011100002. 指明下列字符在计算机内部的表示形式。
AsENdfJFmdsv120答:41H 73H 45H 4EH 64H 66H 4AH 46H 6DH 64H 73H 76H 31H 32H 30H3.何谓微型计算机硬件?它由哪几部分组成?并简述各部分的作用。
答:微型计算机硬件由中央处理器、存储器、输入/输出设备和系统总线等组成,中央处理器由运算器和控制器组成,是微型计算机运算和控制中心。
存储器是用来存放程序和数据的记忆装置。
输人设备是向计算机输人原始数据和程序的装置。
输出设备是计算机向外界输出信息的装置。
I/O接口电路是外部设备和微型机之间传送信息的部件。
总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。
微型计算机的各大功能部件通过总线相连。
4.简述8086CPU的内部结构。
答:8086微处理器的内部分为两个部分:执行单元(EU)和总线接口单元(BIU)。
执行部件由运算器(ALU)、通用寄存器、标志寄存器和EU控制系统等组成。
EU从BIU的指令队列中获得指令,然后执行该指令,完成指今所规定的操作。
总线接口部件BIU由段寄存器、指令指针寄存器、地址形成逻辑、总线控制逻辑和指令队列等组成。
总线接口部件负责从内部存储器的指定区域中取出指令送到指令队列中去排队。
5.何谓总线?总线按功能可分为哪几种?答:总线是连接多个设备或功能部件的一簇公共信号线,它是计算机各组成部件之间信息交换的通道。
单⽚机原理与应⽤(盛珣华)习题和思考题答案习题和思考题答案第⼀章单⽚机概述1. 第⼀台电⼦数字计算机发明的年代和名称。
1946年、ENIAC。
2. 根据冯·诺依曼提出的经典结构,计算机由哪⼏部分组成?运算器、控制器、存储器、输⼊设备和输出设备组成。
3. 微型计算机机从20世纪70年代初问世以来,经历了哪四代的变化?经历了4位、8位、16位、32位四代的变化。
4. 微型计算机有哪些应⽤形式?系统机、单板机、单⽚机。
5. 什么叫单⽚机?其主要特点有哪些?单⽚机就是在⼀⽚半导体硅⽚上,集成了中央处理单元(CPU)、存储器(RAM、ROM)、并⾏I/O、串⾏I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的⽤于测控领域的微型计算机,简称单⽚机。
单⽚机技术易于掌握和普及、功能齐全,应⽤⼴泛、发展迅速,前景⼴阔、嵌⼊容易,可靠性⾼。
6. 举例说明单⽚机的应⽤?略7. 当前单⽚机的主要产品有哪些?各⾃有何特点?MCS是Intel公司⽣产的单⽚机的系列符号,MCS-51系列单⽚机是Intel公司在MCS-48系列的基础上于20世纪80年代初发展起来的,是最早进⼊我国,并在我国应⽤最为⼴泛的单⽚机机型之⼀,也是单⽚机应⽤的主流品种。
其它型号的单⽚机:PIC单⽚机、TI公司单⽚机、A VR系列单⽚机。
8. 简述单⽚机应⽤系统的开发过程。
(1)根据应⽤系统的要求进⾏总体设计总体设计的⽬标是明确任务、需求分析和拟定设计⽅案,确定软硬件各⾃完成的任务等。
总体设计对应⽤系统是否能顺利完成起着重要的作⽤。
(2)硬件设计根据总体设计要求设计并制作硬件电路板(即⽬标系统),制作前可先⽤仿真软件(如Proteus软件)进⾏仿真,仿真通过后再⽤硬件实现并进⾏功能检测。
(3)软件设计软件编程并调试,⽬前⼀般⽤keil软件进⾏设计调试。
调试成功后将程序写⼊⽬标单⽚机芯⽚中。
(4)综合调试进⾏硬软件综合调试,检测应⽤系统是否达到设计的功能。
1 第7章 串行口通信技术
参考答案
一、单选题
C B A
D A C A A B B
二、填空题
1.并行通信、串行通信 2. 同步串行通信、异步串行通信
3. 起始位、数据位、校验位、停止位
4. 高,空闲位
5. 同步移位寄存器
6. TXD ,RXD
7. 时钟频率fosc ,时钟频率fosc 、PCON 中的SMOD 位
8. 1位起始位、8位数据位、1位停止位 9. 定时器T1的溢出率、SMOD
10. 进行电平转换
三、简答题
1. 并行通信速度快,传输线多,适合于近距离的数据通信,但硬件接线成本高;串行通信速度慢,但硬件成本低,传输线少,适合于长距离数据传输。
2.异步串行通信每次发送由起始位、数据位、校验位和停止位四部分构成的而一个字符帧,起始位:位于字符帧开头,只占一位,低电平,用于向接收设备表示发送端开始发送一帧信息。
数据位:紧跟起始位之后的数据信息,低位在前,高位在后,用户可以自己定义数据位的长度。
校验位:位于数据位之后,仅占一位,用来表征串行通信中采用奇校验还是偶校验,由用户编程决定。
停止位:用来表征字符帧结束的位,高电平,通常可取1位、1.5位或2位。
3. 在方式1和方式3下,波特率由定时器T1的溢出率和SMOD 共同决定。
即:
方式1和方式3的波特率=1T 32
2SMOD
⋅溢出率 当定时器/计数器T1做波特率发生器使用时,通常工作在模式2,即自动重装载的8位定时器,此时TL1作计数用,自动重装载的值在TH1内。
设计数的预置值(初始值)为X ,那么每过256-X 个机器周期,定时器/计数器溢出一次,溢出周期为:
)X 256(f 12osc -⋅。
溢出率为溢出周期的倒数,所以,波特率=)
X 256(12f 322
osc SMOD -⋅。