单片机原理与应用复习提纲

更新时间:2024-01-24 07:47:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机原理与应用复习提纲

第1章 绪论

1. 进制转换

2. 原码、反码、补码

第2章 80C51系列单片机基本结构及原理

程序计数器PC, 16位计数器,是不可访问的, 存放着正在执行指令的下一条指令在程序存储器中存放的首地址

80C51系列单片机中PC的位数为16位,可以对64KB(=216B)的程序存储器单元进行寻址。 80C51系列单片机的时序单位有4个:震荡周期、状态周期、机器周期、指令周期。各周期的计算方法。

单片机引脚:ALE、RESET、EA、PSEN ALE:地址所存。

EA高电平:访问程序存储器时先内后外。 EA低电平:访问程序存储器时只访问外部。 PSEN:访问程序存储器时的信号。 时钟信号两种方式:内部时钟方式;外部时钟方式

三总线:地址总线AB、数据总线DB、控制总线CB 51系列单片机在物理上有4个存储空间:

? 片内程序存储器(4KB)---- 0000H~0FFFH

? 片外程序存储器(扩展64KB)---- 0000H~0FFFH,1000H~FFFFH ? 片内数据存储器(128B)---- 00H~7FH

? 片外数据存储器(扩展64KB)---- 0000H~FFFFH 程序存储器有6个单元具有特殊功能。

? 0000H:是所有执行程序的入口地址,8051复位后,PC指向此处,CPU总是从0000H单元

开始执行程序。

? 0003H-000AH:外部中断0入口。

? 000BH-0012H:定时器0溢出中断入口。 ? 0013H-001AH:外部中断1入口。

? 001BH-0022H:定时器1溢出中断入口。 ? 0023H-002AH:串行口中断入口。

使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断程序起始地址。

数据存储器:

(1)片内128BRAM,从00~1FH安排了4组通用寄存器也称为工作寄存器,每组占用8个字节,记为R0~R7。在某一时刻,CPU只能使用其中一组工作寄存器,工作寄存器组的选择由程序状态字寄存器PSW中RS1、RS0两位确定。 PSW的RS1、RS0 决定当前工作寄存器组号 :

寄存器0组 :地址00H~07H; 寄存器1组 :地址08H~0FH; 寄存器2组 :地址10H~17H; 寄存器3组 :地址18H~1FH。

1

2.位寻址区:80C51单片机的位寻址区占用内部RAM字节地址20H~2FH,共16个字节,128位。

(2)位寻址区:20H~2FH共16个字节,位地址范围是00H~7FH。

(3)用户RAM区,30H~7FH。一般堆栈放该部分区域,系统复位时SP的初值为07H,可以重新设置。

特殊功能寄存器:地址范围80H~FFH,寄存器个数22个,其中21个可寻址,而只有地址能被8整除的可以位寻址。

位寻址有多种方式:直接使用位地址、使用“字节地址.位序号”来表示、位名称、寄存器符号. 位序号。 4个端口:

P0、P1、P2、P3,一般扩展存储器时,P2口传送地址高8位,P0口分时复用传送地址低8位。 P0口实际存在两种读入方式:“读锁存器”和“读引脚”。

凡遇“读取P0口前一状态以便修改后再送出”的情形,都属于“读锁存器”指令,如:而指令“CPL P1.0”则是“读锁存器”。

