单片机 考试 知识点 总结 太原理工大学 葬仪落整理

更新时间:2024-05-12 17:43:01 阅读量: 综合文库 文档下载

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

一、填空题:

1、当使用8051单片机时,需要扩展外部程序存储器,此时EA应接低电平。

2、8051上电复位后,从地址0000H开始执行程序,外部中断1的中断入口地址为0013H. 3、8051最多有64KB的程序存储器和64KB的数据存储器。

4、P0口通常用作分时复用为地址总线(低8位)及数据总线或外接上拉电阻用作普通I/O口。

5、P2口的功能为用作地址总线和作为普通I/O口使用。

6、若由程序设定RS1、RS0=01,则工作寄存器R0的直接地址为08H。 7、若由程序设定RS1、RS0=00,则工作寄存器R0的直接地址为00H。

8、若累加器A中的数据为01110010B,则PSW中的P=0(偶数个1为0,奇数为1)

9、8051单片机共有5个中断源,分别是INT0外部中断0、INT1外部中断1、T0定时器/计数器中断0中断、T1定时器计数器1中断、串行口中断。 10、ADC0809是8通路8位逐次逼近式模/数转换器。

11、计算机中按功能把总线分为数据总线、地址总线和控制总线。

12、MOV A,#0F5H中,#0F5H的寻址方式称之为立即寻址。MOV类指令称之为一般传输指令。

13、8051的一个机器周期等于12个晶体震荡周期;通常8051单片机的ALE引脚以1/6倍的晶振频率输出脉冲。

14、8051单片机复位后,堆栈指针SP指向第07H号内部RAM;8051的堆栈是向上生长的。 15、十进制调整指令DA A,专用于BCD码的加减运算。

16、单片机的中断触发方式有低电平触发和下降沿触发两种。大多数情况下,单片机控制系统采用下降沿触发方式触发中断。

17、若执行加法运算后累加器(A)中的数据为01110010B,则PSW中的P=0 18、8051单片机的程序存储器和数据存储器编址方式采用的是哈佛结构,即数据存储器和程序存储器分开的编址方式。 二、单项选择题

1、8051单片机执行MOVX写指令时,相关的信号状态是 PSEN无效为高电平,WR有效为低电平

2、若PSW.4=1,PSW.3=1,现在需要保存R1的内容,可执行PUSH 19H指令 3、下列指令不是变址寻址方式的是MOVX A,@DPTR

4、在8051片外扩展一片EEPROM 28C64需要13根地址线(片选除外),8根数据线。 5、8051定时器/计数器工作方式2是自动重装8位计数器

6、单片机程序存储器的寻址范围是由程序计数器PC的位数决定的,MCS-51的PC为15位,因此其寻址范围是64KB。(2^16B=64KB)

7、若单片机的振荡频率为12MHz,设定时器工作在方式1需要定时1ms,则定时器初值应为2^16-1000.(计算过程:机器周期=12/12MHz=1μs 次数=1ms/1μs=1000次 方式一为16位=2^16)

8、访问外部数据存储器的指令是MOVX,访问程序存储器的指令是MOVC。 9、汇编语言中,最多包含4个区段,其中操作码区段是必不可少的。 10、MCS-51单片机的位寻址区域为20H-2FH。

11、MCS-51单片机复位后,PC值被初始化为0000H。

12、MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应外部中断0. 三、读程序

1、执行下列程序段中第一条指令后

(1)(P1.7)= 0 (P1.3)= 0 执行第二条指令后,

(2)(P1.5)=1 (P1.4)=0 ANL P1,#42H ORL P1,#0ECH

2、下列程序段执行后,(R0)=47H,(48H)= 0FFH,(47H)=3FH MOV R0,#48H MOV 48H,#0 MOV 47H,#40H DEC @R0 DEC R0 DEC @R0

3、已知(SP)=29H,(DPTR)=1234H,在执行下列指令后,(SP)= 2BH,内部RAM(2AH)=34H,(2BH)=12H PUSH DPL PUSH DPH

四、简答题

1、简述MCS-51单片机中,振荡周期、机器周期和指令周期的关系。

答:(1)振荡周期:振荡周期为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。

