单片机面试题.docx
《单片机面试题.docx》由会员分享,可在线阅读,更多相关《单片机面试题.docx(13页珍藏版)》请在冰豆网上搜索。
![单片机面试题.docx](https://file1.bdocx.com/fileroot1/2023-2/23/f9d67119-dd3e-4049-8124-c4215056eb68/f9d67119-dd3e-4049-8124-c4215056eb681.gif)
单片机面试题
大公司电子类招聘题目精选(单片机、MCU、计算机
1、简单描述一个单片机系统的主要组成模块,并说明各模块之间的数据流流向和控制流
流向。
简述单片机应用系统的设计原则。
(仕兰微面试题目2、画出8031与2716(2K*8ROM的连线图,要求采用三-八译码器,8031的P2.5,P2.4和
P2.3参加译码,基本地址范围为3000H-3FFFH。
该2716有没有重叠地址?
根据是什么?
若
有,则写出每片2716的重叠地址范围。
(仕兰微面试题目3、用8051设计一个带一个8*16键盘加驱动八个数码管(共阳的原理图。
(仕兰微面试
题目
4、PCI总线的含义是什么?
PCI总线的主要特点是什么?
(仕兰微面试题目
5、中断的概念?
简述中断的过程。
(仕兰微面试题目
6、如单片机中断几个/类型,编中断程序注意什么问题;(未知
7、要用一个开环脉冲调速系统来控制直流电动机的转速,程序由
8051完成。
简单原理如
下:
由P3.4输出脉冲的占空比来控制转速,占空比越大,转速越快;而占空比由K7-K0八
个开关来设置,直接与P1口相连(开关拨到下方时为"0",拨到上方时为"1",组成一个八
位二进制数N,要求占空比为N/256。
(仕兰微面试题目下面程序用计数法来实现这一功能,请将空余部分添完整。
MOVP1,#0FFH;做输入
LOOP1:
MOVR4,#0FFH;
--------
MOVR3,#00H
LOOP2:
MOVA,P1
--------
SUBBA,R3
JNZSKP1
--------
SKP1:
MOVC,70H
MOVP3.4,C
ACALLDELAY:
此延时子程序略
--------
--------
AJMPLOOP1
8、单片机上电后没有运转,首先要检查什么?
(东信笔试题
9、WhatisPCChipset?
(扬智电子笔试
芯片组(Chipset是主板的核心组成部分,按照在主板上的排列位置的不同,通常分为
北桥芯片和南桥芯片。
北桥芯片提供对CPU的类型和主频、内存的类型和最大容量、
ISA/PCI/AGP插槽、ECC纠错等支持。
南桥芯片则提供对KBC(键盘控制器、RTC(实时时
钟控制器、USB(通用串行总线、UltraDMA/33(66EIDE数据传
输方式和ACPI(高级
能源管理等的支持。
其中北桥芯片起着主导性的作用,也称为主桥(HostBridge。
除了最通用的南北桥结构外,目前芯片组正向更高级的加速集线架构发展,Intel的
8xx系列芯片组就是这类芯片组的代表,它将一些子系统如IDE接口、音效、MODEM和USB直
接接入主芯片,能够提供比PCI总线宽一倍的带宽,达到了266MB/s。
10、如果简历上还说做过cpu之类,就会问到诸如cpu如何工作,流水线之类的问题。
(未知
11、计算机的基本组成部分及其各自的作用。
(东信笔试题12、请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接
口、所存器/缓冲器。
(汉王笔试
13、cache的主要部分什么的。
(威盛VIA2003.11.06上海笔试试题14、同步异步传输的差异(未知
15、串行通信与同步通信异同,特点,比较。
(华为面试题
16、RS232c高电平脉冲对应的TTL逻辑是?
(负逻辑?
(华为面试题
7.8决定8255A选口地址的引脚有哪几条?
作用是什么?
解答:
A0、A1,用于选中A口、B口、C口和控制字寄存器中哪一个工作。
7.98255如何辨认方式控制字和C口单一置复7.10位控制字?
方式控制字各位定义如何?
解答:
这两个控制字以D7位状态作为标志。
方式控制字的定义见书上P252页图7-13。
7.11结合图7-17简述8255A口在模式1选通输入方式下的工作过程。
解答:
见书上P255页图7-17下面(a~(d
7.128255B口可以设定为方式2吗?
为什么?
解答:
不可以,因为方式2作为双向I/O,只适用于A口。
7.13在采用8255扩展I/O口时,7.14若把8255A口作为输入,7.15
A口每一位接一个开关,7.16
B口每一位接一个发光二极管。
请编写A口开关接1时B口相应位发光二极管点亮的程序。
解答:
假设电路如图所示,当开关闭合时(即A口的输入信号
等于1,使发光二极管点亮(即B口的输出信号等于1。
设8255的A、B、C、控制口地址分别为8000H、
8001H、8002H和8003H。
控制字:
10010000B(90H
即A口输入、方式0;B口输出、方式0。
程序如下:
ORG1000H
MOVDPTR,#8003H
MOVA,#90H
MOVX@DPTR,A;写控制字
LOOP:
MOVDPTR,#8000H
MOVXA,@DPTR;将A口的数据送到累加器A中
INCDPTR
MOVX@DPTR,A;将累加器中的数从B口输出
SJMPLOOP
END
7.17某一生产过程共有6道工序,7.18每道工序的时间均为10s,7.19生产过程循环进行。
先要用MCS-51通过8255
A口进行过程控制,7.20A口中每一位都可控制一道工序的启停。
试画出有关硬件电路并编写有关程序,7.21
设有一DELAY延时程序可供调用,7.22延时时间为1s。
解答:
假设用PA0~PA5分别控制6道工序,当PA0~PA5等于1时,相应的工序启动,当工序停止时,A口相应的位等于0。
设8255的A、B、C、控制口地址分别为8000H、8001H、8002H和8003H。
控制字:
10000000B(80H即A口输出、方式0
假设MCS-51的时钟频率为12MHz,则其时钟周期应为1μs,采用延时程序来设置延时时间为1s。
程序如下:
ORG1000H
MOVA,#80H
MOVDPTR,#8003H
MOVX@DPTR,A
LOOP:
MOVA,#01H
MOVDPTR,#8000H
LOOP1:
MOVX@DPTR,A
MOVR2,#0AH
LCALLDELAY
DJNZR2,LOOP
RLA
JNBACC.6,LOOP1
SJMPLOOP2
DELAY:
MOVR5,#99;延时程序
DEL1:
MOVR6,#100
DEL2:
MOVR7,#100
DEL3:
NOP
DJNZR7,DEL3
DJNZR6,DEL2
DJNZR5,DEL1
END
7.18在图7-27中,若把字符打印机的和8031的
相接,使简述电路的工作原理并编写能把以20H为起始地址的连续50个内存单元中的内容输出打印的程序。
解答:
在方式1输出方式下,当打印机从A口上取走输出数据的同时,信号会变成低电平。
因为和8031的相接,所以
信号有效,即向CPU发出中断请求。
当CPU响应中断请求后,便可通过中断服务程序把下一个输出数据送到8255,准备传输下一个数据。
相应程序只需将中断的触发方式由负边沿触发改成电平触发即可,
即将主程序中SETBIT0改成CLRIT0
7.20
某一生产过程共有6道工序,每道工序的持续时间均为10s,生产过程循环进行。
任何一道工序出现故障时都会产生故障信号,要求故障信号能引起单片机中断,停止送出顺序控制信号,并进行声光告警。
现采用MCS-51通过8255进行控制,A口用于输出各工序的顺序控制信号,C口中某一位输入故障信号,B口中某两位用于声光告警。
请画出相应的硬件图并编写有关程序。
解答:
用PA0~PA5输出各工序的顺序控制信号;设等于1时,工序启动。
用PB0~PB1输出声光告警控制信号;输出1时,发出告警信号。
用PC4接收故障信号。
当有故障信号时,为1。
A、B口均采用模式0。
方式控制字为:
10001000B(88H
设8255A的A、B、C和控制端口地址分别8000H、8001H、8002H、8003H
相应程序为:
;主程序:
ORG1000H
┆
SETBEA
SETBEX0
SETBPX0
CLRIT0;令为电平触发中断
MOVDPTR,#8003H
MOVA,#88H
MOVX@DPTR,A;写控制字
MOVDPTR,#8000H
MOVA,#01H
LOOP:
MOVX@DPTR,A;从A口输出工序控制信号
MOVR2,#10;延时10s
DEL:
LCALLDELAY
DJNZR2,DEL
RLA;顺序输出控制信号
JNBACC.6,NEXT;如果PA6=0,则继续循环控制工序
MOVA,#01H;若PA6=1,则将PA0=1
NEXT:
SJMPLOOP
SJMP$
DELAY:
MOVR5,#99;延时1s的子程序
DEL3:
MOVR6,#100
DEL2:
MOVR7,#100
DEL1:
NOP
DJNZR7,DEL1
DJNZR6,DEL2
DJNZR5,DEL3
;中断服务程序:
ORG0003H
LJMPPINT0
ORG2000H
PINT0:
MOVDPTR,#8000H
MOVA,#00H
MOVX@DPTR,A;A口停止送出工序控制信号
INCDPTR
MOVA,#03H
MOVX@DPTR,A;B口输出声光告警信号
RETI
END
misschang发表于09:
08阅读全文评论(1引用Trackback(0
第六章-[]
时间:
2004-11-1409:
06
Tag:
学习
6.1什么叫中断?
中断通常可以分为哪几类?
计算机采用中断有什么好处?
中断是指6.2计算机暂时停止原程序的执行转而6.3为外部设备6.4服6.5务(执行中断服6.6务程序,6.7并在服6.8
务完成后自动返回原程序执行的过程。
计算机采用中断可以提高CPU的工作效率和实时数据的处理时效。
6.9什么叫中断源?
MCS-51有哪些中断源?
各有什么特点?
中断源是指6.10引起中断原因的设备6.11或部件,6.12或发出中断请求信号的源泉。
通常中断源有以下几种:
外部设备6.13中断源、控制对象中断源、故障中断源和定时脉冲中断源。
特点:
书上P202页(新书。
6.14什么叫中断嵌套?
什么叫中断系统?
中断系统的功能是什么?
中断嵌套:
在某一瞬间,6.15CPU因响应某一中断源的中断请求而6.16正在执行它的中断服6.17务程序时,6.18
若CPU此时的中断是开放的,6.19那它必然可以把正在执行的中断服6.20务程序暂停下来转而6.21
响应和处理中断优先权更高中断源的中断请求,6.22等到处理完后再转回继续执行原来的中断服6.23务程序,6.24这就是中断嵌套。
中断系统:
是指6.25
能够实现中断功能的那部分硬件电路和软件程序。
它的功能通常有以下几条:
1、进行中断优先权排队;2、实现中断嵌套;3、自动响应中断;4实现中断返回。
6.268031的5个中断标6.27志位代号是什么?
位地址是什么?
它们在什么情况下被置位和复6.28位?
5个中断标6.29志位:
1IE0:
位地址是89H;当引脚上有中断时为1,6.30无中断为0;
2IE1:
位地址是8BH;当引脚上有中断时为1,6.31无中断为0;
3TF0:
位地址是8DH;当有定时器T0中断时为1,6.32否则为0;
4TF1:
位地址是8FH;当有定时器T1中断时为1,6.33否则为0;
5串行口中断标6.34志位有2个:
TI:
位地址是99H;当串行口有发送中断时为1,6.35否则为0;
RI:
位地址是98H;当串行口有接收中断时为1,6.36否则为0;
6.37中断允许寄存器IE各位定义是什么?
请写出允许T1定时器溢出中断的指6.38令?
IE各位的定义见书上P208页,6.39图6-5。
允许T1定时器溢出中断的指6.40令:
MOVIE,6.41#88H或改用位寻址指6.42令:
SETBEA
SETBET1
6.43试写出设定和上的中断请求为高优先级和允许它们中断的程序。
此时,6.44若和引脚上同6.45时有中断请求信号输入,6.46试问MCS-51先响应哪个引脚上的中断请求?
为什么?
程序:
SETBEA
SETBEX0或:
MOVIE,6.47#85H
SETBEX1
SETBPX0
SETBPX1
若和引脚上同6.48时有中断请求信号输入时,6.49MCS-51先响应引脚上的中断请求。
因为在出现同6.50级中断请求时,6.51在MCS-51内部的优先级高于,6.52所以先响应引脚上的中断请求。
6.53MCS-51响应中断是有条件的,6.54请说出这些条件是什么?
中断响应的全过程如何?
响应中断的条件:
若CPU处在非响应中断状态且响应中断是开放的,则MCS-51在执行完现行指令后就会自动响应来自某中断源的中断请求。
若CPU正处在响应某一中断请求状态时,又来了一个新的优先级
更高的中断请求,则MCS-51便会立即响应并实现中断嵌套,若新来的中断优先级比正在服务的优先级低,则CPU必须等到现有中断服务完成以后才会自动响应新来的中断请求。
若CPU正处在执行RETI或任何访问IE/IP指令(如SETBEA的时刻,则MCS-51必须等待执行完下条指令后,才响应该中断请求。
中断响应的过程:
把中断点的地址(断点地址,也就是当前程序计数器PC中的内容压入堆栈,以便执行到中断服务程序中的RETI指令时按地址返回原程序执行;
关闭中断,以防在响应中断期间受其它中断的干扰;
根据中断源入口地址转入执行相应中断服务程序。
6.55写出并记住8031五级中断的入口地址。
中断源为:
中断的入口地址为:
0003H
中断源为T0:
中断的入口地址为:
000BH
中断源为:
中断的入口地址为:
0013H
中断源为T1:
中断的入口地址为:
001BH
中断源为串行口中断:
中断的入口地址为:
0023H
misschang发表于09:
06阅读全文评论(0引用Trackback(0
单片机第五章-[]
时间:
2004-11-1408:
55
Tag:
学习
5.5
仅有存储容量为512B×4、1KB×4、2KB×4、4KB×1、4KB×4、16KB×1、32KB×4、64KB、128KB×8、512KB和4MB的存储器,试问这些存储器分别需要多少条地址线和数据线(设它们均非动态RAM
解答:
存储容量地址线数据线存储容量地址线数据线
512B×49432KB×4154
1KB×410464KB168
2KB×4114128KB×8178
4KB×1121512KB198
4KB×41244MB228
16KB×1141
5.14今要设计一个32KB的外部RAM存储器,若采用2114,试问需要多少块?
若改用2116,试问需要2116,试问需要多少块?
解答:
因为2114芯片的存储容量是1K×4,所以2114的地址线是10条,数据线是4条。
所以要设计一个32KB的外部RAM存储器,一共需要(32÷1?
(8÷4=
64块。
2116芯片的存储容量是16K×1,所以地址线是14条,数据线是1条。
要设计一个32KB的外部RAM存储器,一共需要(32÷16?
(8÷1=
16块。
5.16在进行外部存储器设计中,5.17地址译码共有哪三种方式?
各有什么特点?
解答:
译码共有三种方式:
全译码方式:
特点是所有片选地址线全部参加译码的工作方式,存储器每个存储单元只有唯一的一个CPU地址与它对应;但所需的地址译码电路较多。
部分译码方式:
单片机片选线中只有部分参加译码,其余部分是悬空的,所以还有重叠地址,但可以减少所用地址译码器的数量。
线选法方式:
单片机片选线中的某一条与存储芯片的相连。
如果有悬空地址线,就有重叠地址。
5.18试画出8031和2716的连线图,要求采用三—八译码器,8031的P2.5、P2.4和P2.3参加译码,基本地址范围3000H~
3FFFH。
该2716有没有重叠地址?
根据是什么?
若有,写出每片2716的重叠地址范围。
解答:
因为2716的存储容量是2K×8,所以一共需要11条地址线,即P0.7~P0.0,P2.2~P2.0。
基本地址范围:
3000H~3FFFH
即:
0011000000000000~0011111111111111
从基本地址范围可以看出,参加译码的P2.5、P2.4和P2.3从110到111(即上面地址加下划线的3位,所以该存储器应包括2块2716芯片,存储芯片(1#、2#的
端分别与译码器的、相连,如图所示。
因为8031有悬空的地址线P2.7、P2.6,所以有重叠地址。
两片2716的重叠地址范围分别为:
(下划线表示悬空线
1#:
0011000000000000~0011011111111111,(3000H~37FFH
0111000000000000~0111011111111111,(7000H~77FFH1011000000000000~1011011111111111,(B000H~B7FFH1111000000000000~1111011111111111,(F000H~F7FFH