读引脚指令,如:“MOV C, P0.0”读的是P0.0引脚,单片机复位后,P0口锁存器自动被置“1” P端口作为输入口读引脚时,必须首先执行向锁存器写“1”操作指令(例如:MOV P1,#0FFH),方能正确读入引脚电平状态数据。

状态寄存器PSW:

四个状态:CY、AC、OV、P

系统复位时PC=0000H,说明程序应从程序存储器的0000H单元开始执行。

第3章 80C51系列单片机的寻址方式和指令系统

80C51的7种寻址方式:

立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。 指令系统:

MOV MOVX MOVC PUSH POP LJMP AJMP SJMP LCALL ACALL

ANL ORL XRL RL RLC RR RRC XCH XCHD SWAP ADD DA A SETB CPL RETI RET

2

第4章

【例4-2】设一个2位十进制数的十位数字以ASCII码的形式存放在片内RAM的31H单元,32H单元存放该数据个位的ASCII码。编写程序将该数据转换成压缩BCD码存放在20H单元。

解:由于ASCII码30H~39H对应BCD码的0~9,所以只要保留ASCII的低4位,而高4位清零即可。实现程序如下: ORG 0040H

START: MOV A,31H ;取十位ASCII码 ANL A,#0FH ;保留低半字节 SWAP A ;移至高半字节 MOV 20H,A ;存于20H单元 MOV A,32H ;取个位ASCII码 ANL A,#0FH ;保留低半字节 ORL 20H,A ;合并到结果单元 SJMP $

【例4-3】求单字节有符号数的二进制补码,设待求数据存放于累加器A中。

解:正数补码是其本身,负数补码是其反码加1。因此,程序应首先判断被转换数的符号,负数进行转换,正数本身即为补码。参考程序如下:

CMPT: JNB ACC.7,RETU ;(A)>0,不需转换 MOV C,ACC.7 ;符号位保存 CPL A ;(A)求反,加1 ADD A,#1

MOV ACC.7,C ;符号位存在A的最高位 RETU: RET

【例4-5】编写查找最大值程序。假设从内部RAM 30H单元开始存放10个无符号数,找出其中的最大值送入内部RAM的MAX单元。 程序如下:

ORG 0200H

MOV R0,#30H ;数据首地址送R0

MOV A,@R0 ;取第一个数做基准数送A MOV R7,#09H ;比较次数送计数器R7

LOOP: INC R0 ;修改地址指针,指向下一地址单元 MOV 40H,@R0 ;要比较的数暂存40H中 CJNE A,40H,CHK ;两数作比较

CHK: JNC LOOP1 ;A大,则转移 MOV A,@R0 ;A小,则将较大数送A

LOOP1:DJNZ R7,LOOP ;计数器减1,不为零,继续 MOV MAX,A ;比较完,存结果 END

【例4-6】编写数据检索程序。假设从内部RAM 60H单元开始存放着32个数据,查找是否有“$”符号(其ASCII码为24H),如果找到就将数据序号送入内部RAM 2FH单元,否则将FFH送入内部RAM 2FH单元。

3

程序如下:

ORG 0300H

MOV R0,#60H ;数据区首地址送R0 MOV R7,#20H ;数据长度送计数器R7 MOV 2FH,#00H ;工作单元清零 LOOP: MOV A,@R0 ;取数送A

CJNE A,#24H,LOOP1;与“$”比较,不等转移

SJMP HERE ;找到,转结束(序号在2FH单元) LOOP1:INC R0 ;修改地址指针 INC 2FH ;序号加1

DJNZ R7,LOOP ;计数器减1,不为零,继续 MOV 2FH,#0FFH ;未找到,标志送2FH单 元 HERE: AJMP HERE ;程序结束 END

第5章

80C51单片机的中断源共有5个,其中2个为外部中断源,3个为内部中断源: ⑴外部中断:INT0、 INT1。

⑵定时/计数器0溢出中断:T0、T1。 ⑶串行中断。

80C51单片机中涉及中断控制的4个特殊功能寄存器:

定时和外中断控制寄存器TCON;串行控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。

80C51单片机中断优先级有两种:高优先级和低优先级。 中断服务程序与调用子程序的区别

调用中断服务程序类似于程序设计中的调用子程序,但两者又有区别。中断与调用子程序,不同的是:

①子程序嵌套是在程序中事先按排好的;中断嵌套是随机发生的。 ②子程序嵌套无次序限制,中断嵌套只允许高优先级“中断”低优先级 【例5-2】若PS=0,PX0=0,①串口的中断被响应后,外中断请求出现,则CPU会响应外中断0吗?②反之呢?③若两者同时出现呢? 解:

①不会。因为同级的中断不能够相互打断。 ②反之也不会,理由同前。

③两者同时出现则会先响应外部中断0,因为外中断0的查询次序在串口之前。

第6章

在控制系统中,通常需要定时、延时、计数的功能,可以采用下面三种方法:软件定时、采用时基电路定时、采用可编程定时器定时。

80C51单片机有两个定时/计数器:T0、T1。

4

定时/计数器的初始化一般应包括以下四个步骤:

① 对TMOD寄存器赋值,以确定定时器的功能及工作模式选择;

② 置定时/计数器初值,直接将初值写入寄存器的TH0、TL0或TH1、TL1;

③ 根据需要,对寄存器IE置初值,开放定时器中断(中断模式采用,查询模式该步省略); ④ 对TCON寄存器中的TR0或TR1置位,启动定时/计数器。TR0或TR1置位以后,计数

器即按规定的工作模式和初值进行计数或开始定时。

P131 习题 6-1,

6-1 (1)51系列单片机内部有2个定时/计数器。 (2)2个。

(3)特殊功能寄存器TMOD用于确定定时/计数器TO和T1的功能及4种工作模式的选择。特殊功能寄存器TCON用来控制定时/计数器TO和T1的启动和停止,并给出相应的状态。

6-7工作在模式3下的TO,它将把16位计数器分成两个相互独立的8位计数器TLO和TH0.其中TLO利用了定时/计数器TO本身的一些控制位,既可以按计数模式工作,也可以按定时模式工作。而THO被规定只用做定时器。

一般情况下,当T1工作在串口波特率发生器时,T0才工作在模式3。T0工作在模式3时,T1课定位模式0,模式1,模式2,用来做串口的波特率发生器或不需要中断的场合。

第7章

P145 例7-2 例7-4

p160 7-7 (1)51系列单片机的串行接口包括2个缓冲器。

(2)发送缓冲器只能写入,不能读出。接收缓冲器只能读出不能写入。因此通过使用不同的读写缓冲器的指令来决定是对哪一个缓冲器进行操作。 ,7-10(1)波特率是指每秒传送二进制数据的位数。 (2)波特率为11bit×250个/s=2750bit/s。

第8章 80C51系列单片机并行系统扩展技术

80C51系列单片机的地址线由P2口和P0口提供,共16位。 80C51系列单片机没有专门对外部扩展的I/O口、A/D芯片、D/A芯片的操作指令,借用对外部RAM的操作指令MOVX实现对外部扩展芯片的控制。

所谓地址重叠,是指一个存储单元占用多个地址空间,即不同的地址会选通同一个存储单元。 存储器的扩展包括:位扩展和字扩展。

下图为51单片机外扩3片8K字节的EPROM 2764线选法产生/CE的接口连线图,给出3片2764各自的地址范围。画出译码法产生/CE的接口连线图,并给出3片2764各自的地址范围。

5

用8751串行口外接CD4094扩展8位并行输出口,8位输出端的各位都接一个共阴极发光二极管。要求实现:发光二极管从左到右以一定延迟(约50ms)轮流点亮,并不断循环。试将下列电路图补充完整,并编程实现。

P165 例8-2 例8-3

P193 8-1 片选 8-2 32KB

8-3 程序存储器 外部数据存储器 8-4 4KB 14条 末地址为0FFFH 8-5 因为控制信号线的不同。

外部的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE*和WE*。外部RAM的读写控制引脚分别与单片机的RD*和WR*相连接。

外部扩展的EPROM在正常使用时,只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE*,该引脚与单片机的PSEN*相连接。

8-6 80C51系列单片机以三总线方法扩展存储器及外部I/O口芯片时,数据总线和地址总线低8位通过PO口分时输出,地址总线的高8位通过P2口输出。PO口采用分时复用的方法:CPU先从PO口输出低8位地址,从P2口输出高8位地址,从而利用PO口线和P2口线的高﹑低电平的状态来确定具体访问的存储器空间位置,再从PO口读写数据。所以,只有通过地址锁存器把P0口首先输出低8位地址锁存起来,才能实现PO口的复用功能。

8-7 (1) MOVX A,@DPTR MOVX A, @Ri MOVX @DPTR,A MOVX @Ri,A

(2)产生读写控制信号。

(3)单片机访问外部程序存储器时产生PSEN*片选信号。

6

8-8

第9章 单片机的接口技术

键盘扫描工作方式有3种:查询扫描、定时扫描和中断扫描。 为了不漏判有效的按键,定时中断的周期一般应小于100ms。 键盘包括两种:独立式键盘、矩阵式键盘。

模拟量转换成数字量的过程称为A/D转换,实现A/D转换的设备称为A/D转换器(ADC),衡量A/D转换器性能的主要参数有:分辨率、转换时间、转换精度。 ADC0809数据的输出方式:定时传送方式、查询方式、中断方式。 DAC0832的工作方式有3种:单缓冲方式、双缓冲方式、直通方式。

P216 9-5 ADC0809的地址∕数据总线不可以直接和单片机的P 0 口连接。

9-7不正确。单片机将AD0809作为数据存储器看待,因此要看产生的是读信号,还是写信号。

9-8 不正确。单片机将AD0809作为数据存储器看待,因此要看产生的是读信号,还是写信号。

实验2:数码转换实验

【实验内容】 将 BCD 码证书 0~255 存入片内 20H、21H、22H 单元中,然后转换为二进制整数,保存 到寄存器 R4 中。

【实验步骤】 (1)编写实验程序,经编译、链接无误后,启动调试功能。 (2)修改 20H、21H、22H 单元的内容,如:02H,00H,09H。 (3)在 SJMP MAIN 语句设置断点,运行实验程序。 (4)观察寄存器 R4 中的内容。 (5)按复位键并退出调试状态。

ORG 0000H LJMP MAIN ORG 0100H

MAIN: MOV R0, #20H ;BCD 存放高位地址 MOV R7, #03H ;BCD 码 0--255, 最多 3 位 CLR A

7

MOV R4, A

LP1: MOV A, R4 MOV B, #0AH MUL AB ;乘 10

ADD A, @R0 ;加下一位的值 INC R0 ;指向下一单元 MOV R4, A ;结果存入 R4

DJNZ R7, LP1 ;转换未结束则继续

SJMP MAIN ;设置断点, 观察实验结果 R4 END

简答题

1.什么是并行通信和串行通信?各有什么特点?它们分别适用于什么场合?

(1)并行通信是指将数据字节的各位用多条数据线同时进行传送。串行通信是指所传送的数据按顺序一位接一位地进行传送。

(2)并行通信的特点是传送速度快、需要的数据传输线较多。串行通信的特点是需要的数据传输线较少,通信线路简单、成本低,但传输速度慢。

(3)并行通信一般适合于短距离的数据传输;串行通信适用于数据的远距离通信。

2.定时器/计数器用做计数器模式时,对外界计数频率有何限制?

定时器/计数器用作计数器模式时,其计数脉冲来自相应的外部输入引脚T0(P3.4)或T1(P3.5)。当输入信号发生由1至0的负跳变时,计数器(TH0,TL0或TH1,TL1)的值增1。计数的最高频率一般为振荡频率的1/24。

3.80C51系列单片机由哪几部分组成?试说明ROM和RAM的功能分别是什么。

(1)80C51单片机由八个部分组成:中央处理单元CPU(8位)、只读存储器ROM(4KB或8KB)、随机存取存储器RAM(256B)、特殊功能寄存器、并行接口、串行接口、定时/计数器、中断系统。 (2)只读存储器ROM用于存储应用程序和常数,随机存取存储器RAM用于存放程序运行中的工作 4、简述在使用普通按键的时候,为什么要进行去抖动处理,如何处理。

答:键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。

5.串行同步通信与串行异步通信有什么区别?

(1)同步通信是一种连续串行传输数据的通信方式,传送的数据可以是多个字符组成的数据块,每次传送的一帧数据由同步字符、数据字符和校验字符三部分组成。传输一帧数据的开头采用同步字符使收发双方实现严格同步,期间不允许出现空隙,没有起始位和停止位,提高了传输速度。无数据传送时,发送同步字符。 (2)异步通信不需要同步字符,也不需要发送设备保持数据块的连续性。可以准备好一个发送一个,但要发送的每一字符,都必须先按照通信双方约定好的格式进行格式化,在其前、后分别加上起始位和停止位,用以指示每一字符的开始和结束。

8

6.80C51单片机振荡频率为12MHz时,求振荡周期、时钟周期和机器周期。 80C51单片机振荡频率为12MHz时,则:

振荡周期=1/12MHz=(1/12)μs=0.0833μs=83.3ns 时钟周期=1/6μs=0.167μs 机器周期=1μs

若80C51单片机振荡频率为6MHz时,则: 振荡周期=1/6MHz=(1/6)μs=1.67μs=167ns 时钟周期=1/3μs=0.334μs 机器周期=2μs

7.80C51系列单片机的EA信号有何功能?在使用8031时,EA信号引脚应如何处理?现在使用的80C51系列单片机内部一般都含有ROM,其EA引脚应该怎么接?

(1)80C51单片机的EA信号用来决定CPU是执行内部ROM还是外部ROM的程序。当EA端保持高电平时,CPU只访问内部程序存储器,但在PC(程序计数器)值超过0FFFH(51单片机基本型一般ROM为4KB)或1FFFH(51单片机增强型一般ROM为8KB)时,将自动转向访问外部存储器。当EA端保持低电平时,不管是否有内部程序存储器,只访问外部程序存储器。

(2)在使用8031时,由于8031没有内部ROM,所以EA信号引脚始终保持低电平。 (3)通常对于拥有内部ROM的单片机, EA信号接高电平。

8.定时器/计数器用做定时模式时,其计数脉冲由谁提供?定时时间与哪些因素有关?

答:定时器/计数器用作定时器模式时,其计数脉冲来自内部时钟脉冲。每个机器周期计数值增1,所以计数值乘以机器周期就是定时时间,因此计数频率为振荡频率的1/12,因此定时时间与计数值和振荡频率有关。

9.80C51系列单片机的三总线结构包括哪三种?其中地址总线指的是什么?数据总线指的是什么?属于控制总线的有哪些? 答:

(1)80C51系列单片机的三种总线结构包括地址总线(AB)、数据总线(DB)和控制总线(CB)。 (2)其中用作地址总线的是P0、P2,由于地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A0-A7),P2口直接提供高8位地址(A8-A15); (3)用作数据总线的是P0;

