当前位置:文档之家› 扬州大学广陵学院 单片机及其原理复习资料

扬州大学广陵学院 单片机及其原理复习资料

单片机原理及其应用一、选择、填空、简答题:(1)串行口中断请求,中断请求标志为发送中断TI或接受中断RI。

串行口中断标志位是否自动清除?否,串行口中断请求的撤销只能使用软件的方法,在中断服务程序中进行,即用如下指令在中断服务程序中对串行口中断标志位进行清除:CLR TI; CLR RI;(2)单片机外部扩展存储器为什么要加地址锁存器?常用的地址锁存器?(举一个)AT89S51单片机受引脚数的限制,P0口兼用数据线和低8位地址线,为了将它们分离出来,需要在单片机外部增加地址锁存器。

常用的地址锁存器芯片有74LS373、74LS573等。

(3)基址加变址寻址方式的特点、适用场合?和别的寻址方式有什么不同?这种寻址方式是以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,并以两者内容相加形成的16位地址作为目的地址进行寻址的方式。

适用于读程序存储器中的固定数据。

寻址范围不同。

(基址加变址寻址方式的寻址空间是读程序存储器固定数据和程序散转)(4)存储器扩展,片选端采用的是?地址空间分配是用的哪两种方法?特点?片选使用高位地址线。

常用的存储器地址空间分配方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法)。

1、线选法:线选法是直接利用系统的某一高位地址线作为存储器芯片(或I/O接口芯片)的片选控制信号。

为此,只需要把用到的高位地址线与存储器芯片的片选端直接连接即可。

线选法的优点是电路简单,不需要另外增加地址译码器硬件电路,体积小,成本低。

缺点是可寻址的芯片数目受到限制。

另外,地址空间不连续,每个存储单元的地址不唯一,这会给程序设计带来一些不便,只适用于外扩芯片数目不多的单片机系统的存储器扩展。

2、译码法:译码法就是使用译码器对AT89S51单片机的高位地址进行译码,将译码器的译码输出作为存储器芯片的片选信号。

这种方法能够有效地利用存储器空间,适用于多芯片的存储器扩展。

若全部高位地址线都参加译码,称为全译码;若仅部分高位地址线参加译码,称为部分译码。

部分译码存在着部分存储器地址空间相重叠的情况。

(5)用什么来确定定时器/计数器的工作方式? P102AT89S51单片机的定时器/计数器工作方式寄存器TMOD用于选择定时器/计数器的工作模式和工作方式,字节地址为89H,不能位寻址。

(6)MOV MOVC MOVX的区别?1、MOV:MOV是内部数据传送指令(内部RAM)。

2、MOVC:MOVC是累加器与程序存储区之间的数据传送指令。

它可以用于内部程序存储区(内部ROM)与A之间的数据传送,也可以用于外部程序存储区(外部ROM)与A之间的数据传送。

(程序存储器读 /PSEN有效)3、MOVX:MOVX是外部数据存储器(外部RAM)与累加器A之间的数据传送指令。

因为内部与外部的RAM地址有重叠现象,所以需要用不同的指令予以区分。

(7)转移指令:SJMP AJMP LJMP和调用指令:ACALL LCALL 哪个要用到堆栈?为什么?调用指令要用到堆栈,因为调用以后需要返回,堆栈用来保存地址。

(8)转移指令、调用指令、中断指令,三类指令的共同特点?PC值发生变化,即程序的流向发生改变。

(9)晶振频率f osc、时钟周期T osc、机器周期T cy、状态指令、指令周期之间的关系? P36 时钟周期T osc =1/f osc 机器周期T cy =12/f osc 机器周期T cy =12*时钟周期T osc一个机器周期包括12个时钟周期,分为6个状态:S1~S6。

指令周期=1,2,4个机器周期(10)128字节的RAM 内部的分区,每一块的地址、特点、结构?AT89S51的片内数据存储器(RAM )共有128个单元,字节地址为00H ~7FH 。

地址为00H 1FH 的32个单元是4组通用工作寄存器区,每个区包含8B 的工作寄存器,编号为R7~R0。

用户可以通过指令改变特殊功能寄存器PSW 中的RS1、RS0这二位来切换当前选择的工作寄存器区。

地址为20H ~2FH 的16个单元的128位可进行位寻址,也可以进行字节寻址。

地址为30H ~7FH 的单元为用户RAM 区,只能进行字节寻址,用于存放数据以及作为堆栈区使用。

(11)实现中断允许控制和中断优先级控制的是?5个中断源,按照它们优先级的从高往低,写出它们的名称,所占用的入口地址?实现中断允许控制和中断优先级控制分别由特殊功能寄存器区中的中断允许寄存器IE 和中断优先级寄存器IP 来实现。

中断源中断级别 中断入口地址外部中断0 最高最低 0003H 定时器/计数器T0 000BH 外部中断1 0013H 定时器/计数器T1 001BH 串行口中断0023H(12)定时器/计数器定时器/计数器T0由特殊功能寄存器TH0、TL0构成,定时器/计数器T1由特殊功能寄存器TH1、TL1构成。

