兰州理工大学单片机历年期末考重要试题汇总情况.docx

上传人:b****2 文档编号:1579713 上传时间:2023-05-01 格式:DOCX 页数:21 大小:148.12KB
下载 相关 举报
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第1页
第1页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第2页
第2页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第3页
第3页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第4页
第4页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第5页
第5页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第6页
第6页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第7页
第7页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第8页
第8页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第9页
第9页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第10页
第10页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第11页
第11页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第12页
第12页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第13页
第13页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第14页
第14页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第15页
第15页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第16页
第16页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第17页
第17页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第18页
第18页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第19页
第19页 / 共21页
兰州理工大学单片机历年期末考重要试题汇总情况.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

兰州理工大学单片机历年期末考重要试题汇总情况.docx

《兰州理工大学单片机历年期末考重要试题汇总情况.docx》由会员分享,可在线阅读,更多相关《兰州理工大学单片机历年期末考重要试题汇总情况.docx(21页珍藏版)》请在冰点文库上搜索。

兰州理工大学单片机历年期末考重要试题汇总情况.docx

兰州理工大学单片机历年期末考重要试题汇总情况

2010-2018理工大学单片机历年期末考试题汇总

一、简答题

1.开机复位后,CPU使用哪一组工作存放器?

它们地址是?

如何改变当前工作存放器?

0组工作存放器,00H-07H,通过修改PSW中的RS1和RS0两位来改变。

2.什么是半双工、全双工方式?

MCS-51属于哪种传送方式?

①半:

通信双方只有一条双向传输线,允许数据双向传送,但每个时刻上只能有一方发送,另一方接收,这是一种能切换传送方向的单工方式;

②全:

有两条传输线,允许数据同时双向传送,通信设备具有完全独立的收发功能。

单片机属于全双工传送方式。

3.简述中断的定义。

当CPU正在处理某件事情时,外部发生某一更重要事件,需CPU暂停正在执行的工作去处理这一突发事件,之后再继续执行被暂停的工作,这个过程就叫中断。

中断的优点:

①实现与低速设备的同步;②提高系统处理的实时性;③视线故障处理,防止系统灾难。

4.程序设计语言有几种?

分别适用于哪种场合?

机器语言-程序的读写/执行;

汇编语言-程序编写;

高级语言-程序编写;

5.简述单片机的开展趋势。

第一代:

以1976年推出的MCS-48系列为代表,开始采用单片结构;

第二代:

以MCS-51的8051为代表的单片机,该系列其他单片机都是在8051的根底上进展功能改变得来;

第三代:

以80C51系列为代表的低功耗单片机。

二、填空

通用型和专用型两类。

2.MCS-51片20H-2FH围的数据存储器,既可以字节寻址又可位寻址。

部RAM中,堆栈存放器SP是8位存放器。

64KB,8051访问外ROM时,读选通信号有1个引脚送出,地址码由P2和P0送出,数据由P0送出。

8051的EA应接低电平。

5.I/O传输数据4种方式:

无条件传送、查询式传送、中断传送、DMA控制方式。

6.MCS51单片机可外扩的并行口芯片分两类:

不可编程和可编程并行口芯片。

7.中断处理全过程分3个阶段:

中断响应、中断处理、中断返回。

INT0、T0、INT1、T1、串行接口中断,中断入口地址分别是0003H、0013H、000BH、001BH、0023H。

分辨率、量程、转换精度、转换时间、输出逻辑电压、工作温度围、参考电压。

10.MCS51时钟频率为12MHZ时,一个机器周期为1μs。

11.MCS51复位后,SP容07H,P0容0FFH,PC容0000H。

P0、P1、P2、P3,其数据总线由P0提供,地址总线低8位由P0提供,高8位由P2提供。

部ROM中数据,MOVX访问外部RAM中数据,MOVC访问外部ROM数据。

128字节的RAM和14位的定时器。

16.过程通道是在微机和生产过程之间设置的信息传送和转换的连接通道,包括数字量输入、模拟量输入、数字量输出、模拟量输出四种。

写出4种PID控制器的改良形式:

串有低通滤波器的PID算法、带有死区的PID算法、积分别离的PID算法、不完全微分的PID算法。

三、大题

1.外部RAM2000H为始地址的存储区有20个带符号补码数,编写:

把正数和正零取出放入部RAM20H为始地址的存储区〔负数和负零不作处理〕。

解:

ORG0000H

AJMPMAIN

ORG0100H

MAIN:

MOVR0,#14H

