77范文网 - 专业文章范例文档资料分享平台

C51语言复习题参考答案88(2)

来源:网络收集 时间:2020-04-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

(A)方式0 (B)方式1 (C)方式2 (D)方式3

49.在80C51单片机芯片的串行口电平采用的电平为( A ) 。 (A)TTL电平 (B)RS232C电平 (C)RS422电平 (D)RS485电平 50、串行口的控制寄存器是(B)。

(A)SMOD (B)SCON (C)SUBF (D)PCON 51、串行口的发送数据和接收数据端是(A)。

(A)TXD和RXD (B)TI和RI (C)TB8和RB8 (D)REN

52、MCS-51系列单片机串行口发送的工作过程是:当串行口发送完一帧数据时,将SCON中的(D),向CPU申请中断。

(A)RI置0 (B)TI置0 (C)RI置1 (D)TI置1 53、ADC0809芯片是m路模拟输入的n位A/D转换器,m、n分别是(A)。 (A)8、8 (B)8、9 (C)8、16 (D)1、8 54、DAC0832是一种(C)芯片。

(A)8位模拟量转换成数字量 (B)16位模拟量转换成数字量 (C)8位数字量转换成模拟量 (D)16位数字量转换成模拟量

55、DAC0832可以实现两路模拟信号的同步输出,这是利用了该芯片的( D ) 特性。 (A)单极性 (B)双极性 (C)单缓冲 (D)双缓冲

三、判断说明题(注意其逆命题)

1.在微机性能指标中,CPU的主频越高,其运算速度越快。√ 2.在MCS-51系统中,一个机器周期等于1μS。╳ 3.PC可以看做是指令存储区的地址指针。√ 4.SP内装的是栈顶首址的内容。╳ 5.指令周期是执行一条指令的时间。╳

6.输入/输出设备必须通过I/O接口才能接到系统总路线上和主机进行信息交换。√ 7.MCS-51中的P0口可以分时复用为数据口和地址输出口。 √

8.当P2口的某些位用作地址线后,其它位不可以用作I/O口线使用。√ 9.为使准双向的I/O口工作在输入方式,必须保证它被预置为“1”。√ 10. 若外设控制器中的寄存器和主存单元统一用主存地址编址,那么在计算机的指令系统中可以不设专门的I/O指令。√ 11. 外部中断1的中断类型号是:1。╳ 12. 8031单片机的有效复位电平是低电平。╳ 13. 锁存器、三态缓冲寄存器等简单芯片中没有命令寄存和状态寄存等功能。√ 14. EPROM中存放的信息在计算机执行程序时只读,且断电后仍能保持原有的信息。√ 15. 8031的CPU是由RAM和EPROM所组成。╳ 16. 内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。╳ 17. MCS-51系列单片机的内部特殊功能寄存器的数量是相同的。╳ 18. ADC0809是12位的逐次逼近式数模转换芯片。╳ 19. 掩膜ROM的特点是既能写入又能读出。╳ 20. 低优先级的中断请求不能中断高优先级的中断请求,但是高优先级中断请求能中断低优先级中断请求。√ 21. 各中断源发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中。╳ 22. 当ITX=1时表示允许外部中断。 ╳

23. D/A转换器很多时候用于产生波形。√ 24. 定时/计数器可由TM0D设定四种工作方式。√ 25. 按照串行数据的时钟控制方式,串行通信可分为异步通信和同步通信两类。√ 四、简答题

1. 带符号的数在计算机中有哪些表示方法?特点如何?

答:带符号的数在计算机中可以用原码、反码和补码表示。采用原码和反码表示时,符号位不能同数值一道参加运算。补码表示可以将减法运算转换为加法运算,同时数值连同符号位可以一起参加运算,这非常有利于计算机的实现。

2. 单片机与其它常见微机(如PC机)有什么不同?它有什么独特优点? 答:(1)主要有三点不同:一是CPU、存储器和I/O接口这几部分集成在一片芯片上;二是

存储器设计采用了哈佛结构,将程序存储器和数据存储器在物理上分开;三是供位处理和位控制的资源丰富、I/O接口完善。

(2)优点:1)集成度高、价格低廉、性能/价格比高;2) 程序存储器和数据存储器

在物理上分开,可使程序不受干扰,抗干扰能力强;3)布尔处理能力强,适于工业控制。

3. 堆栈区与一般的数据存储区有何异同?其重要作用是什么?