两个定时器/计数器都具有定时器和计数器两种工作模式,4种工作方式(方式0、方式1、方式2和方式3)。

定时器/计数器属于增1计数器。

定时器/计数器工作在定时/计数状态下时,脉冲信号分别由什么提供?计数器模式是对加在T0(P3.4)和T1(P3.5)两个引脚上的外部脉冲进行计数,而定时器工作模式是对单片机的时钟振荡器信号经片内12分频后的内部脉冲信号计数。

(13)D/A转换器(DAC0832)有哪两种工作方式?适用场合?1、单缓冲方式单缓冲方式是指DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受AT89S51单片机控制的锁存方式。

在实际应用中,如果只有一路模拟量输出,或虽是多路模拟量输出但并不要求多路输出同步的情况下,就可采用单缓冲方式。

(一路模拟量输出、多路模拟量输出但不要求同步)2、双缓冲方式多路的D/A转换要求同步输出时,必须采用双缓冲同步方式。

(多路模拟量输出且要求同步)(14)单片机有没有停机指令?如果没有,用什么指令代替?没有,用SJMP $代替。

(15)单片机复位时片内各寄存器对的状态计算:PSW=00H那么R0=00H R7=07HR4=04H二、程序填空题:(1)数据交换(考MOV MOVX,注意指令操作的对象)把内部RAM地址30H~39H中的内容与外部RAM地址5000H~5009H的内容交换。

MOV RO,#30HMOV DPTR,#5000HLOOP:MOVX A,@DPTRXCHG A,@R0MOVX @DPTR,AINC R0INC DPTRCJNE R0,#3AH,LOOPSJMP $(2)将R4中的压缩BCD码转换为ASCII码,并把高四位跟第四位分别保存到R4、R3中。

MOV A,R4ANL A,#OFHADD A,30H或者ORL A,30HMOV R3,AMOV A,R4ANL A,#0F0HSWAP AADD A,30H MOV R4,A SJMP $三、综合题:(1)A/D 转换 ADC0809与MCS-51单片机的接口电路 时序图实际应用中,ALE 与START 接在一起。

启动A/D 转换,用MOVX @DPTR, A 。

转换结束可查询EOC 状态读取结果,也可EOC 产生中断,CPU 响应中断后读入结果。

启动转换地址:0111 1111 1111 1xxx=7FFXH 读结果地址: 0111 1111 1111 1xxx=7FFXH编程:软件延时对8路模拟信号采集一次并存入数据存储区。

MAIN: MOV R1, #30H6MHz复位 SAR锁存通 道地址启动 转换MOV DPTR, #7FF8H; P2.7=0,选0通道MOV R7, #08H; 置通道个数LOOP: MOVX @DPTR,A;启动A/D转换MOV R6, #0AHDELAY:NOPNOPNOPDJNZ R6,DELZYMOVX A,@DPTR;读结果MOV @R1,A;存结果INC DPTR;下一通道INC R1DJNZ R7,LOOP问题:1、EOC为什么要接非门?2、74LS373的延时中断(不知道怎么考,P254)3、循环采集8路模拟信号的计算:0~100℃转换为0~5V通过0809输出求60℃怎么转换?60℃/100℃=X/2554、会画流程图(A/D和定时器结合考)5、每秒采集通道口进行一次A/D转换画主程序、外部中断、INTO流程图(没想好答案o(╯□╰)o)(2)D/A转换译码器地址已知+5VMOV A, #80HMOV R0, #0FEHMOVX @R0,ADAC产生波形重点看输出锯齿波锯齿波ORG 0000HSTART: MOV R0,#0FEHCLR ALOOP: MOVX @R0, AINC ASJMP LOOPEND(3)用定时器T1(老师记不清是T0还是T1了,主要看试卷上的)采用方式1在P1.1输出周期为2s的方波,晶振为12MHz,写程序。

转换为就是在I/O口输出T=2s的信号定时器初值机器周期 T计数=12/fosc=12/(6×106 )=2µs设初值为X 则:(216-X)×2×10-6s =100×10-3sX=15536D=3CB0HORG 0000HLJMP STARTORG 000BH ; 中断入口(要求记住)LJMP T NTORG 0100HSTART:MOV TMOD, #10H ;T1方式1MOV R0, #20 ;软计数器初值MOV TMOD, #01H ;MOV TL1, #0B0HMOV TH1, #3CHSETB ET0;T0 允中断(IE)SETB EA;CPU开中断(IE)SETB TR0;启动T0(TCON)SJMP $定时器中断:T NT:MOV TL1, #0B0HMOV TH1, #3CHDJNZ R0, T NTENDMOV R0,#20CPL P1.X ; 1秒时间到,翻转P1.X T NTEND:RETI。

相关主题