MOVR1,#20H

MOVDPTR,#2000H

ROT:

MOVXA,DPTR

ACC.7,NEXT

MOVR1,A

INCR1

NEXT:

INCDPTR

DJNZR0,ROT

SJMP$

END

2.RAM的BLOCK单元,编写能统计正负数个数分别存入NUM和NUM+1单元的程序。

解:

ORG0100H

LENDATA20H

NUMDATA21H

BLOCKDATA23H

MAIN:

MOVNUM,#00H

MOVNUM+1,#00H

MOVR0,#BLOCK

LOOP:

MOVA,R0

JNBACC.7,POSI

INCNUM+1

SJMPNEXT

POSI:

INCNUM

NEXT:

INCR0

DJNZLEN,LOOP

SJMP$

END

3.外部RAM从2000H-2100H单元有一数据块,编程序:

将它们送到外部RAM3000H-3100H区域。

解:

ORG1000H

MOVDPTR,#2000H

NEXT:

MOVXA,DPTR

ORLDPH,#10H

MOVXDPTR,A

ANLDPH,#0EFH

INCDPTR

MOVA,DPH

CJNEA,#21H,NEXT

MOVXA,DPTR

MOVDPH,#31H

MOVXDPTR,A

SJMP$

END

4.将部RAM的AAA单元中8位无符号数转换成BCD码表示的十进制数。

解:

ORG0100H

AAADATA20H

BAIDATA21H

SHIDATA22H

GEDATA23H

MOVA,AAA

MOVB,#0AH

DIVAB

MOVGE,B

MOVB,#0AH

DIVAB

MOVSHI,B

MOVBAI,A

SJMP$

END

5.编程:

从部RAM的BLOCK为起始地址的20个无符号数找出最小值,并送到MIN单元。

解:

ORG0100H

MINDATA20H

BLOCKDATA21H

MAIN:

MOVR0,#BLOCK

MOVR2,#13H

MOVA,R0

LOOP:

INCR0

MOVB,R0

CJNEA,B,NEXT

NEXT:

JCNEXT1

MOVA,R0

NEXT1:

DJNZR2,LOOP

MOVMIN,A

SJMP$

END

6.编程:

用定时器T0〔工作在方式1〕产生一个50Hz的方波,由P1.0输出,晶振频率为12MHz。

解:

由题意,定时器T0需要工作在方式1定时10ms,如此TMOD控制字为01H;fosc=12MHz,如此机器周期为1µs。

定时初值=216–10ms/1µs=55536=D8F0H,即TH0=0D8H,TL0=0F0H。

ORG0000H

AJMPSTART

ORG2000H

START:

MOVTMOD,#01H

MOVTH0,#0D8H

MOVTL0,#0F0H

SETBTR0

LOOP:

CTF0,PE

AJMPLOOP

PE:

MOVTH0,#0D8H

MOVTL0,#0F0H

CPLP1.0

AJMPLOOP

END

7.晶振频率为12MHz,试编程使P1.0和P1.2分别输出周期为2ms和500ms的方波。

设晶振频率为6MHz,试用T0作为外部计数器,编程实现每当计到1000个脉冲,使T1开始2ms定时,定时时间到后,T0又开始计数,这样反复循环下去。

解:

〔1〕按照题意,定时器T0需要工作在方式1定时1ms,如此TMOD控制字为01H;fosc=12MHz,如此机器周期为1µs。

定时初值=216–1ms/1µs=64536=FC18H,即TH0=0FCH,TL0=18H。

程序如下:

主程序:

ORG1000H

START:

MOVTMOD,#01H

MOVTH0,#0FCH

MOVTL0,#18H

MOVIE,#82H

SETBTR0

MOVR0,#0FAH

LOOP:

SJMP$

中断程序:

ORG000BH

AJMPBRT0

ORG0080H

DJNZR0,NEXT

CPLP1.2

MOVR0,#0FAH

NEXT:

MOVTH0,#0FCH

MOVTL0,#18H

RETI

END

(2)按照题意,定时器T0需要工作在方式1计数方式,定时器T1需要工作在方式1定时方式,如此TMOD控制字为15H;T0计数初值为216–1000=64536=FC18H,即TH0=0FCH,TL0=18H;fosc=6MHz,如此机器周期为2µs。

T1定时初值=216–2ms/2µs=64536=FC18H,即TH1=0FCH,TL1=18H。

程序如下:

ORG2000H

START:

MOVTMOD,#15H

MOVTH0,#0FCH

