单片机考试知识点总结太原理工大学葬仪落整理

上传人:Sc****h 文档编号:146746919 上传时间:2022-08-31 格式:DOC 页数:25 大小:1.02MB
返回 下载 相关 举报
单片机考试知识点总结太原理工大学葬仪落整理_第1页
第1页 / 共25页
单片机考试知识点总结太原理工大学葬仪落整理_第2页
第2页 / 共25页
单片机考试知识点总结太原理工大学葬仪落整理_第3页
第3页 / 共25页
点击查看更多>>
资源描述
精品文档一、填空题:1、当使用 8051 单片机时,需要扩展外部程序存储器,此时EA 应接 低电平 。2、8051上电复位后,从地址0000H 开始执行程序,外部中断1 的中断入口地址为0013H.3、8051最多有 64KB 的程序存储器和 64KB 的数据存储器。4、P0 口通常用作 分时复用为地址总线(低8 位)及数据总线或外接上拉电阻用作普通I/O口。5、P2 口的功能为 用作地址总线 和作为普通 I/O口使用 。6、若由程序设定RS1、 RS0=01,则工作寄存器R0 的直接地址为08H。7、若由程序设定RS1、 RS0=00,则工作寄存器R0 的直接地址为00H。8、若累加器 A 中的数据为01110010B,则 PSW中的 P=0(偶数个 1 为 0,奇数为 1)9、8051单片机共有 5 个中断源,分别是INT0 外部中断0、INT1 外部中断 1、T0 定时器 / 计数器中断0 中断、 T1 定时器计数器1 中断、串行口中断 。10、 ADC0809 是 8 通路 8 位逐次逼近式模 / 数转换器。11、计算机中按功能把总线分为数据总线 、地址总线 和控制总线 。12、 MOV A,#0F5H 中, #0F5H 的寻址方式称之为立即 寻址。 MOV 类指令称之为 一般传输 指令。13、8051的一个机器周期等于12 个晶体震荡周期; 通常 8051 单片机的 ALE引脚以 1/6 倍的晶振频率输出脉冲。14、8051 单片机复位后, 堆栈指针 SP指向第 07H 号内部 RAM;8051 的堆栈是向 上生长的。15、十进制调整指令 DA A,专用于 BCD码的加减运算。16、单片机的中断触发方式有低电平触发和下降沿触发两种。大多数情况下,单片机控制系统采用 下降沿触发 方式触发中断。17、若执行加法运算后累加器(A)中的数据为01110010B,则 PSW中的 P=018、 8051 单片机的程序存储器和数据存储器编址方式采用的是哈佛结构,即数据存储器和程序存储器 分开 的编址方式。二、单项选择题1、8051 单片机执行 MOVX 写指令时,相关的信号状态是PSEN无效为高电平, WR 有效为低电平2、若 PSW.4=1,PSW.3=1,现在需要保存R1 的内容,可执行PUSH 19H指令3、下列指令不是变址寻址方式的是MOVX A, DPTR4、在 8051 片外扩展一片EEPROM 28C64需要 13 根地址线(片选除外), 8 根数据线。5、8051定时器 / 计数器工作方式 2 是自动重装8 位计数器6、单片机程序存储器的寻址范围是由程序计数器PC的位数决定的, MCS-51 的 PC为 15 位,因此其寻址范围是64KB。( 216B=64KB)7、若单片机的振荡频率为12MHz,设定时器工作在方式1 需要定时 1ms,则定时器初值应为 216-1000. (计算过程:机器周期=12/12MHz=1 s次数 =1ms/1 s=1000 次 方式一为16 位=216 )8、访问外部数据存储器的指令是MOVX,访问程序存储器的指令是MOVC。9、汇编语言中,最多包含4 个区段,其中 操作码 区段是必不可少的。10、 MCS-51 单片机的位寻址区域为20H-2FH。11、 MCS-51 单片机复位后, PC值被初始化为 0000H。12、 MCS-51 单片机在同一优先级的中断源同时申请中断时,CPU首先响应 外部中断 0.三、读程序1、执行下列程序段中第一条指令后.精品文档(1)( P1.7) = 0( P1.3) = 0执行第二条指令后,(2)( P1.5) =1(P1.4) =0ANL P1,#42HORL P1, #0ECH2、下列程序段执行后,(R0) =47H,( 48H) = 0FFH,( 47H) =3FHMOV R0,#48HMOV 48H,#0MOV 47H,#40HDEC R0DEC R0DEC R03、已知( SP)=29H,( DPTR)=1234H,在执行下列指令后, ( SP)= 2BH,内部 RAM( 2AH)=34H,( 2BH) =12HPUSH DPLPUSH DPH四、简答题1、简述 MCS-51 单片机中,振荡周期、机器周期和指令周期的关系。答:( 1)振荡周期:振荡周期为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。( 2)时钟周期:又称状态周期或状态时间S,是振荡周期的两倍,分为P1、P2 节拍,通常 P1 完成算术逻辑操作,在P2 节拍完成内部寄存器间的数据传送操作。( 3)机器周期:一个机器周期由6 个状态(时钟周期)(或12 个振荡周期)组成。( 4)指令周期:执行一条指令的全部时间,是机器周期的倍数,MCS-51 单片机中指令周期通常由 1 、2、 4 个机器周期组成。2、 DAC0832 作为数模转换器,其连接方式有几种?答: 3 种。单缓冲方式、双缓冲方式和直通方式。( 1)直通方式常用于不带微机的控制系统。( 2)单缓冲方式是值 DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受 8051 控制的锁存方式。( 3)对于多路 D-A 转换,要求同步进行 D-A 转换输出时,必须采用双缓冲同步方式。3、 8051 单片机作定时和计数时,其计数脉冲分别由谁提供?8051 单片机定时计数器共有几种工作模式?分别是什么?答:当用作定时器时,是在内部对CPU的时钟脉冲计数。当用作计数器时,是对相应输入引脚输入的脉冲信号计数。工作模式:( 1)工作模式 0 :使用低字节的 5 位和高字节的 8 位组成 13 位的计数器, 低 5 位计数溢出后向高位进位计数,高 8 位计数器计满后置位溢出标志位。( 2)工作模式 1:使用低字节和高字节的 16 位组成 16 位计数器。与 0 模式的区别仅在计数器长度,定时长度和计数容量不同。( 3)工作模式 2 :使用低字节的 8 位做计数器、 高字节的 8 位作为预置常数的寄存器。( 4)工作模式3:只适用于定时器/ 计数器 T0, T0 分别为两个独立的8 位计数器TH0和 TL0.4、 MCS-51 单片机系统共有几种寻址方式?分别是什么?.精品文档答:有 7 种寻址方式:(1)寄存器寻址( 2)直接寻址( 3)立即寻址( 4)寄存器间接寻址(5)相对寻址( 6)位寻址(7)基址加变址寄存器间接寻址5、试说明特殊功能寄存器 TCON中 TF1、 TR1、 IE1、 IT1 位的含义是什么?这些位什么情况下被置位或清除?答: TF1 T1 计数溢出标志位,当计数器 T1 计数计满溢出时,该位由硬件置 1,转到中断服务程序时,再由硬件自动清 0.TR1 T1 计数运行控制位,由软件置 1 或清 0.为 1 时允许计数器 T1 计数,为 0 时禁止计数器 T1 计数。TF0 T0 计数溢出标志位,当计数器 T0 计数计满溢出时,由硬件置 1,申请中断。进入中断服务程序后由硬件自动清 0.TR0 T0 计数运行控制位,由软件置 1 或清 0,为 1 时允许计数器 T0 计数,为 0 时禁止计数器 T0 计数。IE0 外部中断0( INT0)请求标志位,当CPU 采样到 INT0 引脚出现中断请求后,此位由硬件置 1.在中断响应完成后转向中断服务程序时,再由硬件自动清0.IE1 外中断 1( INT0)请求标志位,功能同上。IT0 外中断 0 请求信号方式控制位,当IT0=1,后沿负跳变有效;IT0=0,低电平有效。此位可由软件置1或清 0.IT1 外中断 1 请求信号方式控制位,IT1=1,后沿负跳变有效;IT1=0,低电平有效。五、应用题1、将存于外部RAM 8000H 开始的 50H 个数据传送到内部0010H 开始的区域, 请编程实现。ORG0100HMOVDPR,#8000HMOVR0,#10HMOVR2,#50HMOVXA,DPTRMOVR0,AINCDPTRINCR0END.精品文档知识点:1、各 P 口功能 :P0口:8位双向三态 I/O 口,或分时复用为地址总线 (低 8 位)及数据总线, 或作为普通 I/O口使用。P1口: 8位准双向 I/O 口,常用作普通I/O 口使用,个别引脚有第二功能P2口: 8 位准双向 I/O 口,或用作地址总线(高8 位),或作为普通 I/O 口使用P3口: 8位准双向 I/O 口,或作为普通I/O 口使用;或作为第二功能口使用。P3.0串行输入端口( RXD)P3.1 串行输出端口( TXD) P3.2 外部中断 0( INT0)P3.3外部中断 1(INT1) P3.4 T0P3.5 T1P3.6外部数据存储器写选通(WR) P3.7 外部数据存储器读选通(RD)2、引脚 EA 当 EA=1 时,访问内部程序存储器, EA=0 时,访问外部程序存储器引脚 PSEN外部程序存储器的读选通信号,读取时有效低电平引脚 PROG/ALE 当访问外部存储器时, ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器, ALE 端扔以不变的频率周期性地出现正脉冲信号,次频率为振荡器频率的 1/6,可用作对外输出的时钟,或用于定时,每当访问外部数据存储器的时候,将跳过一个 ALE 脉冲。3、PSW 中各个位的功能:PSW.7 ( CY)进位标志位PSW.6 ( AC)辅助进位标志位PSW.5 ( F0)标志位PSW.4 PSW.3( RS1RS0)四组工作寄存器区选择控制位1 和位 000 工作 0 区( 00H)01 1 区( 08H)10 2 区( 10H)11 3 区( 18H)PSW.2 ( OV)溢出标志位PSW.1保留位,未用4、8051 单片机的时序定时单位:节拍、状态、机器周期和指令周期5、复位: RST引脚处至少保持24 个振荡周期的高电平就可复位寄存器内容寄存器内容PC0000HTCON00HACC00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100H.精品文档DPTR0000HTL100HP0 P30FFHTH200HIP ( 8051 )XXX00000BTL200HIP ( 8052 )XX000000BRLDH00HIE ( 8051 )0XX00000BRLDL00HIE ( 8052 )0X000000BSCON00HTMOD00HSBUF不定PCON ( HMOS )0XXXXXXXBPCON (CHMOS )0XXX0000B6、寻址方式( 1)寄存器寻址 方式是对选中寄存器中的数据进行处理,适用于数据放置在寄存器之中的情况。MOVR1,B; 将寄存器 B 中的数值送入到寄存器R1 中INCR2; 将寄存器 R2 中的数值加 1MOVA, R7;将寄存器 R7 中的数值送入累加器 A寄存器 寻址范围 :寄存器区中 8 个工作寄存器 R0R7 中的一个(由指令操作码的低三位数值确定)、特殊寄存器 A, B, DPTR, Cy(进位位,也是位处理机的累加器)也可作为寄存器寻址的对象。( 2)直接寻址 方式是对直接指定地址的存储器单元中的数据进行处理,适用于数据放置在可以直接寻址的存储单元之中的情况。MOV 40H,B;将寄存器B 中的数值送入到内部RAM 的 40H 单元中INC 30H;将内部 RAM 的 30H 单元中的数值加1MOV TL0 , R7;将寄存器R7 中的数值送入到特殊功能寄存器TL0 中直接寻址范围 : 片内 RAM,包括 SFR,且 SFR只能直接寻址(3)立即寻址 是对指令操作码后的数据进行处理,适用于在程序中直接处理的数据的情况。MOV 38H, 05H;将数值05H 送入到内部RAM 的 38H 单元中ADD A, 30H;将 A 寄存器中的数值加上30HMOV TH0, 0F2H ;将定时器 0 高 8 位设置为数值 0F2H (4)位寻址MOV C, 40H;把位 40H 的值送进位位C位寻址的寻址范围包括:内部 RAM 中的位寻址区单元地址为20H-2FH,共 16 个单元,128 个位,位地址是00H-7FH。特殊功能寄存器中的可寻址位可供位寻址的特殊功能寄存器共有11 个,实际有寻址位83.精品文档个。注意 :位寻址只能直接寻址。( 5)寄存器间接寻址 是将要处理数据的地址放在寄存器中,即用寄存器中的数据作为存储单元的地址数值。MOV R1, #05H;将数值 05H 送入到以R1 内数值为地址的内部RAM 单元中ADD A,R1;将累加器A 中的数值加上以R1 内数值为地址的内部RAM 单元中的数据结果存放于AMOVX A,DPTR;将以 DPTR内数值为地址的外部数据存储器的内容送给累加器A注意 : 寄存器间接寻址范围包括内部RAM 和外部 RAM,且外部RAM 只能寄存器间接寻址,访问外部数据存储器的指令助记符与访问内部RAM 的助记符不同。(6) 相对寻址方式目的地址 =转移指令所在的地址+转移指令字节数+relJCrelJNCrelJBbit, relJNBbit, relJBC bit, relSJMP rel(7) 基址加变址寄存器间接寻址专用16 位寄存器( DPTR 或 PC)存放基地址,寄存器A 做变址寄存器,仅两条指令:MOVC A,A PCMOVC A,ADPTR只能读取程序存储器。7、指令(1)一般传输指令MOV A, Rn(2)累加器传输指令XCH A, Rn (n 为 0-7 之一,将工作寄存器Rn 的内容和 A 的内容交换)SWAP A ;A 的高 4 位和低 4 位互换XCHD A, Ri;Ri 为 R0 或 R1,将 Ri 所指单元的低4 位与 A 的低 4 位互换,高4 位不变。(3)查表指令MOVC A,A+DPTR;将 DPTR中的 16 位地址和 A 中内容相加得新地址,把此地址内容送AMOVC A ,A+PC;将 PC值和 A 的内容相加所得值作为新地址,将此地址单元内容送A(4)堆栈指令PUSH direct ;先将 SP加 1,再将 direct 所指单元内容推入SP+1所指的堆栈单元POP direct;先将 SP单元的内容弹出到direct 单元,再将SP减 1(5)算术运算指令ADD A, Rn;将 A 的内容和Rn 的内容相加,结果在A 中ADDC A, Rn;(A) (A)+(Rn)+CY,Rn 为 R0 R7 之一 (带进位)SUBBA, Rn ; A 中内容减去进位位CY 再,减去 Rn 中内容,结果在 A 中(带借位)MUL 乘法DIV除法ANL (逻辑与,例如,ANL P1, A)ORL (逻辑或,例如,ORL P2, A)XRL (逻辑异或,例如,XRL P3, A)JBC (若目标位置位则跳转并将目标位清零,例如,JBC P1.1, LABEL).精品文档CPL (求补 , 例如 , CPL P3.0)INC (增量指令 , 例如 , INC P2)DEC (减量指令 , 例如 , DEC P2)DJNZ (目标寄存器减 1 后不为零则跳转 , 例如 , DJNZ P3, LABEL)MOV PX.Y, C (将进位位送入端口位 )DA A 十进制调整指令,对A 中的 BCD码加法结果进调整CLR PX.Y清(除端口位 )SETB PX.Y置(位端口位 )SETB bit;某位置 1CLRA;A 清 0,不影响标志位CPLA; A 中内容逐位取反RRA; A 中内容循环右移一位,; 最低位 D0 移到 D7RLA; A 中内容循环左移一位,; 即 D7 移到 D0,D0 移到 D1 等RRCA; CY进入 A 的最高位, A 的最低位进入 CY, D2 进入 D1 等RLCA; A 的最高位进入CY,原 CY进入 A 的最低位 D0,D0 进入 D1 等8、中断分 类中断源名称中断申请标志触发方式中断入口地址INT0(P3.2)引脚上的低电外部中断外部中断 0IE0(TCON.1)平 / 下降沿引起的中断0003H定时器 / 计数T0 定时器 / 计数器溢出后内部中断IF0(TCON.5)引起的中断000BH器 T0中断INT1(P3.3)引脚上的低电外部中断外部中断 1IE1(TCON.3)平 / 下降沿引起的中断0013H定时器 / 计数T1 定时器 / 计数器溢出后内部中断IF1(TCON.7)引起的中断001BH器 T1中断RI (SCON.0)串行口接收完成或发送完内部中断串口中断一帧数据后引起的中断0023HTI ( SCON.1)中断的功能( 1)可实现高速 CPU与慢速外设之间的配合( 2)可实现实时处理( 3)实现故障的紧急处理( 4)便于人机联系中断的处理过程主要包括:中断请求、中断响应、中断服务、中断返回4 个过程。EA中断允许的总控制位。当 EA=0时,中断总禁止,相当于关中断,即禁止所有中断;当.精品文档EA=1 时,中断总允许,相当于开中断。此时,每个中断源是否开放由各中断控制位决定。所以只有当EA=1 时,各中断控制位才有意义。ES串行口中断允许控制位,当 ES=0,禁止该中断;ES=1,允许串行中断。ET1定时器1 中断允许控制位,当 ET1=0,禁止该中断;ET1=1,允许定时器1 中断EX1外部中断 1 允许控制位 ,当 EX1=0,禁止外部 中断 1;当 EX1=1,允许外部中断 1。ET0定时器 0 中断允许控制位 ,当 ET0=0,禁止该中断; ET0=1,允许定时器 0 中断。EX0外部中断 0 允许控制位 ,当 EX0=0,禁止外部中断 0;当 EX0=1,允许外部中断 0。定时器控制寄存器 ( TCON)该寄存器的字节地址为88H,位地址为 88H-8FH,也可以用 TCON.0-TCON.7表示INT0 、 T0、 INT1 、T1、串口、T2( 最高)(最低)在开放中断的条件下,用下述四个原则使用中断优先级结构:(1)非中断服务子程序可以被任何一个中断申请所中断,而与优先级结构无关。(2)如果若干中断同时提出申请,则CPU将选择优先级、优先权最高者予以响应。(3)低优先级可以被高优先级的中断申请所中断。换句话说,同级不能形成嵌套、高优先级不能被低优先级嵌套, 当禁止嵌套时, 必须执行完当前中断服务子程序之后才考虑是否响应另一个中断申请。(4)同一个优先级里,优先权的顺序是由硬件决定而不能改变的。但是用户可以通过改变优先级的方法改变中断响应的顺序。例如, 8051 单片机中串行口的优先权最低,但是可以在中断优先级寄存器 IP 中写入 10H,则只有串行口是最高优先级。若同时有若干中断提出申请,则一定会优先响应串行口的申请。串行口控制寄存器( SCON)SCON寄存器的字节地址为98H,位地址为98H9FH,其中的低两位RI 和 TI 锁存串行口的接收中断和发送中断的请求标志位中断响应的条件:中断源有中断请求;此中断源的中断允许位为1;CPU开中断(即 EA=1)。9、定时器概念 :在 8051 单片机中,定时器 / 计数器就是一个固定长度的二进制计数器,当对输入脉冲信号的数量进行计数时, 我们称其为计数器, 当对单片机的系统时钟或其它标准时钟进行计数时, 由于这类时钟信号本身就表示时间, 计数值对应着时间值, 所以从这个角度上将其称为定时器。组成 :在 8051 单片机中, 内部定时器都是可编程控制的定时器/ 计数器,至少由两部分组成:脉冲计数电路和控制字寄存器及译码控制电路。10、串行接口的四种工作方式(1)模式 0(MODE0): 同步移位寄存器方式。8 位数据 (先为 LSB)从引脚 RXD接收 / 移出,引脚 TXD 输出移位时钟,波特率固定为晶振频率的1/12 。模式 0 通常用来扩展输入输出口。(2)模式 1(MODE1):10 位数据被发送 (从引脚 TXD)或接收 (从引脚 RXD):1 个启动位, 8 个数据位, 1 个停止位。在接收时,停止位被送入特殊功能寄存器的SCON的 RB8 位。波特率是可变的。(3)模式 2(MODE2):11 位数据被发送 (从引脚 TXD)或接收 (从引脚 RXD):1 个启动位, 8 个.精品文档数据位,可编程的第 9 个数据位, 1 个停止位。发送时,第9 位 (SCON 的 TB8 位 )可被赋予 0或 1。例如,可将奇偶校验位送至TB8 位。在接收时,停止位被送入特殊功能寄存器SCON的 RB8 位。模式 2 的波特率可为1/32 或 1/64 晶振频率。(4)模式 3(MODE3):11 位数据被发送 (从引脚 TXD)或接收 (从引脚 RXD):1 个启动位, 8 个数据位,可编程的第 9 个数据位, 1 个停止位。发送时,第9 位 (SCON 的 TB8 位 )可被赋予 0或 1。实际上,除了波特率之外,模式2 和模式 3 是相同的。模式3 的波特率是可变的。模式 1或 3波特率2SMODf osc)3212 256(TH1 8255A 的工作方式0, A 口作为输入, B、 C 口作为输出取端口 A:0FF7CHB:0FF7DHC:0FF7EH控制寄存器地址:0FF7FH根据题意写入控制字为10010000=90H.MOVA,#90H(根据题意计算而变化)MOVDPTR,#0FF7FH控制寄存器地址 DPTRMOVX DPTR,A方式控制字控制寄存器MOVDPTR,#0FF7CHA 口地址 DPTRMOVXA,DPTR从 A 口读数据MOVDPTR,#0FF7DHB 口地址 DPTRMOVA,#DATA1要输入的数据 DATA1 AMOVX DPTR,A将 DATA1送 B 口输出MOVDPTR,#0FF7EHC 口地址 DPTRMOVA,#DATA2DATA2 A.精品文档MOVXDPTR,A将 DATA2送 C 口输出ALEGP0.7锁存P0.0器8051WRDAC0832 启动转换程序ORG0000HMOVR1,#data1MOVA,R1MOVX DPTR,AMOV DPTR,#0BFFFH MOV R1,#data2MOVX DPTR,AMOVDPTR,#7FFFHMOVX DPTR,AILE+5V1 # DAC0832译FDHfbFEHCSR码器FFHXFERIOUT1V xDI7OA 1IOUT 2DI0WR1WR 22 # DAC0832CSRfbXFER+5VILEDI7IOUT1V yOA2IOUT2DI0WR1WR 1例: 用定时器 0,方式 2 计数,要求每计满100 次,将 P1.0端取反。分析 :TMOD=00000110B计数初值 :TH0=TL0=28-100=156=9CH程序如下:ORG1000HSTART:MOVTMOD,#06HMOVTL0,#9CHMOVTH0,#9CHSETBTR0.精品文档LOOP:JBC TF0,DONE; 判计满 100 次否?若计满则清零TF0 且转 DONESJMPLOOPDONE:CPLP1.0SJMPLOOP例 7.3已知单片机晶振频率为12MHz ,要求使用T0 定时 0.5ms,使单片机P1.0 引脚上连续输出周期为1ms 的方波。分析 :首先算出机器周期=12/(12MHz)=1us ,所以 0.5ms 需要 T0 计数 M 次M=0.5ms/1us=5002565008192,所以选择方式0初值 N=213-500=7692=1E0CH因为选用方式0,低 8 位 TL0只使用低5 位,其余的均计入高8 位 TH0 的初值。TL0=0CH, TH0=0F0HORG 0000HRESET:AJMPSTARTORG000BHAJMP T0INTORG0100HSTART: MOV SP,#60HMOVTH0,#0F0HMOVTL0,#0CHSETBTR0SETBET0SETBEAMAIN:AJMPMAINT0 中断服务程序T0INT:CPLP1.0MOV TL0,#0CHMOV TH0,#0F0HRETI3、假设单片机晶振 fosc=6MHz,请利用 T0 和 P1.0 输出矩形波,矩形波的高电平宽 50us,低电平宽 300us。(P.145 第 13)晶振 fosc=6MHz机器周期为 2us定时器 T0 使之工作于模式3.精品文档定时 50us 的初值为: 256-25=231(E7H)定时 300US的初值为: 256-150=106(6AH)方法 1:MOV TMOD , #00000011B;T0工作于模式 3MOV TCON ,#0;清 TR0 , TF0MOV TL0 , #0E7H;高电平初值。 256-25SETB P1.0;P1.0口输出高电平SETB TR0;启动定时器 T0LOOP1: JNB TF0 , LOOP1;检测 T0 是否溢出CLR TF0;清除溢出标志CLR TR0;关闭定时器MOV TL0 , #6AH;写低电平初值 256-150SETB TR0;启动定时器 T0CLR P1.0;使 P1.0 输出低电平LOOP2: JNB TF0 , LOOP2;检测 T0 是否溢出CLR TF0;清除溢出标志CLR TR0;关闭定时器MOV TL0 , #0E7H;写高电平初值 256-25SETB TR0;启动定时器 T0SETB P1.0;使 P1.0 输出高电平SJMP LOOP1;重复6、设 fosc=12MHz,编写程序,其功能为:对T0 进行初始化,使之工作于模式2,产生 200us 的定时,并用查询 T0 溢出标志 TF0 的方法,控制P1.0 引脚输出周期为 2ms的方波。 (P.146第 18题)MOV TMOD , #02H; T0工作于模式 2,定时方式MOV TCON , #0;清除 TF0、 TR0。MOV TH0 , #56; (256-200)=56MOV TL0 , #56;MOV R7 , #5; 200us与 1ms是 5 倍的关系SETB TR0;启动定时器 T0SETB P1.0;将 P1.0 置高电平LOOP: JNB TF0 , LOOP;检测 T0 的溢出标志CLR TF0;清除 T0 的溢出标志DJNZ R7 , LOOP;是否到 5次MOV R7 , #5;重新写入计数次数CPL P1.0;取反 P1.0 口SJMP LOOP;循环往复9、当系统选用 6MHz晶体振荡器时,由T0 工作在方式为,利用中断响应,产.精品文档生周期为 2ms(脉冲宽度为 1ms)的方波序列,并由P1.0 输出。( 1)写出 T0 定时器的方式控制字, T0 定时器初值计算。( 2)试编写程序完成此功能。思路:方波的周期为 2ms,每隔 1ms对 P1.0 取反,可完成题目要求。系统晶体振荡器的频率为 6MHz,机器周期为 2us,定时器 T0 在方式 2 时,最大定时 256us 2=512us,达不到 1ms的要求,故将定时器 T0 的初始值选为: 256-250=6( 定时 0.5ms) ,两次后取反 P1.0 口。( 1) T0 的初始值为:X=256-250=6T0的控制字为:MOV TMOD , #20HMOV TCON , #0( 2)参考程序如下:ORG 0000HSJMP MainORG 000BHAJMP T0ORG 0030HMain: MOV TMOD , #20H;定时器 T1 工作于方式 2CLR TR0;关闭定时器 T1CLR TF0;清除定时器 T1 溢出标志MOV IE , #02H;允许定时器 T1 中断MOV IP , #0;不设置悠闲级别MOV TH0 , #6;定时器 T1 初值MOV TL0 , #6;( 256-250=6)MOV R7 , #2;定时 0.5ms 与 1ms的 2 倍的关系SETB TR0;启动定时器 T1SETB EA;开中断SJMP $T0: DJNZ R7 , NEXT;两次是否到?未到则中断返回,到则继续CPL P1.0;取反 P1.0 口MOV R7 , #2;重置 2 倍的关系NEXT: RETI;中断返回.精品文档12、要求从 P1.1 引脚输出 1000Hz方波,晶振频率为12MHz。试设计程序。思路:( 1)只要使 P1.1 每隔 500s 取反一次即可得到 1ms方波;。( 2)将 T1 设为定时方式 0:GATE=0,C/T( )=0 ,M1M0=00;T0 不用可为任意,只要不使其进入方式 3,一般取 0 即可。故 TMOD=00H。下面计算 500s定时 T1的初值:机器周期:T=1 s,设初值为 X 则:=1111 0000 0 0110 B=F00CH因为在作 13 位计数器用时, TL1 高 3 位未用,应写0,X 的低 5 位装入 TL1的低 5 位,所以 TL1=#0CH;X 的高 8 位应装入 TH1,所以 TH1=#F0H。参考源程序如下:MOV TCON , #0;清 TF1、TR1MOV TMOD , #0;定时器 T1 工作于方式 0MOV TH1 , #0F0H;定时 500us 的初值MOV TL1 , #0CH;8192-500=7692=F00CHSETB TR1;启动定时器 T1LOOP: JNB TF1 , LOOP;等待定时 500us 的溢出CLR TF1;清除溢出标志CPL P1.1;取反 P1.1 口CLR TR1;关闭定时器 T1MOV TH1 , #0F0H;重写定时 500us 的初值MOV TL1 , #0CH;重写定时 500us 的初值SETB TR1;启动定时器 T1SJMP LOOP13、试用定时 / 计数器 T1 对外部事件计数。要求每计数 100,就将 T1 改成定时方式,控制 P1.7 输出一个脉宽为 10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为 12MHz。定时器 T1 确定工作于方式 1计数 100 的初始值为: 65536-100100=64+32+4=01100100 B65536-100=1111 1111 1001 1100 B = FF9CH.精品文档定时 10ms的初始值为: 65536-1000065536-5000=60536=1110 1100 0111 1000 B = EC78H 参考程序如下:LOOP3:CLR TR1;关闭定时器 T1CLR TF1;清除定时器 T1 的溢出标志MOV TMOD 50H;定时器 T1 工作于方式 1,计数MOV TH1 , #0FFH;计数 100 的初值MOV TL1 , #9CH;65536-100=FF9CHSETB TR1;启动定时器 T1LOOP1: JNB TF1 , LOOP1;等待计数 100 溢出MOV TMOD , #10H;定时器 T1 工作于方式 1,定时CLR TF1;清除定时器溢出标志CLR TR1;关闭定时器T1MOV TH1 , #0ECH;定时 10ms的初值MOV TL1 , #78H;65536-5000=EC78HSETB TR1;启动定时器 T1LOOP2: JNB TF1 , LOOP2;等待定时 10ms溢出CPL P1.7;取反 P1.7 口SJMP LOOP3;返回循环14、若单片机晶振为 12MHz,利用定时器 1 方式 1,产生 1ms 的定时,在 P1.0 脚产生周期为 2ms方波,用查询方式工作,查询标志为 TF1。已知 fosc =12MHz 1 个机器周期为 1us1ms=1000us初值 =65536-1000=5453664536转换为二进制: 1111 1100 0001 1000T0的低 8 位: 00011000(18H)T0的高 8 位: 11110000(FCH)则有 : (TL0) #18H ;(TH0)#0FCH参考源程序如下:MOV TCON , #10H;定时器 T1 工作于方式 1MOV TMOD , #0;清除 TR1、 TF1MOV TH1 , #0FCH;定时 1ms的初值MOV TL1 , #18H;65536-1000=FC18HSETB TR1;启动定时器 T1LOOP: JNB TF1 , LOOP;等待定时 1ms的溢出CLR TF1;清除溢出标志CPL P1.0;取反 P1.0 口CLR TR1;关闭定时器 T1MOV TH1 , #0FCH;重写定时 1ms的处值MOV TL1 , #18H;重写定时 1ms的处值SETB TR1;启动定时器 T1SJMP LOOP;返回循环.精品文档15、系统时钟频率为 6 MHz,试用定时器 T0 作外部计数器,编程实现每计到 1000 个脉冲,使 T1 开始 2ms定时,定时时间到后, T0 又开始计数,这样反复循环不止。(1) 定时器 T0 工作于方式 1,计数 1000 的初值为: 65536-1000 1000=512+256+128+64+32+8=0000 0001 1111 1000 B65536-1000=1111 1100 0001 1000 B = FC18H(2) 晶振 fosc=6MHz,机器周期为 2us,定时器 T0 工作于方式 1,定时 1ms的初值为: 65536-500500=256+128+64+32+16+4 = 0000000111110100 B (取反 +1 可得到结果 )(65536-500)=65036=1111 1110 0000 1100 BTH0=#0FEH ; TL0=#0CH(3) 参考程序如下:LOOP3: MOV TMOD , #0000 0101 BCLR TF0CLR TR0MOV TH0 , #0FCHMOV TL0 , #18HSETB TR0LOOP1: JNB TF0 , LOOP1CLR TF0CLR TR0MOV TMOD , #01HMOV TH0 , #0FEHMOV TL0 , #0CHSETB TR0LOOP2: JNB TF0 , LOOP2SJMP LOOP3.精品文档一、填空题:1、MCS 5l单片机的最大程序寻址空间是KB,该空间的地址范围从至,系统上电及复位后,程序入口地址为。2、若由程序设定 PSW 中的 RS1、 RS0=01,则工作寄存器R0R7 的直接地址为 _。3、MCS-51 单片机的 I/O 端口采用 _ 编址方式。、4、一个 8 位 D/A 转换器其分辨率为 _,若该 8 位 D/A 转换器的基准电压为5V,则数字量100 对应得模拟量为。5、单片机系统中经常采用的地址译码技术包括法和法。6、INTEL 8051 CPU 是位的单片机,其内部有KB 的 ROM。7、指出下列各指令中源操作数的寻址方式。( 1) MOVC A, A+DPTR( 2) XCHA, R0;( 3) MOVC, P1.0( 4) JCLOOP8、判断下列各条指令的书写格式是否有错,并指出原因。( 1) MUL R0R1( 2) MOV A, R7( 3) MOV A, #3000H( 4) MOVR1, C9、单片机与外设进行数据交换通常有_ 方式、 _ 方式和 _方式三种。10、 MCS-51 单片机串行口的方式0 是_ _方式,方式 2 是方式。11、单片机复位后SP中的状态为 _, P0P3 口的状态为 _。12、串行通信根据数据传送时的编码格式不同可分为_和 _两种方式。13、堆栈按照 _ 原则工作,使用 _指明栈顶位置。14、 8051 单片机片内有 _字节的 ROM, _字节的 RAM。15、使用 8031单片机构成的系统时,其 EA 引脚应_,因为_ 。16、 ADC0809 是 _位的 A/D 转换器。17、单片机复位后PC的内容为 _,复位对片内 RAM 中存放的内容 _(有 ,无 ).精品文档影响。18、多位 LED显示器通常有 _显示和 _显示两种接口。19. 执行下列两条指令后,PSW中的标志位 ( CY)=,(OV)=,(AC)=,(P)=。MOVA, #80H
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!