(4)用作控制总线的是P3口的第二功能状态和4根独立控制线EA 、ALE、PSEN、RESET组成。 10.80C51系列单片机的内部有几个定时/计数器?有哪几个特殊功能寄存器与定时/计数器相关?它们的功能是什么?

9

答:51系列单片机的内部有2个定时/计数器T0和T1。有2个特殊功能寄存器与其相关,分别是TMOD和TCON,TMOD是定时/计数器的工作方式控制寄存器,用来确定工作方式和功能;TCON是定时/计数器的控制寄存器,用来控制T0、T1的启动和停止及设置溢出标志。

《单片机原理及应用》复习参考题及答案

一、选择题

1:MCS-51扩展外部存储器时,系统的高8位地址总线是由( )口构成的。A A)P0 B)P1 C)P2 D)P3 2:对程序计数器 PC 的操作( )。A

A)是自动进行的 B)是通过传送进行的 C)是通过加1指令进行的 D)是通过减1指令进行的

3:以下运算中对溢出标志OV没有影响或不受OV影响的运算是( )。A A)逻辑运算 B)符号数加减法运算 C)乘法运算 D)除法运算

5:在寄存器间接寻址方式中,指定寄存器中存放的是( )。B A)操作数 B)操作数地址 C)转移地址 D)地址偏移量 6:在相对寻址方式中,“相对”两字是指相对于( )。C A)地址偏移量rel B)当前指令的首地址 C)当前指令的末地址 D)DPTR值

