1、课程复习微机原理与应用课 程 复 习要求掌握:1、第一章:计算机的基础知识计算机的基本构成、工作原理、数的数制与编码,如补码、ASCII码;2、第二章:MCS51系列单片机的结构与组成MCS51系列单片机的结构、特性、功能,内部寄存器、片内RAM地址分布、SFR名称与功能及其地址、位地址单元、端口特性(P0P3的特性、引脚功能)、最小系统等硬件特性;这是进行单片机应用设计的基础知识。重点章节3、第三章:指令系统熟悉MCS51系列单片机的指令系统(7种寻址方式、5种指令类型、常用指令及其特性【那种指令是正确的】等);重点章节4、第四章:汇编语言程序设计掌握程序设计的基本要求,程序的基本类型,能进
2、行典型汇编语言程序的设计;重点章节5、第五章:MCS51系列单片机的中断系统掌握中断的特性与要求,熟悉MCS51系列单片机的中断系统(功能、用途、特性、应用方法,中断入口地址、外部与内部中断等),能利用中断技术进行程序设计。6、第六章:MCS51单片机的CTC熟悉MCS51系列单片机的CTC系统(功能、用途、特性、应用方法等),能利用CTC进行应用程序设计。7、第七章:MCS51单片机的存储扩展掌握常用的存储芯片(SRAM/EPROM)的功能、引脚、连接方法,能扩展单片机的程序存储空间和数据存储空间,必须掌握如何确定存储地址的方法。8、第八章:并行I/O接口 8255熟悉8255的结构与应用特
3、性,能对MCS51系统进行8255并行I/O端口扩展,能利用8255进行应用设计。9、第九章:熟悉单片机应用系统的一般开发步骤,了解单片机开发系统的功能,掌握单片机应用开发的基本方法。要求:能看懂单片机电路图、自行设计单片机应用电路图,为单片机应用系统设计基本的程序,掌握典型应用程序。考 试 题 型1、填空2、回答提问3、改错与判断4、编程设计5、系统硬件设计考试中的典型题型1. 试说明微机系统、微机、中央处理器(CPU)、微处理器、微机开发系统等名词的意义与区别。2. 计算机中为何要采用二进制?十六进制在计算机中起何作用?CPU是否可以直接执行十六进制数?3. 简述AT89C51单片机片内与
4、片外 RAM的空间分配。4. 如何简便地判断8051单片机正在工作?5. 如何改变8051的当前工作寄存器组?6. 指出下列每条指令的寻址方式及其功能 1、 MOV A,#40H 2、 MOV A,40H 3、 MOV A,R0 4、 MOV A,R5 5、 MOVC A,A+DPTR 6、 SJMP LOOP 7. 写出下列指令的机器码并指出每条指令中的50H或66H代表的是什么? 1、 MOV A,#50H 2、MOV R0,#66H MOV A,50H MOV R6,#66HMOV 50H,#20H MOV 66H,#45HMOV C,50H MOV 66H,CMOV 50H,20H M
5、OV 66H,R18. 编程,将8031单片机片内RAM 40H4FH单元中的数据传送到片内RAM 60H6FH单元中。9. 编程,将8031单片机片外RAM 1000H1030H单元中的数据顺序传送到片内RAM 从30H开始的地址单元中。 其他:要求每过1s传送1B数据,该如何设计程序?10. 试编写程序,判断30H单元中的数据是奇数还是偶数,是奇数则把31H单元置1,是偶数则把31置0。要求不破坏30H单元的内容。11. 在单片机片外RAM 中,有起始地址为SOURCE及长度为LEN的数据块(长度不超过256B),试编一程序,将该数据块中的奇数(字节中1的个数为奇数)选出并送到以片外RAM
6、起始地址为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端产生秒脉冲,P
7、1.1产生分脉冲。16. 试设计一个单片机控制的大会发言限时器(限时15分钟)。具体要求是:当发言者开始讲话时,主持人按动“START”键,15分钟后由单片机控制发出提示信号,提示信号由你自己设置。已知单片机晶振频率为6MHz,另有1Hz脉冲源为可选件。 1) 用文字叙述至少两种设计思想。( 2) 具体实现一种方案,要求给出硬件电路和设计软件,硬件电路设计需尽可能详细,必须包括时钟电路、复位电路、按键电路、提示显示电路等。17.用8031、LS373、EPROM 2764 、SRAM6264和8255芯片设计一个单片机应用系统,要求设置EPROM 2764的起始地址为0000H,设置SRAM
8、6264的起始地址为8000H。1) 请画出该应用系统的详细电路图并作设计说明,可以使用译码芯片。 (必须要有设计说明)2) 给出8255芯片的地址,说明8255芯片至少须占用系统多少个地址单元。3)编程,将SRAM 6264中的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表示足够了。 编程如下:ORG 1000HSTART: MOV
9、 A,50H MOV B,#08H MUL AB ; A*B=BA MOV 60H,B MOV 61H,AMOV A,51H MOV B,#03H MUL AB ; (60H)(61H) ADD A, 61H ; + B A MOV 61H,A ; (60H)(61H) MOV A,B ADDC A, 60HMOV 60H,A;MOV A,61H ADD A,#12H MOV 61H,A MOV A,60H ADDC A,#00HMOV 60H,AREP: SJMP REP END9. 编程,将8031单片机片外RAM 1000H1030H单元中的数据顺序传送到片内RAM 从30H开始的地址单
10、元中。解:编程如下: ORG 0100H MOV DPTR,#1000H MOV R0,#30HLOOP: MOVX A,DPTR MOV R0,A INC DPL INC R0 CJNE R0,#61H,LOOP SJMP $ END例1、对一8031单片机应用系统,已知其时钟频率为12MHZ,需将8031片内定时计数器设置成:CT0:10mS定时,申请中断,自启动;CT1:对外部信号16位计数,不中断申请,自启动,问:此时TMOD值应为多少? TH0/TL0 、TH1/TL1值应为多少?解:设计如下:TMOD0 1 0 1,0 0 0 1 BTH0/TL0 =(65,53610,000/1
11、)=55536=D8F0HTH1/TL1 = 00H/00H例2、当接口芯片8255的控制字设置为8EH时,说明此时芯片各端口的功能特性。解:设计如下:CW=8EH=1 00 0, 1 1 1 0 BPA工作在方式0、输出状态;上C口工作在输入状态;PB工作在方式1, 输入状态;下C口作为的通讯握手信号;1、8255工作方式控制字:D7 D6 D5 D4 D3 D2 D1 D01(工作方式控制字标志)PA MODEPA MODEPA I/O选择上C口I/O选择PB MODEPB I/O选择下C口I/O选择 选择D6D3 控制PA口 选择D2D0控制PB规定: D6 D5 PA工作模式0 0 M
12、ODE00 1 MODE11 * MODE2D4=0:PA工作在输出状态 ;D4=1:PA工作在输入状态D3=0:PC的高4位(PC7PC4,即上C口)工作在输出方式 D3=1:PC的高4位(PC7PC4,即上C口)工作在输入方式 D2=0: PB工作在 MODE 0方式D2=1: PB工作在 MODE 1方式D1=0: PB工作于输出工作方式 D1=1: PB工作于输入工作方式D0=0 下C端口工作在输出状态D0=1 下C端口工作在输入状态例如:CW=1 0 0 1,1 1 1 1B D6D5=00 PA工作在MODE 0 D4=1 PA工作在输入方式 D3=1 上C口工作在输入方式 ; D
13、2=1 PB工作在MODE1 D1=1 PB工作在输入方式D0=1 下C端口成为PB的应答信号线2、8255 PC口的位控字(适用在MODE0):D7 D6 D5 D4 D3 D2 D1 D00位选择位状态 例、 使CT0以中断方法产生秒、分脉冲,要求从P1.0端产生秒脉冲,P1.1产生分脉冲。已知f=12MHz。解:编程设计如下: CT0定时50mS, 每过0.5 S对P1.0取反1次,则秒定时扩展倍数R7=100AH, 分定时扩展倍数R6=603CHTMOD0 0 0 0,0 0 0 1 BTH0/TL0 =(65,53650,000/1)=15536=3CB0H ORG 000BH LJ
14、MP CT0S; ORG 1000HMAIN: MOV TMOD,#01H MOV TH0,#3CH ;设置CT0为50mS定时 MOV TL0,#0B0HH MOV R6,#3CH ;分定时扩展倍数为60 MOV R7,#0AH ;秒定时扩展倍数为10 SETB PT0 ;设置CT0为高优先权 SETB ET0 ;允许CT0中断 SETB EA ;开放CPU中断 SETB TR0 ;启动CT0REP: SJMP REP ;循环等待;CT0S: MOV TH0,#3CH ;恢复CT0的时间常数 MOV TL0,#0B0HH DJNZ R7,QUIT ;未到0.5S则退出MOV R7,#0AH
15、;到了0.5S,恢复R7的初值 CPL P1.0 ;对P1.0取反 DJNZ R6,QUIT ;未到0.5分则退出MOV R6,#3CH ;到了0.5分则恢复R6的初值 CPL P1.1 ;同时对P1.1取反QUIT: RETI ;中断返回 END 例、对一8031单片机应用系统,两个4位2进制数分别从8031 P1口的高、低4位输入,P3口的高5位连接有5个LED发光二极管。请设计程序,要求在按下外部中断申请INT0开关后,这5个LED发光二极管将显示输入的这两个4位2进制数之和(包括进位状态)。 ( 15 分)解:设计如下:TMOD0 1 0 1,0 0 0 1 BTH0/TL0 =(65
16、,53610,000/1)=55536=D8F0HTH1/TL1 = 00H/00H ORG 0000H LJMP MAIN; ORG 0003H SJMP INT0SMAIN: CLR AMOV P3,A SJMP $INT0S: MOV A,P1 MOV R7,A ;暂存在R7中 ANL A,#0FH ;得到P1的低4位数MOV R0,A ;P1的低4位数暂存在R0中 MOV A, R7 ;取回P1值 SWAP A ;高/低4位交换ANL A,#0FH ;得到P1的高4位数 ADD A,R0 ;与低4位数相加 RL A ;移到高5位 RL A RL AMOV P3,A ;送至P3口RETI
17、 ;中断返回 END例、 编程,已知晶振频率为12MHz,必须使用CT0和中断技术。要求在P1.0=0时,P1.7恒为高电平;而P1.0=1时,从P1.7输出周期为2秒的方波脉冲。 解:设计如下: CT0定时50mS, 每过1S对P1.7取反1次,则定时扩展倍数R7=2014HTMOD0 0 0 0,0 0 0 1 BTH0/TL0 =(65,53650,000/1)=15536=3CB0H ORG 000BH LJMP CT0S; ORG 000BHMAIN: MOV TMOD,#01H MOV TH0,#3CH ;设置CT0为50mS定时 MOV TL0,#0B0HH MOV R7,#14
18、H ;定时扩展倍数为20 SETB PT0 ;设置CT0为高优先权 SETB ET0 ;允许CT0中断 SETB EA ;开放CPU中断 SETB TR0 ;启动CT0REP: SJMP REP ;循环等待;CT0S: MOV TH0,#3CH ;恢复CT0的时间常数 MOV TL0,#0B0HH DJNZ R7,QUIT ;未到1S则退出MOV R7,#14H ;到了1S,恢复R7的初值 JB P1.0, PULSE ;P1.01,则去对P1.7取反 CLR P1.7 ;P1.00,则置P1.70 SJMP QUITPULSE: CPL P1.7 ;对P1.7取反QUIT: SJMP QUI
19、T END四. 编程,将8031单片机片内RAM 40H至49H单元中的十字节无符号数相加,和送入50H和51H单元(高位在前)。 ( 18 分) ORG 0000HST: MOV R0,#30H MOV R1,#51H MOV R7,#0AH CLR A MOV 50H,A MOV 51H,ALOOP: MOV A,R1 ADD A,R0 JC ADD1LOOP1: MOV R1,A INC R0 DJNZ R7,LOOP SJMP QUITADD1: INC 50H SJMP LOOP1QUIT: SJMP QUIT END例、用8031、LS373、EPROM 2764和SRAM6264芯片设计一个单片机应用系统,要求设置EPROM 2764的起始地址为0000H,设置SRAM 6264的起始地址为8000H,请画出该应用系统的详细电路图并作设计说明,可以使用译码芯片。 (必须要有设计说明)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1