单片机模拟题Word下载.docx

上传人:b****6 文档编号:19035247 上传时间:2023-01-03 格式:DOCX 页数:9 大小:19.66KB
下载 相关 举报
单片机模拟题Word下载.docx_第1页
第1页 / 共9页
单片机模拟题Word下载.docx_第2页
第2页 / 共9页
单片机模拟题Word下载.docx_第3页
第3页 / 共9页
单片机模拟题Word下载.docx_第4页
第4页 / 共9页
单片机模拟题Word下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

单片机模拟题Word下载.docx

《单片机模拟题Word下载.docx》由会员分享,可在线阅读,更多相关《单片机模拟题Word下载.docx(9页珍藏版)》请在冰豆网上搜索。

单片机模拟题Word下载.docx

它们对应的中断矢量地址:

外部中断0---0003H;

定时器/计数器0---000BH;

外部中断1---0013H;

定时器/计数器1---001BH;

串行口(RI/TI)--0023H;

定时器/计数器2(T2)---002BH(注:

它不是中断源)。

17、A/D转换器是一种用来将连续的模拟信号转换成适合于数字处理的二进制数的期间。

常用的A/D转换器有双积分式转换器、逐位比较式转换器、并行直接比较式转换器。

18、在单片机的四个并行I/O口中,其驱动能力最强的是P1口。

19、在单片机的四个并行I/O口中,P1口是真正的双向I/O口。

准双向口的含义是:

在外部需要输入电平时,应先置为高电平。

20、I/O口的每一位由锁存器、输出驱动、输入缓冲器组成。

21、MCS—51单片机外部中断请求信号有电平触发方式、边沿触发方式。

当采集到INT0、INT1的有效信号为低电平时,激活外部中断。

22、MCS—51单片机扩展程序存储器所用的控制信号为PSEN,扩展数据存储器所用的控制信号为WD和WR,访问内部RAM用MOV指令。

23、定时器T0、T1的四种工作方式的四种计数器结构:

方式0:

13位计数器;

方式1:

16位计数器;

方式2:

自动重装的8位计数器,T1作为波特率发生器;

方式3:

T0分为两个8位计数器。

24、定时器/计数器T0、T1的方式寄存器TMOD中的GATE位的含义:

门控位,当它为1时,有外部中断和控制寄存器TR0、TR1来启动定时器;

当它为0时,仅有TR0和TR1来启动定时器T0和T1。

C/T位:

功能选择位,当为1时,选择计数功能,为0时选择定时功能。

25、MCS—51单片机的片内数据存储空间的128字节单元通常可划分为三个区域,分别是:

寄存器区、位寻址区、通用RAM区。

26、MCS—51有5个中断源,2个优先级,上电复位时,外部中断0中断优先级别最高。

27、MCS—51的机器周期是1us(设f=12MHz),一条指令最多有4个机器周期。

28、MCS—51中,外部数据存储器最大寻址范围为64KB。

29、80C51串行口工作在方式1和方式3时,传输波特率都是由T1决定的,工作在方式2时波特率是固定的,接收时REN必须为高电平,接收是在RXD引脚上检测到由1到0跳变开始的。

发送一阵信息是10位的。

三、简答题(15,每题5分)

1、在80C51的片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。

分析下面各条指令,说明源操作数的寻址方式,按顺序执行各条指令后的结果。

(此题的数据,顺序,指令会有改动,但类型不会变)

MOVA,40H

MOVR0,A

MOVP1,#0F0H

MOV@R0,30H

MOVDPTR,#3848H

MOV40H,38H

MOVD0H,R0

MOVR0,30H

MOV18H,#30H

MOVA,@R0

MOVP2,P1

答:

MOVA,40H直接寻址(A)=48H

MOVR0,A寄存器寻址(R0)=48H

MOVP1,#0F0H立即寻址(P1)=0F0H

MOV@R0,30H寄存器间接寻址,因为(R0)=48H,(30H)=38H,

所以(48H)=38H

MOVDPTR,#3848H立即寻址(DPTR)=3848H

MOV40H,38H直接寻址(40H)=40H

MOVD0H,R0直接寻址(D0H)=38H

MOVR0,30H直接寻址(R0)=38H

MOV18H,#30H立即寻址(18H)=30H

MOVA,@R0寄存器间接寻址因(R0)=30H,(30H)=38H,所以

(A)=38H

MOVP2,P1寄存器寻址(P2)=0F0H

2、请描述独立键盘和矩阵键盘的特点,并分别说明他们的工作原理。

(1)独立键盘。

特点:

每个键都独立地接入一根数据输入线,这种键盘结构简单,使用方便,但随着键数的增多,所占用的I/O口线也增多。

工作原理:

所有的数据输入线都连接成高电平,当任何一个键压下时,与之相连的数据输入线江北拉成低电平,只要用位处理指令即可判断是否有键压下。

(2)矩阵键盘。

可以多个键共用一根数据输入线,比较节省I/O口资源,扫描过程较复杂。

CPU先使行线O0线为低,其余行线为高,即0行为“0“状态,其余行为”1“状态。

