自动化单片机原理复习_第1页
自动化单片机原理复习_第2页
自动化单片机原理复习_第3页
自动化单片机原理复习_第4页
自动化单片机原理复习_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业一、简述题MCS-51单片机芯片包含哪些主要逻辑功能部件?(习题2-1)答:1个8位CPU;1个片内振荡器及时钟电路;128字节RAM(数据存储器);4K字节ROM(程序存储器);2个16位定时器/计数器;32条可编程的I/O线(四个8位并行I/O端口);1个全双工串行口;5个中断源;程序计数器PC的作用是什么?什么情况下会使用PC的值?(习题2-4)答:作用:程序计数器PC用来存放即要执行的指令地址,共16位,低8位经P0 口输出,高8位经P2口输出。CPU每取一次机

2、器码,PC内容自动加一, CPU执行一条指令,PC内容自动增加该指令的长度。CPU复位后,PC内容为0000H,它标志着程序从头开始执行。PC的内容变化决定程序的流向。MCS-51单片机设置有四组工作寄存器,这样做的目的是什么?请举例说明。(习题2-7)答:工作寄存器区也称为通用寄存器区。工作寄存器区包含4个工作寄存器组,每个工作存器组中包含8个工作寄存器R0R7:BANK0(0007H) ;BANK1(080FH); BANK2(1017H);BANK3(181FH)简述MCS-51单片机的位寻址空间。(习题2-11)答:MCS-51单片机的位寻址空间共有211个位由两部分组成,位地址范围为

3、00 FFH。片内RAM中20-2FH单元的128位,占用位地址范围: 007FH;地址能被8整除的SFR具有位寻址功能,占用位地址范围:80FFH,共83位。什么是时钟周期、机器周期、指令周期?如何计算机器周期?晶振频率为12M时,计算时钟周期、机器周期。(习题2-9)答:与时序有关的周期:时钟周期、机器周期、指令周期。时钟周期为晶体振荡器(晶振)的振荡周期的2倍。机器周期(TM) : CPU完成一个基本操作所用的时间。MCS-51单片机的1个机器周期包含12个振荡周期。指令周期(TI):执行一条指令所用的时间;MCS-51:1TI = 1 4 TM。一般为12个机器周期,乘法、除法为3个机

4、器周期。 =1/(12M)= TM=12=简单说明MCS-51单片机PSW寄存器各标志位的含义。(习题2-15)答:CY (PSW.7) 进位/借位标志位。若ACC在运算过程中发生了进位或借位,则CY=1;否则=0。它也是布尔处理器的位累加器,可用于布尔操作。AC(PSW.6) 半进位/借位标志位。若ACC在运算过程中,D3位向D4位发生了进位或借位,则CY=1,否则=0。机器在执行“DA A”指令时自动要判断这一位,我们可以暂时不关心它。 F0 (PSW.5) 用户标志位。RS1(PSW.4)、RS0(PSW.3)工作寄存器组选择位RS1,RS0 = 0 0 则选择了工作寄存器组 0 区R0

5、R7分别代表00H 07H单元。RS1,RS0 = 0 1 则选择了工作寄存器组 1 区R0R7分别代表08H 0FH单元。RS1,RS0 = 1 0 则选择了工作寄存器组 2 区 R0R7分别代表10H 17H单元。RS1,RS0 = 1 1 则选择了工作寄存器组 3 区R0R7分别代表18H 1FH单元。OV (PSW.2)溢出标志位。OV=1时特指累加器在进行带符号数(-128+127)运算时出错(超出范围);OV=0时未出错。P (PSW.0)奇偶标志位:P=1表示累加器中“1”的个数为奇数;P=0表示累加器中“1”的个数为偶数。CPU随时监视着ACC中的“1”的个数,并反映在PSW中

6、什么是寻址方式?在MCS-51单片机中,有哪几种寻址方式?(习题3-18)答:所谓的寻址方式就是CPU执行时获取操作数的方式。分为:立即数寻址,直接寻址,寄存器寻址,寄存器间接寻址、变址寻址、位寻址、相对寻址7种寻址方式。DA A指令的作用是什么?它跟在哪些指令后面使用?(习题3-20)答用:该指令是进行十进制加法调整的。 这条指令是在进行BCD码加法运算时,跟在“ADD”和“ADDC”指令之后,用来对BCD码的加法运算结果自动进行修正的,使其仍为BCD码表达形式。“LJMP PROG”和“LCALL PROG”的区别是什么?(习题3-21)答:“LJMP PROG”执行这条指令时,把指令中给