7:在MCS-51中,为实现P0口线的数据和低位地址复用,应使用( )。A A)地址锁存器 B)地址寄存器 C)地址缓冲器 D)地址译码器

8:在下列寄存器中,与定时/计数控制无关的是( )。C A)TCON(定时控制寄存器) B)TMOD(工作方式控制寄存器) C)SCON(串行控制寄存器) D)IE(中断允许控制寄存器)

9:下列指令中属于合法的指令的是( )。A A)DJNZ 30H,ABC B)DJNE R1,ABC C)DJNZ @R1,ABC D)CJNZ A,#30H,ABC

10:MCS-51有一个全双工的串行口,下列功能中该串行口不能完成的是( )。D A)网络通信 B)异步串行通信 C)作为同步移位寄存器 D)位地址寄存器

11:下列定时/计数硬件资源中,不是供用户使用的是( )。C A)高8位计数器 TH B)低8位计数器 TL

C)定时器/计数器控制逻辑 D)用于定时/记数控制的相关寄存器 12:下列定时/计数硬件资源中,不是供用户使用的是( )。C A)高8位计数器TH B)低8位计数器TL

C)定时器/计数器控制逻辑 D)用于定时/计数控制的相关寄存器 13:在MCS-51中,需要外加电路实现中断撤除的是( )。D A)定时中断 B)脉冲方式的外部中断 C)串行中断 D)电平方式的外部中断