(2)时钟周期:又称状态周期或状态时间S,是振荡周期的两倍,分为P1、P2节拍,通常P1完成算术逻辑操作,在P2节拍完成内部寄存器间的数据传送操作。

(3)机器周期:一个机器周期由6个状态(时钟周期)(或12个振荡周期)组成。 (4)指令周期:执行一条指令的全部时间,是机器周期的倍数,MCS-51单片机中指令周期通常由1、2、4个机器周期组成。

2、DAC0832作为数模转换器,其连接方式有几种? 答:3种。单缓冲方式、双缓冲方式和直通方式。 (1)直通方式常用于不带微机的控制系统。

(2)单缓冲方式是值DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受8051控制的锁存方式。

(3)对于多路D-A转换,要求同步进行D-A转换输出时,必须采用双缓冲同步方式。 3、8051单片机作定时和计数时,其计数脉冲分别由谁提供?8051单片机定时计数器共有几种工作模式?分别是什么?

答:当用作定时器时,是在内部对CPU的时钟脉冲计数。

当用作计数器时,是对相应输入引脚输入的脉冲信号计数。 工作模式:

(1)工作模式0:使用低字节的5位和高字节的8位组成13位的计数器,低5位计数溢出后向高位进位计数,高8位计数器计满后置位溢出标志位。

(2)工作模式1:使用低字节和高字节的16位组成16位计数器。与0模式的区别仅在计数器长度,定时长度和计数容量不同。

(3)工作模式2:使用低字节的8位做计数器、高字节的8位作为预置常数的寄存器。 (4)工作模式3:只适用于定时器/计数器T0,T0分别为两个独立的8位计数器TH0和TL0.

4、MCS-51单片机系统共有几种寻址方式?分别是什么?

答:有7种寻址方式:(1)寄存器寻址(2)直接寻址(3)立即寻址(4)寄存器间接寻址

(5)相对寻址 (6)位寻址 (7)基址加变址寄存器间接寻址

5、试说明特殊功能寄存器TCON中TF1、TR1、IE1、IT1位的含义是什么?这些位什么情况下被置位或清除?

答:TF1 T1计数溢出标志位,当计数器T1计数计满溢出时,该位由硬件置1,转到中断服务程序时,再由硬件自动清0.

TR1 T1计数运行控制位,由软件置1或清0.为1时允许计数器T1计数,为0时禁止计数器T1计数。

TF0 T0计数溢出标志位,当计数器T0计数计满溢出时,由硬件置1,申请中断。进入中断服务程序后由硬件自动清0.

TR0 T0计数运行控制位,由软件置1或清0,为1时允许计数器T0计数,为0时禁止计数器T0计数。

IE0 外部中断0(INT0)请求标志位,当CPU采样到INT0引脚出现中断请求后,此位由硬件置1.在中断响应完成后转向中断服务程序时,再由硬件自动清0.

IE1 外中断1(INT0)请求标志位,功能同上。

IT0 外中断0请求信号方式控制位,当IT0=1,后沿负跳变有效;IT0=0,低电平有效。此位可由软件置1或清0.

IT1 外中断1请求信号方式控制位,IT1=1,后沿负跳变有效;IT1=0,低电平有效。 五、应用题

1、将存于外部RAM 8000H开始的50H个数据传送到内部0010H开始的区域,请编程实现。 ORG 0100H

MOV DPR,#8000H MOV R0,#10H MOV R2,#50H MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 END

知识点:

1、各P口功能:

P0口:8位双向三态I/O口,或分时复用为地址总线(低8位)及数据总线,或作为普通I/O口使用。

P1口:8位准双向I/O口,常用作普通I/O口使用,个别引脚有第二功能

P2口:8位准双向I/O口,或用作地址总线(高8位),或作为普通I/O口使用 P3口:8位准双向I/O口,或作为普通I/O口使用;或作为第二功能口使用。 P3.0串行输入端口(RXD) P3.1串行输出端口(TXD)P3.2外部中断0(INT0) P3.3外部中断1(INT1) P3.4 T0 P3.5 T1

P3.6外部数据存储器写选通(WR) P3.7外部数据存储器读选通(RD)

