作者:佚名 文章来源:mcuw
各大公司电子类招聘题目精选(单片机、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。 (仕兰微面试题目)
下面程序用计数法来实现这一功能,请将空余部分添完整。
MOV P1,#0FFH ;做输入
LOOP1 :MOV R4,#0FFH ;
--------
MOV R3,#00H
LOOP2 :MOV A,P1
--------
SUBB A,R3
JNZ SKP1
--------
SKP1:MOV C,70H
MOV P3.4,C
ACALL DELAY :此延时子程序略
--------
--------
AJMP LOOP1
8、单片机上电后没有运转,首先要检查什么?(东信笔试题)
9、What is PC Chipset? (扬智电子笔试)
芯片组(Chipset)是主板的核心组成部分,按照在主板上的排列位置的不同,通常分为
北桥芯片和南桥芯片。北桥芯片提供对CPU的类型和主频、内存的类型和最大容量、
ISA/PCI/AGP插槽、ECC纠错等支持。南桥芯片则提供对KBC(键盘控制器)、RTC(实时时
钟控制器)、USB(通用串行总线)、Ultra DMA/33(66)EIDE数据传输方式和ACPI(高级
能源管理)等的支持。其中北桥芯片起着主导性的作用,也称为主桥(Host Bridge)。
除了最通用的南北桥结构外,目前芯片组正向更高级的加速集线架构发展,Intel的
8xx系列芯片组就是这类芯片组的代表,它将一些子系统如IDE接口、音效、MODEM和USB直
接接入主芯片,能够提供比PCI总线宽一倍的带宽,达到了266MB/s。
10、如果简历上还说做过cpu之类,就会问到诸如cpu如何工作,流水线之类的问题。
(未知)
11、计算机的基本组成部分及其各自的作用。(东信笔试题)
12、请画出微机接口电路中,典型的输入设备与微机接口逻辑示意图(数据接口、控制接
口、所存器/缓冲器)。 (汉王笔试)
13、cache的主要部分什么的。(威盛VIA 2003.11.06 上海笔试试题)
14、同步异步传输的差异(未知)
15、串行通信与同步通信异同,特点,比较。(华为面试题)
16、RS232c高电平脉冲对应的TTL逻辑是?(负逻辑?) (华为面试题)
7.8 决定8255A选口地址的引脚有哪几条?作用是什么?
解答:A0、A1,用于选中A口、B口、C口和控制字寄存器中哪一个工作。
7.9 8255如何辨认方式控制字和C口单一置复7.10 位控制字?方式控制字各位定义如何?
解答:这两个控制字以D7位状态作为标志。
方式控制字的定义见书上P252页图7-13。
7.11 结合图7-17简述8255A口在模式1选通输入方式下的工作过程。
解答:见书上P255页图7-17下面(a)~(d)
7.12 8255 B口可以设定为方式2吗?为什么?
解答:不可以,因为方式2作为双向I/O,只适用于A口。
7.13 在采用8255扩展I/O口时,7.14 若把8255 A口作为输入,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。
程序如下:
ORG 1000H
MOV DPTR, # 8003H
MOV A, # 90H
MOVX @DPTR, A ;写控制字
LOOP: MOV DPTR, # 8000H
MOVX A, @DPTR ;将A口的数据送到累加器A中
INC DPTR
MOVX @DPTR, A ;将累加器中的数从B口输出
SJMP LOOP
END
7.17 某一生产过程共有6道工序,7.18 每道工序的时间均为10s,7.19 生产过程循环进行。先要用MCS-51通过8255 A口进行过程控制,7.20 A口中每一位都可控制一道工序的启停。试画出有关硬件电路并编写有关程序,7.21 设有一DELAY延时程序可供调用,7.22 延时时间为1s。
解答:
假设用PA0 ~ PA5分别控制6道工序,当PA0 ~ PA5等于1时,相应的工序启动,当工序停止时,A口相应的位等于0。
设8255的A、B、C、控制口地址分别为8000H、8001H、8002H 和 8003H。
控制字:1000 0000B ( 80H ) 即A口输出、方式0
假设MCS-51的时钟频率为12MHz,则其时钟周期应为1μs,采用延时程序来设置延时时间为1s。
程序如下:
ORG 1000H
MOV A, # 80H
MOV DPTR, #8003H
MOVX @DPTR, A
LOOP: MOV A, #01H
MOV DPTR, # 8000H
LOOP1: MOVX @DPTR, A
MOV R2, # 0AH
LCALL DELAY
DJNZ R2, LOOP
RL A
JNB ACC.6, LOOP1
SJMP LOOP2
DELAY: MOV R5, # 99 ; 延时程序
DEL1: MOV R6, # 100
DEL2: MOV R7, # 100
DEL3: NOP
DJNZ R7, DEL3
DJNZ R6, DEL2
DJNZ R5, DEL1
END
7.18 在图7-27中,若把字符打印机的 和8031的 相接,使简述电路的工作原理并编写能把以20H为起始地址的连续50个内存单元中的内容输出打印的程序。
解答: 在方式1输出方式下,当打印机从A口上取走输出数据的同时, 信号会变成低电平。因为 和8031的 相接,所以 信号有效,即向CPU发出中断请求。当CPU响应中断请求后,便可通过中断服务程序把下一个输出数据送到8255,准备传输下一个数据。
相应程序只需将 中断的触发方式由负边沿触发改成电平触发即可,
即将主程序中 SETB IT0 改成 CLR IT0
7.20 某一生产过程共有6道工序,每道工序的持续时间均为10s,生产过程循环进行。任何一道工序出现故障时都会产生故障信号,要求故障信号能引起单片机中断,停止送出顺序控制信号,并进行声光告警。现采用MCS-51通过8255进行控制,A口用于输出各工序的顺序控制信号,C口中某一位输入故障信号,B口中某两位用于声光告警。请画出相应的硬件图并编写有关程序。
解答:
用PA0 ~ PA5 输出各工序的顺序控制信号;设等于1时,工序启动。
用PB0 ~ PB1 输出声光告警控制信号;输出1时,发出告警信号。
用PC4接收故障信号。 当有故障信号时,为1。
A、B口均采用模式0。
方式控制字为:1000 1000B(88H)
设8255A的A、B、C和控制端口地址分别8000H、8001H、8002H、8003H
相应程序为:
;主程序:
ORG 1000H
┆
SETB EA
SETB EX0
SETB PX0
CLR IT0 ;令 为电平触发中断
MOV DPTR, # 8003 H
MOV A, # 88 H
MOVX @DPTR, A ;写控制字
MOV DPTR, # 8000H
MOV A, # 01H
LOOP: MOVX @DPTR, A ;从A口输出工序控制信号
MOV R2, # 10 ;延时10s
DEL: LCALL DELAY
DJNZ R2, DEL
RL A ;顺序输出控制信号
JNB ACC.6, NEXT ;如果PA6 = 0,则继续循环控制工序
MOV A, # 01H ;若PA6 = 1,则将PA0 = 1
NEXT: SJMP LOOP
SJMP $
DELAY: MOV R5, # 99 ;延时1s的子程序
DEL3: MOV R6, # 100
DEL2: MOV R7, # 100
DEL1: NOP
DJNZ R7, DEL1
DJNZ R6, DEL2
DJNZ R5, DEL3
;中断服务程序:
ORG 0003H
LJMP PINT0
ORG 2000H
PINT0: MOV DPTR, # 8000H
MOV A, # 00H
MOVX @DPTR, A ;A口停止送出工序控制信号
INC DPTR
MOV A, # 03H
MOVX @DPTR, A ;B口输出声光告警信号
RETI
END
misschang 发表于09:08 阅读全文 评论(1) 引用Trackback(0)
第 六 章 -[]
时间: 2004-11-14 09: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.15 CPU因响应某一中断源的中断请求而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.26 8031的5个中断标6.27 志位代号是什么?位地址是什么?它们在什么情况下被置位和复6.28 位?
5个中断标6.29 志位:
1)IE0:位地址是89H;当 引脚上有中断时为1,6.30 无中断为0;
2)IE1:位地址是8BH;当 引脚上有中断时为1,6.31 无中断为0;
3)TF0:位地址是8DH;当有定时器T0中断时为1,6.32 否则为0;
4)TF1:位地址是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 令:MOV IE,6.41 # 88H
或改用位寻址指6.42 令: SETB EA
SETB ET1
6.43 试写出设定 和 上的中断请求为高优先级和允许它们中断的程序。此时,6.44 若 和 引脚上同6.45 时有中断请求信号输入,6.46 试问MCS-51先响应哪个引脚上的中断请求?为什么?
程序:SETB EA
SETB EX0 或:MOV IE,6.47 # 85H
SETB EX1
SETB PX0
SETB PX1
若 和 引脚上同6.48 时有中断请求信号输入时,6.49 MCS-51先响应 引脚上的中断请求。因为在出现同6.50 级中断请求时,6.51 在MCS-51内部 的优先级高于 ,6.52 所以先响应 引脚上的中断请求。
6.53 MCS-51响应中断是有条件的,6.54 请说出这些条件是什么?中断响应的全过程如何?
响应中断的条件:
若CPU处在非响应中断状态且响应中断是开放的,则MCS-51在执行完现行指令后就会自动响应来自某中断源的中断请求。
若CPU正处在响应某一中断请求状态时,又来了一个新的优先级更高的中断请求,则MCS-51便会立即响应并实现中断嵌套,若新来的中断优先级比正在服务的优先级低,则CPU必须等到现有中断服务完成以后才会自动响应新来的中断请求。
若CPU正处在执行RETI或任何访问IE/IP指令(如SETB EA)的时刻,则MCS-51必须等待执行完下条指令后,才响应该中断请求。
中断响应的过程:
把中断点的地址(断点地址),也就是当前程序计数器PC中的内容压入堆栈,以便执行到中断服务程序中的RETI指令时按地址返回原程序执行;
关闭中断,以防在响应中断期间受其它中断的干扰;
根据中断源入口地址转入执行相应中断服务程序。
6.55 写出并记住8031五级中断的入口地址。
中断源为 : 中断的入口地址为:0003H
中断源为T0: 中断的入口地址为:000BH
中断源为 : 中断的入口地址为:0013H
中断源为T1: 中断的入口地址为:001BH
中断源为串行口中断: 中断的入口地址为:0023H
misschang 发表于09:06 阅读全文 评论(0) 引用Trackback(0)
单片机第 五 章 -[]
时间: 2004-11-14 08: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×4 9 4 32KB×4 15 4
1KB×4 10 4 64KB 16 8
2KB×4 11 4 128KB×8 17 8
4KB×1 12 1 512KB 19 8
4KB×4 12 4 4MB 22 8
16KB×1 14 1
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
即:0011 0000 0000 0000 ~ 0011 1111 1111 1111
从基本地址范围可以看出,参加译码的P2.5、P2.4和P2.3从110到111(即上面地址加下划线的3位),所以该存储器应包括2块2716芯片,存储芯片(1#、2#)的 端分别与译码器的 、 相连,如图所示。
因为8031有悬空的地址线P2.7、P2.6,所以有重叠地址。
两片2716的重叠地址范围分别为:(下划线表示悬空线)
1 #:0011 0000 0000 0000 ~ 0011 0111 1111 1111,(3000H ~ 37FFH)
0111 0000 0000 0000 ~ 0111 0111 1111 1111,(7000H ~ 77FFH)
1011 0000 0000 0000 ~ 1011 0111 1111 1111,(B000H ~ B7FFH)
1111 0000 0000 0000 ~ 1111 0111 1111 1111,(F000H ~ F7FFH)