14:在中断流程中有“关中断”的操作,对于外部中断0,要关中断应复位中断允许寄

10

存器的( )。B

A)EA和ET0位 B)EA和EX0位 C)EA和ES位 D)EA和EX1位

15:假定累加器A中的内容为30H,则执行指令1000H:MOVC A,@A+PC后,把程序存储器( )单元的内容送入累加器A中。D

A)1000H B)30H C)1030H D)1031H 16:对程序存储器的读操作,只能使用( )。D

A)MOV指令 B)PUSH指令 C)MOVX指令 D)MOVC指令 17:以下有关PC与DPTR的结论中有错误的是( )。C A)DPTR 是可以进行访问的,而 PC 不能访问 B)它们都是16位的寄存器 C)它们都具有加1功能

D)DPTR 可以分为2个8位寄存器使用,但PC不能 18:PC的值是( )。A A)下一条指令的地址

B)当前正在执行指令的地址 C)当前指令前一条指令的地址 D)控制器中指令寄存器的地址

19:一个机器周期等于( )振荡周期。B A)4 B)12 C)8 D)6 20:中断查询,查询的是( )。B

A)中断请求信号 B)中断标志位

C)外中断方式控制位 D)中断允许控制位

21:串行通信的传送速率单位是波特,而波特的单位是( )。B A)字符/秒 B)位/秒 C)桢/秒 D)桢/分 22:指令MOV R0,#20H是( )寻址方式。B

A)直接 B)立即 C)间接 D)寄存器 23:计数器工作在方式0下,由TH的8位和TL的5位组成,因此其计数范围是( )。A

A)1~8192 B)0~8191 C) 0~8192 D)1~4096

24:在单片机中,通常将一些运算的中间结果放在( )中。A A)累加器 B)控制器 C)程序存储器 D)数据存储器 25:单片机在家用电器中的应用,属于( )。B A)数据处理应用 B)控制应用 C)数值计算应用 D)辅助工程应用

26:执行中断返回指令,要从堆栈弹出断点地址,以便去执行被中断了的主程序。从堆栈弹出的断点地址送给( )。C

A)A B)CY C)PC D)DPTR 27:8051单片机共有( )个中断优先级。A A)2 B)3 C)4 D)5

28:在CPU内部,反映程序运行状态或反映运算结果的特殊功能寄存器是( )。B A)PC B)PSW C)A D)SP 29:单片机芯片8031属于( )。B

A)MCS-48系列 B)MCS-51系列 C)MCS-96系列 D)MCS-31系列

30:单片机程序存储器的寻址范围是由程序计数PC的位数决定的,MCS-51的PC为16

11

位,因此其寻址范围是( )。B

A)4KB B)64KB C)8KB D)128KB 二、填空题 1:MSC-51系列单片机中,片内无ROM的机型是( ),有4KB ROM的机型是( ),而有4KB EPROM 的机型是8751。8031/8051 2:一个完整的中断处理过程可分为( )、( )和( )三部分。中断响应/中断处理/中断返回

3:若A中数据为63H,那么PSW的最低位(即奇偶位P)为( )。0 4:欲对300个外部事件计数,可以选用定时/计数器T1的模式( )或模式( )。0/1

5:在异步通信中若每个字符由11位组成,串行口每秒传送250个字符,则对应波特率为( )bps。2750bps 6:ORG 2000H

TAB:DW 324AH,3CH,4100H ?? 汇编后: (2000H)=( ), (2001H)=4AH,(2002H)=( ), (2003H)=( )。32H/00H/3CH 7:假定(A)=85H,(R0)=20H,(20H)=0AFH,执行指令 ADD A,@R0后: (A)=_______(CY)=_______(AC)=_______(OV)=_______。34H/1/1/1