MOVTL0,#18H

MOVTH1,#0FCH

MOVTL1,#18H

SETBTR0

LOOP:

CTF0,PE

AJMPLOOP

PE:

SETBTR1

CLRTR0

LOOP1:

CTF1,PE1

AJMPLOOP1

PE1:

MOVTH0,#0FCH

MOVTL0,#18H

MOVTH1,#0FCH

MOVTL1,#18H

SETBTR0

CLRTR1

AJMPLOOP

END

8.单片机系统时钟频率为6MHz,假如要求定时值分别为0.1ms、1ms和10ms,定时器T0工作在方式0、方式1和方式2时,定时器对应的初值各为多少?

解:

fosc=6MHz,如此机器周期为2µs。

方式0的初值分别为:

8142(1FCEH),即TH0=0FEH,TL0=0EH;7692(1E0CH),即TH0=0F0H,TL0=0CH;3192(0C78H),即TH0=63H,TL0=18H。

方式1的初值分别为:

65486〔FFCEH〕;65036〔FE0CH〕;60536〔EC78H〕。

方式2定时0.1ms的初值为206〔CEH〕,不能直接定时1ms和10ms。

9.设串行口通信波特率为2400bps,异步帧信号由8位数据,无校验位和一个停止位组成,请问传输1024个字节数据,需要多少时间?

10.用中断法编出串行口方式1下的发送程序,设单片机主频6MHz,波特率1200bps,发送数据缓冲区在外部RAM,始址为Tblock,数据块长度为30,采用偶校验,放在发送数据第8位〔数据块长度不发送〕。

解:

串行口工作在方式1,定时器T1工作在方式2,作为波特率发生器。

定时常数:

X=256―〔fosc*2SMOD)/(384*波特率)

取SMOD=1,如此X=229.96=230=E6H。

(假如取SMOD=0,如此X=F3H)

采用中断方式编程,单片机发送程序如下:

主程序:

ORG2000H

TblockDATA2000H

MOVTMOD,#20H

MOVTL1,#0E6H

MOVTH1,#0E6H

CLRET1

SETBTR1

MOVSCON,#40H

MOVPCON,#80H

MOVDPTR,#Tblock

MOVR7,#1EH

TRS:

MOVXA,DPTR

MOVACC.7,C

MOVSBUF,A

DECR7

INCDPTR

SETBEA

WAIT:

SETBES

SJMPWAIT

中断服务程序:

ORG0023H

LJMPSBV

ORG0100H

SBV:

CLRES

CLRTI

MOVXA,DPTR

C

MOVSBUF,A

DJNZR7,NEXT

SJMP$

NEXT:

INCDPTR

RETI

END

11.如图8051的P1.4~P1.7接有4个发光二极管,P1.0~P1.3接有4个开关,最下方按键用于产生中断请求信号。

每中断一次,采集一次P1.0~P1.3的开关状态反映到P1.4~P1.7的发光二极管上。

解:

ORG0000H

SJMPMAIN

ORG0003H

AJMPINT0

ORG0030H

MAIN:

SETBIT0

SETBEX0

SETBEA

SJMP$

INT0:

ORLP1,#0FH

MOVA,P1

SWAPA

XRLA,#0F0H

MOVP1,A

RETI

END

12单片机P1端口并行连接两只共阴极数码管显示器,利用扫描方式循环显示两位数00、01、02、……98、99。

1)写出共阴极接法下数码管显示0~9的字型码;

2)编写程序实现上述功能。

解:

〔1〕3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

〔2〕程序清单如下:

ORG0000H

AJMPMAIN

ORG000BH

AJMPTIMER

ORG0030H

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

MAIN:

MOVR0,#00H

MOVDPTR,#30H

MOVTMOD,#01H

MOVTH0,#0D8H

MOVTL0,#0F0H

SETBET0

SETBEA

SETBTR0

START:

INCR0

CJNER0,#100,NEXT

MOVR0,#00H

NEXT:

MOVA,R0

MOVB,10

DIVAB

MOVR1,A

MOVR2,B

MOVR4,#200

DELAY:

MOVR5,#200

DJNZR5,$

DJNZR4,DELAY

AJMPSTART

TIMER:

CLRTR0

MOVA,R1

MOVCA,A+DPTR

MOVP1,A

MOVR6,#200

DJNZR6,$

MOVA,R2

MOVCA,A+DPTR

MOVP1,A

MOVR6,#200

DJNZR6,$

MOVTH0,#0D8H

MOVTL0,#0F0H

SETBTR0

RETI

END

13.根据图9-3电路,请编写如如下图所示梯形波,要求梯形波的下底由8031部定时器实现。

(设fosc=12MHz)

解:

ORG0000H

AJMPSTART

ORG0100H

START:

MOVTMOD,#10H

MOVTH1,#3CH

MOVTL1,#B0H

MOVR0,#0FEH

CLRA

DOWN:

MOVXR0,A

INCA

JNZDOWN

SETBTR1

WAIT:

CTF1,NEXT

SJMPWAIT

NEXT:

CLRTR1

MOVTH1,#3CH

MOVTL1,#B0H

MOVA,#0FEH

UP:

MOVXR0,A

DECA

JNZUP

SJMPDOWN

END

14.2ms延时程序,晶振频率为12MHZ,如此机器周期为1µs。

〔此题必考〕

解:

DELAY2ms:

MOVR7,#10;1T

DL1:

MOVR6,#48;1T

DL2:

NOP;1T

NOP;1T

DJNZR6,DL2;2T

DJNZR7,DL1;2T

RET;2T

15.一个外部中断源时的编程。

如下列图电路,设外部中断信号为负脉冲,引入外部中断1引脚。

要求每中断一次,从P1.4~P1.7输入外部开关状态,然后从P1.0~P1.3输出。

程序清单:

ORG0000H;主程序

SJMPMAIN

ORG0013H

AJMPINT1;转入服务程序

ORG0030H

MAIN:

SETBIT1;设INT1为边沿触发

SETBET1;允许INT1中断

SETBEA;开放总允许

SJMP$

INT1:

ORLP1,#0F0H;中断服务程序:

MOVA,P1;从P1口输入开关状态

SWAPA;交换高、低4位

MOVP1,A;输出

RETI

END

 

四、知识点〔局部〕

1.ADC0809与MCS-51连接可采用延时方式、查询方式和中断方式。

①延时方式

启动转换后,延时等待一段时间,等待转换完毕后直接读取数据。

无需查询EOC状态,编程简单但占用时间较长。

延时方式编程:

ORG0000H

AJMPMAIN

ORG0050H

MAIN:

MOVR1,#20H;置数据区首地址

MOVDPTR,#7FF8H;指向通道IN0

LOOP:

MOVXDPTR,A;启动A/D转换

MOVR6,#30H;软件延时,等待转换完毕

DELAY:

NOP;延时时间,视CLK时钟

NOP频率而定

NOP

DJNZR6,DELAY

MOVXA,DPTR;读取转换结果

MOVR1,A;存储转换结果

END

②查询方式

启动转换后读取连续EOC引脚电平,直到EOC变为高电平后读取ADC0809转换数据。

查询方式编程:

ORG0000H

AJMPMAIN

ORG0050H

MAIN:

MOVDPTR,#7FF8H;试分析如何读取通道2?

MOVXDPTR,A;启动A/D转换

LOOP:

P1.0,LOOP;等待转换

LOOP1:

JNBP1.0,LOOP1;等待转换完毕

MOVXA,DPTR;读取A/D转换数据

MOV20H,A;存储数据

END

③中断方式

主程序启动转换后继续运行主程序,转换完毕后触发中断,在中断子程序中读取转换数据。

中断方式主程序:

ORG0000H

AJMPSTART

ORG0050H

START:

MOVDPTR,#7FF8H

MOVXDPTR,A;启动A/D转换

SETBEA

SETBEX0;开外中断1

SETBIT0;外中断请求为下跳沿触发

LOOP:

SJMPLOOP;等待中断

中断服务程序:

ORG0013H;外中断1的入口地址

LJMP1000H;转中断服务程序的入口地址

ORG1000H

MOVXA,DPTR;读取A/D转换数据

MOV20H,A;存储数据

RETI;中断返回

END

2.DAC0832的应用〔有直通方式和单缓冲方式两种,这里只讲后者〕

单缓冲方式的应用:

DAC0832部的两个数据缓冲器有一个处于直通方式,另一个处于受控的锁存方式。

①产生锯齿波的程序:

MOVR0,#0FEH

MOVA,#00H

LOOP:

MOVXR0,A

INCA

NOP

NOP

SJMPLOOP

②产生方波的程序:

MOVR0,#0FEH

LOOP:

MOVA,#DATA1

MOVXR0,A

ACALLDELAY

MOVA,#DATA2

MOVXR0,A

ACALLDELAY

AJMPLOOP

 

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2