资源描述
MCS-51单片机复习题参考题库测控2011-1、2班 2014-4-19一、填空题1、 167D=1010111 B= C7 H。2、 8051内部有 四 个并行口,P0口直接作输出口时,必须外接 上拉 电阻 ;并行口作输入口时,必须先向锁存器 置1 ,才能读入外设的状态。3、 若单片机的主振频率为6MHz,则一个时钟周期为 1/6 微秒,一个机器周期为2 微秒。4、 当MCS-51执行MOVX DPTR, A指令时,伴随着 WR* 控制信号有效。5、 若累加器A中的数据为110110010B,则PSW中的P=_1_。6、 内部RAM中,位地址为50H的位,该位所在字节的字节地址为 2AH 。7、 MCS-51单片机串行口以方式2工作时,若系统晶振频率fosc为12MHz,PCON中的SMOD设置为1,则波特率为 375KB/S bps。8、 若LED为共阴极接法,则“9”的七段代码值应当为_7F_H。9、MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为 64 K字节。10、如果(A)=7AH,(30H)=A5H, PSW=80H,执行ADDC A,30H;INC 30H两条指令后, (A)= 20H ,(30H)= A6H 。11、已知(20H)=X, (21H)=Y,指令MOV SP,#70H,PUSH 20H;PUSH 21H;POP 30H;POP 40H;执行完后,(71H)= , (72H)= , (30H)= , (40H)= ,SP= 12、帧格式为1个起始位,8个数据位和1个停止位的异步串行通讯方式是方式 1 。13、在异步通信中每个字符由10位组成,串行口每分钟传25000个字符,则对应的波特率为 4167bps 。14、起止范围为0000H3FFFH的存储器的容量是 16 KB。15、11根地址线可选 2KB 个存储单元,16KB存储单元需要 14 根地址线。16、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过 4微妙 。 17、指令MOVC A,A+PC的源操作数的寻址方式为 把地址为A+PC的内存单元的内容给A 。18、甲乙双方采用串行口模式1进行通信,采用定时器T1工作在模式2做波特率发生器,波特率为2400bit/s,当系统晶振为6MHz时,SMOD=1,计数初值为 F3H 。二、选择题1、若将字库放在程序存储器中,则存储类型是( B ) A. xdata B. code C. pdata D. bdata 2、单片机的汇编语言的指令中,有循环左移和循环右移,而C语言中没有,所以在C51中利用( )来完成。 A. 内部函数 B. 外部函数 C. 取样函数 D. 本征函数3、数组声明为 int display3,下面哪个不是其中的元素(D)A. display0 B. display1 C. display2 D. display34、设int num5,*p;,数组num共有5个数组元素,如果p是指向数组num的指针变量(p=a),则以下哪个不能表达第四个数组元素( )A. num 3 B. *(p+3) C. *(num+3) D. *p+35、下列类型中,( C )是51单片机特有的类型 A. char B. int C. bit D. float6、0023H 是51单片机的 (C )中断入口地址 A.外部中断0 B.外部中断1 C.定时器中断1 D.定时器中断07、串行口发送中断标志位为( A ) A.TI B.RI C.IE0 D.IE18、T1中断允许控制位为(B ) A.ET0 B.ET1 C.ES D.EX19、串行口控制寄存器SCON为40H时,工作于( ) A方式0 B.方式1 C.方式2 D.方式310、LCD1602属于那一种液晶显示器( B ) A.笔段式液晶显示器 B.点阵字符式显示器 C.点阵图形式液晶显示器D.11、对5V电压进行A/D采样,若要求对电压的最小分辩率为5mv,则A/D的转换位数为(B ) A.8位二进制 B.10位二进制 C.12位二进制 D.14位二进制三、阅读并分析程序1、设(30H)03H,(31H)50H,(32H)7BH,(33H)7CH,给下面程序加上注释,写出每条语句运行结果,并填写程序执行后的结果。(34H) H,R1= ,(00H) 。 CLR A CLRC MOVR2,30H MOVR1,#31HLOOP:ADDCA,R1 INC R1 DJNZR2,LOOP MOV34H,A MOV00H ,C RET2、已知A=7AH,Cy=1,试写出下面指令执行的最终结果。MOV A,#0FHCPL AMOV 30H, #00HORL 30H, #0ABHRL A四、简答题1、MCS51系列单片机的内部资源有哪些?简述8031、8051、8751三种单片机有何异同? 内部资源有:1、2个定时器 2、一个串口 3、128B的RAM4、 4个并行口 5、8位数据总线 6、16位地址总线 7、2个外部中断( 版本2:MCS51系列单片机上有1个8位CPU、128的RAM、21个SFR、4个并行口、1个串行口、2个定时计数器和中断系统等资:)8031,没有ROM,只能扩展ROM才能写程序8051,有4K的ROM8751,有4K的EPROM2、 为什么把51单片机的I/O口称为“准双向”口?因为P1、2、3有固定的内部上拉电阻,所以有时称它们为准双向口。当用做输入时被拉高,低则要靠外部电路拉低。而P0则是真双向口,因为作为输入时它是悬浮的。3、 MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的? 5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制(拓展:在出现同级中断申请时,CPU按以下顺序响应各中断源请求:INT0,T0,INT1,T1。 串口.各中断源入口地址:0003H,0013H,001BH,0023H) 4、 中断允许寄存器IE各位定义是什么?请写出允许T1定时器溢出中断的指令。见书P28 允许T1定时器溢出中断的指令:MOV IE,# 88H 或改用位寻址指令:SETB EA SETB ET15、8051的定时器/计数器有几个?是多少位的?有几种工作方式?其工作原理如何?8051有2个16位的定时器/计数器,有4种工作方式。定时器与计数器的工作原理是相同的,8051的定时器/计数器是根据输入的脉冲进行加1计数,当计数器溢出时,将溢出标志位置1,表示计数到预定值6、 为什么定时器/计数器T1用做串行口波特率发生器时,常采用方式2?若已知时钟频率、通讯波特率,如何计算其初值?T1的方式2 模式不需要重装时间常数(计数初值),不影响CPU执行通信程序。 设波特 率为fbaud计数初值为X,依据公式fbaud=(2SMOD/32)*(fosc/(12(256-X)求得X=256-(2SMOD /32)*( fosc /2SMOD) 7、简述MCS-51的串行口在4种工作方式下的字符格式。8、简述MCS-51的串行口在4种工作方式下的波特率产生方法。 方式0和方式2的波特率是固定的,都是由单片机时钟脉冲经相关控制电路处理后得到。方式0完全取决于系统时钟频率fosc的高低,等于fosc/12,方式2还受SMOD 影响,SMOD=1时,为fosc/32,SMOD=0时,为fosc/64.。方式1和方式3的波特率可变,通常使用单片机中的定时器T1工作在方式2(自动重装初值方式)作为波特率产生器使用,以产生所需波特率信号。方式1,3的波特率=(2SMOD/32)x(fosc/12)x(1/(2m -T1初值)9、 异步通信和同步通信的主要区别是什么?MCS-51的串行口有没有同步通信功能?10、所谓同步通信是指在约定的通信速率下,发送端和接收端的时钟信号频率和相信始终保持一致(同步),这就保证了通信双方在发送和接收数据时具有完全一致的定时关系。异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。mcs-51中使用的都是异步通信,没有同步通信10、 C51特有的数据结构类型有哪些?C51的存储类型有几种,它们分别表示的存储器区域是什么? 特殊功能寄存器,位类型 data 直接寻址区 idata 间接寻址区 xdata 外部寄存器 pdata 分页寻址区 code 程序存储区 bdata 位寻址区11、 在C51中,中断函数与一般函数有什么不同?中断无参无返回。函数可以有。中断的执行时间尽可能的短,防止耽误主程序的运行。中断写好以后,放到特定的位置(或者必须的初始化一下),有条件触发执行。函数得自己调用版本2:中断函数要中关键字Interrupt,中断函数执行时,系统会进行状态的压栈保存,就是进行当前运行状态的保护,函数结束后恢复。12、 键抖动对单片机系统有何影响?有哪些消除抖动的方法?由于按键是机械开关结构,所以当用手按下其中一个键时,往往会出现所按键在闭合位置和断开位置之间发生跳几下后才会稳定到闭合状态的情况。在释放一个键时,也会出现类似的情况,这就是键的抖动,抖动的持续时间不一,但通常不会大于10ms。若抖动问题不解决,就会引起对闭合键的多次读入。对于键抖动最方便的解决方法就是当发现有键按下后,不是立即进行扫描,而是延时大约10ms后再进行。由于一个键按下的时间一般会持续上百毫秒,所以延迟10ms后再扫描处理并不迟。另外一种办法就是使用硬件电路(如触发器)进行消抖。13、 解释 ORG 3000H指令的含义。ORG伪指令说明其后面源程序的目标代码在存储器中存放的起始地址是3000H(自己 写的,正确率较低)14、1602液晶显示器模块的RS,RW,E引脚是什么功能,当对1602写指令操作时,这三个引脚应为什么状态? RS为寄存器选择,高电平1时选择数据寄存器,低电平0 时选择指令寄存器。 RW为读写信号线,高电平进行读操作,低电平进行写操作。 E为使能端,写操作时(RW=0),下降沿使能,读操作时(RW=1),E高电平有效。(当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据)15、 若要定义1602为8位总线两行5*7点阵显示,控制代码为多少?16、决定ADC0809模拟电压输入路数的引脚有几条?ADDC,ADDB,ADDA五、编程题(C或汇编完成)1、用单片机的内部定时器来产生方波,要求P1.0输出频率为100Hz,设单片机的时钟频率为12MHZ,写出有关程序。解:#include /定义头文件sbit P1_1=P11;void dingshiqi0(void) interrupt 1 /定时器0中断服务程序 TH0=(65536-4999)/256;/装入时间100hz初值 TL0=(65536-4999)%256;P1_1=!P1_1;/P1.1取反void main(void) TMOD=0x01; /定时器0方式0 TH0=(65536-4999)/256; TL0=(65536-4999)%256; TR0=1; TF0=0; EA=1; ET0=1; while(1) 2、试写出/INT0为下降沿触发方式的中断初始化程序六、综合应用题(C或汇编完成)1、设计一个硬件电路,某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由右向左轮流点亮。MOV A,#01H;初值SHIFT: MOV P1,A;点亮LCALL DELAY;延时 MOV P1,#00H;熄灭RL A;左移 LCALL SHIFT;循环DELAY: MOV R1,#0FAH;延时子程序LOOP0:MOV R0,#0C7H;LOOP1: DJNZ R0,LOOP1 DJNZ R1,LOOP0 RET第二种MOV A,#80H (1分)UP:MOV P1,A (1分)RR A (2分)SJMP UP2、某控制系统有2个开关K1和K2,1个数码管,当K1按下时数码管加1,K2按下时数码管减1。试画出8051与外设的连接图并编程实现上述要求。ORG 0000HLJMP MAINORG 0003HLJMP AINT0ORG 0013HLJMP BINT1MAIN: MOV IE,#83HSETB IT0SETB IT1MOV R0,#00HMOV DPTR,#TABUP: MOV A,R0MOVC A,A+DPTRMOV P1,ASJMP UPAINT0: INC R0CJNE R0,#10,AINT01MOV R0,#0AINT01: RETIBINT1: DEC R0CJNE R0,#0FFH,BINT11MOV R0,#9BINT11: RETI3、下图所示为8031和ADC0809的接口,请写出对8路模拟电压连续采集并存入单片机内部RAM的程序。时序图如下:(更正说明:EOC为转换结束信号,转换开始时变低,转换结束时变高,变高时将转换结果打入三态输出锁存器。)解:ORG1000H AJMPSTARTORG0003HAJMPINT_0ORG1100HSTART:MOVR0,#20H MOVDPTR,#0F0FFHMOVR6,#8HSETBEASETBEX0SETBIT0 MOVXDPTR,ASJMP$INT_0:MOVXA,DPTRMOVR0,AINCDPHINCR0 DJNZR6,LOPMOVR6,#8H MOVDPTR,#0F0FFHMOVR0,#20HLOP:MOVXDPTR,ARET
展开阅读全文