单片机原理及应用-电子科技大学2021秋_第1页
单片机原理及应用-电子科技大学2021秋_第2页
单片机原理及应用-电子科技大学2021秋_第3页
单片机原理及应用-电子科技大学2021秋_第4页
单片机原理及应用-电子科技大学2021秋_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

《单片机原理及应用》一,选择题1.89C51/S51单片机是多少位的单片机:(8位)2.89C51/S51单片机复位后SP寄存器内的内容是:(07H)3.89C51/S51单片机有多少个中断源:(5个)4.PSW=18H时,则当前工作寄存器是:(4组)5.汇编指令MOVC,20H.0中源操作数的寻址方式是:(位寻址)6.89C51/S51单片机的片内RAM的大小为:(128字节)7.外部中断1固定对应的中断入口地址为:(0013H)8.对程序存储器的读操作,只能用:(MOVC)9."89C51/S51单片机的定时/计数器共有四种操作模式,由TMOD寄存器中M1M0的状态决定,当M1M0的状态为01时,定时/计数器被设定为:(16位定时/计数器)10.在进行串行通信时,若两机的发送与接收可以同时进行,则称为(全双工通信)11.89C51/S51单片机进行存储器扩展时,哪一个端口作为数据口:(P0)12.89C51/S51单片机进行串口通信时,发送数据要送到哪一个寄存器:(SBUF)13.计算机能直接识别的语言是:(机器语言)14.开机复位后,单片机使用的是寄存器第一组,地址范围是:(00H-07H)15.单片机在与外部I/O口进行数据传送时,将使用下列哪些引脚:(WRRDALE)16.区分片外程序存储器和数据存储器的最可靠方法是:(看其是被RD还是被PSEN信号连接)17.若某寄存器芯片的地址线为12根,那么它的存储容量为:(4KB)18.当串行口向单片机的CPU发出中断请求时,若CPU允许并接受中断请求时,程序计数器PC的内容将被自动修改为:(0023H)19.89C51/S51单片机的定时/计数器是否计满可采用等待中断的方法进行处理,也可通过对(中断标志)的查询方法进行判断。20.在89C51/S51单片机中,如采用6MHZ晶振,一个机器周期为:(2us)21.89C51/S51单片机复位时,复位电平至少要保持多少个机器周期:(2)22.当P1口做输入口输入数据时,必须先向该端口的锁存器写入(1),否则输入数据可能出错。23.用来保存程序运行过程中的各种状态信息的寄存器是:(PSW)24.要使89C51/S51单片机从片内的地址0000H开始执行程序。那么EA应(高电平25.在调用子程序时,为保证程序调用和返回不致混乱,常采用保护现场的措施。通常在进入子程序后要用(PUSH)指令保护现场26.判断是否溢出时用PSW的(OV)标志位27.下列指令不是变址寻址方式的是:(@DPTRMOVCA)28.在片外扩展8K的EPROM2764需要(13)根地址线29.89C51/S51单片机有多少个串口:(1个)30.通过串口接收数据时应该访问下列哪一个寄存器:(SBUF)31.查询方式接收串口数据应该访问下列哪一个寄存器来判断是否接收到新的数据:(SCON)32.在单片机中,通常将一些中间计算结果放在(累加器)中33.89C51/S51单片机有多少个外部中断源:(2个)34.执行MOVIE,#81H指令的意义是:(外部中断源0)35.89C51/S51单片机的程序计数器PC为16位计数器,其寻址范围是:(64KB)36.中断源的优先级别被分为高级和低级两大级别,各中断源的中断请求是属于什么级别是由(IP)寄存器的内容决确定的37.编程时,一般在中断服务子程序和调用子程序中需用保护和恢复现场,恢复现场用(POP)指令38.定时/计数器有4种操作模式,它们由(TMOD)寄存器中的M1M0状态决定一、论述(每题参考分值5分)1、利用定时器1编写1s的定时程序(假设单片机晶振频率为6MHz)正确答案:1、确定定时器工作方式方式0:16.384ms;方式1:131.072ms;方式2:512us。在3种工作方式下的最大定时时间都小于要求的定时时间,常选用定时时间最长的一种方式,即方式1。2、确定基本定时时间原则:基本定时时间尽量长且必须与要求的定时时间成整数倍关系。选择基本定时时间为125ms,计8次到1秒。3、计算初值因此,(TL1)=0DCH,(TH1)=0BH4、程序设计:采用查询方式实现ORG1000HDEL_1S:PUSHACCMOVTMOD,#10H;T1方式1定时状态MOVTL1,#0DCH;计数初值,125msMOVTH1,#0BHMOVR2,#8SETBTR1;循环次数,共8次LOOP:JNBTF1,$MOVTL1,#0DCHMOVTH1,#0BHCLRTF1DJNZR2,LOOP;判断1s定时是否到CLRTR1RET2、在如上图所示LED显示器上循环显示十六进制数字0~9、A~F(假设系统已提供延迟5秒的子程序DEL_05S)正确答案:汇编程序如下:ORG0000HSTART:MOVSP,#60HMOVR3,#0MOVDPTR,#TABNEXT:MOVA,R3ANLA,#0FHMOVCA,@A+DPTRMOVP1,ALCALLDEL_05SINCR3CJNER3,#10H,NEXTSJMPSTARTTAB:DB3FH,06H,……….DB7FH,6FH,77H,……END3、用74LS373输入(P2.0片选),74LS377输出(P2.1片选),它们与8051的连接电路如题图。写出图示电路中74LS373与74LS377的端口地址,并编制完成下列要求的程序段:从74LS373次读入8个数据,取反后,从74LS377输出.正确答案:1)74LS373与74LS377的端口地址分别为FEFFH和FDFFH2)编程如下:RDWR:MOVDPTR,#0FDFFH;置74LS377口地址MOV31H,DPH;暂存MOVDPTR,#0FEFFH;置74LS373口地址MOV30H,DPH;暂存MOVR2,#8;置数据长度LOOP:MOVXCPLA;取反A,@DPTR;读一个数据MOVDPH,31H;置74LS377口高8位地址MOVX@DPTR,A;输出一个数据MOVDJNZSJMPDPH,30H;置74LS373口高8位地址R2,LOOP;判8个数据操作完否?未完继续$4、利用89S52串行口UART实现一个数据块的发送。设发送数据缓冲区首地址为50H,发送数据长度(字节数)为10H;串行口为方式1工作状态,选定波特率为1200。时钟频率为fosc=11.0529MHz正确答案:解答设计思路:Ø89S52串口方式1工作状态下波特率需编程设定Ø选定时器/计数器1在方式2工作状态下做波特率发生器,初值自动重载Ø当选定波特率为1200,时钟频率为fosc=11.0529MHz,查表可知的初值为E8HØ在数据发送前要将定时器/计数器1进行波特率发生器的初始化Ø不用中断,查询方式发送数据TXD1:MOVTMOD,#20H;定时器/计数器1作波特率发生器的初始化;方式2,初值自动重载MOVTL1,#0E8H;置定时初值MOVTH1,#0E8H;置重载值,与初值一样MOVSCON,#40H;串行口初始化成方式1MOVPCON,#00H;设SMOD=0MOVR0,#50H;发送数据缓冲区首址送R0MOVR7,#10H;发送数据块长度送R7CLRET1SETBTR1;禁止T1中断;T1启动TRS:MOVA,@R0MOVSBUF,A;发送一帧数据WAIT:JBCTI,CONT;查询TI,等待发送完,发送完一帧转CONTSJMPWAITCONT:INCR0;指向下一个字节单元DJNZR7,TRS;数据块发送完?未完转TRSRET5、用定时器T0以工作方式2产生频率为5kHz的连续方波,并由P1.0输出(用查询方式完成)。设单片机晶振频率为fosc=6MHz正确答案:已知:f=5kHz,则周期为200us,定时时间为100us。①(TH0)=0CEH,(TL0)=0CEH,6M的晶振经12分频后频率是0.5M,周期为2us,100us要计数50次,所以计数初值=256-50=206=CEH②(TMOD)=02H③程序设计。ORG0000HSTART:MOVTMOD,#02HCLRP1.0MOVTH0,#0CEHMOVTL0,#0CEHSETBTR0LOOP:JNBTF0,$CLRTF0CPLP1.0SJMPLOOPEND二、问答(每题参考分值5分)6、编写程序,将外部数据存储器中4000H~40FFH单元全部清“0”。正确答案:CLEAR0:MOVA,#0;0给AMOVR0,#00H;设置循环次数MOVDPTR,#4000H;设置数据指针的初值LOOP:MOVX@DPTR,A;当前单元清“0”INCDPTR;指向下一个单元DJNZR0,LOOP;是否结束RET7、编程将内部RAM的20H--30H单元内容清零。正确答案:程序1:MOVR0,#20H;设地址指针初值CLRA;累加器清0CONT:MOV@R0,A;置0指针所指单元INCR0;地址指针加1CJNER0,#31H,CONT;指针未超过终点则继续SJMP$;暂停程序2:MOVR0,#20H;设地址指针初值CLRA;累加器清0MOVR7,#17;计数器赋初值,从20H到30H共17个字节CONT:MOV@R0,A;置0指针所指单元INCR0;地址指针加1DJNZR7,CONT;计数器减1,非0,则继续SJMP$;暂停8、编写出完成如下要求的指令,但不能改变未涉及位的内容。(1).把Acc.3,Acc.4,Acc.5和Acc.6清“0”。(2).把累加器A的中间4位清“0”。(3).使Acc.2和Acc.3置“1”。正确答案:(1).ANLA,#87H;87H=10000111B(2).ANLA,#0C3H;C3H=11000011B(3).ORLA,#0CH;0CH=00001100B也可以使用位操作指令,但一个指令只能操作一位例如用CLRAcc.3对Acc.3清0例如用SETBAcc.2对Acc.2置19、AT89S51采用12MHz的晶振,定时1ms,若定时器采用方式1时,定时器的初值(16进制数)应为多少?(写出计算过程)。正确答案:Tcy=1/fosc×12=12/(12×106)=1us1ms含多少个us:是1ms/1us=1000设初值为X,则有:(216-X)=1000则X=64536,将其转换成二进制为:1111110000011000B再将其转化为16进制数为:FC18H初值为THX=0FCHTLX=18H10、将内部RAM起始地址为60H的数据串传送到外部RAM中起始地址为1000H的存储区域,直到发现‘$’字符停止传送。正确答案:MAIN:MOVR0,#60HMOVDPTR,#1000H;置初值(地址)LOOP0:MOVA,@R0;取数据,间接寻址;置初值(地址)CJNEA,#24H,LOOP1;循环结束?SJMPDONE;是LOOP1:MOVX@DPTR,A;循环处理,存数据INCR0;循环修改,指针加一;继续循环,下一个数INCDPTRSJMPLOOP0DONE:SJMPDONE;结束处理三、(每题参考分值2.5分)11、8051单片机的定时/计数器是由个8位特殊功能寄存器组成的。A.2B.4C.6D.8答案:【C】12、8051单片机的中断系统是有2个优先级个中断源的中断系统。A.2B.3C.4D.5答案:【D】13、8051单片机的定时器0的溢出中断请求标志位是。A.TR0B.IR0C.IT0D.TF0答案:【D】14、关于8051单片机的位存储器,下列位地址书写答案的是。A.0200HB.20H.3C.OVD.PSW.2答案:【A】15、下面是一段汇编语言源程序,请指出程序运行后的结果是。MOV23H,#0AHCLRALOOP:ADDA,23HDJNZSJMP23H,LOOP$A.A=00HB.A=23HC.A=37HD.A=55H答案:【C】16、用于设置8051单片机串行接口工作方式的特殊功能寄存器是。A.TMODB.SMODC.TCOND.SCON答案:【D】17、8051单片机串行接口在工作方式2时,其帧格式中的数据位是位。A.8B.9C.10D.11答案:【B】18、8051单片机的引脚T1的作用是A.输入定时器0的计数脉冲B.输出定时器0的定时脉冲C.输入定时器1的计数脉冲D.输出定时器1的定时脉冲答案:【C】。19、在汇编语言子程序的设计中,不属于设计要点的表述是。A.必须要有条件转移指令B.堆栈操作指令必须配对C.最后一条指令必须是RETD.第一条指令必须有标号答案:【A】20、关于8051单片机的存储器,下列表述中,答案的是A.程序存储器是存放程序的,不能存放数据。B.内部数据存储器的单元地址是一个8位二进制数。C.外部数据存储器的容量是64KB。。D.特殊功能寄存器通常是用于对各种功能电路进行控制和管理的。答案:【A】21、相对于并行通信而言,串行通信的优点是A.成本低和距离远。B.精度高和速度快C.精度高和距离远D.成本低和速度快答案:【A】22、下列指令A.XCH能够实现分支程序结构。B.SUBBC.XRLD.DJNZ答案:【D】23、对于8051单片机的出栈操作指令POP,下列表述中,正确的是A.堆栈指针先加一再取数B.堆栈指针先减一再取数C.先取数再堆栈指针加一D.先取数再堆栈指针减一答案:【D】24、在汇编语言中,伪指令的真实含义是A.自编的虚假指令。B.运行答案的指令C.无机器代码的指令D.计算机不接受的指令答案:【C】25、8051单片机的波特率可变10位异步通信方式是指串行接口的。A.工作方式0B.工作方式1C.工作方式2D.工作方式3答案:【B】26、计算机是由运算器、控制器、存储器、输入接口和输出接口这五大部分通过三总线连接而成的,而下列选项中有四个总线,其中不属于三总线的是。A.数据总线B.地址总线C.状态总线D.控制总线答案:【C】27、8051单片机的并行I/O接口可以做扩展地址总线的高8位输出接口。A.P0B.P1C.P2D.P3答案:【C】28、程序计数器PC是一个自动加1的16位寄存器,它的作用是A.存放数据地址。B.存放堆栈地址C.存放程序地址D.存放下一条指令地址答案:【D】29、8051单片机5个中断源的中断请求标志位在中断请求被响应后,只有一个中断源的请求标志位不能被硬件清零,这个中断源是。A.外部中断源B.定时器0中断C.定时器1中断D.串行口中断答案:【D】30、计算机学科中常用的数制有二进制、十进制、十六进制,但只有数据才是计算机运算电路使用的。A.二进制B.八进制C.十进制D.十六进制答案:【A】31、8051单片机有4个位并行I/O接口。A.4B.8C.16D.32答案:【B】32、对于8051单片机的除法指令DIVAB,下列表述中,正确的是。A.此指令执行前,A放除数,B放被除数,执行后,A放商,B放余数B.此指令执行前,A放被除数,B放除数,执行后,A放余数,B放商C.此指令执行前,A放除数,B放被除数,执行后,A放余数,B放商D.此指令执行前,A放被除数,B放除数,执行后,A放商,B放余数答案:【D】33、在复位时,8051单片机的并行I/O接口引脚均为。A.低电平B.高电平C.高阻态D.不确定答案:【B】34、如果要允许8051单片机的定时/计数器0中断,则需要设置中断控制寄存器的值为。A.82HB.02HC.81HD.01H答案:【A】35、堆栈是一个按后进先出规则存取数据的存储区,8051单片机的堆栈是。A.向上生成的堆栈B.向下生成的堆栈C.向左生成的堆栈D.向右生成的堆栈答案:【A】36、8051单片机的定时器0的运行控制位是。A.TF0B.IR0C.IT0D.TR0答案:【D】37、如果要让8051单片机的定时/计数器T0工作在定时方式1,则特殊功能寄存器TMOD应该设置为。A.01HB.02HC.10HD.20H答案:【A】38、复位操作是时序逻辑电路必须进行的,8051单片机的复位操作就是在芯片引脚上加一个5ms以上的高电平完成的。A.ALEB.VCCC.RSTD.RXD答案:【C】39、8051单片机串行接口在工作方式0时,其引脚TXD和RXD的作用是。A.发送数据和接收数据B.接收数据和发送数据C.时钟输出和收发数据D.收发数据和时钟输出答案:【C】40、单片机是属于A.巨型计算机B.中型计算机C.小型计算机D.微型计算机答案:【D】的一个计算机分支。41、当把8051单片机的8位并行I/O接口P1作为数据输入接口使用时,必须先向P1口的锁存器输出数据。A.0B.1C.255D.256答案:【C】42、下列8051单片机的指令中,书写答案的是。A.MOVB.ORLC.ADDCD.CLR答案:【C】43、如果要让8051单片机的串行接口中断为高级中断,则需要设置寄存器的值为10H。A.IEB.IPC.TCOND.TMOD答案:【B】44、8051单片机的定时/计数器设置为时是13位定时计数器。A.工作方式0B.工作方式1C.工作方式2D.工作方式3答案:【A】45、8051单片机有A.1个16位B.2个16位可编程定时/计数器。C.2个8位D.3个8位答案:【B】46、下面是一段汇编语言源程序,请指出程序运行后的结果是。ORG0000HMOVMOVMOVCDPTR,#TABA,A,#03H@A+DPTRSJMPTAB:$DB00H,01H,04H,09H,16H,25HENDA.A=00HB.A=03HC.A=09HD.A=25H答案:【C】47、8051单片机如果使用6MHz的晶振,则其机器周期为。A.1usB.2usC.1msD.2ms答案:【B】48、计算机中常用的编码有BCD码、ASCΙΙ码、汉字内码,其中ASCΙΙ码是美国标准信息交换码,它是用位二进制数表示一个符号。A.4B.5C.6D.7答案:【D】49、在循环结构程序的设计中,其循环体的汇编语言程序段必须要包含,以实现循环体程序在重复执行过程中的数据更新。A.立即寻址指令B.直接寻址指令C.寄存器寻址指令D.寄存器间接寻址指令答案:【C】50、在8051单片机中,下列指令能够实现并行I/O接口的数据输入操作。A.MOVCB.MOVXC.MOVD.MOV答案:【C】一、材料(每题参考分值5分)1、讨论中断程序在中断响应和中断返回时的过程。正确答案:中断响应时,PC送堆栈,CPU识别中断源类型后将中断矢量地址送PC,转移到中断程序,遇到中断返回指令后,堆栈送PC,返回的主程序继续执行。2、若A=0,MOVCA,@A+DPTR;MOVXA,@DPTR;(1)执行指令后A的内容是否相同,为什么?(2)说明每条指令的寻址方式。正确答案:(1)MOVCA,@A+DPTR,对程序存储器操作MOVXA,@DPTR对数据存储器操作(2)MOVCA,@A+DPTR,寄存器变址寻址MOVXA,@DPTR寄存器寻址4、分析各条指令,在答案指令后打×。(1)MOVCA,@DPTR()(2)MOVR2,R3()(3)SETBR0()(4)ANLR1,#30H()(5)CLRA()正确答案:(1)MOVCA,@DPTR(×)(2)MOVR2,R3(×)(3)SETBR0(×)(4)ANLR1,#30H(×)(5)CLRA()5、讨论定时计数器各工作方式的异同点。正确答案:方式0,计算器为12位,方式1,计算器为16位,方式2,计算器为8位,可自动装载初值,方式3,仅定时计数器0有方式3,两个8位计算器。6、设计单片机与2个LED发光管,三个开关连接的接口电路。正确答案:2个LED发光管阳极接电源,阴极分别通过限流电阻接单片机的IO引脚。开关一端接地,另一端接IO引脚,同时通过上拉电阻接电源。7、讨论子程序与中断程序在响应和返回时的不同点。正确答案:相同点:都是响应时首先将PC送堆栈,返回时堆栈送PC.不同点:子程序是程序响应,中断是事件响应,因此对子程序,指令直接提供目标地址,中断程序则由硬件识别中断源并提供矢量地址。8、分析指令,在答案指令后打×MOVR3,P3()MOV@R1,R1H()MOV#30H,41H()CPLR1,()SETBA()正确答案:MOVR3,P3()MOV@R1,R1H(×)MOV#30H,41H(×)CPLR1,(×)SETBA(×)9、讨论串行口工作在方式1时的帧结构特点,波特率与哪些因素有关。正确答案:帧结构为10位,一位起始位,一位结束位,8位数据位,波特率与时钟周期、定时计数器1在方式2时的初值有关二、问答(每题参考分值5分)10、阅读分析程序段MOVR1,#40HMOV@R1,#30HMOV30H,R1MOVA,30HADDA,40HMOVR0A回答程序执行后:A=(),R1=(),(30H)=(),(40H)=(),R0=()正确答案:阅读分析程序段MOVR1,#40HMOV@R1,#30HMOV30H,R1MOVA,30HADDA,40HMOVR0A回答程序执行后:A=(70H),R1=(40H),(30H)=(40H),(40H)=(30H),R0=(70H)三、(每题参考分值2.5分)11、在循环结构程序的设计中,其循环体的汇编语言程序段必须要包含,以实现循环体程序在重复执行过程中的数据更新。A.立即寻址指令B.直接寻址指令C.寄存器寻址指令D.寄存器间接寻址指令答案:【C】12、堆栈是一个按后进先出规则存取数据的存储区,8051单片机的堆栈是。A.向上生成的堆栈B.向下生成的堆栈C.向左生成的堆栈D.向右生成的堆栈答案:【A】13、在8051单片机中,下列指令能够实现并行I/O接口的数据输入操作。A.MOVCB.MOVXC.MOVD.MOV答案:【C】14、当8051单片机的TCON寄存器的IT0控制位为1时,外部中断0的触发信号为。A.低电平信号B.高电平信号C.下降沿信号D.上升沿信号答案:【C】15、关于8051单片机的存储器,下列表述中,答案的是A.程序存储器是存放程序的,不能存放数据。B.内部数据存储器的单元地址是一个8位二进制数。C.外部数据存储器的容量是64KB。。D.特殊功能寄存器通常是用于对各种功能电路进行控制和管理的。答案:【A】16、对于8051单片机的出栈操作指令POP,下列表述中,正确的是A.堆栈指针先加一再取数B.堆栈指针先减一再取数C.先取数再堆栈指针加一D.先取数再堆栈指针减一答案:【D】17、8051单片机的条件转移指令均为相对寻址方式,其偏移量是一个。A.8位无符号二进制数B.8位有符号二进制数C.16位无符号二进制数D.16位有符号二进制数答案:【B】18、下面是一段汇编语言源程序,请指出程序运行后的结果是。ORG0000HMOVMOVMOVCSJMPTAB:ENDDPTR,#TABA,A,$#03H@A+DPTRDB00H,01H,04H,09H,16H,25HA.A=00HB.A=03HC.A=09HD.A=25H答案:【C】19、当把8051单片机的8位并行I/O接口P1作为数据输入接口使用时,必须先向P1口的锁存器输出数据。A.0B.1C.255D.256答案:【C】20、在8051单片机的指令系统中,变址寻址方式可以访问的存储器是。A.程序存储器B.SFRC.内部数据存储器D.外部数据存储器答案:【A】21、下面是一段汇编语言源程序,请指出程序运行后的结果是。MOV23H,#0AHCLRALOOP:ADDA,23HDJNZSJMP23H,LOOP$A.A=00HB.A=23HC.A=37HD.A=55H答案:【C】22、8051单片机定时/计数器0的中断服务子程序的第一条指令必须放在程序存储器的地址单元。A.0003HB.000BHC.0013HD.001BH答案:【B】23、8051单片机的中断系统中,中断服务子程序的最后一条指令必须是。A.SJMP06HB.RETC.RETID.LJMP1000H答案:【C】24、8051单片机有4个位并行I/O接口。A.4B.8C.16D.32答案:【B】25、MCS-51系列单片机的存储器地址空间结构形式是。A.普林斯顿结构B.哈佛结构C.IBM结构D.ARM结构答案:【B】26、8051单片机的定时/计数器是由个8位特殊功能寄存器组成的。A.2B.4C.6D.8答案:【C】27、8051单片机的定时器0的运行控制位是。A.TF0B.IR0C.IT0D.TR0答案:【D】28、8051单片机的定时/计数器设置为时是13位定时计数器。A.工作方式0B.工作方式1C.工作方式2D.工作方式3答案:【A】29、下列8051单片机的指令中,书写答案的是。A.MOVB.ORLC.ADDCD.CLR答案:【C】30、对于8051单片机的除法指令DIVAB,下列表述中,正确的是。A.此指令执行前,A放除数,B放被除数,执行后,A放商,B放余数B.此指令执行前,A放被除数,B放除数,执行后,A放余数,B放商C.此指令执行前,A放除数,B放被除数,执行后,A放余数,B放商D.此指令执行前,A放被除数,B放除数,执行后,A放商,B放余数答案:【D】31、8051单片机串行接口在工作方式0时,其引脚TXD和RXD的作用是。A.发送数据和接收数据B.接收数据和发送数据C.时钟输出和收发数据D.收发数据和时钟输出答案:【C】32、8051单片机的中断系统是有2个优先级个中断源的中断系统。A.2B.3C.4D.5答案:【D】33、8051单片机5个中断源的中断请求标志位在中断请求被响应后,只有一个中断源的请求标志位不能被硬件清零,这个中断源是。A.外部中断源B.定时器0中断C.定时器1中断D.串行口中断答案:【D】34、如果要允许8051单片机的定时/计数器0中断,则需要设置中断控制寄存器的值为。A.82HB.02HC.81HD.01H答案:【A】35、在汇编语言子程序的设计中,不属于设计要点的表述是A.必须要有条件转移指令。B.堆栈操作指令必须配对C.最后一条指令必须是RETD.第一条指令必须有标号答案:【A】36、相对于并行通信而言,串行通信的优点是A.成本低和距离远。B.精度高和速度快C.精度高和距离远D.成本低和速度快答案:【A】37、计算机是由运算器、控制器、存储器、输入接口和输出接口这五大部分通过三总线连接而成的,而下列选项中有四个总线,其中不属于三总线的是。A.数据总线B.地址总线C.状态总线D.控制总线答案:【C】38、8051单片机有A.1个16位B.2个16位可编程定时/计数器。C.2个8位D.3个8位答案:【B】39、8051单片机的并行I/O接口P3有第二功能,其中P3.7的第二功能是,其作用是的读选通信号输出。A.程序存储器B.SFRC.内部数据存储器D.外部数据存储器答案:【D】40、8051单片机的引脚T1的作用是A.输入定时器0的计数脉冲B.输出定时器0的定时脉冲C.输入定时器1的计数脉冲D.输出定时器1的定时脉冲答案:【C】。41、真正能够被计算机直接运行的程序是A.汇编语言程序。B.机器语言程序C.高级语言程序D.C语言程序答案:【B】42、计算机学科中常用的数制有二进制、十进制、十六进制,但只有数据才是计算机运算电路使用的。A.二进制B.八进制C.十进制D.十六进制答案:【A】43、复位操作是时序逻辑电路必须进行的,8051单片机的复位操作就是在芯片引脚上加一个5ms以上的高电平完成的。A.ALEB.VCCC.RSTD.RXD答案:【C】44、计算机与外界的信息交换称为通信,基本的通信方式有A.并行通信和同步通信两种。B.串行通信和异步通信C.同步通信和异步通信D.并行通信和串行通信答案:【D】45、8051单片机的波特率可变10位异步通信方式是指串行接口的。A.工作方式0B.工作方式1C.工作方式2D.工作方式3答案:【B】46、8051单片机的并行I/O接口中,具有三态I/O能力的接口是。A.P0B.P1C.P2D.P3答案:【A】47、MCS-51系列单片机是1978年由推出的高性能8位单片机,其衍生产品至今仍广泛应用于日用家电产品中。A.编程方法难学、不易掌握B.功能强,性能价格比低C.硬件配套齐全,用户使用方便,适应性强D.设计、安装、调试和维修工作量大答案:【B】48、8051单片机的串行接口是一种传送的异步通信接口。A.单工B.半双工C.全双工D.并行答案:【C】49、下面是一段汇编语言源程序,请指出程序运行后的结果是。MOVMOVADDDAA,#56HB,#17HA,BA$SJMPA.A=56HB.A=6DHC.A=17HD.A=73H答案:【D】50、如果要让8051单片机的串行接口中断为高级中断,则需要设置寄存器的值为10H。A.IEB.IPC.TCOND.TMOD答案:【B】一、论述(每题参考分值5分)1、用定时器T0以工作方式2产生频率为5kHz的连续方波,并由P1.0输出(用查询方式完成)。设单片机晶振频率为fosc=6MHz正确答案:已知:f=5kHz,则周期为200us,定时时间为100us。①(TH0)=0CEH,(TL0)=0CEH,6M的晶振经12分频后频率是0.5M,周期为2us,100us要计数50次,所以计数初值=256-50=206=CEH②(TMOD)=02H③程序设计。ORG0000HSTART:MOVTMOD,#02HCLRP1.0MOVTH0,#0CEHMOVTL0,#0CEHSETBTR0LOOP:JNBTF0,$CLRTF0CPLP1.0SJMPLOOPEND2、在如上图所示LED显示器上循环显示十六进制数字0~9、A~F(假设系统已提供延迟5秒的子程序DEL_05S)正确答案:汇编程序如下:ORG0000HSTART:MOVSP,#60HMOVR3,#0MOVDPTR,#TABNEXT:MOVA,R3ANLA,#0FHMOVCA,@A+DPTRMOVP1,ALCALLDEL_05SINCR3CJNER3,#10H,NEXTSJMPSTARTTAB:DB3FH,06H,……….DB7FH,6FH,77H,……END3、利用89S52串行口UART实现一个数据块的发送。设发送数据缓冲区首地址为50H,发送数据长度(字节数)为10H;串行口为方式1工作状态,选定波特率为1200。时钟频率为fosc=11.0529MHz正确答案:解答设计思路:Ø89S52串口方式1工作状态下波特率需编程设定Ø选定时器/计数器1在方式2工作状态下做波特率发生器,初值自动重载Ø当选定波特率为1200,时钟频率为fosc=11.0529MHz,查表可知的初值为E8HØ在数据发送前要将定时器/计数器1进行波特率发生器的初始化Ø不用中断,查询方式发送数据TXD1:MOVTMOD,#20H;定时器/计数器1作波特率发生器的初始化;方式2,初值自动重载MOVTL1,#0E8H;置定时初值MOVTH1,#0E8H;置重载值,与初值一样MOVSCON,#40H;串行口初始化成方式1MOVPCON,#00H;设SMOD=0MOVR0,#50H;发送数据缓冲区首址送R0MOVR7,#10H;发送数据块长度送R7CLRET1SETBTR1;禁止T1中断;T1启动TRS:MOVA,@R0MOVSBUF,A;发送一帧数据WAIT:JBCTI,CONT;查询TI,等待发送完,发送完一帧转CONTSJMPWAITCONT:INCR0;指向下一个字节单元DJNZR7,TRS;数据块发送完?未完转TRSRET4、利用定时器1编写1s的定时程序(假设单片机晶振频率为6MHz)正确答案:1、确定定时器工作方式方式0:16.384ms;方式1:131.072ms;方式2:512us。在3种工作方式下的最大定时时间都小于要求的定时时间,常选用定时时间最长的一种方式,即方式1。2、确定基本定时时间原则:基本定时时间尽量长且必须与要求的定时时间成整数倍关系。选择基本定时时间为125ms,计8次到1秒。3、计算初值因此,(TL1)=0DCH,(TH1)=0BH4、程序设计:采用查询方式实现ORG1000HDEL_1S:PUSHACCMOVTMOD,#10H;T1方式1定时状态MOVTL1,#0DCH;计数初值,125msMOVTH1,#0BHMOVR2,#8SETBTR1;循环次数,共8次LOOP:JNBTF1,$MOVTL1,#0DCHMOVTH1,#0BHCLRTF1DJNZR2,LOOP;判断1s定时是否到CLRTR1RET5、用74LS373输入(P2.0片选),74LS377输出(P2.1片选),它们与8051的连接电路如题图。写出图示电路中74LS373与74LS377的端口地址,并编制完成下列要求的程序段:从74LS373次读入8个数据,取反后,从74LS377输出.正确答案:1)74LS373与74LS377的端口地址分别为FEFFH和FDFFH2)编程如下:RDWR:MOVDPTR,#0FDFFH;置74LS377口地址MOV31H,DPH;暂存MOVDPTR,#0FEFFH;置74LS373口地址MOV30H,DPH;暂存MOVR2,#8;置数据长度LOOP:MOVXCPLA;取反A,@DPTR;读一个数据MOVDPH,31H;置74LS377口高8位地址MOVX@DPTR,A;输出一个数据MOVDJNZSJMPDPH,30H;置74LS373口高8位地址R2,LOOP;判8个数据操作完否?未完继续$二、问答(每题参考分值5分)6、编程将内部RAM的20H--30H单元内容清零。正确答案:程序1:MOVR0,#20H;设地址指针初值CLRA;累加器清0CONT:MOV@R0,A;置0指针所指单元INCR0;地址指针加1CJNER0,#31H,CONT;指针未超过终点则继续SJMP$;暂停程序2:MOVR0,#20H;设地址指针初值CLRA;累加器清0MOVR7,#17;计数器赋初值,从20H到30H共17个字节CONT:MOV@R0,A;置0指针所指单元INCR0;地址指针加1DJNZR7,CONT;计数器减1,非0,则继续SJMP$;暂停7、将内部RAM起始地址为60H的数据串传送到外部RAM中起始地址为1000H的存储区域,直到发现‘$’字符停止传送。正确答案:MAIN:MOVR0,#60H;置初值(地址)MOVDPTR,#1000H;置初值(地址)LOOP0:MOVA,@R0;取数据,间接寻址CJNEA,#24H,LOOP1;循环结束?SJMPDONE;是LOOP1:MOVX@DPTR,A;循环处理,存数据INCR0;循环修改,指针加一;继续循环,下一个数INCDPTRSJMPLOOP0DONE:SJMPDONE;结束处理8、编写出完成如下要求的指令,但不能改变未涉及位的内容。(1).把Acc.3,Acc.4,Acc.5和Acc.6清“0”。(2).把累加器A的中间4位清“0”。(3).使Acc.2和Acc.3置“1”。正确答案:(1).ANLA,#87H;87H=10000111B(2).ANLA,#0C3H;C3H=11000011B(3).ORLA,#0CH;0CH=00001100B也可以使用位操作指令,但一个指令只能操作一位例如用CLRAcc.3对Acc.3清0例如用SETBAcc.2对Acc.2置19、编写程序,将外部数据存储器中4000H~40FFH单元全部清“0”。正确答案:CLEAR0:MOVA,#0;0给AMOVR0,#00H;设置循环次数MOVDPTR,#4000H;设置数据指针的初值LOOP:MOVX@DPTR,A;当前单元清“0”INCDPTR;指向下一个单元DJNZR0,LOOP;是否结束RET10、设fosc=12MHz,定时器/计数器的初始化程序中断服务程序如下:MOVMOVMOVTH0,#0DHTL0,#0D0HTMOD,#01HSETBTR0中断服务程序:000B:MOVTH0,#0DHMOVRETI问TL0,#0D0H(1)使用了那个定时器/计数器?该定时器/计数器工作于什么方式?是定时还是计数?(2)相应的定时时间或计数值是多少?(3)为什么在中断服务程序中要重置定时器/计数器的初值?(4)SETBTR0指令起什么作用?(5)地址000B是什么的特定地址正确答案:(1)从TMOD=01H可知,使用定时器0,工作于方式1,C/T=0定时模式(2)定时时间为(655360DD0H)×1us=62000us=62ms;(3)说明该单片机应用系统需要定时器/计数器0反复定时工作,所以必须对定时器/计数器重复置初值,以供再次投入定时计时使用。(4)此指令用来启动定时器0开始计时(运行)(5)地址000B就是定时器0的中断服务程序入口地址三、(每题参考分值2.5分)11、堆栈是一个按后进先出规则存取数据的存储区,8051单片机的堆栈是。A.向上生成的堆栈B.向下生成的堆栈C.向左生成的堆栈D.向右生成的堆栈答案:【A】12、在循环结构程序的设计中,其循环体的汇编语言程序段必须要包含,以实现循环体程序在重复执行过程中的数据更新。A.立即寻址指令B.直接寻址指令C.寄存器寻址指令D.寄存器间接寻址指令答案:【C】13、在8051单片机中,下列指令能够实现并行I/O接口的数据输入操作。A.MOVCB.MOVXC.MOVD.MOV答案:【C】14、当8051单片机的TCON寄存器的IT0控制位为1时,外部中断0的触发信号为。A.低电平信号B.高电平信号C.下降沿信号D.上升沿信号答案:【C】15、对于8051单片机的出栈操作指令POP,下列表述中,正确的是A.堆栈指针先加一再取数B.堆栈指针先减一再取数C.先取数再堆栈指针加一D.先取数再堆栈指针减一答案:【D】16、8051单片机的条件转移指令均为相对寻址方式,其偏移量是一个。A.8位无符号二进制数B.8位有符号二进制数C.16位无符号二进制数D.16位有符号二进制数答案:【B】17、关于8051单片机的存储器,下列表述中,答案的是A.程序存储器是存放程序的,不能存放数据。B.内部数据存储器的单元地址是一个8位二进制数。C.外部数据存储器的容量是64KB。。D.特殊功能寄存器通常是用于对各种功能电路进行控制和管理的。答案:【A】18、8051单片机的并行I/O接口中,具有三态I/O能力的接口是。A.P0B.P1C.P2D.P3答案:【A】19、下面是一段汇编语言源程序,请指出程序运行后的结果是。MOV23H,#0AHCLRALOOP:ADDA,23HDJNZSJMP23H,LOOP$A.A=00HB.A=23HC.A=37HD.A=55H答案:【C】20、8051单片机有4个位并行I/O接口。A.4B.8C.16D.32答案:【B】21、MCS-51系列单片机是1978年由推出的高性能8位单片机,其衍生产品至今仍广泛应用于日用家电产品中。A.编程方法难学、不易掌握B.功能强,性能价格比低C.硬件配套齐全,用户使用方便,适应性强D.设计、安装、调试和维修工作量大答案:【B】22、下面是一段汇编语言源程序,请指出程序运行后的结果是。ORG0000HMOVDPTR,#TABMOVMOVCSJMPTAB:ENDA,A,$#03H@A+DPTRDB00H,01H,04H,09H,16H,25HA.A=00HB.A=03HC.A=09HD.A=25H答案:【C】23、下列8051单片机的指令中,书写答案的是。A.MOVB.ORLC.ADDCD.CLR答案:【C】24、在8051单片机的指令系统中,变址寻址方式可以访问的存储器是。A.程序存储器B.SFRC.内部数据存储器D.外部数据存储器答案:【A】25、对于8051单片机的除法指令DIVAB,下列表述中,正确的是。A.此指令执行前,A放除数,B放被除数,执行后,A放商,B放余数B.此指令执行前,A放被除数,B放

温馨提示

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

评论

0/150

提交评论