8:假定(R0)=24H,(CY)=1,(1FH)=59H,(20H)=24H,(24H)=B6H,写出执行下列指令后,累加器A的值。

MOV A,1FH

ADDC A,20H (A)=( ), CLR A (A)=( ), ORL A,@R0 (A)=( ), RL A (A)=6DH

ANL A,#39H (A)=( ), RRC A (A)=( ),

CPL A (A)=( )。7EH/0/B6H/29H/14H/EBH 9:32KB ROM的首地址若为2000H,则末地址是( ) 9FFFH 10.串行口的控制寄存器SCON中,REN的作用是( )。串行口允许接收位

11:使用8031单片机时需将 引脚接( )电平,因为其片内无程序存储器。低 12:当使用8031单片机时,需要扩展外部程序存储器,此时EA应为( )(高电平/低电平)。低电平

13:一个完整的中断处理过程可分为中断响应、( )和( )三部分。中断处理/中断返回

14:串行通信可以分成( )通信和( )通信两大类。同步/异步 15:ORG 1000H

TAB:DB -2,-4,30H,’A’ ?? 汇编后:(1000H)= FEH,(1001H)=( ),(1002H)=( ),(1003H)=( )。FCH/30H/41H 16:中断服务程序的最后一条指令是( )。RETI

17:累加器(A)=80H,执行完指令 ADD A,#83H后,进位位C=( )。1 18:起止范围是0000H~3FFFH的存储器的容量是( )KB。16

19:同一优先级的5个中断源同时发出中断申请时,CPU首先响应的是( )。外部

12

中断0

20. MCS—51单片机的复位信号是( )有效。低电平

21.若由程序设定RS1、RS0=10,则工作寄存器R0的直接地址为( )。10H 22若由程序设定RS1、RS0=10,则工作寄存器R7的直接地址为( )。17H 23.若累加器A中的数据为01110010B,则PSW中的P=_________。0 24. MCS-51单片机8031中有( )个( )位的定时器/计数器,可以被设定的工作方式有( )种。2/16/4

25.定时器/计数器工作方式0/1/2/3是( )。13位计数结构/16位计数结构/自动重装初值的8位计数器结构/2个8位计数器结构 三、综合题 1.简述堆栈。

(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立的RAM区。

(2)用MOV SP,#STK指令建立堆栈。 (3)存放数据按“后进先出”原则进行。

(4)利用PUSH、POP指令即可进行进栈、出栈操作。 2.简述变址寻址方式并举例说明。

(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。

(2)变址寻址只能对移定存储器寻址,其指令只有三条: MOVC A,@A+DPTR MOVC A,@A+PC JMP @A+DPTR

前二条为查表指令,后一条为无条件转移指令 3.简述中断响应的主要内容。

由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为: (1)将程序计数器PC的内容(断点)压栈

(2)将中断入口地址装入PC,转去执行中断服务程序 4.简述汇编语言中的标号有什么规定

(1)标号由1—8字符组成,头一个字符必须是字母。 (2)不能使用汇编语言已定义的符号。 (3)标号后必须跟冒号:

(4)同一标号在一个程序中只能定义一次。

5:编写程序代码,将外部RAM 2000H单元中的低二位取反,高四位清零,其余位保持不变。

MOV DPTR,#2000H (1分) MOVX A,@DPTR (1分) XRL A,#03H (1分) ANL A,#0F0H (1分) MOVX @DPTR,A (1分) 6:8051的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为8MHz时,一个单片机时钟周期为多少微秒?

8051的时钟周期是最小的定时单位,也称为振荡周期或节拍; (1分) 一个机器周期包含12个时钟周期或节拍; (1分) 不同的指令一般其指令周期一般不同,可包含有1、2、3、4个机器周期; (1分)

13

当振荡周期为8MHz时,一个单片机的时钟周期为0.125微妙。 (2分) 7:MCS-51内部定时器/计数器T1初始化一般包括几个步骤?若要利用定时器T1进行计数200次,可采用哪种工作模式,求出其计数初值。

1)对TMOD寄存器赋值,以确定定时器的工作方式; (1分) 2)置定时器/计数器初值,直接将初值写入寄存器的TH0、TL0或TH1、TL1;(1分) 3)根据需要,对寄存器IE置初值,开放定时器中断; (1分) 4)对TCON寄存器中的TR1或TR0置位,启动定时器/计数器。 (1分) 采用模式2,计数初值:X=M-计数值=28-200=56D=38H。 (1分) 8:8051有几个中断源?其符号名称分别是什么?CPU相应中断时,中断入口地址各是多少?

8051单片机有5个中断源。

分别为:2个外部中断源INT0(P3.2)和INT1(P3.1)、2个片内定时器T0和T1的溢出中断源TF0(TCON.5)和TF1(TCON.7)、1个片内串行口发送和接收中断源TI(SCON.1)和RI(SCON.0) 中断源符号 中断源名称 入口地址