2、引脚EA 当EA=1时,访问内部程序存储器,EA=0时,访问外部程序存储器 引脚PSEN外部程序存储器的读选通信号,读取时有效低电平

引脚PROG/ALE 当访问外部存储器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端扔以不变的频率周期性地出现正脉冲信号,次频率为振荡器频率的1/6,可用作对外输出的时钟,或用于定时,每当访问外部数据存储器的时候,将跳过一个ALE脉冲。 3、PSW中各个位的功能: PSW.7 (CY)进位标志位

PSW.6 (AC)辅助进位标志位 PSW.5 (F0)标志位

PSW.4 PSW.3 (RS1\\RS0)四组工作寄存器区选择控制位1和位0

00 工作0区(00H) 01 1区(08H) 10 2区(10H) 11 3区(18H) PSW.2 (OV)溢出标志位 PSW.1 保留位,未用

4、8051单片机的时序定时单位:节拍、状态、机器周期和指令周期 5、复位:RST引脚处至少保持24个振荡周期的高电平就可复位 寄存器 PC ACC B PSW SP 内容 0000H 00H 00H 00H 07H 寄存器 TCON T2CON TH0 TL0 TH1 内容 00H 00H 00H 00H 00H DPTR P0~P3 IP(8051) IP(8052) IE(8051) IE(8052) TMOD PCON(HMOS) 0000H 0FFH XXX00000B XX000000B 0XX00000B 0X000000B 00H 0XXXXXXXB TL1 TH2 TL2 RLDH RLDL SCON SBUF PCON(CHMOS) 00H 00H 00H 00H 00H 00H 不定 0XXX0000B 6、寻址方式

(1)寄存器寻址方式是对选中寄存器中的数据进行处理,适用于数据放置在寄存器之中的情况。

MOV R1,B ; 将寄存器B中的数值送入到寄存器R1中 INC R2 ; 将寄存器R2中的数值加1

MOV A,R7 ;将寄存器R7中的数值送入累加 器A 寄存器寻址范围: 寄存器区中8个工作寄存器R0~R7中的一个(由指令操作码的低三位数值确定)、特殊寄存器A, B, DPTR, Cy(进位位,也是位处理机的累加器)也可作为寄存器寻址的对象。 (2)直接寻址方式是对直接指定地址的存储器单元中的数据进行处理,适用于数据放置在可以直接寻址的存储单元之中的情况。

MOV 40H,B ;将寄存器B中的数值送入到内部RAM的40H单元中

INC 30H ;将内部RAM的30H单元中的数值加1 MOV TL0 , R7 ;将寄存器R7中的数值送入到特殊功能寄存器TL0中 直接寻址范围: 片内RAM,包括SFR,且SFR只能直接寻址 (3)立即寻址是对指令操作码后的数据进行处理,适用于在程序中直接处理的数据的情况。 MOV 38H,#05H ;将数值05H送入到内部RAM的38H单元中 ADD A,#30H ;将A寄存器中的数值加上30H

MOV TH0,#0F2H ;将定时器0高8位设置为数值0F2H (4)位寻址

MOV C,40H ;把位40H的值送进位位C 位寻址的寻址范围包括:

内部RAM中的位寻址区 单元地址为20H-2FH,共16个单元,128个位,位地址是00H-7FH。 特殊功能寄存器中的可寻址位 可供位寻址的特殊功能寄存器共有11个,实际有寻址位83

LOOP:JBC TF0,DONE ; 判计满100次否?若计满则清零TF0且转DONE SJMP LOOP DONE:CPL P1.0 SJMP LOOP 例7.3 已知单片机晶振频率为12MHz,要求使用T0定时0.5ms,使单片机P1.0引脚上连续输出周期为1ms的方波。

分析:首先算出机器周期=12/(12MHz)=1us,所以0.5ms需要T0计数M次 M=0.5ms/1us=500 256<500<8192,所以选择方式0 初值N=213-500=7692=1E0CH 因为选用方式0,低8位TL0只使用低5位,其 TL0=0CH, TH0=0F0H ORG 0000H

RESET: AJMP START

ORG 000BH AJMP T0INT ORG 0100H START: MOV SP,#60H