答:堆栈区与一般存储区相同之处是:它们都属于存储器的一部分,都能存放数据。

其主要不同之处是对数据的存取规则有异:一般存储区使用随机读/写规则,而堆栈 使用先进后出(或后进先出)规则。堆栈采用这种特殊规则后,可以圆满完成子程序调用或中断调用,多级子程序嵌套等功能。

当然,堆栈区内的存储单元也可以使用随机读/写指令,但在这种情况下已经不把该单元当做堆栈看待了。

4. 简述80C51单片机四个端口的带负载能力。

答:P0口的每一位口线可以驱动8个LSTTL负载。在作为通用I/O口时,由于输出驱动电

路是开漏方式,由集电极开路(OC门)电路或漏极开路电路驱动时需外接上拉电阻;当作为地址/数据总线使用时,口线输出不是开漏的,无须外接上拉电阻。P1、P2、P3口的每一位能驱动4个LSTTL负载。它们的输出驱动电路设有内部上拉电阻,所以可以方便地由集电极开路(OC门)电路或漏极开路电路所驱动,而无须外接上拉电阻。

5. MCS-51引线中有多少I/O引线?它们和单片机对外的地址总线和数据总线有什么关

系?简述8031单片机中P0、P1、P2、P3口的主要作用。

答:共有32根I/O引线,其中部分引线在单片机有外扩对象时,将代替地址总线和数据总

线的功能。这32根I/O引线均匀分布于P0.P1.P2.和P3口若没有单片机外扩要求,则4个并行口都时纯粹的I/O口;但是,当单片机有外扩任务时,则P0口将作为8位数据总线,P2和P0口将作为16位地址总线,P3口的一部分将作为读/写等控制总线信号,此时只有P1口保留作为单纯的I/O口。

6. 简叙80C51程序储存器的配置。

答:80C51内部有4KB的掩膜ROM;87C51内部有4KB的EPROM;而80C31内部没

有程序存储器,80C51的EA引脚为访问内部或外部程序存储器的选择端。接高电平时,

CPU将首先访问内部存储器,当指令地址超过0FFFH时,自动转向片外ROM去取指令;接低电平时(接地),CPU只能访问外部程序存储器(对于80C31单片机,由于其内部无程序存储器,只能采用这种接法)。外部程序存储器的地址从0000H开始编址。程序存储器低端的一些地址被固定地用作特定的入口地址。 7. 什么是计算机的指令?什么是指令系统?什么是寻址方式? 答:(1)计算机的指令是规定计算机进行某种操作的命令。 (2)一台计算机所有指令的集合称为该机器的指令系统。 (3)寻址方式就是寻找指令中操作数或操作数所在地址。

8. MCS-51系列中断系统包括几个中断源和几个中断优先级,写出所有的中断源的符号、

名称及其入口地址。

答:MCS-51系列中断系统包括5个中断源2个中断优先级:

中断源符号 中断源名称 入口地址

INT0

外部中断0 0003H

T0 T0溢出中断 000BH

INT1 外部中断1 0013H

T1 T1溢出中断 001BH TX/RX 串行口(接收/发送) 0023H

9. MCS-51系列单片机中用于中断允许和中断优先级控制的寄存器分别是什么?写出中断

允许控制寄存器的各控制位的符号及含义。

答:MCS-51系列单片机用于中断允许和中断优先级控制的寄存器分别是IE和IP; AFH AEH ADH ACH ABH AAH A9H A8H

IE(A8H) EA ES ET1 EX1 ET0 EX0

EA——中断允许控制位;ES——串行口中断允许控制位;ET1定时器/计数器T1的溢出中断允许位;EX1——外部中断1中断允许位;ET0——定时器/计数器T0溢出中断允许位;

EX0——外部中断0中断允许位;当相应的位为“1”时允许中断,为“0”时禁示中断。 10. 简述并行通信和串行通信的特点。

答:并行通信的特点是:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且

接收方的各位同时接收存在困难。串行通信的特点是:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。

11. I/O寻址方式有哪几种,各有什么优缺点?MCS-51系列单片机采用哪种寻址方式?

Intel 8086/8088采用哪种寻址方式? 答:(1)I/O寻址方式有两种,分别是标准的I/O寻址方式(独立编址)、存储器映射I/O寻

址方式(统一编址);