INT0 外部中断0 0003H (1分) T0 T0溢出中断 000BH (1分) INT1 外部中断1 0013H (1分) T1 T1溢出中断 001BH (1分) TX/RX 串行口(接收/发送) 0023H (1分) 9:A/D转换器的主要技术指标有哪些? A/D转换器的主要技术指标包括:

①量化误差与分辨率:分辨率是以输出二进制位数或者BCD码位数表示。测量误差和分辨率是统一的,量化误差是由于A/D转换器的有限字长引起的。量化误差理论上为一个单位分辨率,即±1/2LSB。提高分辨率可减少量化误差。 (1分) ②转换精度:A/D转换器的转换精度反映了一个实际A/D转换器在量化值上与理想A/D转换器进行A/D转换的差值,可表示成绝对误差和相对误差。 (1分) ③转换时间与转换速率:A/D转换器完成一次A/D转换所需要的时间为A/D转换时间。通常A/D转换速率是转换时间的倒数。目前A/D转换最快的是高速全并行式A/D转换器。 (1分)

④失调(零点)和增益温度系数:这两项指标都是表示A/D转换器受环境温度影响的程度,一般用每摄氏度温度变化所产生的相对误差作为指标,以ppm/℃为单位表示。 (1分)

⑤对电源电压变化的抑制比:A/D转换器对电源电压的抑制比(PSRR)用改变电源电压使数据发生±1LSB变化时所对应的电源电压变化范围来表示。 (1分) 10:MCS-51单片机的寻址范围是多少?8031单片机可以配置的存储器最大容量是多少?而用户可以使用的最大容量又是多少?

MCS-51单片机的寻址范围是64KB,即0000H~FFFFH;(2分)

8031单片机可以配置的存储器最大容量:程序存储器64KB;片外数据存储器64KB;(1分)用户可以使用的最大容量是:64KB ROM、64KB RAM、128B片内RAM及SFR。(2分) 11:①下列程序段的功能是什么?(2分) PUSH A PUSH B POP A

POP B ①交换A、B的内容

14

②假定(R0)=24H,(CY)=1,(1FH)=59H,(20H)=24H,(24H)=B6H,写出执行下列指令后,累加器A的值。(4分)

MOV A,1FH (A)=( 59H ), ADDC A,20H (A)=( 7EH ), CLR A (A)=( 0 ), ORL A,@R0 (A)=( B6H ), RL A (A)=( 6DH ), ANL A,#39H (A)=( 29H ), RRC A (A)=( 14H ), CPL A (A)=( EBH )。(每个0.5分,共4分) 12:按照功能要求,补充下列指令代码段。(6分) ①将片内50H单元的数据传送到片外1000H中去。

MOV R0,#50H ①MOVX A,@R0 ) ( MOV DPTR,#1000H ) ( MOVX @DPTR,A )

②查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数,并将查找到的结果存入41H单元。 START: MOV 41H,#0 MOV R0,#20H MOV R2,#21H

LOOP: ( ) JNZ NEXT

( ) NEXT: INC R0

( ) RET

①MOVX A,@R0 (1分) MOV DPTR,#1000H (1分) MOVX @DPTR,A (1分) ②MOV A,@R0 (1分) INC 41H (1分) DJNZ R2,LOOP (1分) 13:①简述并行通信和串行通信的特点。(3分) ②在选择A/D转换器时应把握的原则是什么。(3分) 1)并行通信和串行通信的特点:

①并行通信的特点是:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难。

②串行通信的特点是:传输线少,长距离传送时成本低,且可以利用电话网等现成的设备,但数据的传送控制比并行通信复杂。 (3分,酌情给分) 2)在确定A/D转换器时,应遵循下述原则:

根据前向通道的总误差,选择A/D转换器的精度和分辨率。

②根据信号的变化率及转换精度要求,确定A/D转换速度,以保证系统的实时性要求 。为减少孔径误差,若对变化速度非常快的信号进行A/D转换,可考虑加入采样/保持电路。

15

③根据环境条件来选择A/D转换器的些环境参数要求,如工作温度、功耗、可靠性等级等性能。

④根据计算机接口特征,考虑选择A/D转换器的输出形式。例如,A/D转换器是并行输出还是串行输出,是二进制码还是BCD码;是用外部时钟、内部时钟还是不用时钟;有无转换结束状态标志;与TTL、CMOS及ECL电路的兼容性等等。

⑤还要考虑到芯片的成本、货源、是否是主流芯片等诸因素。 (3分,酌情给分) 14:MCS-51系列单片机中用于中断允许控制的寄存器是什么?写出此寄存器跟中断控制有关的各控制位的符号及含义。(6分)

MCS-51系列单片机用于中断允许的寄存器分别IE; IE:

EA——中断允许控制位; (1分) ES——串行口中断允许控制位; (1分) ET----1定时器/计数器T1的溢出中断允许位; (1分) EX1——外部中断1中断允许位; (1分) ET0——定时器/计数器T0溢出中断允许位; (1分)

EX0——外部中断0中断 (1分) 允许位;当相应的位为“1”时允许中断,为“0”时禁示中断。