MOV TH0,#0F0H MOV TL0,#0CH SETB TR0 SETB ET0 SETB EA MAIN: AJMP MAIN T0中断服务程序 T0INT: CPL P1.0

MOV TL0,#0CH MOV TH0,#0F0H RETI

余的均计入高8位TH0的初值。

3、假设单片机晶振fosc=6MHz,请利用T0和P1.0输出矩形波,矩形波的高电平宽50us,低电平宽300us。(P.145 第13)

晶振fosc=6MHz→机器周期为2us

定时器T0使之工作于模式3

定时50us的初值为:256-25=231 (E7H) 定时300US的初值为:256-150=106 (6AH) 方法1:

MOV TMOD , #00000011B ;T0工作于模式3 MOV TCON ,#0 ;清TR0 , TF0

MOV TL0 , #0E7H ;高电平初值。 256-25 SETB P1.0 ;P1.0口输出高电平 SETB TR0 ;启动定时器T0

LOOP1: JNB TF0 , LOOP1 ;检测T0是否溢出 CLR TF0 ;清除溢出标志 CLR TR0 ;关闭定时器

MOV TL0 , #6AH ;写低电平初值 256-150 SETB TR0 ;启动定时器T0

CLR P1.0 ;使P1.0输出低电平

LOOP2: JNB TF0 , LOOP2 ;检测T0是否溢出 CLR TF0 ;清除溢出标志 CLR TR0 ;关闭定时器

MOV TL0 , #0E7H ;写高电平初值 256-25 SETB TR0 ;启动定时器T0

SETB P1.0 ;使P1.0输出高电平 SJMP LOOP1 ;重复

6、设fosc=12MHz,编写程序,其功能为:对T0进行初始化,使之工作于模式2,产生200us的定时,并用查询T0溢出标志TF0的方法,控制P1.0引脚输出周期为2ms的方波。(P.146 第18题)

MOV TMOD , #02H ; T0工作于模式2,定时方式

MOV TCON , #0 ; 清除TF0、TR0。 MOV TH0 , #56 ; (256-200)=56 MOV TL0 , #56 ;

MOV R7 , #5 ; 200us与1ms是5倍的关系 SETB TR0 ; 启动定时器T0 SETB P1.0 ; 将P1.0置高电平

LOOP: JNB TF0 , LOOP ; 检测T0的溢出标志

CLR TF0 ; 清除T0的溢出标志 DJNZ R7 , LOOP ; 是否到5次

MOV R7 , #5 ; 重新写入计数次数 CPL P1.0 ; 取反P1.0口 SJMP LOOP ; 循环往复

9、当系统选用6MHz晶体振荡器时,由T0工作在方式为2,利用中断响应,产生周期为2ms(脉冲宽度为1ms)的方波序列,并由P1.0输出。 (1)写出T0定时器的方式控制字,T0定时器初值计算。 (2)试编写程序完成此功能。

思路:

方波的周期为2ms,每隔1ms对P1.0取反,可完成题目要求。

系统晶体振荡器的频率为6MHz,机器周期为2us,定时器T0在方式2时,最大定时256us×2=512us,达不到1ms的要求,故将定时器T0的初始值选为:256-250=6(定时0.5ms),两次后取反P1.0 口。 (1)T0的初始值为: X=256-250=6 T0的控制字为:

MOV TMOD , #20H MOV TCON , #0 (2)参考程序如下: ORG 0000H SJMP Main ORG 000BH AJMP T0 ORG 0030H

Main: MOV TMOD , #20H ;定时器T1工作于方式2 CLR TR0 ;关闭定时器T1

CLR TF0 ;清除定时器T1溢出标志 MOV IE , #02H ;允许定时器T1中断 MOV IP , #0 ;不设置悠闲级别 MOV TH0 , #6 ;定时器T1初值 MOV TL0 , #6 ;(256-250=6)

MOV R7 , #2 ;定时0.5ms与1ms的2倍的关系 SETB TR0 ;启动定时器T1 SETB EA ;开中断 SJMP $

T0: DJNZ R7 , NEXT ;两次是否到?未到则中断返回,到则继续 CPL P1.0 ;取反P1.0口 MOV R7 , #2 ;重置2倍的关系 NEXT: RETI ;中断返回