7、出的16位地址给PC,无条件地跳转到以PROG为标号地址的同一程序位置;“LCALL PROG”执行这条指令时,调用以PROG标号地址开头的子程序。MCS-51单片机提供了哪几种中断源?在中断管理上有什么特点?各个中断源优先级如何确定?中断嵌套的原则是什么?(习题4-1)答:MCS-51单片机提供的中断源:有5个中断源,分别为2个外部中断、2个定时/计数器溢出产生的中断、1个串行口接收/发送产生的中断,提供2个中断优先级。管理特点:当一个事件发生了,该中断源触发了中断,中断系统通过硬件把这个中断源对应的中断触发器置1,以此向CPU发出请求,即中断登记。CPU通过检测中断触发器的状态是否为1来识

8、别是哪一个中断源发出了请求。 只要中断触发一次,中断触发器被置1并锁存,除非中断触发器被清0,否则,该中断源后续的中断请求不再登记。中断源优先级的确定:在中断系统中,按照轻重缓急的原则给每一个中断源分配一个中断CPU的优先级中断嵌套原则:一个低级中断源的中断服务程序可以被另一个高级中断源的中断所中断,反之不能。MCS-51单片机响应中断的条件是什么?CPU响应中断时,不同的中断源的中断处理程序的入口地址各是多少?(习题4-2)答:CPU能响应中断的条件:(1)有中断源的中断请求;(2)CPU允许这个中断源请求中断;(3)CPU处于开放中断的状态;4)CPU刚刚结束一条指令的执行过程。中断源的中

9、断处理程序的入口地址:外部事件中断00003H;外部事件中断10013H;定时/计数器T0溢出中断000BH;定时/计数器T1溢出中断001BH;串行口接收和发送中断0023HMCS-51单片机串行口有几种工作方式?有几种数据帧格式?各种方式下通讯的波特率如何确定?(习题6-2)答:串行口有四种工作方式:方式0、方式1、方式2、方式3 一共有3种数据帧:1)8位数据位、低位在前,高位在后2)1位起始位、8位数据位、1位停止位 3)1位起始位、9位数据位、1位停止位波特率的确定: 为晶体振荡器的频率 X为定时/计数器的初始时间常数SMOD:波特率倍增选择位简述MCS-51单片机多机通讯原理。(习

10、题6-3)答:MCS-51单片机的串行口控制器SCON中的SM2位为多机通信控制位。在串行口工作在方式2或方式3时,如果SM2=1,只有在接收器收到9位数据位1时,数据才装入接收缓冲器SBUF中,并将接收中断标志位R1置1,向CPU请求中断,如果接收器收到的第9位为0,则接收中断标志位不置1,并把接收到的数据丢弃。当SM2为0时,接收到一个数据帧后,不管是9位数据是0或1,都会把接收中断标志R1置1,并将接收到的数据表装入接收缓冲器SBUF。利用这个特点,可以实现多个MCS-51单片机之间的通信。在MCS-51单片机系统中,扩展的程序存储器和数据存储器都使用相同的16位地址线和8位数据线,为什

11、么不发生冲突?(习题8-5)答:因为控制信号线不同:外扩的RAM芯片既能读出又能写入,所以通常都有读写控制引脚,记为OE和WE。外扩RAM的读、写控制引脚分别与MCS-51的RD和WR引脚相连。外扩的EPROM在正常使用中只能读出,不能写入,故EPROM芯片没有写入控制引脚,只有读出引脚,记为OE,该引脚与MCS-51单片机的PSEN相连16、简述MCS-51单片机内部RAM功能分区,说明各部分的使用特点。(习题2-6)答:单片机的内部数据存储器由RAM地址寄存器、地址译码器以及128个单元的RAM构成,用于存放可读写的数据。MCS-51单片机的片内RAM按照功能可分为3个区域:001FH:3