(2)前者的优点是:处理速度较快,I/O端口地址不占用存储空间,各自都有完整的地址空间,而且访问存储器与访问I/O设备指令有别,程序清晰,其缺点是制造CPU时必须单独集成专门I/O指令所需要的那部分逻辑电路;

后者的优点是:程序设计灵活性好,I/O端口地址安排灵活,并且I/O端口数目不受限制,CPU无需专用的I/O指令和接口信号,处理能力强,其缺点是减少了存储空间,执行指令时间较长,在程序中较难区分是存储器操作还是I/O操作,硬件设计中所用的译码电路复杂。 (3)MCS-51系列单片机采用存储器映射I/O寻址方式;Intel8086/8088采用标准的I/O寻址方式。

五、程序分析填空题

1、对按键动作进行计数和显示,达到99后重新由1开始计数。 #include

+5Vsbit P3_7=P3^7; //定义计数器端口

R1-R7100 x 7unsigned char count =0; //定义计数器

U1unsigned char code table[]= LED11939XTAL1P0.0/AD038{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; P0.1/AD137P0.2/AD21836XTAL2P0.3/AD335 P0.4/AD434P0.5/AD533P0.6/AD6932void main(void) { RSTP0.7/AD7a21P2.0/A8b22 P0=P2=table[0]; //显示初值00 P2.1/A9c23P2.2/A10d2924PSENP2.3/A11e3025 while(1) { ALEP2.4/A12f3126EAP2.5/A13g27P2.6/A142880C51 if(P3_7==0){ //检测按键是否压下 P2.7/A15110P1.0P3.0/RXD211 count++; //计数器增1 P1.1P3.1/TXD312P1.2P3.2/INT0413P1.3P3.3/INT1514 if(count==100) count=0; //判断循环是否超限 P1.4P3.4/T0615P1.5P3.5/T1BUT716P1.6P3.6/WR P0=table[count/10]; //十位输出显示 817P1.7P3.7/RD P2=table[count]; //个位输出显示

while(P3_7==0); //等待按键抬起,防止连续计数 } } }

2、如下图所示,实现以下功能:⑴ 8只发光二极管先整体闪烁3次;

⑵ 根据开关状态控制相应灯亮或灯灭。

#include

void delay(unsigned char t)

C2C1{ unsigned char i,j;

X1 for(i=200;i>0;i--) C3R1R2 for(j=t;j>0;j--); D1R3D2}

R4D3U1void main() SW1R5D4{ unsigned char k; SW2R6D5 for(k=0;k<3;k++) SW3R7D6SW4 {P2=0x00; R8D7SW5 delay(200);

R9D8SW6 P2=0xff; SW7 delay(200);

SW8 }

while(1)

ResistorResistorResistorResistorResistorResistorResistorRessoRessoRessoRessoRessoRessoRessoLED2abcdefg+5V22uF30pF19XTAL1CRYSTAL18XTAL21k30pF9RSTP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7393837363534333221222324252627281011121314151617Y1LED-RED200X1X2293031PSENALEEA80C51P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15Y1Y2Y3Y4Y5Y6Y7Y8Y2LED-RED200Y3LED-RED200Y4Y5LED-RED200200X3X4X5X1X2X3X4X5X6X7X812345678LED-REDP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDY6LED-RED200Y7LED-RED200Y8LED-RED200X6X7X8 P2=P1; }

3、如下图所示,实现功能: 开机后D1灭灯,LED1显示“0”,随后按下K1对应D1反转, 按下K2对应LED1在0~F间加1循环显示。 #include \char led_mod[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71}; char count=0; sbit P04 = P0^4; int0_key() interrupt 0 { P04=!P04; }

int1_key() interrupt 2 { count++;

if (count==0x10) count=0; P2 = led_mod[count]; }

void main(){

IT0=IT1=EX0=EX1=EA=1; P04=0;

P2 = led_mod[0]; while(1); }

4、数码管动态显示。要求:6个共阳数码管稳定显示“012345”6个字符。 #include

unsigned char led[]={0xc0,0xf9,0xa4,0x99,0x92}; void delay(unsigned char t) { unsigned char i,j; for(i=200;i>0;i--) for(j=t;j>0;j--); }

main()

{unsigned char i, w; while(1) { w=0x01;

for( i=0;i<6;i++) { P2=~w; w<<1; P1=led[i]; delay(100); }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C51语言复习题参考答案88(2)在线全文阅读。

C51语言复习题参考答案88(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/975455.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: