课程复习.docx
《课程复习.docx》由会员分享,可在线阅读,更多相关《课程复习.docx(13页珍藏版)》请在冰豆网上搜索。
课程复习
微机原理与应用
课程复习
要求掌握:
1、第一章:
计算机的基础知识
计算机的基本构成、工作原理、数的数制与编码,如补码、ASCII码;
2、第二章:
MCS51系列单片机的结构与组成
MCS51系列单片机的结构、特性、功能,内部寄存器、片内RAM地址分布、SFR名称与功能及其地址、位地址单元、端口特性(P0~P3的特性、引脚功能)、最小系统等硬件特性;这是进行单片机应用设计的基础知识。
重点章节
3、第三章:
指令系统
熟悉MCS51系列单片机的指令系统(7种寻址方式、5种指令类型、常用指令及其特性【那种指令是正确的】等);重点章节
4、第四章:
汇编语言程序设计
掌握程序设计的基本要求,程序的基本类型,能进行典型汇编语言程序的设计;重点章节
5、第五章:
MCS51系列单片机的中断系统
掌握中断的特性与要求,熟悉MCS51系列单片机的中断系统(功能、用途、特性、应用方法,中断入口地址、外部与内部中断等),能利用中断技术进行程序设计。
6、第六章:
MCS51单片机的CTC
熟悉MCS51系列单片机的CTC系统(功能、用途、特性、应用方法等),能利用CTC进行应用程序设计。
7、第七章:
MCS51单片机的存储扩展
掌握常用的存储芯片(SRAM/EPROM)的功能、引脚、连接方法,能扩展单片机的程序存储空间和数据存储空间,必须掌握如何确定存储地址的方法。
8、第八章:
并行I/O接口8255
熟悉8255的结构与应用特性,能对MCS51系统进行8255并行I/O端口扩展,能利用8255进行应用设计。
9、第九章:
熟悉单片机应用系统的一般开发步骤,了解单片机开发系统的功能,掌握单片机应用开发的基本方法。
要求:
能看懂单片机电路图、自行设计单片机应用电路图,为单片机应用系统设计基本的程序,掌握典型应用程序。
考试题型
1、填空
2、回答提问
3、改错与判断
4、编程设计
5、系统硬件设计
考试中的典型题型
1.试说明微机系统、微机、中央处理器(CPU)、微处理器、微机开发系统等名词的意义与区别。
2.计算机中为何要采用二进制?
十六进制在计算机中起何作用?
CPU是否可以直接执行十六进制数?
3.简述AT89C51单片机片内与片外RAM的空间分配。
4.如何简便地判断8051单片机正在工作?
5.如何改变8051的当前工作寄存器组?
6.指出下列每条指令的寻址方式及其功能
1、MOVA,#40H2、MOVA,40H
3、MOVA,@R04、MOVA,R5
5、MOVCA,@A+DPTR6、SJMPLOOP
7.写出下列指令的机器码并指出每条指令中的50H或66H代表的是什么?
1、MOVA,#50H2、MOV@R0,#66H
MOVA,50HMOVR6,#66H
MOV50H,#20HMOV66H,#45H
MOVC,50HMOV66H,C
MOV50H,20HMOV66H,R1
8.编程,将8031单片机片内RAM40H~4FH单元中的数据传送到片内RAM60H~6FH单元中。
9.编程,将8031单片机片外RAM1000H~1030H单元中的数据顺序传送到片内RAM从30H开始的地址单元中。
其他:
要求每过1s传送1B数据,该如何设计程序?
10.试编写程序,判断30H单元中的数据是奇数还是偶数,是奇数则把31H单元置1,是偶数则把31置0。
要求不破坏30H单元的内容。
11.在单片机片外RAM中,有起始地址为SOURCE及长度为LEN的数据块(长度不超过256B),试编一程序,将该数据块中的奇数(字节中1的个数为奇数)选出并送到以片外RAM起始地址为DIST为地址单元中。
12.请编程,把片内RAM以BLOCK为起始地址的100个无符号数中的最大数找出来(有几个找几个)并放入MAX单元,最大数的个数送NUM单元。
13.编程,将片内RAM50/51H单元中的2个8b无符号数X、Y进行
Z=8X+3Y+12H的运算,和(Z)存入片内RAM60/61H单元。
(高位在前)
14.对一8031单片机应用系统,已知其时钟频率为12MHZ,需将8031片内定时计数器设置成:
CT0:
50mS定时,申请中断,自启动;此时TMOD值应为多少?
TH0/TL0应取值多少?
15.以中断方法设计单片机秒、分脉冲发生器。
要求从P1.0端产生秒脉冲,P1.1产生分脉冲。
16.试设计一个单片机控制的大会发言限时器(限时15分钟)。
具体要求是:
当发言者开始讲话时,主持人按动“START”键,15分钟后由单片机控制发出提示信号,提示信号由你自己设置。
已知单片机晶振频率为6MHz,另有1Hz脉冲源为可选件。
1)用文字叙述至少两种设计思想。
(
2)具体实现一种方案,要求给出硬件电路和设计软件,硬件电路设计需尽可能详细,必须包括时钟电路、复位电路、按键电路、提示显示电路等。
17.用8031、LS373、EPROM2764、SRAM6264和8255芯片设计一个单片机应用系统,要求设置EPROM2764的起始地址为0000H,设置SRAM6264的起始地址为8000H。
1)请画出该应用系统的详细电路图并作设计说明,可以使用译码芯片。
(必须要有设计说明)
2)给出8255芯片的地址,说明8255芯片至少须占用系统多少个地址单元。
3)编程,将SRAM6264中的512B数据从8255的PA端口输出。
13.编程,将片内RAM50/51H单元中的2个8b无符号数X、Y进行Z=8X+3Y+12H的运算,和(Z)存入片内RAM60/61H单元。
(高位在前)
解:
设50H单元中的数为X,51H单元中的数为Y,由于X与Y不会大于255,故Z=8X+3Y+12H用2Byte表示足够了。
编程如下:
ORG1000H
START:
MOVA,50H
MOVB,#08H
MULAB;A*B=BA
MOV60H,B
MOV61H,A
MOVA,51H
MOVB,#03H
MULAB;(60H)(61H)
ADDA,61H;+BA
MOV61H,A;(60H)(61H)
MOVA,B
ADDCA,60H
MOV60H,A
;
MOVA,61H
ADDA,#12H
MOV61H,A
MOVA,60H
ADDCA,#00H
MOV60H,A
REP:
SJMPREP
END
9.编程,将8031单片机片外RAM1000H~1030H单元中的数据顺序传送到片内RAM从30H开始的地址单元中。
解:
编程如下:
ORG0100H
MOVDPTR,#1000H
MOVR0,#30H
LOOP:
MOVXA,@DPTR
MOV@R0,A
INCDPL
INCR0
CJNER0,#61H,LOOP
SJMP$
END
例1、对一8031单片机应用系统,已知其时钟频率为12MHZ,需将8031片内定时计数器设置成:
CT0:
10mS定时,申请中断,自启动;CT1:
对外部信号16位计数,不中断申请,自启动,问:
此时TMOD值应为多少?
TH0/TL0、TH1/TL1值应为多少?
解:
设计如下:
TMOD=0101,0001B
TH0/TL0=(65,536-10,000/1)=55536=D8F0H
TH1/TL1=00H/00H
例2、当接口芯片8255的控制字设置为8EH时,说明此时芯片各端口的功能特性。
解:
设计如下:
CW=8EH=1000,1110B
PA工作在方式0、输出状态;
上C口工作在输入状态;
PB工作在方式1,输入状态;
下C口作为的通讯握手信号;
1、8255工作方式控制字:
D7D6D5D4D3D2D1D0
1
(工作方式控制字标志)
PAMODE
PAMODE
PAI/O选择
上C口I/O选择
PBMODE
PBI/O选择
下C口I/O选择
选择D6-D3控制PA口选择D2-D0控制PB
规定:
D6D5PA工作模式
00MODE0
01MODE1
1*MODE2
D4=0:
PA工作在输出状态;
D4=1:
PA工作在输入状态
D3=0:
PC的高4位(PC7~PC4,即上C口)工作在输出方式
D3=1:
PC的高4位(PC7~PC4,即上C口)工作在输入方式
D2=0:
PB工作在MODE0方式
D2=1:
PB工作在MODE1方式
D1=0:
PB工作于输出工作方式
D1=1:
PB工作于输入工作方式
D0=0下C端口工作在输出状态
D0=1下C端口工作在输入状态
例如:
CW=1001,1111B
D6D5=00PA工作在MODE0
D4=1PA工作在输入方式
D3=1上C口工作在输入方式
;
D2=1PB工作在MODE1
D1=1PB工作在输入方式
D0=1下C端口成为PB的应答信号线
2、8255PC口的位控字(适用在MODE0):
D7D6D5D4D3D2D1D0
0
╳
╳
╳
位
选
择
位状态
例、使CT0以中断方法产生秒、分脉冲,要求从P1.0端产生秒脉冲,P1.1产生分脉冲。
已知f=12MHz。
解:
编程设计如下:
CT0定时50mS,每过0.5S对P1.0取反1次,则秒定时扩展倍数R7=10=0AH,分定时扩展倍数R6=60=3CH
TMOD=0000,0001B
TH0/TL0=(65,536-50,000/1)=15536=3CB0H
ORG000BH
LJMPCT0S
;
ORG1000H
MAIN:
MOVTMOD,#01H
MOVTH0,#3CH;设置CT0为50mS定时
MOVTL0,#0B0HH
MOVR6,#3CH;分定时扩展倍数为60
MOVR7,#0AH;秒定时扩展倍数为10
SETBPT0;设置CT0为高优先权
SETBET0;允许CT0中断
SETBEA;开放CPU中断
SETBTR0;启动CT0
REP:
SJMPREP;循环等待
;
CT0S:
MOVTH0,#3CH;恢复CT0的时间常数
MOVTL0,#0B0HH
DJNZR7,QUIT;未到0.5S则退出
MOVR7,#0AH;到了0.5S,恢复R7的初值
CPLP1.0;对P1.0取反
DJNZR6,QUIT;未到0.5分则退出
MOVR6,#3CH;到了0.5分则恢复R6的初值
CPLP1.1;同时对P1.1取反
QUIT:
RETI;中断返回
END
例、对一8031单片机应用系统,两个4位2进制数分别从8031P1口的高、低4位输入,P3口的高5位连接有5个LED发光二极管。
请设计程序,要求在按下外部中断申请INT0开关后,这5个LED发光二极管将显示输入的这两个4位2进制数之和(包括进位状态)。
(15分)
解:
设计如下:
TMOD=0101,0001B
TH0/TL0=(65,536-10,000/1)=55536=D8F0H
TH1/TL1=00H/00H
ORG0000H
LJMPMAIN
;
ORG0003H
SJMPINT0S
MAIN:
CLRA
MOVP3,A
SJMP$
INT0S:
MOVA,P1
MOVR7,A;暂存在R7中
ANLA,#0FH;得到P1的低4位数
MOVR0,A;P1的低4位数暂存在R0中
MOVA,R7;取回P1值
SWAPA;高/低4位交换
ANLA,#0FH;得到P1的高4位数
ADDA,R0;与低4位数相加
RLA;移到高5位
RLA
RLA
MOVP3,A;送至P3口
RETI;中断返回
END
例、编程,已知晶振频率为12MHz,必须使用CT0和中断技术。
要求在P1.0=0时,P1.7恒为高电平;而P1.0=1时,从P1.7输出周期为2秒的方波脉冲。
解:
设计如下:
CT0定时50mS,每过1S对P1.7取反1次,则定时扩展倍数R7=20=14H
TMOD=0000,0001B
TH0/TL0=(65,536-50,000/1)=15536=3CB0H
ORG000BH
LJMPCT0S
;
ORG000BH
MAIN:
MOVTMOD,#01H
MOVTH0,#3CH;设置CT0为50mS定时
MOVTL0,#0B0HH
MOVR7,#14H;定时扩展倍数为20
SETBPT0;设置CT0为高优先权
SETBET0;允许CT0中断
SETBEA;开放CPU中断
SETBTR0;启动CT0
REP:
SJMPREP;循环等待
;
CT0S:
MOVTH0,#3CH;恢复CT0的时间常数
MOVTL0,#0B0HH
DJNZR7,QUIT;未到1S则退出
MOVR7,#14H;到了1S,恢复R7的初值
JBP1.0,PULSE;P1.0=1,则去对P1.7取反
CLRP1.7;P1.0=0,则置P1.7=0
SJMPQUIT
PULSE:
CPLP1.7;对P1.7取反
QUIT:
SJMPQUIT
END
四.编程,将8031单片机片内RAM40H至49H单元中的十字节无符号数相加,和送入50H和51H单元(高位在前)。
(18分)
ORG0000HST:
MOVR0,#30HMOVR1,#51HMOVR7,#0AHCLRAMOV50H,AMOV51H,ALOOP:
MOVA,@R1ADDA,@R0JCADD1LOOP1:
MOV@R1,AINCR0DJNZR7,LOOPSJMPQUITADD1:
INC50HSJMPLOOP1QUIT:
SJMPQUITEND
例、用8031、LS373、EPROM2764和SRAM6264芯片设计一个单片机应用系统,要求设置EPROM2764的起始地址为0000H,设置SRAM6264的起始地址为8000H,请画出该应用系统的详细电路图并作设计说明,可以使用译码芯片。
(必须要有设计说明)