12、2个单元为工作寄存器区;202FH:16个单元为位寻址区;307FH:80个单元为数据缓冲区。特点:工作寄存器区:主要用途是存放操作数据及中间结果等位寻址区:主要用途是配合位操作指令,作为单片机进行布尔处理时的存储空间,也可作为一般RAM单元进行字节操作;数据缓冲区:主要用途是作为内外数据交换式的缓冲单元,MCS-51的堆栈也设在此区。在MCS-51单片机应用系统中,外接程序存储器和数据存储器地址空间允许重叠而不会发生冲突,为什么?外接I/O接口是否允许与外接数据存储器地址重叠?为什么?(习题8-6)答:因为单片机访问外部程序存储器与访问外部数据存储器(包括外部I/O口)时,会分别产生PSEN

13、与RD/WR两类不同的控制信号,因此外接程序存储器和数据存储器的地址空间允许重叠而不会发生冲突。外部扩展I/O口占用数据存储器地址空间,与外部数据存储器统一编址,单片机用访问外部数据存储器的指令来访问外部扩展I/O口,因此外部I/O接口地址允许与程序存储器地址重叠不允许与数据存储器地址重叠。堆栈有哪些功能?堆栈指针SP的作用是什么?在具体应用设计时,为什么要对SP重新赋值?(习题2-8)答:堆栈是为了保护CPU执行程序的现场,在存储器中开辟了一个“先进后出”(后进先出)的区域;堆栈的操作:入栈,出栈;操作规则:先进后出;堆栈由堆栈指针SP管理,它始终指向栈顶位置。一般情况下,将堆栈设在30H单

14、元之后。程序设计时,最好设在片内RAM的末端,如 MOV SP, #60H, 以避免堆栈向上生成时覆盖所存储的数据。18、在MCS-51单片机中,每个特殊功能寄存器都有一个地址,且它们的地址分布在80H0FFH之间,为什么对特殊功能寄存器只能使用直接寻址?答:在MCS-51单片机中,每个特殊功能寄存器都有一个固定的地址,在操作寻址时,可直接按照地址来寻址,而不用其他的寻址方式。这也可是说是单片机的约定俗成。所以对于已知地址的寄存器,对其寻址方式为直接寻址。二、写出下列指令中所有操作数的寻址方式MOV A,40H 目的操作数:寄存器寻址;源操作数:直接寻址MOV P1,#0F0H目的操作数: 源

15、操作数:立即数寻址MOV A,R0目的操作数:寄存器寻址 源操作数:寄存器间接寻址MOVX A,DPTR目的操作数:寄存器寻址 源操作数:寄存器间接寻址MOVC A,A+PC目的操作数:寄存器寻址 源操作数:变址寻址MOV 30H, 50H目的操作数:直接寻址 源操作数:直接寻址MOV 30H, #50H目的操作数:直接寻址 源操作数:立即数寻址DJNZ R7, LOOP目的操作数:寄存器寻址 源操作数:相对寻址DJNZ 30H, DO目的操作数:直接寻址 源操作数:相对寻址SJMP $ 操作数:SJMP NEXT 相对寻址SWAP A 操作数:寄存器寻址XCHD A, R0 目的操作数:寄存

16、器寻址,源操作数:寄存器间接寻址PUSH DPH 目的操作数: 寄存器寻址POP ACC 目的操作数:寄存器寻址AJMP DO目的操作数:相对寻址LJMP MAIN 相对寻址MOVX R0, A 目的操作数:寄存器间接寻址 源操作数:寄存器寻址MOVC A, A+DPTR目的操作数:寄存器寻址 源操作数:变址寻址MOV DPTR, #BUFFER目的操作数:寄存器寻址 源操作数:立即寻址MOV DPTR, #2000h目的操作数:寄存器寻址 源操作数:直接寻址JMP A+DPTR 操作数:变址寻址CLR A 操作数:寄存器寻址CLR 30H 操作数:直接寻址CLR RI 操作数:寄存器寻址CL

17、R C 操作数:位寻址SETB C 操作数:位寻址SETB 20H 操作数:直接寻址MUL AB 寄存器寻址DIV AB 寄存器寻址JZ NEXT 相对寻址JN DONE 相对寻址CJNE A,#10,GO1操作数1:寄存器寻址,操作数2:立即数寻址 操作数3:相对寻址CJNE A,40,GO2操作数1:寄存器寻址,操作数2:直接寻址 操作数3:相对寻址CJNE R0,#40,GO3操作数1:寄存器寻址,操作数2:立即数寻址 操作数3:相对寻址CJNE R0,#0DH,GO4操作数1:寄存器间接寻址,操作数2:立即数寻址 操作数3:相对寻址LCALL ROUTINE1 相对寻址ACALL RO

