1、单片机原理及应用试题库一、填空题1、 MCS51有 5 个中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器IP加以选择。2、 MOVPSW,10H是将MCS51的工作寄存器置为第2区。3、 用串口扩并口时,串行接口工作方式应选为方式0。4、 寄存器PC复位后为0000H。5、 PSW中RS1RS010时,R2的地址为12H。PSW中RS1RS011时,R7的地址为1FH。6、 MCS51中,T0中断服务程序入口地址为000BH。7、 80C51中断有2个优先级。8、 80C51中断嵌套最多级。9、 MCS51单片机访问片外存贮器时,利用ALE信号锁存来自P0口的低8位地址信号。10
2、、12根地址线可选4K个存储单元,32KB存储单元需要15根地址线。11、三态缓冲寄存器输出端的“三态”是指高电平态、低电平态和高阻态。12、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8块芯片。13、A/D转换器的作用是将模拟量转为数字量,D/A转换器的作用是将数字量转为模拟量。14、单片机系统复位后,PSW00H,因此片内RAM寄存区的当前寄存器是第0组,8个寄存器的地址为00H07H。15、假定SP60H,ACC30H,B70H,执行下列指令:PUSHACCPUSHB后,SP的内容为,61H单元的内容为,62H单元的内容为。16、假定SP62H,(61H)
3、30H,(62H)70H,执行下列指令:POPDPHPOPDPL后,DPTR的内容为7030H,SP的内容为60H。17、单片机的数据通信方式有二种,即串行方式和并行方式,其中串行方式传输距离较远,成本较低。18、异步串行通信有单工、半双工和全双工 共三种传送方向形式。19、异步串行通信的帧格式由起始位、数据位、奇偶校验位和停止位组成。20、波特率的含义为每秒传二进制的位数,其单位为bps。21、MOVX指令用来对片外RAM进行读写操作。22、80C51的T1作为串行口方式1和方式3的波特率发生器。23、定时器0和定时器1的中断标志分别为TF0和TF1。24、外部中断0和外部中断1的中断标志分
4、别为IE0和IE1。25、T0和T1两引脚也可作为外部中断输入引脚,这时TMOD寄存器中的C/位应当为1。(我认为“作为外部中断输入引脚”就是计数器方式,故为1)26、通过设置TMOD中的M1M0位可以定义定时/计数器的工作方式,其中0为 00 ,方式1为 01 ,方式2为 10 。27、MCS51内有5个中断源,按其自然优先级从高到低的排列顺序为外部0、 定时器/计数器0、 外部1、 定时器/计数器1、 串口,它们所对应的中断入口地址分别为0003H、00BH、0013H、001BH、0023H。288051单片机片内有4个8位的I/O口,它们分别是P0、P1、P2和P3,其中具有第二功能的
5、I/O口为P3。298051单片机低128单元随机存贮器,按其用途可划分为寄存器区、位寻址区、 字节寻址 区,它们的地址范围分别为00H-1FH、20H-2FH、30H-7FH。308051单片机中有4个工作寄存器区,选择当前工作寄存器组是由程序状态寄存器PSW中的 RS1RS0位的状态组合来决定。318051单片机一个字节所能表示的无符号数的范围为00-255,而带符号所能表示的无符号数的范围为。 (我只知道:带符号所能表示的范围为 -128127 )32单片机进行0B0H9FH后,PSW中各位分别为CY,AC,OV,P。33单片机指令具有七种寻址方式,它们分别是立即、直接、寄存器、间接、相
6、对、变址、位。348051单片机片内具有4K和128BRAM(ROM、RAM、EPROM、EEPROM)358051单片机一共有111条指令,其寻址方式主要有7种。36对于6MHz时钟频率,其机器周期为2us。对于12MHz时钟频率,其机器周期为1us。378051单片机复位后SP07H,ACC00H,P0FFH。38单片机指令分为指令和伪指令,单片机能直接执行的是指令,它存放在单片机的ROM(RAM、ROM)中。39堆栈是RAM中另外划出的一个特殊的存贮器区,用来暂存数据和地址。它是根据先进后出的原则存取数据。4012根地址线可选4K个存储单元;64KB存储单元需要16根地址线,其地址范围为
7、0000H-FFFFH。 二、简答题1、8051单片机内部有几个定时/计数器?他们是由哪些专用寄存器组成?2、定时/计数器用做定时时,其定时时间与哪些因素有关?做计数时,对外界计数频率有何限制?3、什么是串行通信、并行通信?其优缺点?4、与MCS51串行口有关的特殊功能寄存器有哪几个?5、七段LED显示器静态显示和动态显示分别具有什么特点?6、键盘的工作方式通常有哪三种?7、软件上采取的消除抖动的措施是什么?8、数据存储器空间地址同程序存储器一样,那么为什么不会发生总线冲突呢?9、MCS51单片机有哪几种中断源?如何设定它们的优先级?各自的中断入口地址10、外部中断有哪几种触发方式?如何设定?
8、11、什么是中断、断点、中断源和中断请求?12、CPU响应中断的基本条件是什么?13、串行通信有哪几种制式?14、什么是异步串行通信?有几种格式?其优缺点?15、8255和MCS51相连可以为外设提供哪几个8位I/O端口?16、中断系统相关寄存器IE/IP及其位的含义,中断响应过程。17、定时器相关的寄存器(TCON/TMOD)其位的定义?18、简述SCON中SM2、TB8、RB8的作用?19、A/D、D/A转换器的输入量与输出量各是什么?20、串行通信的波特率?21、定时器有几种工作方式,其定时初值如何计算?22、CPU片外扩展RAM、ROM时的连接及其地址范围。三、计算题,黄宗胤总结了一下
9、,认为单片机可能就这几类计算题,重要!第一类:计算延时时间,按要求分为粗略算法和精确算法,要求用粗算而用精算则不合题1、以下为延时子程序,假设时钟频率为6M,估算其延时时间。DELAY:MOVR0,100;单周期DEL2:MOVR1,10DEL1:MOVR2,7DHDEL0:NOP;单周期NOPDJNZR2,DEL0;双周期DJNZR1,DEL1DJNZR0,DEL2RET;双周期2、以下为延时子程序,假设时钟频率为6M,精确计算其延时时间。DEL1:MOVR2,0C8H ;单周期DEL0:NOP;单周期DJNZR2,DEL0;双周期RET;双周期第二类:计算定时时间,可以是要求定时时间求初值
10、(多数题),或给定初值求定时时间。3、晶振fosc为12MHz,用定时器0方式1产生20ms定时,计算确定其初值TL0和TH0。4、晶振fosc为6MHz,用定时器1方式1产生2.5ms定时,计算确定其初值TL0和TH0。第三类:计算波特率,可以是要求波特率求初值(多数题),或给定初值求波特率。5、若8051的晶振频率fosc为11.0592MHz,串行口工作在方式1,T1作为波特率发生器,T1工作在自动重装初值的8位定时方式,设SMOD=0,(TH1)=0FAH,求串行口的波特率。解:0FAH=250 T1的溢出率=fosc/(12*(256-250)= 11.0592MHz /72=0.1
11、536 MHz=153.6KHz 波特率=(2SMOD/32)*( T1的溢出率)= 153.6KHz/32=4.8 KHz=4800 Hz 6、若8051的晶振频率fosc为11.0592MHz,串行口工作在方式1,T1作为波特率发生器,T1工作在自动重装初值的8位定时方式,要求串行口的波特率为4800Hz,请设置SMOD、TH1的值。【是5题的反问题,答案是设SMOD=0,(TH1)=0FAH,或设SMOD=1,(TH1)=0F4H】7、若8051的晶振频率fosc为11.0592MHz,串行口工作在方式1,T1作为波特率发生器,T1工作在自动重装初值的8位定时方式,设SMOD=0,要求串
12、行口的波特率为4800Hz,求出TH1的值。【是5题的反问题,由:波特率=(2SMOD/32)*( T1的溢出率)= ( T1的溢出率)/32=4.8 KHz 知: T1的溢出率=4.8 KHz*32=153.6KHz=0.1536 MHz 再由: T1的溢出率=fosc/(12*(256-TH1) =11.0592 MHz /(12*(256-TH1)= 0.1536 MHz 256-TH1= 11.0592 MHz /12/0.1536 MHz=6 得: TH1=250=0FAH 】四、编程题1、编制程序。将30H单元开始存放的8字节二进制数(低位在30H)与40H单元开始存放的8字节二进
13、制数(低位在40H)相加,结果存入40H单元开始的8个单元中(低位在40H)。2、编写程序。判别RAM中30H单元的内容,若(30H)10,则31H单元内容置01H;若(30H)10,则31H单元内容置02H;若(30H)10,则31H单元内容置03H。3、编写程序,使内部RAM中20H和30H单元内容互换。5、编写程序。两个无符号数比较,内部RAM的20H单元和30H单元各存放了一个8位无符号数,请比较这两个数的大小,若(20H)(30H),则P1.0清零,否则P1.1清零。6、现有一5V蜂鸣器,用89C51设计一系统,由P1.0控制蜂鸣器周而复始地响20,停20。要求20定时时间由定时器0
14、产生。画出电路,编写程序(fosc=6MHz)。7、使用89C51片内定时器1编一个程序,从P1.0输出50H的对称方波(fosc=12MHz)。8、使用89C51片内定时器1(工作在方式2)为波特率发生器,欲以9.6kHz通过串口通信,串口工作在方式3,请先算定时器初值,再编写初始化程序(fosc=11.0592MHz)。9、利用89C51的P1口控制8个发光二极管LED,LED1LED4为一组,LED5LED8为一组,使二组每隔0.5秒交替发亮一次,周而复始。画出电路,编写程序。10、编写计算下式的程序。设乘积和平方结果均小于255。a、b值分别存在3001H和3002H单元中,结果存于片
15、外3000H单元中。 (12分) (a+b)2+10(a+b)21011、请用位操作指令编程,求下面逻辑方程,结果由P2.3输出。(10分)P2.3( / P1.5 B.4 + / ACC.7) P1.012、编程计算下列算式的程序,结果存入40H 42H单元中(42H单元为高位)。(10分)AB123H - 43ADCH13、编程计算下列算式的程序(10分)CDH+15H-38H-46H14、请用位操作指令编程,求下面逻辑方程,结果由P1.7输出。(10分)P1.7=ACC.0*(B.0+P2.1)+/P3.2一、单选题、 1、十进制数126其对应的十六进制可表示为() A、8FB、8EC、
16、FED、7E 2、十进制数89.75其对应的二进制可表示为() A、.B、.10C、.11D、.11 3、二进制数对应的十六进制数可表示为()A、192HB、C90HC、1A2HD、CA0H 4、二进制数对应的十六进制数可表示为() A、1D3HB、1B6HC、DB0HD、666H 5、-3的补码是() A、B、C、D、 6、下列表达式错误的是() A、X补+Y补=X+Y补B、X=X补补C、X=XD、XY+XY=X+Y 7、CPU主要的组成部部分为() A、运算器、控制器B、加法器、寄存器C、运算器、寄存器D、运算器、指令译码器 8、单片机的主要组成部件为() A、CPU,内存,I/O口B、C
17、PU,键盘,显示器C、主机,外部设备D、以上都是 9、INTEL8051CPU是()位的单片机 A、16B、4C、8D、准16 10、对于INTEL8031来说,EA脚总是() A、接地B、接电源C、悬空D、不用 11、在计算机中“A”是用()来表示的 A、BCD码B、二十进制编码C、余三码D、ASCII码 12、在单片机中,通常将一些中间计算结果放在()中A累加器B控制器C程序存储器D数据存储器 13、程序计数器PC用来()A、存放指令B、存放正在执行的指令地址C、存放下一条的指令地址 D、存放上一条的指令地址 14、数据指针DPTR在()中A、CPU控制器B、CPU运算器C、外部程序存储器
18、D、外部数据存储器 15、指令和程序是以()形式存放在程序存储器中A、源程序B、汇编程序C、二进制编码D、BCD码 16、单片机应用程序一般存放在() A、RAMB、ROMC、寄存器D、CPU 17、单片机上电后或复位后,工作寄存器R0是在()A、0区00H单元B、0区01H单元C、0区09H单元D、SFR 18、进位标志CY在()中A、累加器B、算逻运算部件ALU C、程序状态字寄存器PSWD、DPTR 19、单片机8051的XTAL1和XTAL2引脚是()引脚A、外接定时器 B、外接串行口 C、外接中断 D、外接晶振 20、8031复位后,PC与SP的值为() A、0000H,00HB、0
19、000H,07HC、0003H,07H寄存器D、0800H,00H 21、单片机的堆栈指针SP始终是()A、指示堆栈底B、指示堆栈顶C、指示堆栈地址D、指示堆栈长度 22、P0、P1口作输入用途之前必须() A、相应端口先置1B、相应端口先置0C、外接高电平D、外接上拉电阻 23、一个EPROM的地址有A0-A11引脚,它的容量为()A、2KB B、4KBC、11KBD、12KB 24、8031单片机中既可位寻址又可字节寻址的单元是() A、20HB、30HC、00HD、70H 25、8031单片机中片内RAM共有()字节 A、128B、256C、4KD、64K 26、执行指令MOVXA,DP
20、TR时,、脚的电平为()A、高电平,低电平B、低电平,高电平 C、高电平,高电平D、低电平,低电平27、INTEL8031的P0口,当使用外部存储器时它是一个() A、传输高8位地址口B、传输低8位地址口C、传输低8位数据口 D、传输低8位地址数据总线口 28、当标志寄存器PSW的RS0和RS1分别为1和0时,系统选用的工作寄存器组为()A、组0B、组1C、组2D、组3 29、下列指令中错误的是()A、MOVA,R4B、MOV20H,R4C、MOVR4,R3D、MOV R4,R3 30、下列指令中不影响 标志位CY的指令有() A、ADDA,20HB、CLRAC、RRCAD、INCA 31、L
21、JMP跳转空间最大可达到() A、2KBB、256BC、128BD、64KB 32、计算机内部数据之所以用二进制形式表示,主要是() A、为了编程方便B、由于受器件的物理性能限制C、为了通用性D、为了提高运算速度 33、8051单片机共有()中断源 A、4B、5C、6D、7 34、8051单片机共有()个中断优先级 A、2B、3C、4D、535、外部中断源IE1(外部中断1)的向量地址为() A、0003HB、000BHC、0013HD、002BH 36、累加器A的位地址为() A、E7HB、F7HC、D7HD、87H 37、寄存器B的位地址为() A、E7HB、F7HC、D7HD、87H 3
22、8、8051的内部RAM中,可以进行位寻址的地址空间为()A、00H2FHB、20H2FHC、00HFFHD、20HFFH 39、设累加器A的内容为0C9H,寄存器R2的内容为54H,CY=1,执行指令SUBBA,R2后结果为() A、(A)=74HB、(R2)=74HC、(A)=75HD、(R2)=75H 40、设(A)=0C3H,(R0)=0AAH,执行指令ANLA,R0后,结果() A、(A)=82HB、(A)=6CHC、(R0)=82D、(R0)=6CH 41、8051的程序计数器PC为16位计数器,其寻址范围是()A、8KB、16KC、32KD、64K 42、提高单片机的晶振频率,则
23、机器周期()A、不变B、变长C、变短D、不定 43、在堆栈操作中,当进栈数据全部弹出后,这时SP应指向() A、栈底单元B、7FH单元C、栈底单元地址加1D、栈底单元地址减1 44、8051单片机中,唯一一个用户不能直接使用的寄存器是()A、PSWB、DPTRC、PCD、B 45、8051单片机中,唯一一个用户可使用的16位寄存器是()A、PSWB、DPTRC、ACCD、PC 46、执行如下三条指令后,30H单元的内容是()A、40HB、30HC、0EHD、FFHMOVR1,30H MOV40H,0EH MOVR1,40H 47、有如下程序段: MOVR0,30H SETBC CLRA ADD
24、CA,00H MOVR0,A 执行结果是() A、(30H)=00HB、(30H)=01HC、(00H)=00HD、(00H)=01H48、从地址2132H开始有一条绝对转移指令AJMPaddr11,指令可能实现的转移范围是() A、2000H27FFHB、2132H2832H C、2100H28FFHD、2000H3FFFH 49、中断是一种()A、资源共享技术 B、数据转换技术C、数据共享技术D、并行处理技术 50、执行MOVIE,81H指令的意义是:() A、屏蔽中断源B、开放外部中断源0C、开放外部中断源1D、开放外部中断源0和1 1.D 2.C 3.A 4.B 5.D 6.D 7.A
25、 8.A 9.C 10.A 11.D 12.A 13.C 14.A 15.C 16.B 17.A 18.C 19.D 20.B 21.B 22.A 23.B 24.A 25.B (?应是A) 26.A 27.D 28.B 29.D 30.B 31.D 32.B 33.B 34.A 35.C 36.A 37.B 38.B 39.A 40.A 41.D 42.C 43.C (?应是D) 44.C 45.B 46.C 47.B 48.A 49.D 50.B 绝大多数人,开始了一次在家门口享受体育盛会的人生体验。而我们的志愿者却开始了一段崭新的跋涉,许许多多个日子在积淀,许许多多份努力在累加,为了这个盛大的时刻,每一个人都在心中奋力的呐喊:亚运,我们准备好了!