12、要求从P1.1引脚输出1000Hz方波,晶振频率为12MHz。试设计程序。

思路:

(1)只要使P1.1每隔500μs取反一次即可得到1ms方波;。

(2)将T1设为定时方式0:GATE=0,C/T(—)=0,M1M0=00;T0不用可为任意,只要不使其进入方式3,一般取0即可。故TMOD=00H。下面计算500μs定时T1的初值:

机器周期: T=1μs ,设初值为X则:

X=8192-500=7692=1111000001100 B =1111000000110 B

= F 0 0 C H

因为在作13位计数器用时,TL1高3位未用,应写0,X的低5位装入TL1的低5位,所以TL1=#0CH;X的高8位应装入TH1,所以TH1=#F0H。 参考源程序如下:

MOV TCON , #0 ;清TF1、TR1

MOV TMOD , #0 ;定时器T1工作于方式0 MOV TH1 , #0F0H ;定时500us的初值 MOV TL1 , #0CH ;8192-500=7692=F00CH SETB TR1 ;启动定时器T1

LOOP: JNB TF1 , LOOP ;等待定时500us的溢出 CLR TF1 ;清除溢出标志 CPL P1.1 ;取反P1.1口 CLR TR1 ;关闭定时器T1

MOV TH1 , #0F0H ;重写定时500us的初值 MOV TL1 , #0CH ;重写定时500us的初值 SETB TR1 ;启动定时器T1 SJMP LOOP

13、试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。

定时器T1确定工作于方式1

计数100的初始值为:65536-100 100=64+32+4=01100100 B

65536-100=1111 1111 1001 1100 B = FF9CH 定时10ms的初始值为:65536-10000

5000=4096+512+256+128+8 =1001110001000

65536-5000=60536=1110 1100 0111 1000 B = EC78H 参考程序如下:

LOOP3: CLR TR1 ;关闭定时器T1

CLR TF1 ;清除定时器T1的溢出标志 MOV TMOD 50H ;定时器T1工作于方式1,计数

MOV TH1 , #0FFH ;计数100的初值

MOV TL1 , #9CH ;65536-100=FF9CH SETB TR1 ;启动定时器T1 LOOP1: JNB TF1 , LOOP1 ;等待计数100溢出

MOV TMOD , #10H ;定时器T1工作于方式1,定时 CLR TF1 ;清除定时器溢出标志 CLR TR1 ;关闭定时器T1 MOV TH1 , #0ECH ;定时10ms的初值 MOV TL1 , #78H ;65536-5000=EC78H SETB TR1 ;启动定时器T1

LOOP2: JNB TF1 , LOOP2 ;等待定时10ms溢出 CPL P1.7 ;取反P1.7口 SJMP LOOP3 ;返回循环

14、若单片机晶振为12MHz,利用定时器1方式1,产生1ms的定时,在P1.0脚产生周期为2ms方波,用查询方式工作,查询标志为TF1。 已知fosc =12MHz→1个机器周期为1us 1ms=1000us

初值=65536-1000=54536

64536转换为二进制:1111 1100 0001 1000 T0的低8位:00011000 (18H) T0的高8位:11110000 (FCH) 则有: (TL0) ←#18H ; (TH0) ←#0FCH 参考源程序如下:

MOV TCON , #10H ;定时器T1工作于方式1 MOV TMOD , #0 ;清除TR1、TF1 MOV TH1 , #0FCH ;定时1ms的初值 MOV TL1 , #18H ;65536-1000=FC18H SETB TR1 ;启动定时器T1

LOOP: JNB TF1 , LOOP ;等待定时1ms的溢出 CLR TF1 ;清除溢出标志 CPL P1.0 ;取反P1.0口 CLR TR1 ;关闭定时器T1

MOV TH1 , #0FCH ;重写定时1ms的处值 MOV TL1 , #18H ;重写定时1ms的处值 SETB TR1 ;启动定时器T1

SJMP LOOP ;返回循环 15、系统时钟频率为6 MHz,试用定时器T0作外部计数器,编程实现每计到1000个脉冲,使T1开始2ms定时,定时时间到后,T0又开始计数,这样反复循环不止。