18、UTINE2相对寻址MOV C,20H目的操作数:寄存器寻址 源操作数:直接寻址MOV 20H.0,C目的操作数:位寻址 源操作数:位寻址MOV P1.0,C目的操作数:位寻址 源操作数:位寻址MOV C,P1.7 目的操作数:位寻址 源操作数:位寻址SETB EA 相对寻址SETB TR1 相对寻址JB 0,DONE 相对寻址JNB FLAG,DONE 目的操作数:相对寻址 源操作数:相对寻址JBC TF1,WAIT 目的操作数:相对寻址 源操作数:相对寻址JB ACC.7,GO 目的操作数:位寻址 源操作数:相对寻址JC DO1 相对寻址JNC DO2 相对寻址四、简单应用设计在检测系统中

19、,通常采用平均值滤波的方法来消除检测数据的随机干扰,即连续采集多次,取平均值作为测量值。下图为8051单片机与串行A/D转换器TLC549的接口示意图,单片机晶振频率12M,请编写一程序对输入模拟量采样8次,把它们的平均值存放在30H单元。(习题9-6)Vref(+)Vref(+)Vref(-)ANINGNDVCCDAT/CSCLKTLC549VCCGNDVrefP1.0P1.1P1.28051模拟量CS BIT P1.2DAT BIT P1.1CLK BIT P1.0AD_DATA DATA 30HORG 0000HAJMP MAINORG 0100HMAIN: MOV SP,#60H AC

20、ALL TLC549_ADCMOV R7,#0DJNE R7,$ACALL TCL549_ADCMOV AD_DATA,ASJMP $TLC549_ADC: CLR ACLR CLKCLR CSMOV R6,#8TLCAD_L1:SETB CLKNOPNOPMOV C,DAT RLC AMOV B,ANOPDJNZ R6,TLCAD_L1MOV A,BMOV B,#8DIV ABRET:END下图为8051单片机与串行A/D转换器TLC549的接口示意图,单片机晶振频率12M,请编写一程序按10ms的采样周期对输入模拟量进行A/D转换,并始终把本次A/D转换结果和前7次A/D转换结果依次放在内

21、部数据存储器30H单元开始的区域内。(习题9-6)Vref(+)Vref(+)Vref(-)ANINGNDVCCDAT/CSCLKTLC549VCCGNDVrefP1.0P1.1P1.28051模拟量30H31H32H33H37H第k次第k-1次第k-2次第k-3次第k-7次A/D转换结果存放示意图下图为8051单片机与串行A/D转换器TLC549的接口示意图,编写一程序每隔50ms对输入模拟量采样一次,并把采样值存放在内部RAM 40H单元中,系统晶振频率12MHz。(习题9-7)Vref(+)Vref(+)Vref(-)ANINGNDVCCDAT/CSCLKTLC549VCCGNDVref

22、P1.0P1.1P1.28051模拟量设已定义了I2C总线的时钟线SCL和数据线SDA,请编写8051单片机发I2void start(void)SDA=1; SCL=1;If(SDA=1)SDA=0;_NOP_();SCL=1;SDA=1;Return =TRUE;Elsertturn FALSE;设已定义了I2C总线的时钟线SCL和数据线SDA,请编写8051单片机发I2void stopt(void)SDA=0;_nop_();_nop_();SCL=1;SDA=1;_nop_();_nop_();_nop_();SCL=0;设已定义了I2C总线的时钟线SCL和数据线SDA,请编写805

23、1单片机向I2bitSendByte(unsigned char c)unsigned char I;For(i=0;i8;i+)c=c1;F0=SDA=CY;SCL=1;If(F0!=SDA)SCL=0;Return FALSE;_nop_();_nop_();SCL=0;SDA=1_nop_();_nop_();SCL=1;_nop_();_nop_();If(SDA=1)SCL=0;Return 1;ElseSCL=0;Return 0;形参c为要发送的一个字节数据,函数返回值为从器件的应答信号,有应答返回值为0,无应答返回值为1。(见基础实验14 I2C设已定义了I2Cunsigned char RcvByte(bit ack)unsigned int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论