单片机原理及接口技术试题
一、填空题
1.单片机中的中央处理器CPU由运算器和 控制器 组成。 2.当PSW=10H时,通用寄存器R1、R0的地址是 00H\\017H 。 3.复位操作有上电自动复位、 手动复位 和外部脉冲复位三种方式。
4.采用立即寻址的指令一般是双字节,第一个字节是指令的操作码,第二个字节是立即数 。 5.一台计算机所能执行的全部指令的集合称为 指令系统 。
6.工作方式寄存器TMOD中的C/T=0,则定时/计数器设置为 定时 方式。
7.MCS-51单片机中的串行接口是一个 全双工 的通信接口,即能同时进行发送和接收。 8.在MCS-51中,为实现P0口的数据和低位地址的地址复用,应使用 地址锁存器 。
9.假定累加器A的内容为30H,执行命令:1000H:MOVC A,@A+PC后,把程序存储器 单元1031H的内容送累加器A中。
10.键盘产生的抖动采用 软件延时 方法消去。
11.随着大规模与超大规模集成电路技术的快速发展,微计算机技术形成了两大分支:微处理器和 单片机 。
12.MCS-51堆栈内的数据存取是以 先进后出 的结构方式进行的。
13.一个机器周期= 6个状态周期,振荡周期2分频后产生的时钟信号的周期定义为状态周期。
14.在定时器工作方式0下,计数器的宽度为13位,如果系统震荡周期为0.5us,则最大定时时间为 49152us 。
15.总线的并行扩展采用三总线方式,即 数据 总线、地址总线、控制总线。 16.在单片机系统中,需要安排较多的按键时,通常把按键排列成 矩阵 形式。 17.单片机系统复位后,(PSW)=00H,因此片内RAM寄存器的当前寄存器是第 0组。 18.指令的二进制形式称为指令的 机器码 。
19.七段LED的阳极连在一起称为 共阳 接法,而阴极连在一起称为共阴极接法。 20.在工作方式2时,当SMOD=0时,其波特率为fosc/64;当SMOD=1时,其波特率为 fosc/32 。
21.8051单片机的程序存储器采用的是 掩膜 ROM。
22.当80C51的RST引脚上保持 2 个机器周期以上的低电平时,80C51即发生复位。 23.若晶振频率为6MHZ,则8051的时钟周期为1/3us,机器周期为 2us 。 24.在寄存器寻址方式中,指令中指定寄存器的内容就是 操作数 。 25.串行口在工作方式0下,数据传输的波特率固定为 fosc/12 。 26.为实现内外程序存储器的衔接,应使用 信号进行控制。
1
27.对于非编码矩阵式键盘,单片机对它的控制可采用程序控制扫描方式和中断扫描方式两种。
28.在MCS-51中,需要外加电路实现中断撤除的是 电平方式的外部中断。 29.已知A=30H,DPTR=3000H,程序存储器单元(3030H)=50H,执行
MOVC A,@ A+DPTR后,A= 50H 。
30.CMOS工艺的80C51有两种低功耗工作方式: 待机方式 和掉电方式。 31.单片机中的中央处理器CPU由 运算器和控制器组成。
32.MCS-51 单片机的时钟电路包括两部分内容,即芯片内用于构成振荡器的高增益的反相放大器和芯片外跨接的 石英晶体 与微调电容。
33.若晶振频率为6MHZ,则8051的时钟周期为1/3us,机器周期为2us,指令周期 2us~8us 。 34.变址寻址中的基址寄存器为 程序计数器PC 或数据指针DPTR,变址寄存器为累加器A。
35.在串行通信中,方式2和方式3的不同在于它们的 波特率 产生方式不同。 36.单片机系统的扩展方法有并行扩展法和 串行 扩展法两种。 37.直接寻址是指在指令中直接给出 操作数单元的地址。
38.在MCS-51中,为实现P0口的数据和低位地址的地址复用,应使用 地址锁存器 。 39.系统复位后,SP的初始值为 07H 。
40.为给以扫描方式工作的4*4键盘提供接口电路,在接口电路中只需要提供 8 个I/O口控制。
41.开辟堆栈的目的是方便处理中断,调用子程序时 保护现场 。
42.复位是单片机的初始化操作,其主要功能是把 PC 内容初始化为0000H。 43.在寄存器间接寻址方式中,寄存器中存放的是操作数的 地址 。 44.串行口在工作方式0下,是比把串行口作为 同步移位寄存器 使用。
45.MCS-51单片机中,地址总线由 P0口 提供低8位地址,由P2口提供高8位地址。 46.转换精度描述满量程时DAC的实际 模拟输出值 和理论值的接近程度。
47.单片机的存储器空间有两种基本结构,普林斯顿结构和哈佛结构,MCS-51单片机采用哈佛 结构。
48.在单片机中,用随机存取的存储器来存储数据,暂存运行期间的数据、中间结果、缓冲和标志位等,所以称之为 数据存储器 。
49.LED是指发光二极管显示器;LCD是指 液晶显示器 。 50.直接寻址是指在指令中直接给出 操作数 单元的地址。
51.单片机中的中央处理器CPU和通用微处理器基本相同,由 运算器和控制器组成。 52.MCS—51单片机片内RAM的寄存器区共有32个单元,分为4组寄存器,每组8个单元,以R0-R7 作为寄存器名称。
2
53.若晶振频率为6MHZ,则8051的时钟周期为 1/3us ,机器周期为2us。 54.指令的助记符形式又称为 汇编 语言指令。
55.8051单片机内有两个16位定时/计数器,它们都有 定时和事件计数的功能。 56.8051单片机串行口工作于方式0时为同步移位寄存器。此时外接一个串入并出 的移位寄存器,就可以扩展一个并行输出口。
57.线选法即把单独的地址线接到外围芯片的片选端 上。
58.8155内含一个14位的定时/计数器,它对输入引脚TIMERIN上的脉冲进行 递减计数。
59.分辨率即输入数字发生单位数码变化时,所对应的输出 模拟量 的变化量。
60.单片机中通常使用的是由7个发光二极管 ,即七段LED按“日”字排列成的数码管。 60.单片机中的中央处理器CPU由 运算器 和控制器组成。
62.变址寻址中的基址寄存器为 程序计数器PC 或数据指针DPTR,变址寄存器为累加器A。 63.在串行通信中,方式2和方式3的不同在于它们的 波特率 产生方式不同。
64.8051单片机串行口工作于方式0时为同步移位寄存器。此时外接一个串入并出 的移位寄存器,就可以扩展一个并行输出口。 65.线选法即把单独的地址线接到外围芯片的 片选端上。 66.单片机系统的扩展方法有并行扩展法和串行扩展法两种。 67.直接寻址是指在指令中直接给出操作数 单元的地址。
68.为给以扫描方式工作的4*4键盘提供接口电路,在接口电路中只需要提供 8 个I/O口控制。
69.开辟堆栈的目的是方便处理中断,调用子程序时能够 保护现场 。 70.在单片机系统中需要安排较多的按键时,通常把按键排列成矩阵 形式,也称行列式。 71.复位是单片机的初始化操作,其主要功能是把 程序计数器PC 内容初始化为0000H。 72.系统复位后,SP的初始值为 07H 。
73. 伪指令ORG的功能是规定目标程序的 起始地址 。
74.8051单片机内有两个16位定时/计数器,它们都有 定时 和事件计数的功能。
75.8155内含一个14位的定时/计数器,它对输入引脚TIMERIN上的脉冲进行 递减计数。
76.MCS-51单片机中,地址总线由 P0口 提供低8位地址,由P2口提供高8位地址。 77.MCS-51 单片机的时钟电路包括两部分内容,即芯片内用于构成振荡器的高增益的反相放大器和芯片外跨接的 石英晶体 与微调电容。 78. 按键产生的抖动一般采用 软件延时 方法消去。
79.直接寻址是指在指令中直接给出 操作数 单元的地址。
80.单片机中的中央处理器CPU和通用微处理器基本相同,由运算器和控制器 组成。
3
81.MCS-51单片机片内RAM的工作寄存器区共有32个单元,分为4组寄存器,每组8个工作寄存器,组内编号为 R0-R7 。
82.在寄存器间接寻址方式中,寄存器中存放的是操作数的 地址 。 83.在MCS-51中,为实现P0口的数据和低位地址的地址复用,应使用地址锁存器。 84.若晶振频率为6MHZ,则8051的时钟周期为 1/3us ,机器周期为2us。 85.在单片机中,用随机存取的存储器来存储数据,暂存运行期间的数据、中间结果、缓冲和标志位等,所以称之为 数据存储器 。
86.若晶振频率为6MHZ,则8051的时钟周期为1/3us,机器周期为2us,指令周期 2us~8us 。
87.转换精度描述满量程时DAC的实际 模拟输出值 和理论值的接近程度。 88.LED是指发光二极管显示器;LCD是指 液晶显示器 。 89.指令的助记符形式又称为 汇编 语言指令。
90.单片机中通常使用的是由7个 发光二极管 ,即七段LED按“日”字排列成的数码管。 二、单项选择题
1.关于MCS-51单片机存储器说法错误的是( B )
A、MCS-51RAM和ROM分开编址;B、MCS-51 RAM和ROM合用一个存储器空间; C、MCS-51CPU用不同指令访问不同的存储器空间;D、MCS-51采用哈佛结构 2. 8051单片机复位信号应从( A )脚接入。 A、 RST; B、 P3.2;C、 8脚; D、 T1
3.若晶振频率为12MHZ,则关于8051的时序,说法错误的是( C )
A、8051的震荡周期为1/12us;B、8051的时钟周期为1/6us;C、8051的机器周期为2us; D、8051的指令周期为1~4us
4.在工作方式0下,计数器是由TH的全部8位和TL的5位组成,因此其计数范围是( C ) A、1~8092;B、0~8191;C、0~8192;D、1~4096 5.在下列信号中,不是给程序存储器扩展使用的是( D ) A、PSEN;B、EA;C、ALE;D、WR
6.MCS-52系列与MCS-51系列相比,下列说法错误的是( B )。 A、片内RAM从128KB增至256KB;B、片内ROM从4位增至8位; C、定时计数器从2个增至3个;D、中断源从5个增至6个 7.当PSW=10H时,通用寄存器RS1、RS0的地址是( C )。 A、00H~07H;B、08H~0FH;C、10H~17H;D、18H~1FH 8.下列指令格式正确的是( A )
A、DEL:XCH A,30H;B、MOV:INC A;C、2AB:MOV A,#20H;D、ABC,MOV 23H,A
4
9.当MCS-51进行多机通信时,串行接口的工作方式应选择( C ) A、方式0; B、方式1; C、方式2;D、方式0或方式2 10.下列说法正确的是:( D )
A、各中断发出的中断请求信号,都会标记在MCS-51系统的IE寄存器中。 B、各中断发出的中断请求信号,都会标记在MCS-51系统的TMOD寄存器中。 C、各中断发出的中断请求信号,都会标记在MCS-51系统的IP寄存器中。
D、各中断发出的中断请求信号,都会标记在MCS-51系统的TCON与SCON寄存器中。 11.EPROM指的是( C )
A、闪速存储器;B、掩膜程序存储器;C、紫外线擦除可编程程序存储器;D、无程序存储器
12.8051单片机的时序单位从小到大依次是( A )
A、拍节、状态、机器周期、指令周期;B、状态、拍节、机器周期、指令周期; C、拍节、状态、指令周期、机器周期;D、状态、机器周期、拍节、指令周期 13.指令MOVX寻址空间是( B )。
A、片外ROM B、片外RAM C、片内RAM D、片内ROM
14.在工作方式2下,把T0(或T1)配置成一个可以自动重装载的8位定时/计数器,因此其最大计数长度是( D ) A、8092;B、65536;C、128;D、256
15.以下所列特点中,不属于串行工作方式2的是( C )
A、11位帧格式;B、有第九数据位;C、使用一种固定的波特率;D、使用两种固定波特率 16.8051单片机有( C )个中断源。 A、2 ;B、3 ;C、5 ;D、6
17.微机中堆栈指针的作用是( B )
A、指明栈底的位置;B、指明栈顶的位置;C、操作数地址;D、指令的地址 18.在下列信号中,不是给数据存储器扩展使用的是( A ) A、EA;B、WR;C、RD;D、ALE
19.MCS-51单片机要用传送指令访问程序存储器,它的指令操作码助记符是( D ) A、MOVX;B、MUL;C、MOV;D、MOVC
20.帧格式为1个起始位、8个数据位和1个停止位的异步串行通信方式是( B ) A、方式0;B、方式1;C、方式2;D、方式3 21.8051采用的程序存储器形式( C )
A、ROMLESS;B、EPROM;C、掩膜ROM;D、Flash ROM 22.PSW=18H 时,则当前工作寄存器是( D ) A、0 组;B、1组;C、2 组;D、3组
5
23.单片机复位时,程序计数器(PC)的值是( A ) A、0000H;B、0030H;C、4000H;D、4100H
24.对片外RAM的数据传送指令,只能使用( B )
A、MOV指令;B、MOVX指令;C、PUSH指令;D、MOVC指令 25.串行工作方式1的波特率是( D ) A、固定的,为时钟频率的十二分之一; B、固定的,为时钟频率的三十二分之一; C、固定的,为时钟频率的六十四分之一; D、可变的,通过定时器/计数器1的溢出率设定
26.8051单片机外部中断0、1(INT0,INT1)在( D )。 A、P0 口;B、P1 口;C、P2 口 ;D、 P3 口
27.在工作方式0下,计数器是由TH的全部8位和TL的5位组成,因此其计数范围是( C ) A、1~8092;B、0~8191;C、0~8192;D、1~4096
28.在MCS-51中,需要外加电路实现中断撤除的是:( A )
A、电平方式的外部中断;B、脉冲方式的外部中断;C、外部串行中断;D、定时中断 29.为实现内外程序存储器的衔接,应使用( B )信号进行控制。 A、PSEN;B、EA;C、ALE;D、WR
30.可以为访问程序存储器提供或构成地址的有( C )
A、只有程序计数器PC;B、只有PC和累加器A;C、只有PC、A和数据指针DPTR;D、PC、A、DPTR和堆栈指针SP
31.8052AH单片机的可编程定时器/计数器的个数是( B ) A.2
B.3
C.5
D.6
32.以下运算中对溢出标志OV没有影响或不受....OV影响的运算是( B ) A.符号加减法运算 B.逻辑运算 C.乘法运算 D.除法运算
33.当外部中断0中断请求被CPU响应后,PC自动被CPU装入的中断源中断入口地址是( A )
A.0003H B.000BH C.0013H D.001BH
34.当PSW=10H时,工作寄存器组选择位是( C ) A.00H B.01H C.10H D.11H
35.指令MOV C,7EH指令采用的寻址方式是( A ) A.位寻址
B.立即寻址 C.直接寻址 D.相对寻址
36.MCS-51的中断允许控制寄存器IE的内容为83H,CPU将响应的中断请求是( D ) A.INT0,INT1
B.T0,T1
C.T1,串行接口
6
D.INT0,T0
37.MCS-51定时/计数器具有四种工作模式,确定哪种工作模式的寄存器是( B ) A.TCON B.TMOD C.PCON D.SCON
38.要实现80C51单片机的复位操作必须使RST引脚至少保持两个机器周期的( A ) ..A.高电平信号
B.低电平信号 C.脉冲信号
D.下降沿信号
39.下列不是单片机名称的是( A ) ..
A.微处理器 B.微控制器 C.嵌入式微控制器 D.单片微型计算机 40.若80C51单片机的震荡频率为12MHZ,则它的机器周期为( C ) A.1/12μS B.1/6μS C.1μS D.2μS 41.8位的A/D转换器的分辨率是( D ) A.1/8 B.1/16 C.1/64
D.1/256
42.在计算机系统中使用单片机属于计算机的( C ) A.在智能化仪表中的应用 B.在机电一体化中的应用 C.在智能接口中的应用
D.在人类生活中的应用
43.MCS-51单片机的定时器工作于模式1时,采用的定时/计数器是( D ) A.8位 B.13位 C.14位 D.16位
44.计算机能直接识别和执行的语言是( C ) A.汇编语言 B.高级语言 C.机器语言 D.硬件和软件
45.假设堆栈指针SP的值为32H,进行子程序调用且返回后,SP的值为( C ) A.30H B.31H C.32H D.33H
46.在80C51串行通信中,波特率是固定的工作方式是( B )
A.方式0和方式1 B.方式0和方式2 C.方式1和方式2 D.方式1方式3
47.80C51同一级别的中断:定时/计数器0(T0)、定时/计数器1(T1)、外部中断0(INT0)、外部中断1(INT1)同时产生,CPU响应中断的先后顺序是( B ) A.INT0→INT1→T0→T1 C.T0→INT0→T1→INT1
B.INT0→T0→INT1→T1 D.T0→T1→INT0→INT1
48.MCS-51单片机串行工作方式2和方式3的不同在于( D ) ..
A.接收数据引脚不同 B.数据帧格式不同 C.发送数据引脚不同 D.波特率产生方式不同 49.已知1只共阴极LED显示器,若需显示数字0,它的字形代码应为( A ) A.3FH B.C0H C.30H D.CFH
50.MCS-51在同一优先级的中断源同时申请中断时,CPU首先响应( A ) A.外部中断0 B.定时/计数器0溢出中断 C.外部中断1 D.定时/计数器1溢出中断 51.MCS-51系统中,对程序存储器ROM的寻址方式是( C ) A.立即寻址 B.位寻址 C.寄存器间接寻址 D.直接寻址 52.可通过紫外线擦除程序存储器的内容的只读存储器是( B )
7
A.掩膜ROM B.EPROM C.ROMLESS D.Flash ROM 53.ADC0809按转换原理属于( C )
A.计数器式 B.双积分式 C.逐次逼近式 D.并列式
54.MCS-51单片机共有七种寻址方式,其中:MOV A,@R0属于( C ) A.直接寻址 B.立即寻址 C.间接寻址 D.位寻址 55.专门用来控制指令执行顺序的寄存器是( D ) A.SP B.ACC C.DPTR D.PC
56.单片机8051与8751的主要区别在于( A ) ..
A.内部程序存储器的类型不同 B.内部数据存储器的类型不同 C.内部程序存储器的容量不同 D.内部数据存储器的容量不同
57.8051定时/计数器的工作模式寄存器TMOD中的操作模式控制位M1 M0的状态为10时,定时/计数器被设定为( C )
A.13位定时/计数器 B.16位定时/计数器
C.自动再装入8位定时/计数器 D.T0为两个独立的8位定时/计数器,T1停止工作 58.在下列单片机芯片中使用掩膜ROM作为内部ROM的是( B ) A.8031 B.8051 C.8032 D.8751
59.堆栈内数据存取的结构方式是( A )
A.后进先出 B.先进先出 C.后进后出 D.只进不出 60.伪指令DS的功能是( D )
A.将位地址赋予所规定的字符名称 B.规定目标程序的起始地址
C.从指定地址开始定义若干个16位数据 D. 从指定地址开始保留若干字节的内存空间备用
三、名词解释
1.数据存储器RAM:在单片机中,用随机存取的存储器RAM来存储数据,暂存运行期间的数据、中间结果、缓冲和标志位等,称之为数据存储器。
2.机器周期:用机器周期把一条指令划分为若干阶段,每个机器周期完成某些规定操作。一个机器周期包含6个状态周期,12个拍节。
3、寻址方式:就是告诉CPU如何找到操作数的方式。
4.中断:由于外部或内部事件改变原来CPU正在执行的指令顺序的一种工作机制。 5.A/D转换器:把被控对象的各种模拟量变成计算机可以识别的数字信息。 6.EPROM:可通过紫外线擦除程序存储器的内容,之后重新写入。 7.寄存器间接寻址:在指令中以寄存器的内容为指定的地址去取操作数。
8.逐列扫描法:一次使每一列线为低,其余输出为高,然后读入行线状态,以判断列线是否与行线相连,即按键是否被按下。
8
9.按键电平复位:把复位端通过电阻与电源Vcc接通而实现。
10.波特率发生器:由定时器T1通过模式2及内部一些控制开关和分频器所组成,向串行口提供发送时钟和接收时钟。
11.掩膜ROM:由半导体厂家在芯片生产封装时,将用户的应用程序代码通过掩膜工艺制作到单片机的ROM区,一旦写入后用户则不能修改。
12.指令周期:完成一条指令占用的全部时间,一个指令周期通常包含1~4个机器周期。 13.相对寻址:相对转移指令执行时,是以当前的PC值加上指令中规定的偏移量形成实际的转移地址。
14.转换精度:指满量程时DAC 的实际模拟输出值和理论值的接近程度。
15.单片机:把组成微型计算机的各个功能部件,如中央处理器CPU、随机存储器RAM、只读存储器ROM、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机。
16.掩膜ROM:由半导体厂家在芯片生产封装时,将用户的应用程序代码通过掩膜工艺制作到单片机的ROM区,一旦写入后用户则不能修改。
17.机器语言:用二进制编码表示每条指令,是计算机能直接识别和执行的一种语言。 18.上电自动复位:通过外部复位电路的电容充电来实现。
19.伪指令:不产生可执行的目标代码,仅指明在汇编时执行哪一些特殊的操作。 20.分辨率:输入数字发生单位数码变化时,所对应的输出模拟量的变化量。
21.Flash ROM:闪速存储器,编程与擦除完全用电实现,可由用户多次编程写入的程序存储器。
22.指令寄存器IR:用来存放指令操作码的专用寄存器。 23.独立式按键:是指直接用I/O口构成单个的按键电路。
24.位寻址:对片内RAM的位寻址区和可以位寻址的特殊功能寄存器SFR进行位操作时的寻址方法。
25.串行口发送/接收缓冲寄存器SBUF:发送/接收共用的数据缓冲寄存器。
26、堆栈指针SP:是存放当前堆栈栈顶所对应的存储单元地址的一个8位寄存器。(第2章,P24)
27.变址寻址:基址寄存器加变址寄存器的间接寻址。(第三章,P47)
28.DPTR:数据指针DPTR是一个16位的专用地址指针寄存器,主要用来存放16位地址,作为间址寄存器使用。(第2章,P15)
29.OTP ROM:这是用户一次性编程写入的程序存储器。(第一章,P4)
30.全地址译码法:用译码器对高位地址进行译码,译出的信号为片选线。(第六章,P143) 31.ROMLESS:单片机内部没有程序存储器,使用时必须在外部扩展一片EPROM作为程序存储器。
9
32.独立式按键:是指直接用I/O口构成单个的按键电路。
33.分辨率:输入数字发生单位数码变化时,所对应的输出模拟量的变化量。 34.OTP ROM:这是用户一次性编程写入的程序存储器。
35. 按键电平复位:把复位端通过电阻与电源VCC接通而实现。 36.指令寄存器IR:用来存放指令操作码的专用寄存器。
37.伪指令:不产生可执行的目标代码,仅指明在汇编时执行哪一些特殊的操作。 38. 汇编语言:用助记符、符号和数字等来表示指令的程序语言,它与机器指令是一一对应的。
39.串行口发送/接收缓冲寄存器SBUF:发送/接收共用的数据缓冲寄存器。
40.位寻址:对片内RAM的位寻址区和可以位寻址的特殊功能寄存器SFR进行位操作时的寻址方法。
41.堆栈指针SP:是存放当前堆栈栈顶所对应的存储单元地址的一个8位寄存器。 42.变址寻址:基址寄存器加变址寄存器的间接寻址。
43.DPTR:数据指针DPTR是一个16位的专用地址指针寄存器,主要用来存放16位地址,作为间址寄存器使用。
44.Flash ROM:闪速存储器,编程与擦除完全用电实现,可由用户多次编程写入的程序存储器。
45.全地址译码法:用译码器对高位地址进行译码,译出的信号为片选线。 四、简答题
1.内部RAM低128单元划分为哪几个主要部分?说明各部分的使用特点。 工作寄存器区:32个单元,分为4组,每组包括8个工作寄存器。 位寻址区:共16个字节单元,即可进行字节寻址,又可实现位寻址。 字节寻址区:80个字节单元,可供用户使用。
2.8051有5个中断源,每个中断源入口地址彼此相差8个存储单元,如何利用他们转入相应的中断服务程序。
各中断源的入口矢量地址之间只相隔8个单元,无法容纳一般的中断服务程序。通常是在中断入口矢量地址单元处存放一条无条件转移指令,因而可转至存储器任意空间中去。 3.在MCS-51扩展系统中,片外程序存储器和片外数据存储器用相同的编址方法,是否会在数据总线上出现总线竞争现象?为什么?
不会,因为单片机使用不同的控制信号访问这两类存储器。片外RAM的读写由8051的RD、
WR控制,片外ROM则需要PSEN信号控制。
4.简述LED工作原理?
在选用共阴极的LED时,只要某一发光二极管加上高电平,该段即点亮,反之则暗。而选用共阳极的LED时,要使某一段发光二极管发亮,则需要加上低电平,反之则暗。 5.单片机内部的程序存储器有哪几种形式?
10
掩膜型ROM、EPROM、ROMLESS、OTP、Flash ROM 6.什么是堆栈?堆栈指示器(SP)的作用是什么?
堆栈:是在片内RAM中数据先进后出或后进先出的一个存储区域。 堆栈指示器作用:存放当前堆栈栈顶地址。 7.简述MCS-51单片机中断优先级的顺序。
先执行高优先级中断,后执行低优先级中断,同级中断请求,按下列顺序执行:
外部中断0,定时/计数器0溢出中断,外部中断1,定时/计数器1溢出中断,串行口中断。 8.D/A转换器的技术性能指标有哪些?
分辨率、转换精度、偏移量误差、线性度、建立时间、外界芯片与计算机接口形式 9.简要说明PSW各状态位的作用。
P奇偶标志位,A中奇数个1时,P置1,否则P置0;F1用户标志位,未使用; OV溢出标志位,溢出OV=1,结果不正确,否则OV=0,正常运算;RS1,RS0工作寄存器组选择位,选定哪组工作寄存器;F0用户标志位,用户根据需要确定置位和复位;AC辅助进位标志位,加减运算时,低4位向高4位进位或借位AC=1,否则,AC=0;CY进位标志位,累加器A位7有进位或借位CY=1,否则CY=0.(第二章,P18) 10.8051有哪几个中断源?写出其名称并给出相应的中断入口地址。 ①②
外部中断0请求 0003H 外部中断1请求 0013H
③T0 定时/计数器0溢出中断请求 000BH ④T1 定时/计数器1溢出中断请求 001BH ⑤TX/RX 串行口中断请求 0023H 11.简述MCS-51单片机有哪几种寻址方式。
立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址 12.简述矩阵式键盘的工作过程?
使列线输出全为0,读取行线输入的状态,若没有键按下,行、列线都是断开的,读入的行线均为高电平。当有键按下,对应的行线和列线相通,则读入的相应行线为低电平,然后逐列扫描确定被按下键所在的行号和列号。
13.简述MCS-51单片机4个8位并行I/O口的功能。 P0口作为一般I/O口使用,或作为地址/数据总线使用; P1口是I/O口使用;
P2口作为通用I/O口使用,或作为高8位的地址线输出; P3口作为通用I/O口使用,或作为第二功能使用。
14.查询到某个中断标志为1,此时还需满足哪些条件,才能在下一个机器周期按优先级进
11
行中断处理。
①无同级或更高级的中断在服务;
②现行的机器周期是指令的最后一个机器周期;
③当前正执行的指令不是中断返回指令或访问IP、IE寄存器等与中断有关的指令。 15.简要说明采用软件消除按键抖动的方法。
在第一次检测到有键按下时,该键所对应的行线是为低电平,执行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认为该行确实有键按下。 16.为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?
解答:因为定时器/计数器在方式2下,初值可以自动重装,这样在做串口波特率发生器设置时,就避免了重装参数的操作。
17.单片机复位操作有几种方式,各如何实现复位操作? 上电自动复位:通过外部复位电路的电容充电实现的。 按键电平复位:把复位端通过电阻与电源VCC接通而实现。 外部脉冲复位是由外部提供一个复位脉冲。 18.MCS-51中断请求的撤消有哪几种情况?
(1)定时器0和定时器1的溢出中断,CPU在响应中断后硬件自动清除TF0或TF1标志; (2)外部中断请求的撤销。
边沿触发方式的外部中断,CPU在响应中断后,由硬件自动将IE0或IE1标志位清除。 电平触发方式的外部中断,要增加相应控制接口电路,外部中断请求信号加在增加的触发器时钟端CLK,D接地。
(3)串行口的中断,用软件的方法清除其响应的中断标志位。 19.简述键盘扫描子程序的功能? ①判断键盘上有无按键按下; ②按键去抖动; ③判别按键的键号;
④等待键释放,将读出的键号送入累加器A;
⑤由键号采用查表技术确定键值,然后转各各按键的功能处理。
20.单片机存储器的空间有哪几种基本结构,有什么不同之处?MCS-51单片机采用哪种结构?
普林斯顿结构:将程序和数据合用一个存储器空间,即ROM和RAM的地址同在一个空间分配的不同地址。
哈佛结构:将程序存储器和数据存储器截然分开,分别寻址的结构。 MCS-51单片机采用哈佛结构。
21.MCS-51单片机存储器采用什么结构,在物理和逻辑上各有哪几种地址空间?(第2章,
12
P19-20)
哈佛结构:即 程序存储器与数据存储器严格分开的结构
物理上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。.
逻辑上设有3个存储器空间:片内、片外统一的64K字节程序存储器地址空间,片内256字节数据存储器地址空间,片外64K字节的数据存储器地址空间。 22.简述MCS-51单片机中断响应过程。(第五章,P119-120) (1)CPU响应中断后,由硬件自动设置与中断有关的标志。 (2)CPU响应中断后,由硬件自动保护断点。
(3)根据不同的中断源,选择不同的中断入口地址送入PC,从而转入相应的中断服务程序。 23.A/D转换器有哪几种类型?各有什么特点?(第7章,P192) 计数器式A/D:结构简单,转换速度慢。
双积分式A/D:转换精度很高,抗干扰能力也强,但速度慢。
逐次逼近式A/D:转换速度较快,转换精度也较高,但与双积分式A/D相比,抗干扰性较差。 24.若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令
如下:
2000H
LCALL LABEL
后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么? (3章,3节,P70) 答:1)SP=SP+1=61H
(61H)=PC的低字节=03H (62H)=PC的高字节=20H
SP=SP+1=62H 2)PC=3456H
25. 简述MCS-51单片机4个8位并行I/O口的功能。 P0口作为一般I/O口使用,或作为地址/数据总线使用; P1口是I/O口使用;
P2口作为通用I/O口使用,或作为高8位的地址线输出; P3口作为通用I/O口使用,或作为第二功能使用。
26. 若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令如下:
2000H
LCALL LABEL
则:(1)堆栈指针SP和堆栈内容发生了什么变化?(2)PC的值等于什么? (1)SP=SP+1=61H
SP=SP+1=62H
(61H)=PC的低字节=03H
(62H)=PC的高字节=20H (2)PC=3456H
27. 简要说明采用软件消除按键抖动的方法。
在第一次检测到有键按下时,该键所对应的行线是为低电平,执行一端延时10ms的子程序
13
后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认为该行确实有键按下。 28. 单片机复位操作有哪几种方式,各如何实现复位操作? 上电自动复位、按键电平复位、外部脉冲复位 上电自动复位:通过外部复位电路的电容充电实现的。 按键电平复位:把复位端通过电阻与电源VCC接通而实现。 外部脉冲复位:是由外部提供一个复位脉冲。
29. MCS-51单片机存储器在物理和逻辑上各有哪几种地址空间?
物理上设有4个存储器空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。
逻辑上设有3个存储器空间:片内、片外统一的64K字节程序存储器地址空间,片内256字节数据存储器地址空间,片外64K字节的数据存储器地址空间。
30. 为什么定时器/计数器T1用做串行口波特率发生器时,采用方式2?
因为定时器/计数器在方式2下,TL1作计数用,TH1用于保存计数初值。(2分)当TL1溢出时,TH1值自动重装到TL1中。
31. A/D转换器有哪几种类型?各有什么特点? 计数器式A/D:结构简单,转换速度慢。
双积分式A/D:转换精度很高,抗干扰能力也强,但速度慢。
逐次逼近式A/D:转换速度较快,转换精度也较高,但与双积分式A/D相比,抗干扰性较差。 并列式A/D:结构复杂,造价高 32.简述键盘扫描子程序的功能? ①判断键盘上有无按键按下; ②按键去抖动;
③判别按键的键号,等待键释放,将读出的键号送入累加器A; ④由键号采用查表技术确定键值,然后转各各按键的功能处理。
33. 查询到某个中断标志为1,此时还需满足哪些条件,才能在下一个机器周期按优先级进行中断处理。
①无同级或更高级的中断在服务;
②现行的机器周期是指令的最后一个机器周期;
③当前正执行的指令不是中断返回指令或访问IP、IE寄存器等与中断有关的指令。10. MCS-51中断请求的撤消有哪几种情况?
(1)定时器0和定时器1的溢出中断,CPU在响应中断后硬件自动清除TF0或TF1标志。 (2)外部中断请求的撤销:
边沿触发方式的外部中断,CPU在响应中断后,由硬件自动将IE0或IE1标志位清除。 电平触发方式的外部中断,要增加相应控制接口电路,外部中断请求信号加在增加的触发器
14
时钟端CLK,D接地。
(3)串行口的中断,用软件的方法清除其响应的中断标志位。 34.单片机的结构决定了它具有哪些特点?
①高集成度、高可靠性;②控制功能强;③低电压、低功耗;④优异的性能价格比 12. 简述MCS-51单片机中断响应过程。
(1)CPU响应中断后,由硬件自动设置与中断有关的标志。 (2)CPU响应中断后,由硬件自动保护断点。 (3)根据不同的中断源,选择不同的中断入口地址送入PC,从而转入相应的中断服务程序。
五、读程序(阅读程序后填空。) 1.已知(60H)=45H,执行下列指令 MOV R0,#60H MOV A,#30H XCHD A,@R0 MOV @R0,A
则,运行后,A= 35H ,(60H)= 40H
2.假设(SP)=40H,(DPTR)=5678H,分析连续执行下列指令序列后DPTR及SP的内容。
PUSH DPL; PUSH DPH; POP 08H;
程序执行后,(SP)= 41H ,(08H)= 56H 3.设(A)=35H,(P1)=28H,分析下列程序运行结果
MOV R0,A ANL A,#0FH ANL P1,#0F0H ORL P1,A MOV A,R0
运行后,(A)= 35H ,(P1)= 25H 4. MOV A,30H
CJNE A,31H,A1 SETB P1.0 RET A1:JC A2
15
MOV 40H,A MOV 41H,31H RET
A2:MOV 40H,31H
MOV 41H,30H RET
(1)程序的功能是: 比较30H、31H中数的大小;
(2)若,(30H)=03H,(31H)=0AH,结果存在_40H 。
5.设变量x的值存放在内部RAM的30H单元,y存人40H单元,相应程序如下:
MOV A,30H;
CJNE A,#01H,LOOP;① LOOP:JC LOOP2;
CJNE A,#0AH,LOOP1; LOOP1:JNC LOOP3; MOV 40H,#00H; SJMP EXIT LOOP2:DEC A; MOV 40H,A SJMP EXIT LOOP3:INC A; MOV 40H, A EXET:RET
(1) 所在行的指令作用是: x与1相比较 (x?0)?x?1(2)该程序苏实现的x与y的函数关系是 y??(1?x?10) ?0?x?1(x?1)?6.设(50H)=23H,(60H)=78H,则执行下列指令 MOV SP,#70H PUSH 50H PUSH 60H POP 50H POP 60H
16
则,运行后,(50H)= 78H ;(60H)= 23H 7. MOV C,41H ANL C,/40H MOV 42H,C MOV C,40H ANL C,/40H ORL C,42H MOV 42H,C
(1)程序的功能是: 对40H、41H的内容进行异或 ; (2)结果存在__ 42H ___ 8.试编程将内部数据存储器40H单元的第0位和第7位置“1”,其余位变反。
MOV A,40H
CPL A SETB ACC. 0
SETB ACC. 7 MOV 40H,A
9.设内部RAM存有一无符号数数据块,长度为128字节,在以30H单元为首址的连续单元中。试编程找出其中最小的数,并放在20H单元。
MOV R7,#7FH; MOV R0,#30H; MOV A,@R0; MOV 20H,A;① LOOPl:INC R0
MOV A,@R0; ② ,LOOP LOOP:JNC LOOP2; MOV 20H,A LOOP2:DJNZ R7,LOOP1; SJMP$
(1) ①所在行指令的作用是 第一个数暂存于20H单元,作为最小数 ; (2) ②所在位置应填入的指令是 CJNE A,20H 。 10. START:MOV A,#03H
MOV DPTR,#TAB MOVC A,@DPTR+A
17
MOV 60H,A RET
TAB:DB 30H,31H,32H,33H,34H
DB 35H,36H,37H,38H,39H
(1)该程序的功能是:_查表求03H的ASCALL码__; (2)(60H)= 33H。 11.分析以下程序的运行结果
MOV R2,#25H MOV A,#01H PUSH ACC PUSH 02H POP ACC POP 02H
结果是(R2)= 01H ,而(A)= 25H 。
12.编程将RAM中从DATA单元开始的5个数相加,结果送至SUM单元。 MOV R0,#DATA MOV R3,#05H CLR A
LOOP: ADD A ,@R0 INC R0
DJNZ R3 ,LOOP MOV SUM,A 13. CLR C RLC A MOV R0,A CLR C RLC A ADD A,R0 MOV 30H,A
(1)程序的功能是: 累加器A的内容乘6 ; (2)结果存在__ 30H __。
14.将外部RAM的一个数据块传送到内部RAM,两者的首地址分别为X和Y,遇到传送的数据为0时停止传送。 MOV R0,#X
18
MOV R1,#Y LOOP: ① HERE:JZ HERE; ② MOV @R1,A INC R0 INC R1 SJMP LOOP
(1) ①所在位置应填入的指令是 MOVX A,@R0 (2)②所在行指令的作用是 原地踏步 15.AM中00H位置1;否则,00位清0。 ORG 2000H
MOV A,30H
SUBB A,31H JNC BIG CLR 00H SJMP $ BIG: SETB 00H SJMP
16.设(A)=35H,(P1)=28H,分析下列程序运行结果
MOV R0,A ANL A,#0FH ANL P1,#0F0H ORL P1,A MOV A,R0
运行后,(A)= 35H ;(P1)= 25H
17.已知SP=62H,PC=2345H,(62H)=07H,(61H)=30H,(26H)=56H。问此时执行“RET”指令以后,SP= 60H ;PC= 0730H
18.将片内20H-70H中的内容传送到0ABH-0FBH中去, START:MOV R0,#20H MOV R1,#0ABH MOV R7,#51H LOOP:MOV A,@R0 MOV @R1,A 19
INC R0 INC R1
DJNZ R7 ,LOOP 19.请用位操作指今,求下面逻辑方程:
P1.7=ACC.0×(B.0十P2.1)+P3.2 MOV C,B.0
ORL C,P2.1 ANL C,ACC.0
ORL C,/P3.2 MOV P1.7,C
20.设内部RAM 40H和41H单元中存放2个8位无符号二进制数
MOV A,40H
CJNE A,41H,LOOP;① LOOP: JNC LOOP1; MOV A,41H; LOOPl:MOV 30H,A;
(1)该程序的功能是 比较40H、41H中数的大小 (2) 30H中保存的内容是 较大的数 。
21.设内部RAM中30H单元的内容为80H,试分析执行下面程序后各有关单元的内容。 MOV 60H,#30H MOV R0,#60H MOV A,@R0 MOV R1,A MOV 40H,@R1
程序运行后,(A)= 30H ,(40H)= 80H 22. MOV R1,#7FH MOV 7EH,#00H MOV 7FH,#40H DEC @R1 DEC R1 DEC @R1
程序运行后,(7EH)= 0FFH ,(7FH)= 3FH 23.JMP128:MOV A,R3 RL A;①
20
MOV DPTR,#PRGTBL JMP @A+DPTR PRGTBL:AJMP ROUT00 AJMP ROUT01 …
AJMP ROUT7F
(1)该程序的功能是: 根据R3的值转到128 个目的地址 (2)①所在行指令的作用是: A的内容×2
24.编写程序,使间址寄存器R0所指的连续两个片外数据存储器单元中的低4位二进制数,合并为一个字节,装入累加器A中。已知R0指向低地址,并要求该单元低4位放在A的高4位。
MOVX A,@R0 ANL A,#0FH
SWAP A MOV B,A INC R0 MOVX A,@R0 ANL A,#0FH
ORL A,B RET
25.请编写程序,将片外数据存储器中2000H单元中的内容和2100H单元的内容相乘,并将结果存放在内部数据RAM的22H和23H单元中。 MOV DPTR,#2000H MOVX A,@DPTR ①
MOV DPTR,#2100H MOVX A,@DPTR MUL AB MOV 22H,A MOV 23H,B RET
(1)①所在位置应填入的指令是 MOV B,A (2)乘积的高位保存在 23H 中
26.设(30H)=40H,(40H)=10H,(P1)=0CAH,执行下列程序
21
MOV R0,# 30H MOV A,@R0 MOV R1,A MOV B,@R1 MOV @R1,P1 MOV P2,P1
运行程序后:(P2)= 0CAH ,(40H)= 0CAH 27. MOV A,#77H XRL A,#0FFH ANL A,#0FH MOV P1,#64H ANL P1,#0F0H ORL A,P1
运行程序后,(A)= 68H ,(P1)= 60H
28.内存中以STARING开始的区域有若干个字符和数字,最末一个字符为“$”(24H),统计这些字符的数字,结果存入NUM单元。 CLR A
MOV R0,# STRING LAB: CJNE @R0 ,#24H,LAB2 SJMP LAB3 LAB2:INC A INC R0
SJMP LAB LAB3:INC A MOV NUM,A
29、设在以M为始地址的内部RAM 中连续存放有100个单字节数,试编一程序查找一个数0BH,找到后把其地址送N单元,若这个数不存在,则把FFH 送N单元。 ORG 1800H START:MOV R0,#M MOV R1,#64H
LP1:CJNE @R0,#0BH,LP2;① MOV N,R0 SJMP LP3
22
LP2:INC R0 ② ,LP1 MOV N,0FFH LP3:SJMP LP3
(1)①所在行指令的作用是 比较R0所指地址的内容是否与0BH相等 ; (2)②应填入的指令是 DJNZ R1
30、将两个带符号数分别存于DATA1和DATA2单元。并比较他们的大小,将较大者存入DATA3单元。 CLR C
MOV A,DATA1 SUBB A,DATA2;① JZ MAX1 JB OV,MAX2 SJMP MAX1 JB OV,MAX1 MAX2:MOV A,DATA2 SJMP MAX3 MAX1:MOV A,DATA1 MAX3:MOV DATA3,A DATA1 DATA 30H DATA2 DATA 31H DATA 3 DATA 32H
(1)①所在行指令的作用是 比较DATA1和DATA2的大小 (2)OV属于寄存器 PSW中的标志位 ; 31.设(A)=35H,(P1)=28H,分析下列程序运行结果
MOV R0,A ANL A,#0FH ANL P1,#0F0H ORL P1,A MOV A,R0
运行后,(A)= 35H ;(P1)= 25H 32. MOV A,#77H XRL A,#0FFH ANL A,#0FH
23
MOV P1,#64H ANL P1,#0F0H ORL A,P1
运行程序后,(A)= 68H ,(P1)= 60H 33.请用位操作指今,求下面逻辑方程:
P1.7=ACC.0×(B.0+P2.1)+P3.2 MOV C,B.0
ORL C,P2.1 ANL C,ACC.0
ORL C,/P3.2 MOV P1.7,C
34.设内部RAM中30H单元的内容为80H,试分析执行下面程序后各有关单元的内容。 MOV 60H,#30H MOV R0,#60H MOV A,@R0 MOV R1,A MOV 40H,@R1
程序运行后,(A)= 30H ,(40H)= 80H 35.设(30H)=40H,(40H)=10H,(P1)=0CAH,执行下列程序 MOV R0,# 30H MOV A,@R0 MOV R1,A MOV B,@R1 MOV @R1,P1 MOV P2,P1
运行程序后:(P2)= 0CAH ,(40H)= 0CAH
36.已知SP=62H,PC=2345H,(62H)=07H,(61H)=30H,(26H)=56H。问此时执行“RET”指令以后,SP= 60H ;PC= 0730H 37. MOV R1,#7FH MOV 7EH,#00H MOV 7FH,#40H DEC @R1 DEC R1
24
DEC @R1
程序运行后,(7EH)= 0FFH ,(7FH)= 3FH
38.编写程序,使间址寄存器R0所指的连续两个片外数据存储器单元中的低4位二进制数,合并为一个字节,装入累加器A中。已知R0指向低地址,并要求该单元低4位放在A的高4位。
MOVX A,@R0 ANL A,#0FH
SWAP A MOV B,A INC R0 MOVX A,@R0 ANL A,#0FH
ORL A,B RET
39.请编写程序,将片外数据存储器中2000H单元中的内容和2100H单元的内容相乘,并将结果存放在内部数据RAM的22H和23H单元中。 MOV DPTR,#2000H MOVX A,@DPTR ①
MOV DPTR,#2100H MOVX A,@DPTR MUL AB MOV 22H,A MOV 23H,B RET
(1)①所在位置应填入的指令是 MOV B,A (2)乘积的高位保存在 23H 中
40.设内部RAM 40H和41H单元中存放2个8位无符号二进制数
MOV A,40H
CJNE A,41H,LOOP LOOP: JNC LOOP1 MOV A,41H LOOPl:MOV 30H,A
(1)该程序的功能是 比较40H、41H中数的大小
25
(2) 30H中保存的内容是 较大的数 。 41.JMP128:MOV A,R3 RL A;①
MOV DPTR,#PRGTBL JMP @A+DPTR PRGTBL:AJMP ROUT00 AJMP ROUT01 …
AJMP ROUT7F
(1)该程序的功能是: 根据R3的值转到128 个目的地址 (2)①所在行指令的作用是: A的内容×2 42.将片内20H-70H中的内容传送到0ABH-0FBH中去。 START:MOV R0,#20H MOV R1,#0ABH MOV R7,#51H LOOP:MOV A,@R0
MOV @R1,A INC R0 INC R1
DJNZ R7 ,LOOP
43.内存中以STARING开始的区域有若干个字符和数字,最末一个字符为“$”(24H),统计这些字符的数字,结果存入NUM单元。 CLR A
MOV R0,# STRING LAB: CJNE @R0 ,#24H,LAB2 SJMP LAB3 LAB2:INC A INC R0 SJMP LAB LAB3:INC A MOV NUM,A
44.设在以M为始地址的内部RAM 中连续存放有100个单字节数,试编一程序查找一个数0BH,找到后把其地址送N单元,若这个数不存在,则把FFH 送N单元。 ORG 1800H
26
START:MOV R0,#M MOV R1,#64H
LP1:CJNE @R0,#0BH,LP2;① MOV N,R0 SJMP LP3 LP2:INC R0 ② ,LP1 MOV N,0FFH LP3:SJMP LP3
(1)①所在行指令的作用是 比较R0所指地址的内容是否与0BH相等 ; (2)②应填入的指令是 DJNZ R1
45.将两个带符号数分别存于DATA1和DATA2单元。并比较他们的大小,将较大者存入DATA3单元。 CLR C
MOV A,DATA1 SUBB A,DATA2;① JZ MAX1 JB OV,MAX2 SJMP MAX1 JB OV,MAX1 MAX2:MOV A,DATA2 SJMP MAX3 MAX1:MOV A,DATA1 MAX3:MOV DATA3,A DATA1 DATA 30H DATA2 DATA 31H DATA 3 DATA 32H
(1)①所在行指令的作用是 比较DATA1和DATA2的大小 ; (2)OV属于寄存器 PSW 中的标志位。
六、综合题
1、编程实现利用定时/计数器1的方式2对外部信号的脉冲个数进行计数。要求每计满100
次,将累加器A加1。
27
(1)完成下面程序
MOV TMOD,_ _____ MOV TH1,__ ____ MOV TL1,__ _ MOV IE,#88H SRTB TR1
AGAIN: SJMP AGAIN ORG 001BH
INC A RETI
(2)该程序采用的是_ __方式检测定时/计数器溢出,程序中AGAIN: SJMP AGAIN的作用是 。 答案:(1)#60H; #9CH; #9CH; (2)中断;等待中断
2、某单片机系统的程序存储器配置如图所示。 问:(1)试连线,构成一个片外扩展的电路。
(2)电路中的片选信号与P2.5相连,则当P2.5=0时,选通第 片,当P2.5=1时,选通第 片。
(3)电路中EA=0,对于单片机则不能再使用 。
答案:(1)
28
(2)一;二 (3)片内程序存储器
3、8255的片选信号接P2.7,A0、A1分别接P0.0、P0.1,P0口其它位都是低电平,P2口其它位都是高电平。 ①、试求各端口的地址。
②、使A口为方式0输出,B口为方式0输出,C口为输入的工作方式控制字。 ③、编写初始化程序
答案:①、试求各端口的地址
A口:7F00H;B口:7F01H;C口:7F02H;控制寄存器:7F03H ②、工作方式控制字为89H ③、初始化程序
MOV DPTR,#7F03H MOV A,#89H MOVX @DPTR,A
4、在6MHz晶振下,某定时器0工作方式2产生定时,其相应程序如下: MOV IE ,#00H
MOV TMOD,#02H MOV TH0 ,#0CEH MOV TL0 ,#0CEH ① 29
LOOP:
JBC TF0 ,LOOP1;② AJMP LOOP
LOOP1: CPL P1.0
AJMP LOOP
(1)①中应填入的指令是___ _________; (2)②所指指令的作用是 ;
(3)该程序采用的是__ ___________方式检测定时器溢出; (4)P1.0将产生周期为____ __________的方波。
答案:(1)SETB TR0;(2)判断是否溢出;(3)查询;(4)200us
5、若A口定义为基本的输人方式,B口定义为基本的输出方式,对输入脉冲进行200分频。 (1)试求I/O口各端口地址;
(2)写出8155的1/O初始化程序。
(1)I/O接口地址:
(2) MAIN:MOV DPTR,#7F04H MOV A, MOVX @DPTR,A INC DPTR
MOV A, MOVX @DPTR,A MOV DPTR,#7F00H MOV A, MOVX @DPTR,A
答案:(1)I/O接口地址:命令状态口:7F00H; PA口:7F01H;PB口:7F02H;PC口:7F03H;
定时器低8位:7F04H;定时器高8位:7F05H (2)#0C8H;#40H ;# 0C2H
6、利用8155作键盘接口,实现4×8键盘的设计,若PA口接键盘列线,PC口接键盘行线。
30
(1)完整接口电路;(2)填写该键盘的按键处理流程图。 (1)完成下列接口电路
(2)
开始 8155初始化,设定 ① 延时 N N ② 确认有键闭合否? ③ (20H)←列号,(21H)←行查TAB1表获取扫描时的行、列值 从TAB2表取出对应键的ASCHⅡ值→(22H) 返回 ①应填入:
31
②应填入: ③应填入: 答案:(1)
(2)①A口出,C口入;②有键闭合否?;③系列扫描判别键的位置 7、设单片机晶振频率为6MHz,使用定时器1以方式。产生周期为500us的等宽正方波连续脉冲,并由P1.0输出。以查询方式完成。
MOV TMOD, MOV TH1, MOV TL1, MOV IE, LOOP:SETB TR1;
JBC TF1,LOOP1; AJMP LOOP
LOOP1:MOV TH1,
MOV TL1, CLR TF1;① CPL P1.0; AJMP LOOP;
①??
指指令的作用是
答案:#00H;#0FCH;#03H;#00H;#0FCH;#03H;计数溢出标志位清“0\ 8、 扩展4KB字节ROM,CPU使用80C51,ROM使用EPROM 2732。
32
要求(1)完成扩展电路;
(2)在电路中,EA连至+5V,这样可使用8051的 ,其地址为0000H~0FFFH。当PC大于0FFFH时,则访问 ,其地址范围为1000H~1FFFH。
(3)从ROM读数据使用指令 。 答案: (1)
33
(2)片内程序存储器;片外程序存储器 (3)MOVC
9、要求使用8155定时器/计数器对计数脉冲进行千分频,即计数1000后,TIMER OUT端电平状态变化,并重新送数以产生连续方波。此外假定PA口为输入方式,PB口为输出方式,PC口为输入方式,禁止中断。假定命令/状态寄存器地址为0FD00H。①、试求I/O口各端口地址;②、编写初始化程序。
答案:(第6章,P160)
①、I/O口各端口地址:
命令状态寄存器:0FD00H;A口:0FD01H;B口:0FD02H;C口:0FD03H; 定时计数器低8位:0FD04H;定时计数器高8位:0FD05H ②、 MOV DPTR,#0FD00H; MOV A,#0C2H; MOVX @DPTR,A; MOV DPTR,#0FD04H; MOV A,#0E8H; MOVX @DPTR,A; INC DPTR; MOV A,#43H; MOVX @DPTR,A;
10、即单片机晶振频率为6MHz,使用定时器1以工作方式1产生周期为500us的等宽连续正方波脉冲,P1.0端输出。但以中断方式进行编程。
主程序: MOV TMOD, ; MOV TH1, ; MOV TL1, ; SETB ET1; SETB TR1; HERE:SJMP$; 中断服务程序:
MOV TH1, ; MOV TL1, ; RETI;中断返回
答案:10、#10H; #0FFH; #83H ; SETB EA;
34
#0FFH; #83H; CPL P1.0;
11、扩展4KB字节ROM,CPU使用80C51,ROM使用EPROM 2732。
要求(1)完成扩展电路;
(2)在电路中,EA连至+5V,这样可使用8051的 ,其地址为0000H~0FFFH。当PC大于0FFFH时,则访问 ,其地址范围为1000H~1FFFH。
(3)从ROM读数据使用指令 。 (1)
(2)片内程序存储器;片外程序存储器。
35
(3)MOVC。
12、8255的片选信号接P2.7,A0、A1分别接P0.0、P0.1,P0口其它位都是高电平,P2口其它位都是高电平。 ①、试求各端口的地址。
②、使A口为方式0输入,B口为方式0输出,C口为输出的工作方式控制字。 ③、编写初始化程序 答案:
①、各端口的地址。
A口:7FFCH:B口:7FFDH;C口:7FFEH;控制口:7FFFH ②、工作方式控制字:90H ③、编写初始化程序
MOV DPTR,#7FFFH MOV A,#89H MOVX @DPTR,A
13、设单片机晶振频率为12MHz,使用定时器1以方式1。产生周期为20ms的等宽正方波连续脉冲,并由P1.0输出。 (1)完成下面程序
MOV TMOD, MOV TH1,#0D8H MOV TL1,#0F0H MOV IE,#00H; LOOP:SETB TR1;
JBC TF1,LOOP1; AJMP LOOP
LOOP1: CLR TF1; CPL P1.0;
AJMP LOOP;重复循环
(2)该程序采用的是 方式检测定时/计数器溢出,程序中CLR TF1的作用是 。
答案:(1)#10H;MOV TH1,#0D8H;MOV TL1,#0F0H (2)查询 ;清标志位 14、扩展4KB字节RAM,CPU使用8031,RAM使用6116。
36
要求(1)完成扩展电路;
(2)8051单片机访问片外数据存储器RAM读写操作的指令为 。 (3)RAM6116的片选信号CE接P2口的P2.7,若8031未用地址线为0,则6116的地址范围为 。 答案: (1)
(2)MOVX (3)0000H~07FFH
37
15、8255的片选信号接P2.7,A0、A1分别接P0.0、P0.1,P0口其它位都是高电平,P2口其它位都是高电平。 ①、试求各端口的地址。
②、把C口的PC2置位的按位置数控制字。 ③、编写初始化程序 答案:
①、各端口的地址。
A口:7FFCH:B口:7FFDH;C口:7FFEH;控制口:7FFFH ②、把C口的PC2置位的按位置数控制字:05H ③、编写初始化程序
MOV DPTR,#7FFFH MOV A,#05H MOVX @DPTR,A
16、设单片机晶振频率为12MHz,使用定时器0以方式0。产生周期为2ms的等宽正方波连续脉冲,并由P1.4输出。 (1)完成下面程序
MOV TMOD, MOV TH0,#0E0H MOV TL0,#18H SETB EA SETB ET0 HERE:SJMP HERE
ORG 000BH
AJMP CTC0
CTC0:MOV TH0,#0E0H; MOV TL0,#18H ; RETI
(2)该程序采用的是_ __方式检测定时/计数器溢出,程序中HERE:SJMP HERE
的作用是 。
38
答案:
(1)#00H;SETB TR0;CPL P1.4; (2)中断;等待中断
17、8051单片与8155接口电路如图所示。 (1)试求I/O口各端口地址和RAM地址;
(2)写出将立即数6AH写入8155RAM的70H的指令。
答案:(1)I/O接口地址: 命令状态口:7F00H
PA口:7F01H PB口:7F02H PC口:7F03H 定时器低8位:7F04H 定时器高8位:7F05H
RAM地址:3F000H~3FFFH (2) MOV A,#6AH MOV DPTR,# 3F70H MOVX @DPTR,A
18、扩展8KB字节RAM,CPU使用8031,RAM使用E2PROM2864。
39
要求(1)完成扩展电路;
(2)E2PROM是电擦除可编程只读存储器,其优点是能在线擦除和改写。即可作 用,也可以做 用。
(3)图中,2864的片选端CE与高位地址线P2.7连接,则其地址范围为 。 答案: (1)
40
(2)程序存储器;数据存储器用 (3)0000H~17FFH
19.设单片机晶振频率为12MHz,使用定时器0以方式0。产生周期为2ms的等宽正方波连续脉冲,并由P1.4输出。 (1)根据题意,完成下面程序
MOV TMOD, #00H MOV TH0, #0E0H MOV TL0, #18H SETB EA
SETB ET0 SETB TR0 HERE:SJMP HERE ORG 000BH
AJMP CTC0
CTC0: MOV TH0,#0E0H MOV TL0,#18H CPL P1.4 RETI
(2)该程序采用的是什么方式检测定时/计数器溢出?中断
20.单片机晶振频率为6MHz,使用定时器1以工作方式1产生周期为500us的等宽连续正方波脉冲,P1.0端输出。以中断方式进行编程。
主程序: MOV TMOD, #10H MOV TH1, #0FFH MOV TL1, #83H
SETB EA SETB ET1 SETB TR1 HERE:SJMP$ 中断服务程序:
MOV TH1, #0FFH MOV TL1, #83H CPL P1.0 RETI
21.设单片机晶振频率为12MHz,使用定时器1以方式1,产生周期为20ms的等宽正方波
41
连续脉冲,并由P1.0输出。 (1)完成下面程序
MOV TMOD, #10H MOV TH1, #0D8H MOV TL1, #0F0H MOV IE, #00H LOOP:SETB TR1
JBC TF1,LOOP1 AJMP LOOP
LOOP1: MOV TH1,#0D8H MOV TL1,#0F0H CLR TF1 CPL P1.0 AJMP LOOP
(2)该程序采用的是 查询方式检测定时/计数器溢出,程序中CLR TF1的作用是 清标志位 。
22.以两片EPROM2732和80C51单片机构成的片外程序存储器扩展电路如下图所示。
P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7 80C51 ALE P2.0P2.1P2.2P2.3P2.6P2.7EAPSEND0 Q0D1 Q1D2 Q2D3 Q3D4 74LS373 Q4D5 Q5D6 Q6D7 Q7GA0 D0A1 D1A2 D2A3 D3A4 D4A5 D5A6 2732(1) D6A7 D7A8 A9A10A11CE OE A0 OE D0A1 D1A2 D2A3 D3A4 D4A5 D5A6 2732(2) D6A7 D7A8 A9A10A11CE
要求:(1)设单片机P2口未连引脚输出为低电平,说明两片芯片的地址范围分别是多少?
42
8000H-8FFFH; 4000H-4FFFH
(2)程序存储器EPROM2732的容量是多少?4KB (3)该系统使用的扩展方法是什么?线选法
(4)EA引脚接地,则说明什么?CPU访问的是片外程序存储器
23.8031单片机外部扩展E2PROM2864,使2864既可作为程序存储器,又可作为数据存储器使用。
P2.7P0.0P0.1P0.2P0.3P0.4P0.58031 P0.6P0.7ALEP2.0P2.1EA P2.2P2.6 P2.3P2.5 P2.4PSENRDWR要求(1)完成扩展电路;
D0 Q0D1 Q1D2 Q237D3 Q33SD4 Q4L47D5 Q5D6 Q6D7 G Q774LS0843
CEA0 D0A1 D1A2 D2A3 D3A4 D4A5 2864 D5A6 D6A7 D7A8A9A10A11A12OEWE
P2.7P0.0P0.1P0.2P0.3P0.4P0.58031 P0.6P0.7ALEP2.0P2.1EA P2.2P2.6 P2.3P2.5 P2.4PSENRDWRD0 Q0D1 Q1D2 Q2D3 Q3D4 Q4D5 Q5D6 Q6D7 G Q7CEA0 D0A1 D1A2 D2A3 D3A4 D4A5 2864 D5A6 D6A7 D774LS37374LS08A8A9A10A11A12OEWE
(2)E2PROM2864的容量是多少?属于哪种存储器? 8KB; 电擦除可编程只读存储器
(3)图中,2864的片选端CE与高位地址线P2.7连接,则其地址范围是多少? 0000H~1FFFH
24.80C51单片机外采用74LS138译码器扩展三片程序存储器2764。
要求:(1)根据题意完成扩展电路;
44
(2)说明各芯片的地址范围。
(1)0000H~1FFFH; (2)2000H~3FFFH; (3)4000H~5FFFH
25.8255的A口工作于方式0输入,B口工作于方式0输出,C口未用(置0),地址线未用位置1,A口接8个开关,B口接8个发光二极管。开关断开,相应的LED点亮;开关闭合,LED熄灭。
(1)根据题意,求各端口的地址。7FFCH; 7FFDH; 7FFEH;7FFFH (2)编程实现上述功能。
MOV DPTR, #7FFFH MOV A, #90H
MOVX @DPTR,A LOOP: MOV DPTR,#7FFCH
MOVX A,@DPTR
MOV DPTR,#7FFDH MOVX @DPTR,A
45
SJMP LOOP
26.8051单片与8155接口电路如图所示。
(1)试求I/O口各端口地址和RAM地址; I/O接口地址:
命令状态口:7F00H; PA口:7F01H ; PB口:7F02H; PC口:7F03H; 定时器低8位:7F04H;定时器高8位:7F05H RAM地址:3F000H~3FFFH
(2)编程将立即数6AH写入8155RAM的70H。 MOV A,#6AH MOV DPTR,# 3F70H MOVX @DPTR,A
27.已知可编程I/O接口芯片8255的控制寄存器地址为BFFFH,已知未连接地址线为高电平,设定A口、B口工作于方式0,A口为输入,B口为输出,C口为输入
P2.6P0.0~P0.7D 80C5174LS373Q1G Q0CSD0~D7 PA8255A1 PBA0RDWRRESET PCGNDALERDWR+5V
(1)A口、B口、C口的地址。A口:BFFCH; B口:BFFDH; C口:BFFEH (2)根据要求完成80C51与8255连接的逻辑原理图
46
P2.6P0.0~P0.7D 80C5174LS373Q1G Q0CSD0~D7 PA 8255ALERDWRA1 PBA0RDWRRESET PCGND+5V
(3)编写程序从C口读入数据,再从B口输出。MOV DPTR,#BFFFH MOV A, #99H MOVX @DPTR,A
MOV DPTR , #BFFEH MOVX A,@DPTR MOV DPTR, #BFFDH MOVX @DPTR,A
47