(1) 定时器T0工作于方式1,计数1000的初值为:65536-1000

1000=512+256+128+64+32+8=0000 0001 1111 1000 B 65536-1000=1111 1100 0001 1000 B = FC18H

(2) 晶振fosc=6MHz,机器周期为2us,定时器T0工作于方式1,定时1ms的初值为:65536-500

500=256+128+64+32+16+4 = 0000000111110100 B (取反+1可得到结果)

(65536-500)=65036=1111 1110 0000 1100 B

TH0=#0FEH ; TL0=#0CH (3) 参考程序如下:

LOOP3: MOV TMOD , #0000 0101 B CLR TF0 CLR TR0

MOV TH0 , #0FCH MOV TL0 , #18H SETB TR0

LOOP1: JNB TF0 , LOOP1 CLR TF0 CLR TR0

MOV TMOD , #01H MOV TH0 , #0FEH MOV TL0 , #0CH SETB TR0

LOOP2: JNB TF0 , LOOP2 SJMP LOOP3

一、填空题:

1、MCS—5l单片机的最大程序寻址空间是 KB,该空间的地址范围从

至,系统上电及复位后,程序入口地址为。

2、若由程序设定PSW中的RS1、RS0=01,则工作寄存器R0~R7的直接地址为____。 3、MCS-51单片机的I/O端口采用____ 编址方式。、

4、一个8位D/A转换器其分辨率为___,若该8位D/A转换器的基准电压为5V,则数字量100对应得模拟量为。

5、单片机系统中经常采用的地址译码技术包括法和法。 6、INTEL 8051 CPU 是位的单片机,其内部有KB的ROM。 7、指出下列各指令中源操作数的寻址方式。

(1) MOVC A,@A+DPTR (2) XCH (3) MOV

A,@R0; C,P1.0

(4) JC LOOP

8、判断下列各条指令的书写格式是否有错,并指出原因。

(1) MUL R0R1 (2) MOV A, @R7

(3) MOV A, #3000H (4) MOV R1,C

9、单片机与外设进行数据交换通常有__________方式、__________方式和_____ 方式三种。

10、MCS-51单片机串行口的方式0是________ _____方式,方式2是方式。 11、单片机复位后SP中的状态为_________,P0~P3口的状态为_________。

12、串行通信根据数据传送时的编码格式不同可分为________________和________________两种方式。

13、堆栈按照___________原则工作,使用__________指明栈顶位置。 14、8051单片机片内有___________字节的ROM,____________字节的RAM。

15、使用8031单片机构成的系统时,其EA引脚应______________,因为______________________。

16、ADC0809是_____位的A/D转换器。

17、单片机复位后PC的内容为___________,复位对片内RAM中存放的内容______(有,无)

影响。

18、多位LED显示器通常有________显示和_________显示两种接口。。

19. 执行下列两条指令后,PSW中的标志位(CY)=,(OV)=,(AC)=,(P)=。

MOV

A,#80H

A,P1指令中源操作数的寻址方式

ADD A,#98H

20.JC LOOP指令中操作数的寻址方式是, MOV 为。

21.下列指令中正确的是。

(1) RLC

R7

(2)SETB

R7.0

(3) MOV A, @DPTR

(4)POP

40H

22.一个4k*4RAM芯片的地址线有根,数据线有。

23.设(A)=30H,(B)=40H,(SP)=40H,执行下列程序段后,(A)=。

PUSH PUSH POP A POP B

A B

24.若8位A/D转换器的满量程输入为5V时,该转换器可分辨的最小电压是。

25.一单片机系统的外部晶体振荡器频率为6MHz,现启动单片机的的定时/计数器1统计外部脉冲的个数,当计满100时,使P1.0输出0。则:

当T1工作在方式0时,T1的初值应为(TH1)=,(TL1)=; 当T1工作在方式1时,T1的初值应为(TH1)=,(TL1)=; 当T1工作在方式2时,T1的初值应为(TH1)=,(TL1)=。

26. 已知(SP)=60H,子程序DELAY的首地址为1878H,现执行位于1123H处的LCALL DELAY三字节指令后,(PC)=,(61H)=,(62H)=。