15:某异步通信接口,其格式由1个起始位,7个数据位,1个奇偶校验位和1个停止位组成,当该接口每分钟传送4800个字符时,请计算出传送波特率。(6分)

由题意可知,每个字符为10位,每秒传送4800/60=80个字符, (2分) 则波特率为:

80×10=800(位/秒)=800波特 (4分) 16:若选用定时器T0定时,实现计时10ms,已知振荡频率是12MHZ,根据要求写出确定选用T0工作方式的过程及对功能寄存器TMOD、TL0、TH0所赋初值。(6分) 振荡频率是12MHZ,则机器周期频率为1MHZ,周期为10-6 (10×10-3)/10-6=10000

需要实现计数10000,因此必须选用工作模式1,所以初值 216-X=10000 X=55536=D8F0H

相应功能寄存器TMOD、TL0、TH0的初值分别是:01H、D8H、F0H (每个2分,共6分) 17.51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义?

具有5个中断源,分别是外部中断INT0和外部中断INT1、定时器溢出中断0和定时器溢出中断1以及 串行中断。通过对中断优先级寄存器IP的设置,每个中断源都可以被定义为高优先级中断

18.各中断源对应的中断服务程序的入口地址是否能任意设定? 各中断源的入口地址已经在中断地址区中被定义了,不能任意设定

19.如果想将中断服务程序放置在程序存储区的任意区域,在程序中应该作何种设置?请举例加以说明。

如果要将中断服务程序放置在程序存储区的任意区域,在程序中要通过在中断地址区的对应地址上设置跳转指令才可实现对中断服务程序的执行 20.执行下列程序段中第一条指令后,(1)(P1.7)=____ (P1.3)=_____,(P1.2)=_________;

执行第二条指令后,(2)(P1.5)=_________,(P1.4)=_________,(P1.3)=_________. ANL P1,#73H ORL P1,#38H

16

(1)(P1,7)=0,,(P1.3)=0,(P1.2)=0 (2)(P1.5)=1,(P1.4)=1,(P1.3)=1

21.下列程序段执行后,(A)=_________,(B)=_________. MOV A,#0FBH MOV B,#12H DIV AB

(A)=0DH(或13) (B)=11H(或17) 22.下列程序段执行后,(R0)=_________,(7EH)=_________,(7FH)=_________. MOV R0,#7FH MOV 7EH,#0 MOV 7FH,#40H DEC @R0 DEC R0 DEC @R0 (R0)=7EH,(7EH)=FFH,(7FH)=3FH 23.已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=_________,内部RAM(0AH)=_________,(0BH)=_________ PUSH DPL PUSH DPH

(SP)=0BH (0AH)=67H (0BH)=45H

24.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间 MOV R3,#100;1 LOOP:NOP ;1 NOP NOP

DJNZ R3,LOOP ;2 RET ; 2

一个机器周期为2μs,执行程序所需时间T=2μs*(5×100+3)=1006μs≈1ms

25:在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1. MOV R2,#10

MOV DPRT,#TABLE

LOOP: MOV X A,@DPRT;取一数 ORL A,#80H;最高位置1 MOV X @DPTR,A;写回原地址 1NC DPTR;处理下一单元 DJNZ R2,LOOP RET

26:已知内部RAM 30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。 MOV R0,#30H MOV R1,#00H MOV R2,#20H

LOOP: MOV A,@R0;取数

17

MOV X @R1,A;存数 1NC R0 1NC R1

DJNZ R2,LOOP RET

27:已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。

利用移位指令作除8操作,程序如下: MOV R2,#3 LOOP:CLR C MOV A,R3

RRC A ;高字节除以2,末位移入C,高位补0 MOV R3,A ;暂存高字节 MOV A,R4

RRC A ;低字节除以2,高字节末位移入低字节高位 MOV R3,A DJNZ R2,LOOP RET

五、程序设计应用题

1:变量X的值存放在内部RAM的30H单元,试编程,按照下式的要求给Y赋值,并将函数值Y存入31H单元。

2:编写数据检索程序:从内部RAM60H单元开始存放着32个数据,查找是否有“$”符号(其ASCII码为24H),如果找到就将数据序号送入2FH单元,否则将FFH送入2FH单元。

3:从内部RAM 30H单元开始存放着10个无符号数,试编程,找出其中的最大值送入内部RAM的31H单元。

4:用8751串行口外接CD4014扩展8位并行输入口,输入数据由8个开关提供,另有一个开关S提供联络信号,电路连接如图所示。当S=0时,要求输入数据,并连续输入8组数据,读入的数据转存到内部RAM 40H开始的单元中。试将电路图补充完整,并编程实现。(数据的串行传送采用查询方式。) 5:用8751串行口外接CD4094扩展8位并行输出口,8位输出端的各位都接一个共阴极发光二极管。要求实现:发光二极管从左到右以一定延迟(约50ms)轮流点亮,并不断循环。试将下列电路图补充完整,并编程实现。(数据的串行传送采用查询方式,电路部分只需在下图完成即可,不需要画到答题纸中)

18

本文来源:https://www.bwwdw.com/article/cnuo.html

Top