一、填空题
1.十进制255的二进制是11111111,十六进制是FF。
2.单片机是将CPU、存储器、特殊功能寄存器、定时/计数器和输入/输出接口电路、以及相互连接的总线等集成在一块芯片上。 3.AT89S51单片机共有4个8位的并行I/O口,其中既可用作地址/数据口,又可用作一般的I/O口的是P0。
4.若采用12MHz的晶振,则MCS-51单片机的振荡周期为1/12μS,机器周期为1μS。
5、AT89S51单片机字长是8位,有40根引脚。 6.89S51单片机是8位单片机,其PC计数器是16位。
7.若单片机使用的晶振频率是6MHz,那么一个振荡周期是1/6μS,一个机器周期是2μS。 8.89S51单片机是+5V供电的。
9.堆栈是内部数据RAM区中,数据按先进后出的原则出入栈的。 10.MSC-51系列单片机具有4个并行输入/输出端口,其中P0口是一个两用接口,它可分时输出外部存储器的低八位地址和传送数据,而P1口是一个专供用户使用的I/O口,常用于第二功能的是P3口。
11.当单片机系统进行存储器扩展时,用P2口的作为地址总线的高八位,用P0作为地址总线的低八位。
12.半导体存储器分为ROM和RAM两大类,其中前者具有非易失性(即掉电后仍能保存信息),因而一般用来存放系统程序,而后者具有易失性,因而一般用来存放经常变动的用户程序中间结果等。 13.当单片机系统需要外扩展存储器时,P2和P0作为地址总线。 14.AT89S51单片机上电初始化后,将自动设置一些寄存器的初始值,其中堆栈指针SP的初始值为07H,P0口复位值是FFH。
15.单片机两种节电模式:空闲模式和掉电模式,节电模式是由特殊功能寄存器PCON中的有关位来控制的。
16.在AT89S51单片机中,RAM是数据存储器,ROM为程序存储器。
17.单片机的复位方式主要有上电复位和按键复位两种。
18.AT89S51单片机的内部RAM的寻址空间为256B,而内部ROM的寻址空间为4K。
19.总线(BUS)是计算机各部件之间传送信息的公共通道,微机中有内部总线和外部总线两类。其中外部总线有控制总线、数据总线、地址总线三种。
20.给RST引脚输入2个机器周期的高电平使单片机复位,此时P0= 0XFF。
21.8051单片机的存储器的最大特点是数据与程序分开编址。 22.控制程序执行顺序的寄存器是PC,是16位寄存器 23.在C51语言的程序中,注释一般采用/**/和//来实现。 24.KeiLC51软件中,工程文件的扩展名是uvproj,编译连接后生成可下载至单片机芯片的文件后缀名是hex。
25.MCS-51的外部中断有两种触发方式,分别是电平触发方式和边沿触发方式。在电平触发方式下,当采集到INT0、INT1的有效信号为低电平时,激活外部中断。
26.一个89C51系统,要求允许外部中断0INT和允许定时器T0中断,其他中断禁止,则IE寄存器可设定为IE=0X83。IE寄存器的格式为:
27.MSC-51引脚中,与串行通信有关的引脚是_P3.0_和_P3.1_。 28.AT89S51单片机有5个用户中断源,
29.AT89S51单片机定时器的四种工作方式中,可自动装载初始值的是方式2,该工作方式是8位计数器。
30.已知51单片机的中断优先级寄存器IP的格式为:
当IP=15H时,外部中断0中断的优先级最高。
31.MCS-51单片机中,在IP=0x00时,优先级最高的中断是__外部中断0____,最低的是__串行口通信___。
32.51单片机的定时器T1工作在工作方式0计数模式下,定时器T0工作在工作方式1定时模式下。则TMOD的值应为41H。
33.假设已经设置好定时器T1的计数初始值,则要启动定时器T1,需要设置TR1=1。
34.AT89C51单片机有2个16位定时/计数器。
35.AT89S51单片机定时器的四种工作方式中,其中方式3是只有定时器T0才有的方式。
36.假设定时器T0已经正常工作,现要停止定时器T0,则需要设置TR0=0。
37.AT89S51单片机定时器的四种工作方式中,方式0为13位计数器,方式1为16位计数器。
38.共阳极数码管显示6时的字型码是82H,共阴极数码管显示9时的字型码是6FH。
39.共阳极数码管显示A时的字型码是__88__H,共阴极数码管显示A时的字型码是__77__H。
40.若不使用MCS-51片内存储器引脚EA必须接地。
41.在单片机扩展时, P0口和P2口为地址线,P0口又分时作为数据线。
42.在MCS-51单片机中,如采用6MHZ晶振,一个机器周期为2us。 43.当P1口做输入口输入数据时,必须先向该端口的锁存器写入1,否则输入数据可能出错。
44.程序状态寄存器PSW的作用是用来保存程序运行过程中的各种状态信息。其中CY为(进位)标志,用于无符号数加(减)运算,当进行(位)操作时作为位累加器。OV为(溢出)标志,用于有符号数的加(减)运算。
45.消除键盘抖动常用两种方法,一是采用(硬件去抖电路),用基本RS触发器构成;二是采用(软件去抖程序),既测试有键输入时需
延时(约大于10毫秒)后再测试是否有键输入,此方法可判断是否有键抖动。
46.若MCS-51单片机采用12MHz的晶振频率,它的机器周期为(1us),ALE引脚输出正脉冲频率为(2MHZ)。
47.8051有两个16位可编程定时/计数器,T0和T1。它们的功能可由两个控制寄存器(TCON)、(TMOD)的内容决定,且定时的时间或计数的次数与(TH)、(TL)两个寄存器的初值有关。
48.串行口的控制寄存器SCON中,REN的作用是(允许串行接收位)。 49.单片机内外中断源按优先级别分为高级中断和低级中断,级别的高低是由(中断优先级寄存器,)寄存器的置位状态决定的。同一级别中断源的优先顺序是由(自然优先级顺序)决定的。 50.LED数码显示按显示过程分为(静态)显示和(动态)显示2种。前者,对每位显示来说是连续显示的,可通过单片机串行口实现;当多位显示时需较多外部驱动芯片,功耗较大。后者,对每位显示来说是断续显示需占用单片机的(并行)接口资源。
51.单片机串行通信时,若要发送数据,就必须将要发送的数据送至(SBUF)单元,若要接收数据也要到该单元取数。
52.计算机的系统总线有(地址总线)、(控制总线)和(数据总线)。
53.程序存储器用于存放待执行的程序代码。 54.数据存储器用于存放程序执行过程中的各种数据。
55.8位处理器是单片机的核心模块,由运算逻辑模块和控制逻辑模块组成。
56.单片机复位以后,PC程序指针被初始化为0X00。
57.当外部引脚EA加上高电平时,PC程序指针起始指向内部程序存储器,程序代码从内部存储器开始执行。当外部引脚EA加上低电平时,PC程序指针起始指向外部程序存储器,程序代码从外部存储器开始执行。
58.程序计数器PC是一个16位计数器,用于存放下一条指令在程序存储器中的地址。
判断题
(×)1.AT89S51是一种高性能的16位单片机。 (×)2.MCS-51单片机的程序存储器只能用来存放程序。 (×)3.MCS-51若希望程序从片内存储器开始执行,EA脚应接低电平。
(×)4.89S51单片机中,外部RAM与I/O接口是统一编址的。 (×)5.89S51单片机复位后,特殊功能寄存器SP的内容都是00H。 (×)6.51单片机内部寄存器都是8位的。
(×)7.在MCS-51系统中,一个机器周期等于1μs。
(×)8.复位之后,P0-P3的内容为0FFH,栈指针SP指向00H单元。
(√)9.当AT89C51的EA引脚接低电平时,CPU只能访问片外ROM,而不管片内是否有程序存储器。
(×)10.扩展I/O口占用片外数据存储器的地址资源。 (×)11.MCS-51系统可以没有复位电路。
(×)12.程序存储器不仅可以存放程序指令字节代码和表格常数,还可以作为数据暂存和缓冲待调试的程序代码等。
(√)13.单片机复位后不影响片内RAM单元的数据,仅影响特殊功能寄存器中的内容。
(√)14.程序计数器PC不能为用户编程时直接使用,因为它没有地址。
(×)15.8051共有21个特殊功能寄存器,它们的位都是可以用软件设置的,因此,是可以进行位寻址的。 (×)16.8051单片机必须使用内部ROM。 (√)17.8051是一种8位单片机。
(√)18.MCS-51单片机的CPU能同时处理8位二进制数据。 (√)19.AT89S51单片机采用的是哈佛结构。
(√)20.RXD表示串行口输入端,而TXD表示串行口输出端。 (×)21.系统复位后,四个I/O口的初始值都是00H。
(×)22.一般AT89S51单片机的特殊功能寄存器的数据都是8位的,但数据指针寄存器DPTR的数据却是16位的。
(√)23.AT89S51单片机共有4个8位的并行I/O口,其中P2口既可用作地址/数据口,又可用作一般的I/O口。
(√)24.sbit不可用于定义内部RAM的位寻址区,只能用在可位寻址的SFR上
(√)25.SFR中凡是能被8整除的地址,都具有位寻址能力。 (√)26.8051单片机,程序存储器和数据存储器扩展的最大范围都是一样的。
(×)27.MCS—51单片机上电复位后,片内数据存储器的内容均为00H。
(√)28.当8051单片机的晶振频率为12MHZ时,ALE地址锁存信号端的输出频率为2MHZ的方脉冲。
(×)29.在51系列的单片机系统中,一个机器周期是固定的。 (√)30.特殊功能寄存器的名字,在C51程序中,全部大写。 (×)31.在C语言中,函数的调用是可以根据需要随便调用,前面的函数可以调用后面的函数,后面的函数也可以调用前面的函数,无需声明。
(√)32.若一个函数的返回类型为void,则表示其没有返回值。(×)33.用C语言编写AT89C51单片机时,必须添加的头文件是“stdio.h”。
(×)34.采用单片机的C语言开发时,只能利用C51语言书写程序,不能嵌套汇编语言。
(√)35.#include
(×)37.单片机中断系统中,只要有中断源申请中断就可中断了。
(√)38.在单片机AT89S51中,当同一中断优先级别的外部中断0和定时器T0同时产生中断信号,系统会首先响应外部中断0。 (√)39.TCON是一个即可以位寻址又可以字节寻址的特殊功能寄存器。
(√)40.必须有中断源发出中断请求,并且CPU打开中断,CPU才可能响应中断。
(×)41.MCS-51的5个中断源优先级相同。
(√)42.在使用外部中断时,要把对应中断开关控制位设置为1。 (×)43.PCON是一个即可以位寻址又可以字节寻址的特殊功能寄存器。
(×)44.单片机外部中断时只有用低电平触发。
(√)45.在一般情况下MCS-51单片机不允许同级中断嵌套。 (×)46.各中断发出的中断请求信号,都会标记在MCS-51系统的IE寄存器中。
(×)47.定时器与计数器的工作原理均是对输入脉冲进行计数。 (×)48.TMOD是一个即可以位寻址又可以字节寻址的特殊功能寄存器。
(×)49.定时器0使用时必须使用单片机的T0脚(P3.4)。 (√)50.定时器T1不能工作在方式3。
(×)51.因为T0和T1是内部中断所以其计数脉冲信号只能来自于CPU的内部机器周期脉冲信号。
(×)52.MCS-51的中断源全部编程为同级时,优先级最高的是INT1。
(×)53.定时/计数器1使用时必须使用单片机的T0脚(P3.5)。 (√)54.51单片机的两个定时器均有定时和计数工作方式。 (√)55.定时器的中断标志由硬件清0。
(√)56.TMOD中的GATE=1时,表示由两个信号控制定时器的的启停。
(×)57.51单片机的串口设置了1个SBUF即可实现全双工通信。 (×)58.AT89S51单片机的串口只有2种工作方式。
(√)59.AT89S51单片机共有4个8位的并行I/O口,其中P2口既可用作地址/数据口,又可用作一般的I/O口。
(√)60.假设传输的数据一帧有11位,每秒钟传输30帧,则此时的比特率应为330bps。
(×)61.MCS-51的串行接口是全双工的。
(√)62.采用软件延时可以去除按键抖动,延时时间只要超过10ms都可以。
(√)63.共阳极数码管显示数字“3”时,其段码值为B0H。 (√)64.数码管采用动态扫描显示时,所有数码管的笔画段的同名端连接在一起共用一个控制引脚,而每个数码管的公共极各自独立,分别与不同控制引脚相连。
(√)65.在使用按键时要消除按键的抖动,可以通过改进硬件或软件编程的方法来实现。
(×)66.对按键进行扫描时采用软件延时来去除抖动,延时时间越短越好。
(×)67.4*4矩阵键盘需要16根数据线进行连接。 选择题
1.下列计算机语言中,CPU能直接识别的是(D)。 A.自然语言
B.高级语言
C.汇编语言
D.机器语言
2.51单片机复位后,PC与P口(I/O)的值为(B)。 A.0000H,00H
B.0000H,FFH
C.0003H,FFH
D.0003H,00H
3.提高单片机的晶振频率,则机器周期(A)。 A.变短
B.变长
C.不变
D.不定
4.单片机的应用程序一般存放于(B)中 A.RAM
B.ROM
C.寄存器
D.CPU
5.89S51单片机的PSW寄存器中的RS1和RS0用来(A)。 A.选择工作寄存器组 C.选择定时器
B.指示复位 D.选择工作方式
6.80C51基本型单片机内部程序存储器容量为(C)。 A.16K
B.8K
C.4K
D.2K
7.AT89S51单片机的P0□,当使用外部存储器时它是一个(A)。 A.传输低8位地址/数据总线□ B.传输低8位地址□ C.传输高8位地址/数据总线□ D.传输高8位地址□
8.在AT8951单片机的4个并口中,需要外接上拉电阻的是(A)。 A.P0口
B.P1口
C.P2口
D.P3口
9.在CPU内部,反映程序运行状态或反映运算结果的特征寄存器是
(C)。 A.PC
B.A
C.PSW
D.SP
10.51单片机的XTAL1和XTAL2引脚是(D)引脚 A.外接定时器
B.外接串行口
C.外接中断
D.外接晶振
11.计算机在使用中断方式与外界交换信息时,保护现场的工作应该
是(B)。 A.由CPU自动完成
B.由中断服务子程序完成 D.在主程序中完成
C.在中断响应中完成
12.MCS-51系列的单片机中片内RAM的字节大小可能的是(C) A.128M
B.128K
C.128
D.64
13.可以将P1口的低4位全部置高电平的表达式是(B) A.P1&=0x0f
B.P1|=0x0f
C.P1^=0x0f
D.P1=~P1
14.51单片机若晶振为6MHZ,定时/计数器一次最大的定时时间是(C)。 A.约60ms
B.约100ms
C.约130ms
D.约160ms
15.单片机复位后P0口和SP的值分别为(C)。 A.00H,00H
B.00H,13H
C.0FFH,07H
D.FFH,07H
16.AT89S51单片机的工作寄存器区的地址范围是,可分为组。(A) A.00H~1FH,4 B.00H~1FH,2 C.00H~0FH,4 D.00H~0FH,2 17.访问外部数据存储器时,不起作用的信号是(C)。 A.RD
B.WR
C.PSEN
D.ALE
18.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该
超过(B)。 A.2μs
B.4μs
C.8μs
D.1ms
19.程序状态字寄存器PSW中的AC=1,表示(D)。 A.计算结果有进位
B.计算结果有溢出
D.计算结果低4位向高位进位
C.累加器A中的数据有奇数个1
20.AT89S51单片机的4个I/O口中,下列哪个I/O口内部不带上拉电阻,在应用时要求外加上拉电阻的是(A)。 A.P0
B.P1口
C.P2口
D.P3口
21.假设51单片机的晶振为8MHz,则其对应的机器周期为(C)。A.0.5us B.1us C.1.5us D.2us 22.MCS-5l单片机的堆栈区是设置在(C)中。 A.片内ROM区 C.片内RAM区
B.片外ROM区 D.片外RAM区
23.AT89S51单片机采用的内部程序存储器的类型是(B)。A.EPROM B.Flash C.SFR D.掩膜ROM 24.单片机复位后,SP、PC、I/O口(P0、P1、P2、P3)的内容为(C)
A.SP=00H PC=1000H I/O口=FFH C.SP=07H PC=0000H I/O口=FFH
B.SP=00H PC=0000H I/O口=00H D.SP=07H PC=0000H I/O口=00H
25.P0、P1口作输入用途之前必须(A) A.相应端口先置1 C.外接高电平
B.相应端口先置0 D.外接上拉电阻
26.MCS—51单片机的CPU主要的组成部分为(A)。 A.运算器、控制器 C.运算器、加法器
B.加法器、寄存器 D.运算器、译码器
27.MCS-51单片机的复位信号是(A)有效。 A.高电平
B.低电平
C.上升沿
D.下降沿
28.在访问片外扩展存储器时,低8位地址和数据由()口分时传送,高8位地址由()口传送。(C) A.P0、P1
B.P1、P0
C.P0、P2
D.P2、P0
29.下列数据类型中,(C)是51单片机特有的类型。 A.char
B.int
C.bit
D.float
30.利用下列(A)关键字可以使用不同的中断源。 A.interrupt
B.sfr
C.while
D.using
31.使用单片机软件调试C语言程序时,首先应新建文件,其扩展
名是(A) A.*.c
B.*.asm
C.*.bin
D.*.hex
32.下列指令判断若定时器T0未计满数就原地等待的是(B)。 A.while(T0==1); C.while(T0==0);
B.while(TF0==0); D.while(TF0==1);
33.利用下列(D)关键字可以改变工作寄存器组。 A.interrupt
B.sfr
C.while
D.using
34.C语言中最简单的数据类型包括(B)。 A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型
35.以下能正确定义一维数组的选项是(B)。 A、inta[5]={0,1,2,3,4,5}; C、chara={'A','B','C'};
B、chara[]={0,1,2,3,4,5}; D、inta[5]=\
36.51单片机在同一优先级的中断源同时申请中断时,首先响应(A)。 A.外部中断0 C.外部中断1
B.定时器0中断 D.定时器1中断
37.下列说法错误的是:(B)
A.同一级别的中断请求按时间的先后顺序响应。
B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。 C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。 D.同级中断不能嵌套。
38.在MCS-51中,需要外加电路实现中断撤除的是:(D) A.定时中断
B.脉冲方式的外部中断 D.电平方式的外部中断
C.外部串行中断
39.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持(A)。 A.1个机器周期 C.4个机器周期
B.2个机器周期 D.10个晶振周期
40.边沿触发方式的外部中断信号是(A)有效。 A.下降沿
B.上升沿
C.高电平
D.低电平
41.外部中断请求标志位是D。 A.IT0和IT1
B.TR0和TR1
C.TI和RI
D.IE0和IE1
42.如果将中断优先级寄存器IP中,将IP设置为0x0A,则优先级最高的是(D)
A.外部中断1
B.外部中断0
C.定时/计数器1 D.定时/计数器0
43.计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是(C) A.由CPU自动完成
B.在中断响应中完成 D.在主程序中完成
C.应由中断服务程序完成 44.MCS-51中断源有(A) A.5个
B.2个
C.3个 D.6个
45.MCS-51单片机可分为两个中断优先级别,各中断源的优先级别设定是利用寄存器(B)。 A.IE
B.IP
C.TCON
D.SCON
46.各中断源发出的中断请求信号,都会标记在MCS-51系统中的(B)。 A.TMOD
B.TCON/SCON
C.IE
D.IP
47.MCS—51单片机在同一级别里除串行口外,级别最低的中断源是
(C)。
A.外部中断1 B.定时器T0
C.定时器T1
D.串行口
48.若单片机的振荡频率为6MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为(C)。 A.500
B.1000
C.216-500
D.216-1000
49.定时器0工作于计数方式,外加计数脉冲信号应接到(C)引脚。A.P3.2 B.P3.3 C.P3.4 D.P3.5 50.定时器T0计数溢出后,(B)置1。 A.TF1
B.TF0
C.TI
D.RI
51.要使MCS-51能响应外部中断1和定时器T0中断,则中断允许寄存器IE的内容应该是(B) A.98H
B.86H
C.22H
D.A2H
52.若单片机的振荡频率为12MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为(D)。 A.500
B.1000
C.216-500
D.216-1000
53.定时/计数器的工作方式通过对(B)寄存器编程设定。 A.TCON
B.TMOD
C.SCON
D.IE
54.单片机振荡频率为12MHz,定时器工作在方式1需要定时50ms,则定时器初值应为(C)。 A.50000
B.216-15536
C.216-50000
D.15536
55.8位自动重装的定时/计数器工作在(C)下。 A.方式0
B.方式1
C.方式2
D.方式3
56.AT89S51定时器的4种工作方式中,定时器T1没有的工作方式是(D)。 A.方式0
B.方式1
C.方式2
D.方式3
57.MCS-51单片机定时器工作方式1是指的(D)工作方式。 A.8位
B.8位自动重装 C.13位
D.16位
58.在下列寄存器中,与定时/计数控制无关的是(C)。 A.TCON
B.TMOD
C.SCON
D.IE
59.与定时工作方式1和0比较,定时工作方式2不具备的特点是(B)
A.计数溢出后能自动重新加载计数初值 B.增加计数器位数 C.提高定时精度
D.适于循环定时和循环计数应用
60.下列英文缩写代表“串口控制寄存器”的是(A)。 A.SCON
B.TCON
C.SMOD
D.TMOD
61.串行通信中,发送和接收寄存器是(B)
A.TMOD B.SBUF C.SCON D.DPTR
62.控制串行口工作方式的寄存器是(C) A.TMOD
B.PCON
C.SCON
D.TCON
63.串行口每一次传送(C)字符。 A.1个
B.1串
C.1帧
D.1波特
64.当MCS-51进行多机通讯时,串行接口的工作方式应选为(C)。A.方式0 B.方式1 C.方式2 D.方式0或方式2
65.MCS—51单片机串行口发送/接收中断源的工作过程是:当串行口接收或发送完一帧数据时,将SCON中的(A),向CPU申请中断。 A.RI或TI置1
B.RI或TI置0 D.RI置0或TI置1
C.RI置1或TI置0 简答分析题 1.什么是单片机?
答:将中央处理器(CentralProcessingUnit,CPU)、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等微型计算机的主要部件集成在一块芯片上,使其具有计算机的基本功能,就叫做单片微型计算机(SingleChipMicroComputer,SCMC),简称单片机。由于单片机的指令功能是按照工业控制的要求设计,所以单片机又称为微控制器(MicroControllerUnit,MCU)。 2.单片机有哪些特点?
答:(1)单片机的存储器ROM和RAM是严格区分的。ROM称为程序存储器,只存放程序、固定常数及数据表格。RAM则为数据存储器,用作工作区及存放用户数据。 (2)采用面向控制的指令系统。 (3)单片机的I/O引脚通常是多功能的。 (4)单片机的外部扩展能力强。
(5)单片机体积小,成本低,运用灵活,易于产品化。
(6)面向控制,能有针对性地解决从简单到复杂的各类控制任务,因而能获得最佳的性能价格比。 (7)抗干扰能力强,适用温度范围宽。
(8)可以方便地实现多机和分布式控制,使整个控制系统的效率和可靠性大为提高。 3.单片机的应用有哪些?
答:(1)工业控制。单片机可以构成各种工业控制系统、数据采集系统等。如数控机床、自动生产线控制、电机控制、测控系统等。 (2)仪器仪表。如智能仪表、医疗器械、数字示波器等。
(3)计算机外部设备与智能接口。如图形终端机、传真机、复印机、打印机、绘图仪、磁盘/磁带机、智能终端机等。 (4)商用产品。如自动售货机、电子收款机、电子秤等。 (5)家用电器。如微波炉、电视机、空调、洗衣机、录像机、音响设备等。
(6)消费类电子产品。 (7)通讯设备和网络设备。 (8)儿童智能玩具。
(9)汽车、建筑机械、飞机等大型机械设备。 (10)智能楼宇设备。 (11)交通控制设备。
4.MCS-51单片机内部包含哪些主要逻辑功能部件? 答:(1)1个8位的微处理器CPU。
(2)8KB的片内程序存储器FlashROM,用于烧录运行的程序、常数数据。
(3)256B的片内数据存储器RAM,在程序运行时可以随时写入数据和读出,用于存放函数相互传递的数据、接收的外部数据、中间结果、最后结果以及显示的数据等。
(4)3个16位的定时器/计数器(51子系列仅有2个定时器),每个定时器/计数器可以设置为计数方式,用于对外部事件信号进行计数,也可以设置为定时方式,满足各种定时要求。
(5)有一个管理6个中断源(51子系列1是5个中断源)、两个优先级的中断控制器。
(6)4个8位并行I/O端,每个端口既可以用作输入,也可以用于输出。
(7)一个全双工的UART(通用异步接收发送器)串行I/O口,用于单片机之间的串行通信,或者单片机与PC机、其它设备、其它芯片之间的串行通信。
(8)片内振荡电路和时钟发生器,只需外面接上一晶振或输入振荡信号就可产生单片机所需要的各种时钟信号。
(9)有一个可寻址64KB外部数据存储器、还可以寻址64KB外部程序存储器的三总线的控制电路。
5.MCS-51单片机的EA引脚有何功能?信号为何种电平? 答:EA为片外程序存储器选择输入端。该引脚为低电平时,使用片外程序存储器,为高电平时,使用片内程序存储器。 6.MCS-51单片机的ALE引脚有何功能?信号波形是什么? 答:ALE为地址锁存信号,每个机器周期输出两个正脉冲。在访问片外存储器时,下降沿用于控制外接的地址锁存器锁存从P0口输出的低8位地址。在没有接外部存储器时,可以将该引脚的输出作为时钟信号使用。
7.MCS-51单片机的存储器分为哪几个空间?如何区分不同空间的寻址?
答:MCS-51单片机有4个存储空间,它们是片内程序存储器和数据存储器,在片外可以扩展的程序存储器和数据存储器。这4个存储空间可以分成三类:片内数据存储空间(256B的RAM和128B的特殊功能寄存器)、片外数据存储空间(64KB)、片内和片外统一编址的程序存储空间(64KB)。
8.简述MCS-51单片机片内RAM的空间分配。内部RAM低128字节分为哪几个主要部分?各部分主要功能是什么?
答:片内数据存储器按照寻址方式,可以分为三个部分:低128字节数据区,高128字节数据区间,特殊功能寄存器区。低128字节数据区分为三个区域:工作寄存器区,位寻找区和通用数据区。工作寄存器区4组工作寄存器;位寻找区既可以做位操作,也可以字节操作;通用数据区用于堆栈和存放程序运行时的数据和中间结果。 9.MCS-51单片机的程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?
答:PSW是一个8位寄存器,用于设定CPU的状态和指示指令执行后的状态。
CY(PSW.7):进位标志。在执行加减运算指令时,如果运算结果的最高位(D7)发生了进位或借位,则CY由硬件自动置1。 AC(PSW.6):半进位标志位,也称为辅助标志位。在执行加减运算指令时,如果运算结果的低半字节(D3)发生了向高半字节进位或借位,则AC由硬件自动置1。
F0、F1(PSW.5和PSW.1):用户标志位。用户可以根据需要对F0、F1赋予一定的含义,由用户置1和清0,作为软件标志。
RS1、RS0(PSW.4和PSW.3):工作寄存器组选择控制位。通过对这两位设定,可以从4个工作寄存器组中选择一组作为当前工作寄存器。
OV(PSW.2):溢出标志位,有两种情况影响该位。一是执行加减运算时,如果D7或D6任一位,并且只一位发生了进位或借位,则OV自动置1,
P(PSW.0):奇偶标志位。每条指令执行完后,该位都会指示当前累加器A中1的个数。如果A中有奇数个1,则P自动置1。 10.MCS-51单片机复位后,CPU使用哪组工作寄存器?它们的地址是什么?用户如何改变当前工作寄存器组?
答:MCS-51单片机复位后,CPU使用0组工作寄存器。它们的地址是00H~07H。通过程序状态字PSW中的RS1、RS0标志位改变当前工作寄存器组。
11.什么叫堆栈?堆栈指针SP的作用是什么?
答:堆栈是在RAM专门开辟的一个特殊用途的存储区。堆栈是按照“先进后出”(即先进入堆栈的数据后移出堆栈)的原则存取数据。堆栈指针SP是一个8位寄存器,其值为栈顶的地址,即指向栈顶,SP为访问堆栈的间址寄存器。
12.测试哪个引脚,可以快捷地判断单片机是否正在工作? 答:若要检查单片机是否工作,可以使用示波器查看ALE引脚是否有脉冲信号输出。
13.MCS-51单片机的P0~P3口结构有何不同?用作通用I/O口输入数据时应注意什么?
答:P2口是一个双功能口,一是通用I/O口,二是以总线方式访问外部存储器时作为高8位地址口。P2与P1口的结构类似,驱动部分基本上与P1口相同。P3口是一个多功能口,P3口除了具有P1口的准双向I/O口的功能之外,还可以使用各引脚所具有的第2功能。P0多了一路总线输出(地址/数据)、总线输出控制电路。 14.P0口用作通用I/O口输出数据时应注意什么?
答:P0口与其它端口不同,它的输出级无上拉电阻。当把它用作通用I/O口时,输出级是开漏电路,故用其输出去驱动NMOS输入时外接上拉电阻,这时每一位输出可以驱动4个LS型TTL负载。用作输入时,应先向端口锁存器写1。
15.什么叫时钟周期?什么叫机器周期?什么叫指令周期?时钟周期、机器周期与振荡周期之间有什么关系?
答:时钟周期即振荡周期:为晶振的振荡周期,是最小的时序单位。状态周期:是振荡频率2分频后的时钟周期。显然,一个状态周期包含2个振荡周期。机器周期(MC):1个机器周期由6个状态周期、即12个振荡周期组成,是量度指令执行时间的单位。指令周期:是执行一条指令所需要的时间。一个指令周期由1~4个机器周期组成。
16.MCS-51单片机常用的复位电路有哪些?复位后机器的初始状态如何?
答:复位电路有两种方式:上电自动复位电路和手动复位电路。复位后,程序计数器PC变为0000H,使单片机从程序存储器地址0000H
单元开始执行。除P0~P3为FFH;SP为07H;SBUF为不确定。大部分特殊功能寄存器清零。
17.MCS-51单片机有几种低功耗工作方式?如何实现,又如何退出? 答:MCS-51单片机有空闲和掉电两种低功耗工作方式。当CPU执行完置IDL=1的指令后,系统就进入空闲方式。进入空闲方式之后,有两种方法可以退出。一种是任何中断请求被响应都可以由硬件将IDL位清0而结束空闲方式。另一种退出空闲方式的方法是硬件复位。当CPU执行完置PD=1的指令后,系统就进入掉电工作方式。对于一般的单片机来说,退出掉电方式的唯一方法是由硬件复位。 18.用C51编程较汇编语言有哪些优势? 答:(1)编程容易
(2)容易实现复杂的数值计算 (3)容易阅读、调试、维护程序 (4)容易实现模块化开发 (5)程序可移植性好
19.C51字节数据、整型数据以及长整型数据在存储器中的存储方式各是怎样的?
答:字符变量(char)无论是unsignedchar数据还是signedchar数据,均为1个字节,即8位,因此被直接存储在RAM中,可能存储在0~0x7f区域(包括位寻址区域),也可能存储在0x80~0xff区域,与变量的定义有关。
整型变量(int)不管是unsignedint数据还是signedint数据,均为2个字节,即16位,其存储方法是高位字节保存在低地址(在前面),低位字节保存在高地址(在后面)。
长整型变量(long)为4个字节,即32位,其存储方法与整型数据一样,是最高位字节保存的地址最低(在最前面),最低位字节保存的地址最高(在最后面)
20.如何定义8位字节型特殊功能寄存器?如何定义16位特殊功能寄存器?如何定义特殊功能寄存器的位变量? 答:sfr特殊功能寄存器名=地址常数
sfr16特殊功能寄存器名=地址常数 sbit位变量名=特殊功能寄存器名^位号常数
21.C51函数定义的一般形式是什么?如何定义中断处理程序?如何选择工作寄存器组?
答:返回类型函数名(形参表)[interruptm][usingn] {
局部变量定义 执行语句 }
[interruptm]字段中的m定义中断处理程序的中断号[usingn]字段中的n选择工作寄存器组
22.什么是中断和中断系统?计算机采用中断系统带来了哪些优越性? 答:当CPU当CPU正在处理某事件的时候,外部或者内部发生的某一事件请求CPU迅速去处理,于是CPU暂时中止当前的工作,转去处理所发生的事件。中断服务处理完该事件后,再返回到原来被中止的地方继续原来的工作,这样的过程称为中断。 1.CPU与外设同步工作 2.实时处理 3.故障处理
23.MCS-51共有几个中断源?各中断标志是如何产生的,又如何清零的?CPU响应中断时,中断入口地址各是多少?
答:MCS-51共有5个中断源。各中断标志是通过中断请求产生的,通过指令或硬件清零的。CPU响应中断时,中断入口地址各是03H,0BH,13H,1BH,23H。
24.编写一段函数名为Init的初始化子程序,使之允许INT0、INT1、T1、串行口中断,且使串行口中断为高优先级。 void Init(void) {
EX0=1; EX1=1; ET1=1; ES=1; EA=1; PS=1; }
25.什么是中断优先级?什么是中断嵌套?处理中断优先级的原则是? 答:中断响应的优先次序是中断优先级。当一个中断处理的过程中又响应了更高优先级的中断是中断嵌套。处理中断优先级的原则是先高级中断,后低级中断。同级的按自然优先级排序。 26.MCS-51在什么情况下可以响应中断?中断响应的过程是? 答:响应中断的条件 (1)中断源有中断请求; (2)中断总允许位EA=1;
(3)请求中断的中断源的中断允许位为1;
在满足以上条件的基础上,若有下列任何一种情况存在,中断响应都会受到阻断。
(1)CPU正在执行一个同级或高优先级的中断服务程序。 (2)正在执行的指令尚未执行完。 (3)正在执行中断返回指令
27.中断响应过程中,为什么通常要保护现场?如何保护和哪些信息要进行保护?
答:因为中断服务程序会用到寄存器和存储器的数据会被覆盖,而中断是要返回的,所以通常要保护现场。方法是把要保护的内容压入到堆栈。
28.外部中断触发方式有几种?它们的特点是什么?
答:外部中断触发方式有2种。它们的特点是低电平触发方式,边沿触发方式,上一个机器周期检测为高电平,接下来的下一个机器周期为低电平。
29.中断系统的初始化一般包括哪些内容?
答:开相应中断允许,开总中断允许,设置中断优先级。
30.中断响应的时间是否是确定不变的?为什么?在实际以用中应如何考虑这一因素?
答:中断响应的时间不是确定不变的。因为中断发生的位置是不确定的。在实际应用中对实时性要求高的场合要考虑这一因素,合理安排程序。
31.哪些中断源的中断请求标志位是由硬件自动复位的?哪些中断的中断请求标志必须通过软件编程进行复位?
答:外部中断和定时器中断是由硬件自动复位的。串行口中断的中断请求标志必须通过软件编程进行复位。
32.MCS-51单片机内部有几个定时器/计数器,有几种工作方式?分别是?
答:89C51内部有2个定时器/计数器,定时器0和定时器1都有4种工作方式。工作方式0、工作方式1、工作方式2、工作方式3。 33.定时器/计时器用作定时器用时,其定时时间和哪些因素有关?作计数器时,对外界计数频率有何限制?
答:定时器的定时时间和单片机的振荡频率和定时初值有关。做计数器时候,其外界计数频率最大不能超过Fosc/12。
34.MCS-51单片机的定时器/计数器的定时和计数两种功能各有什么特点?
答:定时是对时钟脉冲进行计数。计数是对外部计数脉冲进行计数。 35.MCS-51单片机的T0、T1定时器/计数器四种工作方式各有什么特点?
答:方式0:13位计数模式。 方式1:16位计数模式。
方式2:8位自动重装入计数模式。 方式3:只有T0有的双8位计数模式。
36.根据定时器/计数器0方式1逻辑结构图,分析门控位GATE取不同值时,启动定时器的工作过程。
答:当GATE=0:软件启动定时器,即用指令使TCON中的TR0置1即可启动定时器0。
GATE=1:软件和硬件共同启动定时器,即用指令使TCON中的TR0置1时,只有外部中断INT0引脚输入高电平时才能启动定时器0。 37.当定时器/计数器的加1计数器计满溢出时,溢出标志位TF1由硬件自动置1,简述对该标志位的两种处理方法。
答:一种是以中断方式工作,即TF1置1并申请中断,响应中断后,执行中断服务程序,并由硬件自动使TF1清0;另一种以查询方式工作,即通过查询该位是否为1来判断是否溢出,TF1置1后必须用软件使TF1清0。
38.设MCS-51单片机fosc=12MHz,问单片机处于不同的工作方式 时,最大定时范围是多少?
答:方式0的最大定时范围:65536μs 方式1的最大定时范围:8192μs 方式2和方式3的最大定时范围:256μs
39.设MCS-51单片机fosc=6MHz,问单片机处于不同的工作方式 时,最大定时范围是多少?
答:方式0的最大定时范围:131,072μs 方式1的最大定时范围:16,384μs
方式2和方式3的最大定时范围:512μs 40.什么是串行异步通信,它有哪些作用?
答:单位信息的各位数据被分时一位一位依次顺序传送的通信方式称为串行通信,通过起始位和停止位来进行同步的串行通信称为串行异步通信。适用于速度较慢的数据传输。
41.89C52单片机的串行口由哪些功能部件组成?各有什么作用? 答:89C52通过引脚RXD(P3.0,串行数据接收端)和引脚TXD(P3.1,串行数据发送端)与外界进行通信,单片机内部的全双工串行接口部分,包含有串行发送器和接收器,有两个物理上独立的缓冲器,即发送缓冲器和接收缓冲器SBUF。发送缓冲器只能写入发送的数据,但不能读出;接收缓冲器只能读出接收的数据,但不能写入。控制状态寄存器SCON,用于定义串行通信口的工作方式和反映串行口状态。
42.简述串行口接收和发送数据的过程。
答:在发送过程中,当执行一条将数据写入发送缓冲器SBUF的指令时,串行口把SBUF中8位数据以fosc/l2的波特率从RXD(P3.0)端输出,发送完毕置中断标志TI=1。写SBUF指令在S6P1处产生一个正脉冲,在下一个机器周期的S6P2处,数据的最低位输出到RXD(P3.0)脚上;再在下一个机器周期的S3、S4和S5输出移位时钟为低电平时,在S6及下一个机器周期的Sl和S2为高电平,就这样将8位数据由低位至高位一位一位顺序通过RXD线输出。并在TXD脚上输出fosc/12的移位时钟。在“写SBUF”有效后的第10个机器周期的SlPl将发送中断标志TI置位。
接收时,用软件置REN=1(同时,RI=0),即开始接收。当使SCON中的REN=1(RI=0)时,产生一个正的脉冲,在下一个机器周期的S3P1~S5P2,从TXD(P3.1)脚上输出低电平的移位时钟,在此机器周期的S5P2对P3.0脚采样.并在本机器周期的S6P2通过串行口内的输入移位寄存器将采样值移位接收。在同一个机器周期的S6P1到下一个机器周期的S2P2,输出移位时钟为高电平。于是,将数据字节从低位至高位接收下来并装入SBUF。在启动接收过程(即写SCON,清RI位),将SCON中的RI清0之后的第l0个机器周期的SlPl将RI置位。这一帧数据接收完毕,可进行下一帧接收。 43.89C52串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?
44.89C52中SCON的SM2、TB8、RB8有何作用?
答:SM2:多机通信控制位。TB8:发送数据的第9位。RB8:接收数据的第9位。
45.为什么要消除键盘的机械抖动?有哪些方法?
答:键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。如果按键较多,常用软件方法去抖动,即检测出键闭合后执行一个延时程序,产生12~20ms的延时,让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当确认有键按下或检测到按键释放后,才能转入该键的处理程序。
46.访问片内RAM低128字节使用哪些寻址方式?访问片内RAM高128字节使用什么寻址方式?访问SFR使用什么寻址方式? 答:访问片内RAM低128字节使用直接寻址,寄存器间接寻址,位寻址;访问片内RAM高128字节使用寄存器间接寻址;访问SFR使用直接寻址,位寻址。
47、简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。
答:因为普通的按键都是金属触点的,金属触点在接触的瞬间会有一个撞击力导致接触点分开,然后又接触在一起,这样反复直到稳固接触在一起。这种现象叫做按键的抖动,这种抖动如果不进行处理的话,会导致按键误判断。去除抖动的方法有两种硬件和软件。硬件的方法就是在按键连接处使用RS触发器,软件的方法就是在编写程序的时候有个延时操作,利用延时越过抖动状态。
48、什么是LED数码管静态扫描和动态扫描。简述LED数码管动态扫描的原理及其实现方式。
答:数码管静态就是指在给数码管送字型码,这个字形能保持至下一次字型码到来,多于两个数码管的电路只能每个显示一个字型码,而不能显示两个不同的字形,如果要显示不同的字形则要等到下一次送入新的字型码为止。而对于动态显示在多于两个数码管一起显示时,可以先给一个数码管送入一个字型码,让这个字形在这个数码管上显示一段很短的时间,这个时间必须短于人眼的识别时间即几十毫秒一下,然后又接着给另外一个数码管送入不同的字型码,也让这个字形在这个新的数码管上显示一段很短的时间,其实就是让所有的数码管显示的字型码轮流在各个数码管上面显示,就这样重复多次,这样我们利用人眼的惰性看到的显示数码管上面的字形就好像是同时显示一样。数码管采用动态扫描显示时,所有数码管的笔画段的同名端连接在一起共用一个控制引脚,而每个数码管的公共极各自独立,分别与不同控制引脚相连。 编程题
1.设fsoc=11.0592MHz,试编写一段程序,其功能为对串行口初始化,使之工作于方式1,波特率为1200b/s;并用查询串行口状态的方法,读出接收缓冲区的数据并回送到发送缓冲区。#include
unsigned char temp; SCON=0x50; TMOD=0x20; TH1=0xE8; TL1=0xE8; TR1=1; while(1) {
while(RI==0); RI=0;
temp=SBUF; SBUF=temp; while(TI==0); TI=0;
}
}
2.若晶振为11.0592MHz,串行口工作于方式1,波特率为4800b/s,用T1作为波特率发生器。编写出函数名为Init的串行口初始化子程序。
void Init(void) {
SCON=0x50; TMOD=0x20; TH1=0xE8; TL1=0xE8; }
3.MCS-51单片机P1端口上,经驱动器连接有8只发光二极管,若fosc=6MHz,试编写程序,使这8只发光二极管每隔2s循环发光一次(要求T0定时)。 #include
TMOD=0x02; TL0=16; TH0=16; TR0=1; ET0=1; EA=1; P1=0; cou=0; tim=1; While(1); }
void serve() interrupt 1 {
tim++;
if(tim==500) {
P1=0x01< } 4.用AT89S51单片机的P2口控制8个LED(共阳接法)依次右移1位点亮(亮200ms)。即P2.7亮→P2.6亮→……→P2.1→P2.0亮,重复循环。 #include void main( ) { inti; chartable[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; while(1) { for(i=0;i<8;i++) { P2=tabel[i]; delay(200); } } } 5.利用AT89C51的P1口控制8个发光二极管LED。相邻的4个LED为一组,使2组每隔0.5S交替发亮一次,周尔复始。画出电路图(含最小系统及与外设的连接图)并编写程序。 #include void main() { inti; while(1) { P2=0x0f; delay(500); P2=0Xf0; delay(500); } } 6.编制一个循环闪烁的程序。有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。画出电路图。#include void main() { inti,j; chartable[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; while(1) { for(i=0;i<8;i++) { for(j=0;j<10;j++) { P2=tabel[i]; delay(200); P2=0XFF; delay(200); } } } } 7.已知51单片机晶振频率是12MHz,使用定时器T1,产生周期为200ms的等宽正方波连续脉冲由P1.2输出,要求以中断方式完成。 #include void main() { TMOD=0X10; TH1=(65536-10000)/256; TL1=(65536-10000)%6; IE=0X88; TR1=1; while(1); } void tt1(void) interrupt 3 using 1 { if(count<10) { count++; TH1=(65536-10000)/256; TL1=(65536-10000)%6; } else { count=0; TH1=(65536-10000)/256; TL1=(65536-10000)%6; P12=~P12; } } 画图题 1、若用P0. 0 口线控制一只发光二极,请面出发光二极管作灌电流负载时的电路图。(如图1) 2、请画出单片机的时钟发生电路图。(如图2) 图1 图2 3、用P0.0口控制一只发光二极,请面出发光二极管作拉电流负载时的电路图。(如图3) 4、请面出上电复位电路的电路图,并给出电路中各元件的值。(如图4) 图3 图4 5、请画出STC89C51单片机的最小系统电路图。(如图5) 6、简述独立式键盘接口电路的特点,如果用P1口设计4键的独立键盘,请画出其电路图。(如图6) 图5 图6 答:独立式键盘接口电路的特点是,按键的一端接地,另一端接并行口的某一根I/O口线,I/O口线外接上拉电阻。若并行口内部有 上拉电阻(如单片机的P1口),可不接上拉电阻。(2分)采用这种电路时,若某个按键下,则对应的I/O口线输入为0。(2分)用P1口设计4键的独立式键盘,其电路如图6所示。(4分) 7、简述矩阵式键盘接口电路的特点,如果用P2口设计一个4*4键的矩阵式键盘,请画出其电路图。(8分) 答:矩阵式键盘接口电路的特点是,矩阵式键盘采用行列电路结构,行线为输入口,外接有上拉电阻,列线为输出口,按键位于行线与列线的交叉处,一端接行线,另一端接列线。(4分)用P2口设计4*4键的矩阵式键盘接口电路如图7所示。(4分) 计算题 1、设单片机的晶振频率fosc?12MHz,现拟定用T0作1ms定时器,试求其在方式0下的计数初值x。并写出在工作方式0的计数初值装入程序。 答:定时器的定时时长为1ms,则定时器的计数次数n为 n?(fosc?t)/12?(12?106?1?10?3)/12?1000(2分) 方式0的模值为8192(2分) 所以,计数初值x=M-n=8192-1000=7192(2分) TH0=(8192-1000)/32;(2分) TL0=(8192-1000)2;(2分) 2、设单片机的晶振频率fosc?6MHz,现拟定用T0作5ms定时器,问可以采用哪些工作方式?各种工作方式下的计数初值。 答:定时器的定时长为5ms,其计数次数n为 n?(fosc?t)/12?(6?106?5?10?3)/12?2500(2分) 方式2的模值256 选用方式1时,其计数初值x为x=M-n=65536-2500=63036(2分)