一、填空题:(答)

1. 64KB, 0, 0FFFFH, 0 2. 08~0FH 3. 统一

4. 1/256, 1.953V(5*100/256V) 5. 线选法, 译码法 6. 8, 4

7. 基址变址寻址, 寄存器间接寻址, 位寻址, 相对寻址 8. ×, 乘法指令用A×B;

×, 寄存器间接寻址用R0和R1(只能用R1和R0作指针); ×, A是8位寄存器

×, C为进位位,不能送给寄存器 9、查询、定时、中断。

10、8位移位寄存器,多机 11、07H、FFH

12、同步通信、异步通信 13、先进后出,SP 14、4K,128。

15、接地,其片内没有程序存储器 16、8

17、0000H、无 18、静态,动态

19.1,1,0, 0

20.相对寻址, 直接寻址 21.(4) 22.12, 4 23.40H 24. 19.53mV

25. FCH, 1CH, FFH, 9CH, 9CH, 9CH 26. 1878H, 26H, 11H

二、选择题:

1.当MCS-51单片机接有外部存储器时,P2口可作为。

A.数据输入口

B. 数据的输出口 D.高8位地址线

C.准双向输入/输出口

2.单片机的并行接口中,作为数据线使用的并行口是。

A.P0

B. P1

C. P2

D. P3

3.MCS—5l单片机的堆栈区是设置在中。 A.片内ROM区 C.片内RAM区

B.片外ROM区 D. 片外RAM区

4.片内RAM的20H~2FH为位寻址区,所包含的位地址是。 A.00H~20H C.20H~2FH

B. 00H~7FH D.00H~FFH

5.在寄存器间接寻址方式中,间址寄存器中存放的数据是。

A.参与操作的数据 C.程序的转换地址

B.操作数的地址值 D.指令的操作码

6.当需要从MCS-51单片机程序存储器取数据时,采用的指令为。

A.MOV A, @R1 B.MOVC A, @A + DPTR C.MOVX A, @ R0 D.MOVX A, @ DPTR 7.能够用紫外光擦除ROM中程序的只读存储器称为。 A.掩膜ROM

B.PROM

C.EPROM D.EEPROM

8.在片外扩展一片2716程序存储器芯片要地址线。 A.8根

B.13根

C.11根

D.20根

9.定时器/计数器工作方式1是。 A.8位计数器结构 C.13位计数结构

B.2个8位计数器结构 D.16位计数结构

10.T0中断的中断入口地址为。

A. 0003H B. 000BH C. 0013H D. 001BH

二、选择题(答)

1.D,2.A,3.C,4. C,5.B,6. B,7.C,8. A,9.D,10. B

三、分析程序,写出结果

1、已知(A)=83H, (R0)=17H,(17H)=34H,执行下列程序段后(A)=。

ANL A, #17H ORL 17H, A XRL A,@R0 CPL A

2、下列程序段执行后,(R0)=_________,(7EH)=_________.

MOV R0,#7FH MOV 7EH,#0 MOV 7FH,#42H DEC @R0 DEC R0 DEC @R0

3、已知(R3)=05H, 运行程序后,结果为(50H )=。

MAIN:MOV A,R3

MOV DPTR, #TAB MOVC A,@A+DPTR MOV 50H,A

RET

DB 00,01,

04, 09, 16

TAB:

DB 25,36, 49, 64, 81

这个子程序的功能是: 。

4、已知一片DAC0832接成单缓冲方式,其地址为4000H,其控制程序如下:

MOV MOV

DPTR, #4000H R0, #00H

WAIT: MOV

A,R0

MOVX @DPTR,A

INC R0

NOP SJMP WAIT

读程序执行后,DAC0832输出的波形为波。 5.已知 (R3)=05H,程序运行后,结果为(50H )=。

MAIN:MOV A,R3 MOV DPTR, #TAB MOVC A,@A+DPTR MOV 50H,A RET TAB: DB 00,01, 04, 09, 16 DB 25,36, 49, 64, 81

这个子程序的功能是 。

6.该段程序执行后,(A)=,(CY)=。

