单片机整理
- 格式:doc
- 大小:49.50 KB
- 文档页数:2
单片机的一些面试题整理1.MCS51的中断系统有几个中断源?几个中断优先级?中断优先级是如何控制的?在出现同级中断申请时,CPU按什么顺序响应(按由高级到低级的顺序写出各个中断源)?各个中断源的入口地址是多少?答:MCS51单片机有5个中断源,2个中断优先级,中断优先级由特殊功能寄存器IP控制,在出现同级中断申请时,CPU按如下顺序响应各个中断源的请求:INT0、T0、INT1、T1、串口,各个中断源的入口地址分别是0003H、000BH、0013H、001BH、0023H。
单片机是将微处理器、一定容量的 RAM 和ROM以及 I/O 口、定时器等电路集成在一块芯片上而构成的微型计算机。
当CPU访问片外的存储器时,其低八位地址由P0口提供,高八位地址由P2口提供,8位数据由P0口提供。
在I/O口中,P0口在接LED时,必须提供上拉电阻,P3口具有第二功能。
19、是非题:工作寄存器区不允许做普通的RAM单元来使用。
F20、是非题:工作寄存器组是通过置位PSW中的RS0和RS1来切换的。
T21、是非题:特殊功能寄存器可以当作普通的RAM单元来使用。
F22、是非题:访问128个位地址用位寻址方式,访问低128字节单元用直接或间接寻址方式。
T23、是非题:堆栈指针SP的内容可指向片内00H~7FH的任何RAM单元,系统复位后,SP初始化为00H。
F24、数据指针DPTR是一个16位的特殊功能寄存器寄存器。
25、是非题:DPTR只能当作一个16位的特殊功能寄存器来使用。
F26、是非题:程序计数器PC是一个可以寻址的特殊功能寄存器。
F28、当系统处于正常工作状态且振荡稳定后,在RST引脚上加一个高电平并维持 2 个机器周期,可将系统复位。
29、是非题:单片机89C51复位后,其PC指针初始化为0000H,使单片机从该地址单元开始执行程序。
T31、是非题:单片机系统上电后,其内部RAM的值是不确定的。
T36、以下哪一条指令的写法是错误的(C)。
江苏省自考(单片机原理及应用)一、名词解释1.微处理器:即中央处理器CPU,它是把运算器和控制器集成在一块芯片上的器件总称。
2.单片机(单片微型计算机):把CPU、存储器、I/O接口、振荡器电路、定时器/计数器等构成计算机的主要部件集成在一块芯片上构成一台具有一定功能的计算机,就称为单片微型计算机,简称单片机。
3.程序计数器:程序计数器PC是一个不可寻址的16位专用寄存器(不属于特殊功能寄存器),用来存放下一条指令的地址,具有自动加1的功能。
4.数据指针:数据指针DPTR是一个16位的寄存器,可分为两个8位的寄存器DPH、DPL,常用作访问外部数据存储器的地址寄存器,也可寻址64K字节程序存储器的固定数据、表格等单元。
5.累加器:运算时的暂存寄存器,用于提供操作数和存放运算结果。
它是应用最频繁的寄存器,由于在结构上与内部总线相连,所以一般信息的传送和交换均需通过累加器A。
6.程序状态字:程序状态字PSW是一个8位寄存器,寄存当前指令执行后的状态,为下条或以后的指令执行提供状态条件。
它的重要特点是可以编程。
7.堆栈:堆栈是一组编有地址的特殊存储单元,数据遵循先进后出的存取原则。
栈顶地址用栈指针SP指示。
8.软件堆栈:通过软件唉内部RAM中定义一个区域作为堆栈(即由软件对SP设置初值),称软件堆栈。
9.振荡周期(晶振周期):振荡电路产生的脉冲信号的周期,是最小的时序单位。
10.时钟周期:把2个振荡周期称为S状态,即时钟周期。
1个时钟周期=2个振荡周期。
11.机器周期:完成一个基本操作所需的时间称为机器周期。
1个机器周期=12个振荡周期。
12.指令周期:执行一条指令所需的全部时间称为指令周期。
MCS-51单片机的指令周期一般需要1、2、4个机器周期。
13.地址/数据分时复用总线:是指P0口用作扩展时,先输出低8位地址至地址锁存器,而后再由P0口输入指令代码,在时间上是分开的。
14.准双向并行I/O口:当用作通用I/O口,且先执行输出操作,而后要由输出变为输入操作时,必须在输入操作前再执行一次输出“1”操作(即先将口置成1),然后执行输入操作才会正确,这就是准双向的含义。
2、微型计算机中,CPU通过AB、DB、CB与存储器、I/O接口电路互联,实现信息交换。
3、(10011.101)B=1X24+0X23+0X22+1X21+1X20+1X2-1+0X2-2+1X2-34、常用的ASCII码字符:0—9的ASCII码30H—39H;A-Z的ASCII码41H—5AH;a—z的ASCII码61H—7AH。
5、十进制的15,压缩BCD码为00010101,非压缩BCD码为0000000100000101。
6、正数:原,反,补相同;负数:原,反,补不同,但最高位为1。
负数:原一反,符号位不变,尾数按位求反原一补,符号位不变,尾数按位求反+1补一原,符号位不变,尾数求反+1反一原,符号位不变,尾数求反.7、振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期。
单片机外接晶振的倒数,例如12MHz的晶振,时钟周期是1/12口s。
状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。
机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。
在一个机器周期内,CPU可以完成一个独立的操作。
晶振是12MHz,一个机器周期就是1U S,晶振是6MHz,机器周期是2呼指令周期:它是指CPU完成一条操作所需的全部时间。
每条指令执行时间都是有一个或几个机器周期组成。
MCS-51系统中,有单周期指令、双周期指令和四周期指令。
8、单片机的控制口线包括再"卜"Q:\pp.REXE1P5EN片外取指信号(片外程序存储器读)输出端,低电平有效。
通过P0口读回指令或常数。
控制的是片外程序存储器。
在访问外部程序存储器时,该信号自动产生,每个机器周期输出2个脉冲。
访问片外数据存储器时,不会有脉冲输出。
ALE地址锁存信号。
ALE低电平时,P0口出现数据信息;ALE高电平时,P0口出现地址信息。
用下降沿锁存P0口的低8位地址到外部锁存器程序存储器选择信号。
作业一3-1 什么是寻址方式?MCS-51指令系统有哪些寻址方式?相应的寻址空间在何处?3-2 访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。
3-3 试用下列3种寻址方式编程,将立即数0FH送入内部RAM的30H单元中。
(1) 立即寻址方式;(2) 寄存器寻址方式;(3) 寄存器间接寻址方式。
3-4 试编写一段程序,将内部数据存储器的30H和3lH单元内容传送到外部数据存储器的1000H和1001H单元中。
3-5 试编写一段程序,将外部数据存储器的40H单元中的内容传送到0l00H单元中。
3-6试写一段程序,将R3H中的数乘以4(用移位指令)。
作业二5-1 简述中断、中断源、中断嵌套及中断优先级的含义。
5-2 MCS-51单片机提供了几个中断源?有几级中断优先级别?各中断标志是如何产生的又如何清除这些中断标志?各中断源所对应的中断矢量地址是多少?5-3 外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?怎样设定?5-4 MCS-51中若要扩充6个中断源,可采用哪些方法?如何确定它们的优先级?5-5 试叙述中断的作用和中断的全过程。
5-6 某系统有2个外部中断源1、2,当某一中断源变为低电平时,便要求CPU处理,它们的优先次序由高到低为2、1,处理程序的入口地址分别为2000H,2100H。
试编写程序及中断服务程序(转到相应的入口即可)。
5-7试分别用汇编语言、C语言编写程序,采用算术平均值滤波法求采样平均值,设8次采样值依次放在20H~27H的连续单元中,结果保留在寄存器A中。
5-8若晶振频率为3MHz,在定时/计数器工作方式0、1、2下,其最大定时时间分别为多少。
作业三1.简述特殊功能寄存器SCON、TCON、TMOD功能。
2.串行通信的主要优点和用途是什么?3.简述串行口接收和发送数据的过程。
4.帧格式为1个起始位、8个数据位和1个停止位的异步串行通信方式是方式几?5.简述串行口通信的第9个数据位的功能。
一、填空题PC,程序计数器,16位数。
PCL,是其低八位;PCH,是其高八位。
1. AT89S51单片机为 8 位单片机2. MCS-51系列单片机的典型芯片分别为 8031 、 8051 、 8751 。
3. AT89S51的异步通信口为全双工(单工/半双工/全双工)6. AT89S51单片机指令系统的寻址方式有__寄存器寻址__、____直接寻址____、___寄存器间接寻址_____、_立即寻址____、基址寄存器加变址寄存器寻址。
7. 如果(A)=34H,(R7)=0ABH,执行XCH A, R7;结果(A)= 0ABH ,(R7)= 34H 。
8. 82C55可以扩展 3 个并行口,其中8 条口线具有位操作功能;9. 当单片机复位时PSW= 00 H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04 H。
当单片机复位时PSW=00H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04H如果工作寄存器区是2区,PSW=10H R4所对应的存储单元地址为14H如果是单片机复位时工作寄存器区只能是0区PSW=00H 不会是工作寄存器2区10. 若A中的内容为67H,那么,P标志位为 1 。
P标志位是程序状态寄存器PSW中的一个位,当A中的二进制数1的个数是奇数是,P=1,当1的个数是偶数时,P=0,因些,A=67H=0110 0111B,有5个1,是奇数,则P=1。
不用做什么,只要将需要判断的数送到A 中,P标志位就会自动变化了。
11. 74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中8 片芯片。
14. LJMP的跳转范围是64K,AJMP的跳转范围是2K B,SJMP的跳转范围是±128 B(或256B)15. 由AT89S51组成的单片机系统在工作时,EA*引脚应该接高电平(或1);11. AT89S51外部程序存储器的最大可扩展容量是 64K ,其地址范围是0000H - FFFFH 。
单片机的一些面试题整理在单片机相关的岗位面试中,常常会遇到一些与单片机有关的问题。
本文将整理一些常见的单片机面试题,希望对单片机开发者的面试准备有所帮助。
问题一:什么是单片机?单片机是一种集成电路芯片,具有处理器核心、内存、输入/输出接口和时钟电路等功能。
它通常被用于控制和监控电子设备,广泛应用于各个领域,如家电、医疗设备、汽车电子等。
问题二:请简要解释单片机与微处理器的区别。
单片机与微处理器都是集成电路芯片,但两者有一些区别。
单片机是一种集成度较高的芯片,具有相对独立的功能,包括处理器、存储器、输入/输出接口等;而微处理器只包含处理器核心,需要外部连接其他芯片才能实现完整的功能。
问题三:请描述单片机系统的基本组成。
单片机系统由单片机芯片、外设接口电路、外部存储器、输入/输出设备和时钟电路等组成。
其中,单片机芯片是核心部分,负责处理和控制任务;外设接口电路用于连接外部设备;外部存储器用于存储程序和数据;输入/输出设备用于与用户进行交互;时钟电路用于提供系统时钟。
问题四:单片机有哪些常见的编程语言?单片机的编程语言有汇编语言和高级语言两种。
汇编语言是一种底层的机器语言,直接操作单片机的寄存器和内存;高级语言则更容易理解和编写,如C语言、C++语言等。
问题五:请问你在单片机开发中常用的编程软件是什么?常见的单片机开发软件有Keil μVision、IAR Embedded Workbench、Code Composer Studio等。
这些软件提供了编写、调试、仿真单片机程序的环境和工具。
问题六:如何通过单片机控制一个LED闪烁?控制LED闪烁可以借助单片机的GPIO(通用输入输出)口。
首先,将LED连接到单片机的GPIO引脚上;然后,在程序中配置对应的GPIO引脚为输出,并控制其电平状态周期性变化,即可实现LED的闪烁效果。
问题七:请解释什么是中断,在单片机中如何使用中断?中断是一种由硬件或软件触发的事件,可以打断正常的程序执行流程,转而执行与中断相关的处理程序。
51单片机汇编指令集(指令集带英文翻译)一、数据传送类指令(7种助记符)MOV(英文为Move):对内部数据寄存器RAM和特殊功能寄存器SFR的数据进行传送;MOVC(Move Code)读取程序存储器数据表格的数据传送;MOVX(Move External RAM)对外部RAM的数据传送;XCH(Exchange)字节交换;XCHD(Exchange low-order Digit)低半字节交换;PUSH(Push onto Stack)入栈;POP (Pop from Stack)出栈;二、算术运算类指令(8种助记符)ADD(Addition) 加法;ADDC(Add with Carry) 带进位加法;SUBB(Subtract with Borrow) 带借位减法;DA(Decimal Adjust) 十进制调整;INC(Increment) 加1;DEC(Decrement) 减1;MUL(Multiplication、Multiply) 乘法;DIV(Division、Divide) 除法;三、逻辑运算类指令(10种助记符)ANL(AND Logic) 逻辑与;ORL(OR Logic) 逻辑或;XRL(Exclusive-OR Logic) 逻辑异或;CLR(Clear) 清零;CPL(Complement) 取反;RL(Rotate left) 循环左移;RLC(Rotate Left throught the Carry flag) 带进位循环左移;RR(Rotate Right) 循环右移;RRC(Rotate Right throught the Carry flag) 带进位循环右移;SWAP (Swap)低4位与高4位交换;四、控制转移类指令(17种助记符)ACALL(Absolute subroutine Call)子程序绝对调用;LCALL(Long subroutine Call)子程序长调用;RET(Return from subroutine)子程序返回;RETI(Return from Interruption)中断返回;SJMP(Short Jump)短转移;AJMP(Absolute Jump)绝对转移;LJMP(Long Jump)长转移;CJNE (Compare Jump if Not Equal)比较不相等则转移;DJNZ (Decrement Jump if Not Zero)减1后不为0则转移;JZ (Jump if Zero)结果为0则转移;JNZ (Jump if Not Zero) 结果不为0则转移;JC (Jump if the Carry flag is set)有进位则转移;JNC (Jump if Not Carry)无进位则转移;JB (Jump if the Bit is set)位为1则转移;JNB (Jump if the Bit is Not set) 位为0则转移;JBC(Jump if the Bit is set and Clear the bit) 位为1则转移,并清除该位;NOP (No Operation)空操作;五、位操作指令(1种助记符)CLR 位清零;SETB(Set Bit)位置1。
3、(10011.101)B=1×24+0×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-34、常用的ASCII码字符:0—9的ASCⅡ码30H—39H;A—Z的ASCⅡ码41H—5AH;a—z的ASCⅡ码61H—7AH。
5、十进制的15,压缩BCD码为0001 0101,非压缩BCD码为0000 0001 0000 0101。
6、正数:原,反,补相同;负数:原,反,补不同,但最高位为1。
负数: 原→反,符号位不变,尾数按位求反原→补,符号位不变,尾数按位求反+1补→原,符号位不变,尾数求反+1反→原,符号位不变,尾数求反.7、振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。
单片机外接晶振的倒数,例如12MHz的晶振,时钟周期是1/12μs。
状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。
机器周期: 一个机器周期包含 6 个状态周期S1~S6, 也就是12 个时钟周期。
在一个机器周期内, CPU可以完成一个独立的操作。
晶振是12MHz,一个机器周期就是1μs,晶振是6MHz,机器周期是2μs。
指令周期: 它是指CPU完成一条操作所需的全部时间。
每条指令执行时间都是有一个或几个机器周期组成。
MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。
8、单片机的控制口线包括片外取指信号(片外程序存储器读)输出端,低电平有效。
通过P0口读回指令或常数。
控制的是片外程序存储器。
在访问外部程序存储器时,该信号自动产生,每个机器周期输出2个脉冲。
访问片外数据存储器时,不会有脉冲输出。
地址锁存信号。
ALE低电平时,P0口出现数据信息;ALE高电平时,P0口出现地址信息。
用下降沿锁存P0口的低8位地址到外部锁存器程序存储器选择信号。
=0时,选外部ROM,=1时,地址小于4k时,选内部ROM;地址大于4k时,选外部ROM。
部分51单片机系列品牌和型号整理51单片机作为一种常用的微控制器,有着广泛的应用领域。
本文将对一些常见的51单片机品牌和型号进行整理,以帮助读者更好地选择适合自己需求的产品。
1. STC系列STC系列是由中国的宏晶科技生产的一类51单片机。
宏晶科技在国内有着较高的知名度,并且产品质量良好。
STC系列单片机有着丰富的型号选择,从较低性能的51系列到高性能的ARM Cortex-M0系列都有覆盖。
其中较为常见的型号有STC89C52、STC12C5A60S2、STC15W408AS等,它们在不同领域都有着广泛的应用。
2. NXP系列NXP公司是一家全球知名的半导体制造商,在51单片机市场上也有着一席之地。
NXP系列的单片机性能稳定可靠,并且具有较高的集成度。
常见的型号有P89V51RD2、P89V51RB2、P89V660等,它们在汽车电子、工控领域等有着广泛的应用。
3. TI系列德州仪器(TI)公司也是一家全球知名的半导体制造商,其51单片机产品具有优良的性能和稳定性。
TI系列的单片机在银行、电源管理等领域有着广泛的应用。
常见的型号有TMS320F28335、TMS320F28027等,它们具有较高的运算速度和丰富的外设接口。
4. Atmel系列Atmel公司是一家专业从事微控制器、存储器和半导体解决方案的制造商,其51单片机产品在市场上有着良好的声誉。
Atmel系列单片机以其低功耗和可靠性而受到广泛认可。
常见的型号有AT89C51、AT89S52等,它们在消费电子、智能家居等领域应用广泛。
5. Silicon Labs系列Silicon Labs是一家总部位于美国的半导体公司,其51单片机产品拥有较高的性能和集成度。
Silicon Labs系列的单片机在无线通信、工控领域等有着广泛的应用。
常见的型号有C8051F120、C8051F340等,它们具有较高的运算速度和丰富的外设接口。
6. Renesas系列Renesas电子公司是一家日本半导体制造商,其51单片机产品具有较高的可靠性和稳定性。
8051单片机8位CPU,32根i/o线,2个16位定时计数器,5个中断源,2个中断优先级。
时序电路机器周期=12振荡周期
Fosc=6MHZ 机器周期= 12*(1/6) =2uS
复位电路有上电复位和按键复位。
片内数据存储器的结构(256Byte)
高128字节SFR
低128字节分3个区域00H-1FH 工作寄存器区
20H-2FH 可位寻址区30H-7FH 用户RAM区
片内程序存储器的空间0000H-0FFFH 4KB
地址线是A0-A14,那么他的存储空间是 2 15=32KB
单片机最小系统单片机芯片、电源电路、复位电路和时序电路。
当P0作为输出时,必须外接上拉电阻;作为输入,必须先向相应的锁存器写“1”,才不会影响输入电平。
P0=0xff;
有片外扩展存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。
中断的概念:CPU在处理某一事件A时发生另一件事件B,请求CPU迅速处理;CPU暂时中断当前工作,转去处理事件B;待事件B处理完毕后,再回到原来事件A中断的地方继续处理事件A。
中断优点:①分时操作②实时响应③可靠性高
中断的处理过程:中断请求,中断响应,中断处理,中断返回
外部中断有效信号:下降沿和低电平
☆分辨率:指当输入数字量的最低有效发生变化时,所对应的输出模拟量的变化量。
计算公式FS/2n
串行通信的制式:单工,半双工,全双工
LED数码管的连接方式:共阴共阳
LED数码管的显示方式:静态动态
0-9的字型码0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f 外部总线:数据总线DB,地址总线AB,控制总线CBI
设单片机晶振频率f=6MHZ,使用定时器T1以方式1产生周期为1S的等宽正方形脉冲,并由P1.0脚输出。
#include <reg51.H>
main()
{
TMOD=0x10;
TH1=(65536-100000/2)/256;
TL1=(65536-50000)%256;
EA=1;
ET1=1;
TR1=1;
while(1); }
void timer1() interrupt 3
{ unsigned char a;
a++;
if(a==5)
{P1_0=!P1_0;a=0;}
TH1=(65536-50000)/256;
TL1=(65536-50000)%256; }
动态显示
#include<reg51.h>
unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d};
void main()
{ P2=0X01;
while(1)
{ for(i=0;i<6;i++)
{ P0= dispcode[i];
P2=P2<<1; P0=0X00;
if(P2==0x40)
{ P2=0x01;}
}
}
}
按键
#include <reg51.h>
#define uchar unsigned char #define uint unsigned int uchar temp,temp1;
void dlms();
uchar keys(void)
{ P1=0xff;
if((P1&0xff)!=0xff)
{ dlms();
if((P1&0xff)!=0xff)
return(P1&0xff);
}
else
return(0);
}
void dlms()
{
uchar a; for(a=250;a>0;a--)
{for(b=250;b>0;b--);}
void main()
{
uchar key,;
P2=0xfe;
while(1)
{
key=keys( );
switch(key)
{
case 0xfe: P2=0X00;break;
case 0xfd:P2=0Xff; break;
default: break;
}
}
}
流水灯
#include <ATX89C51.h> delay(unsigned int n); unsiged char a=0xfe,b,c,I,m=2; main()
{ while(1)
{ for(i=8;i>0;i--)
{ P1=a;
delay(1000);
b=a<<m;
c=a>>(8-m);
a=b|c;
a=(a<<1)|0x01;
if(a==0xff)a=0xfe;
}
}
}
delay(unsigned int n){ unsigned int a,b;for(a=1000;a>0;a-- for(b=n;b>0;b--);
}。