然后CPU读入输入缓冲器的状态,以确定那条列线为“0”状态,此时,0为“0”状态,则为“0”键按下;

若I1为“0”状态,则为“1“键压下;

依次类推。

若输入缓冲器的状态全部为”1“状态,则CPU继续使行线O1为低,其余行线为高。

再读入输入缓冲器的状态,以确定那条列线为”0“状态,从而判断哪个键按下。

判断出哪个键压下后,程序转入相应的键处理程序。

3、请写出四条不同的数据传送指令和五条不同类型的控制转移指令。

(可能会考其他的指令)

数据传送:

MOVA,Rn

MOVDPTR,#打塔6

XCHA,Rn

PUSHdirect

控制转移:

SJMPrel

RET

JZrel

DJNZRn,rel

NOP

四、程序设计题(3-12,4-8,每题10分,题型一样,但绝不是原题)

1、请编写程序,将片外数据存储器中20H单元中的内容和21H单元的内容相乘,并将结果存放在22H和23H单元中,高位存放在高地址中。

(考试时,数值会有改动)

MOVR0,#20H;

R0指向20H

MOVXA,@R0;

取来被乘数

MOVB,A;

存入B寄存器

MOVR0,#21H;

R0指向21H

取来乘数,入累加器A

MULAB;

得结果

MOVR0,#22H;

R0指向23H

MOVA,B;

结果高位在23单元中

MOVX@R0,A

2、在80C51单片机系统中,已知时钟频率为6MHz,选用定时器T0设置方式3,请变成实现P1.0和P1.1口分别输出周期为1ms和400us的方波。

产生1ms和400us的方波,则分别要500us和200us的定时。

另外,定时器T0设置成方式3,则是把TL0和TH0分别作为两个8位定时器。

f=6MHz=6×

106Hz,方式3计数器长度L=8,28=256。

定时时间T1=500us=500×

10-6s

定时常数Tc=2L-(f×

T1÷

12)=256-(6×

106×

500×

10-6÷

12)=256–250=6H

定时时间T2=200us=200×

T2÷

200×

12)=256–100=38H

P1.0和P1.1口分别输出周期为1ms和400us的方波程序:

ORG000BH

AJMPITOP

;

ORG001BH

AJMP1T1P

ORG100H

START:

MOVSP,#60H;

设置栈指针

ACALLPTOM3;

调定时器初始化程序

HERE:

SJMPHERE;

等待中断

;

PTOM3:

MOVTMOD,#03H;

定时器初始化,设T0为方式3

MOVTL0,#6H

MOVTHO,#38H

SETBTR0;

定时器开始

SETBTR1

SETBET0;

开中断

SETBET1

SETBEA

RET

IT0P:

MOVTL0,#6H;

TL0定时器中断程序

CPLP1.0

RET1

IP1P:

MOVTH0,#38H;

TH0定时器中断器程序

CPLP1.1

RETI

五、综合应用(15分,实验3内容)

到时题目上会有一个用单片机和8255控制两个数码管实现计时功能,单片机和8255的连线部分题目已给出,要求我们连8255和数码管的部分。

数码管要求的是静态显示。

这题先对8255进行初始化,然后写循环程序控制数码管。

下面是当时实验时的程序:

程序设计

分析:

6MHz,12个时钟周期为2us,16位计数最大定时131ms,每次125ms产生溢出,8次为1s。

即(65536-x)*2=125000,则x=3036,即0xbdc;

汇编程序如下:

PA_PORTEQU0CFA0H;

PB_PORTEQU0CFA1H;

PC_PORTEQU0CFA2H;

PCTL_PORTEQU0CFA3H;

ORG0000H

LJMPSTART

LJMPINT_T0_over

ORG0030H

MOVSP,#68H

MOVR0,#0

MOVR1,#0

LCALLinit_t0

SETBTR0

SETBEA

MOVDPTR,#PCTL_PORT

MOVA,#80H

MOVX@DPTR,A;

8255的PA、PB都工作在方式0,输出

LOOP:

MOVDPTR,#PB_PORT

MOVA,#0FFH

//数码管熄灭

MOVA,#0FDH

MOVX@DPTR,A

MOVA,R1

MOVB,#10

DIVAB

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVDPTR,#PA_PORT

MOVR2,#10

LOOPA:

//显示十位

DJNZR2,LOOPA

MOVA,#0FEH

MOVA,B

LOOPB:

//显示个位

DJNZR2,LOOPB

LJMPLOOP

init_t0:

CLRTR0;

//T0禁止计数定时

MOVTMOD,#01H;

//T0方式1(16位),定时

MOVTH0,#0bH;

MOVTL0,#0dcH;

SETBET0;

//T0允许中断

RET

INT_T0_over:

;

C/T0溢出中断服务函数

PUSHPSW

PUSHACC

INCR0;

CJNER0,#8,LOOP1

LOOP1:

JCLOOP2

MOVR0,#0

INCR1

CJNER1,#60,LOOP3

LOOP3:

MOVR1,#0

LOOP2:

POPACC

POPPSW

RETI

TAB:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;

//共阴数码管段码

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1