MOV A, #56H MOV R4,#95H ADD A, R4 DA A

7. 下面该段程序的功能是。

MOV DPTR, #1000H MOV R0, #20H MOV A, #0FFH

LOOP: MOVX @DPTR, A INC DPTR DJNZ R0, LOOP

8.下列程序段执行后,(A)=_________,(B)=_________。

MOV A,#0FBH MOV B,#12H DIV AB

9. 下面该段程序的功能是 。 CLR A

LOOP: HERE: MOV R0, A MOV R2, #09H ADD A, R0 INC R0 DJNZ R2, LOOP MOV R3, A SJMP HERE

三、分析程序,写出结果(答)

1. 0CBH 2. 7EH, 0FFH

3. 25, 查表求A中所放数的平方值

4. 锯齿波

5. 25(或19H),查表求0~9数字的平均值 6. 51H, 1

7. 将外部RAM中从1000H单元开始的20H个单元的值置成0FFH。 8. 13(0DH), 17(11H)

9. 完成0~8之间自然数的求和。

四、编程题:

1、编程将外部RAM 从1200H单元开始的100个单元清零。

2、(25分)P1口连接有8个LED (LED0~LED7),编写程序使每次亮4个LED,即开始时偶数码的灯亮,下一个时刻奇数码的灯亮,如此循环。灯亮持续时间为2s。 (1)画出单片机89C51扩展8个灯的电路图;(10分) (2)编写程序实现该功能。(15分) 3、(10分)编程将外部RAM 从1000H单元开始的100个单元清零。

4、变量X的值存放在内部RAM的30H单元中,编程求解下列函数式,将求得的函数值y

存入内部RAM的40H单元。(15分)

?1?y??0??1?x?0??x?0? x?0??5、用查表法将累加器A拆为两个ASCII码,存入内部RAM的20H和21H单元中。(10分)

四、编程题:(答)

1.

ORG MOV MOV

1000H

R5, #20 DPTR, #1200H

MOV

LOOP:

MOVX

R0,#40H A, @DPTR

MOV @R0, A INC DPTR INC R0 DJNZ R5, LOOP

2.(1)

END

5V

R1 R2 R3 R4 R5 R6 R7 R8 P1

89C51

(2) ORG 1000H

LJMP MAIN ORG 001BH LJMP T0INT ORG 1000H MAIN: MOV P1, #0FFH MOV A,#55H MOV R2,#00H MOV TMOD, #01H

MOV TH0, #0B1H MOV TL0, #0E0H SETB EA SETB ET0

LED5 LED4 LED0 LED1 LED2 LED3 LED7 LED6 T0INT: QUIT: 3、

SETB TR0 SJMP $ MOV TH0, #0B1H MOV TL0, #0E0H INC R2 CJNE R2, #100, QUIT MOV R2,#00H CPL A MOV RET END

P1,A

ORG MOV MOV MOV

1000H R5, #20

DPTR, #1200H R0,#40H A, @DPTR @R0, A DPTR R0 R5, LOOP

LOOP:

MOVX MOV INC INC DJNZ

END

ORG 2000H MOV A,30H JZ DONE

JB ACC.7.LOOP MOV A,#01H SJMP DONE MOV A,#0FFH MOV 40H,A SJMP $ END

4、

LOOP: DONE:

5、 ORG 1000H MOV DPTR, #1000H MOV R4, #20 LOOP: MOVX A,@DPTR ORL A, #80H MOVX @DPTR, A

INC DPTR DJNZ R4, LOOP END

ORG 1000H

MOV A, #0 MOV DPTR, #8000H MOVX @DPTR, A JB P3.2, $ MOVX A, @DPTR MOV 40H, A INC DPTR MOVX @DPTR, A JB P3.2, $ MOVX A, @DPTR ADD A, 40H RR A MOV 40H,A END

ORG 1000H MOV A, R0 MOV DPTR, #TABLE MOVC A, @A+DPTR MOV P1, A DB 0C0H, 0F9H,0A4H, 0B0H,99H, 92H, 82H, 0F8H, 80H, 90H DB 88H, 83H, 0C6H, 0A1H, 86H, 8EH END

6. 7. TABLE:

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

Top