




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上一、填空题: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中的数据为B,则PS
2、W中的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的堆栈
3、是向上生长的。15、十进制调整指令DA A,专用于BCD码的加减运算。16、单片机的中断触发方式有低电平触发和下降沿触发两种。大多数情况下,单片机控制系统采用下降沿触发方式触发中断。17、若执行加法运算后累加器(A)中的数据为B,则PSW中的P=018、8051单片机的程序存储器和数据存储器编址方式采用的是哈佛结构,即数据存储器和程序存储器分开的编址方式。2、 单项选择题1、8051单片机执行MOVX写指令时,相关的信号状态是 PSEN无效为高电平,WR有效为低电平2、 若PSW.4=1,PSW.3=1,现在需要保存R1的内容,可执行PUSH 19H指令3、 下列指令不是变址寻址方式的是MOV
4、X 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=1s 次数=1ms/1s=1000次 方式一为16位=216)8、 访问外部数据存储器的指令是MOVX,访问程序存储器的指令是MOVC。9、 汇
5、编语言中,最多包含4个区段,其中操作码区段是必不可少的。10、 MCS-51单片机的位寻址区域为20H-2FH。11、 MCS-51单片机复位后,PC值被初始化为0000H。12、 MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应外部中断0.3、 读程序1、 执行下列程序段中第一条指令后(1) (P1.7)= 0 (P1.3)= 0 执行第二条指令后,(2) (P1.5)=1 (P1.4)=0 ANL P1,#42H ORL P1,#0ECH2、 下列程序段执行后,(R0)=47H,(48H)= 0FFH,(47H)=3FH MOV R0,#48H MOV 48H,#0 M
6、OV 47H,#40H DEC R0 DEC R0 DEC R03、 已知(SP)=29H,(DPTR)=1234H,在执行下列指令后,(SP)= 2BH,内部RAM(2AH)=34H,(2BH)=12H PUSH DPL PUSH DPH 4、 简答题1、 简述MCS-51单片机中,振荡周期、机器周期和指令周期的关系。答:(1)振荡周期:振荡周期为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。 (2)时钟周期:又称状态周期或状态时间S,是振荡周期的两倍,分为P1、P2节拍,通常P1完成算术逻辑操作,在P2节拍完成内部寄存器间的数据传送操作。 (3)机器周期:一个机器周期由6个状态(时
7、钟周期)(或12个振荡周期)组成。 (4)指令周期:执行一条指令的全部时间,是机器周期的倍数,MCS-51单片机中指令周期通常由1、2、4个机器周期组成。2、 DAC0832作为数模转换器,其连接方式有几种?答:3种。单缓冲方式、双缓冲方式和直通方式。 (1)直通方式常用于不带微机的控制系统。 (2)单缓冲方式是值DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受8051控制的锁存方式。 (3)对于多路D-A转换,要求同步进行D-A转换输出时,必须采用双缓冲同步方式。3、8051单片机作定时和计数时,其计数脉冲分别由谁提供?8051单片机定时计数器共有几种工作模式?分别是什么?
8、答:当用作定时器时,是在内部对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单片机系统共有几种寻址方式?分别是什么?
9、答:有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计数运行
10、控制位,由软件置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,低电平有效。5、 应用题1、将存于外部RAM 8000H开始的50H个数据传送到内部0010H开始的区域,请编程实现。 ORG
11、0100H MOV DPR,#8000H MOV R0,#10H MOV R2,#50H MOVX A,DPTR MOV R0,A INC DPTR INC R0 END知识点: 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(INT
12、0)P3.3外部中断1(INT1) P3.4 T0 P3.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)
13、进位标志位PSW.6 (AC)辅助进位标志位PSW.5 (F0)标志位PSW.4 PSW.3 (RS1RS0)四组工作寄存器区选择控制位1和位0 00 工作0区(00H) 01 1区(08H) 10 2区(10H) 11 3区(18H)PSW.2 (OV)溢出标志位PSW.1 保留位,未用4、8051单片机的时序定时单位:节拍、状态、机器周期和指令周期5、 复位:RST引脚处至少保持24个振荡周期的高电平就可复位寄存器内容寄存器内容PC0000HTCON00HACC00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P30F
14、FHTH200HIP(8051)XXX00000BTL200HIP(8052)XXBRLDH00HIE(8051)0XX00000BRLDL00HIE(8052)0XBSCON00HTMOD00HSBUF不定PCON(HMOS)0XXXXXXXBPCON(CHMOS)0XXX0000B6、 寻址方式(1)寄存器寻址方式是对选中寄存器中的数据进行处理,适用于数据放置在寄存器之中的情况。MOV R1,B ; 将寄存器B中的数值送入到寄存器R1中INC R2 ; 将寄存器R2中的数值加1MOV A,R7 ;将寄存器R7中的数值送入累加 器A寄存器寻址范围:寄存器区中8个工作寄存器R0R7中的一个(由
15、指令操作码的低三位数值确定)、特殊寄存器A, B, DPTR, Cy(进位位,也是位处理机的累加器)也可作为寄存器寻址的对象。(2)直接寻址方式是对直接指定地址的存储器单元中的数据进行处理,适用于数据放置在可以直接寻址的存储单元之中的情况。MOV 40H,B ;将寄存器B中的数值送入到内部RAM的40H单元中INC 30H ;将内部RAM的30H单元中的数值加1 MOV TL0 , R7 ;将寄存器R7中的数值送入到特殊功能寄存器TL0中直接寻址范围: 片内RAM,包括SFR,且SFR只能直接寻址(3)立即寻址是对指令操作码后的数据进行处理,适用于在程序中直接处理的数据的情况。 MOV 38H
16、,05H ;将数值05H送入到内部RAM的38H单元中 ADD A,30H ;将A寄存器中的数值加上30H MOV TH0,0F2H ;将定时器0高8位设置为数值0F2H(4) 位寻址MOV C,40H ;把位40H的值送进位位C 位寻址的寻址范围包括:内部RAM中的位寻址区 单元地址为20H-2FH,共16个单元,128个位,位地址是00H-7FH。 特殊功能寄存器中的可寻址位 可供位寻址的特殊功能寄存器共有11个,实际有寻址位83个。 注意: 位寻址只能直接寻址。(5)寄存器间接寻址是将要处理数据的地址放在寄存器中,即用寄存器中的数据作为存储单元的地址数值。 MOV R1,#05H ;将数
17、值05H送入到以R1内数值为地址的内部RAM单元中 ADD A,R1; 将累加器A中的数值加上以R1内数值为地址的内部RAM单元中的 数据结果存放于A MOVX A,DPTR ;将以DPTR内数值为地址的外部数据存储器的内容送给累加器A 注意: 寄存器间接寻址范围包括内部RAM和外部RAM,且外部RAM只能寄存器间接寻址,访问外部数据存储器的指令助记符与访问内部RAM的助记符不同。(6) 相对寻址方式 目的地址=转移指令所在的地址+转移指令字节数+relJC rel JNC rel JB bit, rel JNB bit, rel JBC bit, rel SJMP rel (7) 基址加变址
18、寄存器间接寻址专用16位寄存器(DPTR或PC)存放基地址,寄存器A做变址寄存器,仅两条指令:MOVC A,APC MOVC 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的内容相加所得值作为新
19、地址,将此地址单元内容送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为R0R7之一(带进位)SUBB A, Rn ;A中内容减去进位位CY ,再减去Rn中内容, 结果在A中(带借位)MUL 乘法DIV 除法ANL (逻辑与,例如,ANL P1, A)ORL (逻辑或,例如,ORL P2, A)XRL (逻辑异或,例如,
20、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 ;某位置1CLR A ;A清0,不影响标志位CPL A ;A中内容逐位取反 RR A ;A中内容
21、循环右移一位, ; 最低位D0移到D7RL A ;A中内容循环左移一位,; 即D7移到D0,D0移到D1等RRC A ; CY进入A的最高位, A的最低位进入CY,D2进入D1等RLC A ; A的最高位进入CY,原CY进入A的最低位D0,D0进入D1等8、中断分 类中断源名称中断申请标志触发方式中断入口地址外部中断外部中断0IE0(TCON.1)INT0(P3.2)引脚上的低电平/下降沿引起的中断0003H内部中断定时器/计数器T0中断IF0(TCON.5)T0定时器/计数器溢出后引起的中断000BH外部中断外部中断1IE1(TCON.3)INT1(P3.3)引脚上的低
22、电平/下降沿引起的中断0013H内部中断定时器/计数器T1中断IF1(TCON.7)T1定时器/计数器溢出后引起的中断001BH内部中断串口中断RI (SCON.0)TI ( SCON.1)串行口接收完成或发送完一帧数据后引起的中断0023H中断的功能 (1)可实现高速CPU与慢速外设之间的配合 (2)可实现实时处理 (3)实现故障的紧急处理 (4)便于人机联系 中断的处理过程主要包括:中断请求、中断响应、中断服务、中断返回4个过程。EA中断允许的总控制位。当EA=0时,中断总禁止,相当于关中断,即禁止所有中断;当EA=1时,中断总允许,相当于开中断。此时,每个中
23、断源是否开放由各中断控制位决定。所以只有当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
24、-TCON.7表示在开放中断的条件下,用下述四个原则使用中断优先级结构:(1)非中断服务子程序可以被任何一个中断申请所 中断,而与优先级结构无关。 (2)如果若干中断同时提出申请,则CPU将选择优先级、优先权最高者予以响应。 (3)低优先级可以被高优先级的中断申请所中断。换句话说,同级不能形成嵌套、高优先级不能被低优先级嵌套,当禁止嵌套时,必须执行完当前中断服务子程序之后才考虑是否响应另一个中断申请。 (4)同一个优先级里,优先权的顺序是由硬件决定而不能改变的。但是用户可以通过改变优先级的方法改变中断响应的顺序。例如,8051单片机中串行口的优先权最低,但是可以在中断优先级寄存器IP中写入10
25、H,则只有串行口是最高优先级。若同时有若干中断提出申请,则一定会优先响应串行口的申请。串行口控制寄存器(SCON) SCON寄存器的字节地址为98H,位地址为98H9FH,其中的低两位RI和TI锁存串行口的接收中断和发送中断的请求标志位中断响应的条件:中断源有中断请求;此中断源的中断允许位为1;CPU开中断(即EA=1)。9、 定时器概念:在 8051单片机中,定时器/计数器就是一个固定长度的二进制计数器,当对输入脉冲信号的数量进行计数时,我们称其为计数器,当对单片机的系统时钟或其它标准时钟进行计数时,由于这类时钟信号本身就表示时间,计数值对应着时间值,所以从这个角度上将其称为定时器。组成:在
26、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)或接收(
27、从引脚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的波特率是可变的。8255A的工作方式0,A口作为输入,B、C口作为输出取端口A:
28、0FF7CH B:0FF7DH C:0FF7EH 控制寄存器地址:0FF7FH根据题意写入控制字为=90H.MOV A,#90H(根据题意计算而变化)MOV DPTR,#0FF7FH 控制寄存器地址DPTRMOVX DPTR,A 方式控制字控制寄存器MOV DPTR,#0FF7CH A口地址DPTRMOVX A,DPTR 从A口读数据MOV DPTR,#0FF7DH B口地址DPTRMOV A,#DATA1 要输入的数据DATA1AMOVX DPTR,A 将DATA1送B口输出MOV DPTR,#0FF7EH C口地址DPTRMOV A,#DATA2 DATA2AMOVX DPTR,A 将DA
29、TA2送C口输出DAC0832启动转换程序ORG 0000HMOV R1,#data1MOV A,R1MOVX DPTR,AMOV DPTR,#0BFFFHMOV R1,#data2MOVX DPTR,AMOV DPTR,#7FFFHMOVX DPTR,A例:用定时器0,方式2计数,要求每计满100次,将P1.0 端取反。 分析:TMOD=B 计数初值:TH0=TL0=28-100=156=9CH 程序如下: ORG1000H START:MOVTMOD,#06H MOVTL0,#9CH MOVTH0,#9CH SETBTR0 LOOP:JBC TF0,DONE ; 判计满100次否?若计满则
30、清零TF0且转DONE SJMPLOOP DONE:CPL P1.0 SJMPLOOP例7.3 已知单片机晶振频率为12MHz,要求使用T0定时0.5ms,使单片机P1.0引脚上连续输出周期为1ms的方波。分析:首先算出机器周期=12/(12MHz)=1us,所以0.5ms需要T0计数M次M=0.5ms/1us=500 256<500<8192,所以选择方式0 初值N=213-500=7692=1E0CH因为选用方式0,低8位TL0只使用低5位,其余的均计入高8位TH0的初值。 TL0=0CH, TH0=0F0HORG0000HRESET: AJMPSTART ORG000BH A
31、JMPT0INT ORG0100HSTART: MOVSP,#60H MOVTH0,#0F0H MOVTL0,#0CH SETBTR0 SETBET0 SETB EAMAIN: AJMPMAINT0中断服务程序T0INT: CPL P1.0 MOV TL0,#0CH MOV TH0,#0F0H RETI3、假设单片机晶振fosc=6MHz,请利用T0和P1.0输出矩形波,矩形波的高电平宽50us,低电平宽300us。(P.145 第13) 晶振fosc=6MHz机器周期为2us 定时器T0使之工作于模式3 定时50us的初值为:256-25=231 (E7H) 定时300US的初值为:256-
32、150=106 (6AH)方法1: MOV TMOD , #B ;T0工作于模式3 MOV TCON ,#0 ;清TR0 , TF0 MOV TL0 , #0E7H ;高电平初值。 256-25 SETB P1.0 ;P1.0口输出高电平 SETB TR0 ;启动定时器T0LOOP1: JNB TF0 , LOOP1 ;检测T0是否溢出 CLR TF0 ;清除溢出标志 CLR TR0 ;关闭定时器 MOV TL0 , #6AH ;写低电平初值 256-150 SETB TR0 ;启动定时器T0 CLR P1.0 ;使P1.0输出低电平LOOP2: JNB TF0 , LOOP2 ;检测T0是否
33、溢出 CLR TF0 ;清除溢出标志 CLR TR0 ;关闭定时器 MOV TL0 , #0E7H ;写高电平初值 256-25 SETB TR0 ;启动定时器T0 SETB 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
34、-200)=56 MOV TL0 , #56 ; MOV R7 , #5 ; 200us与1ms是5倍的关系 SETB TR0 ; 启动定时器T0 SETB 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
35、)写出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=6 T0的控制字为: MOV TMOD , #20H MOV TCON , #0(2)参考程序如下: ORG 0000H SJMP Main ORG 000BH AJMP T0 O
36、RG 0030HMain: MOV TMOD , #20H ;定时器T1工作于方式2 CLR TR0 ;关闭定时器T1 CLR 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 ;启动定时器T1 SETB EA ;开中断 SJMP $ T0: DJNZ R7 , NEXT ;两次是否到?未到则中断返回,到则继续 CPL P1.0 ;取反P1.0口
37、 MOV R7 , #2 ;重置2倍的关系 NEXT: RETI ;中断返回12、要求从P1.1引脚输出1000Hz方波,晶振频率为12MHz。试设计程序。思路:(1)只要使P1.1每隔500µs取反一次即可得到1ms方波;。(2)将T1设为定时方式0:GATE=0,C/T()=0,M1M0=00;T0不用可为任意,只要不使其进入方式3,一般取0即可。故TMOD=00H。下面计算500µs定时T1的初值: 机器周期: T=1µs , 设初值为X则: X=8192-500=7692=00 B =1111 0000 0 0110 B = F 0 0 C H 因为在作1
38、3位计数器用时,TL1高3位未用,应写0,X的低5位装入TL1的低5位,所以TL1=#0CH;X的高8位应装入TH1,所以TH1=#F0H。参考源程序如下: MOV TCON , #0 ;清TF1、TR1 MOV TMOD , #0 ;定时器T1工作于方式0 MOV TH1 , #0F0H ;定时500us的初值 MOV TL1 , #0CH ;8192-500=7692=F00CH SETB TR1 ;启动定时器T1LOOP: JNB TF1 , LOOP ;等待定时500us的溢出 CLR TF1 ;清除溢出标志 CPL P1.1 ;取反P1.1口 CLR TR1 ;关闭定时器T1 MOV
39、 TH1 , #0F0H ;重写定时500us的初值 MOV TL1 , #0CH ;重写定时500us的初值 SETB TR1 ;启动定时器T1 SJMP LOOP13、试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式,如此反复循环。设晶振频率为12MHz。定时器T1确定工作于方式1计数100的初始值为:65536-100100=64+32+4= B65536-100=1111 1111 1001 1100 B = FF9CH定时10ms的初始值为:65536-100005000=4096+512+25
40、6+128+8 =0065536-5000=60536=1110 1100 0111 1000 B = EC78H参考程序如下: LOOP3: CLR TR1 ;关闭定时器T1 CLR TF1 ;清除定时器T1的溢出标志 MOV TMOD 50H ;定时器T1工作于方式1,计数 MOV TH1 , #0FFH ;计数100的初值 MOV TL1 , #9CH ;65536-100=FF9CH SETB TR1 ;启动定时器T1LOOP1: JNB TF1 , LOOP1 ;等待计数100溢出 MOV TMOD , #10H ;定时器T1工作于方式1,定时 CLR TF1 ;清除定时器溢出标志
41、CLR TR1 ;关闭定时器T1 MOV TH1 , #0ECH ;定时10ms的初值 MOV TL1 , #78H ;65536-5000=EC78H SETB TR1 ;启动定时器T1 LOOP2: JNB TF1 , LOOP2 ;等待定时10ms溢出 CPL P1.7 ;取反P1.7口 SJMP LOOP3 ;返回循环14、若单片机晶振为12MHz,利用定时器1方式1,产生1ms的定时,在P1.0脚产生周期为2ms方波,用查询方式工作,查询标志为TF1。已知fosc =12MHz1个机器周期为1us 1ms=1000us 初值=65536-1000=54536 64536转换为二进制:
42、1111 1100 0001 1000 T0的低8位: (18H) T0的高8位: (FCH) 则有: (TL0) #18H ; (TH0) #0FCH参考源程序如下: MOV TCON , #10H ;定时器T1工作于方式1 MOV TMOD , #0 ;清除TR1、TF1 MOV TH1 , #0FCH ;定时1ms的初值 MOV TL1 , #18H ;65536-1000=FC18H SETB TR1 ;启动定时器T1LOOP: JNB TF1 , LOOP ;等待定时1ms的溢出 CLR TF1 ;清除溢出标志 CPL P1.0 ;取反P1.0口 CLR TR1 ;关闭定时器T1 M
43、OV TH1 , #0FCH ;重写定时1ms的处值 MOV TL1 , #18H ;重写定时1ms的处值 SETB TR1 ;启动定时器T1 SJMP LOOP ;返回循环15、系统时钟频率为6 MHz,试用定时器T0作外部计数器,编程实现每计到1000个脉冲,使T1开始2ms定时,定时时间到后,T0又开始计数,这样反复循环不止。(1) 定时器T0工作于方式1,计数1000的初值为:65536-10001000=512+256+128+64+32+8=0000 0001 1111 1000 B65536-1000=1111 1100 0001 1000 B = FC18H(2) 晶振fosc
44、=6MHz,机器周期为2us,定时器T0工作于方式1,定时1ms的初值为:65536-500 500=256+128+64+32+16+4 = 10100 B (取反+1可得到结果)(65536-500)=65036=1111 1110 0000 1100 B TH0=#0FEH ; TL0=#0CH(3) 参考程序如下: LOOP3: MOV TMOD , #0000 0101 B CLR TF0 CLR TR0 MOV TH0 , #0FCH MOV TL0 , #18H SETB TR0 LOOP1: JNB TF0 , LOOP1 CLR TF0 CLR TR0 MOV TMOD ,
45、#01H MOV TH0 , #0FEH MOV TL0 , #0CH SETB TR0 LOOP2: JNB TF0 , LOOP2 SJMP LOOP3一、填空题: 1、MCS5l单片机的最大程序寻址空间是 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)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西华大学《数值计算》2023-2024学年第二学期期末试卷
- 江阴职业技术学院《计算机操作系统》2023-2024学年第二学期期末试卷
- 包头钢铁职业技术学院《国际会展实务》2023-2024学年第二学期期末试卷
- 鹤岗师范高等专科学校《操作系统原理与应用》2023-2024学年第二学期期末试卷
- 辽宁广告职业学院《中小学音乐教学设计》2023-2024学年第二学期期末试卷
- 内蒙古商贸职业学院《生化工程》2023-2024学年第二学期期末试卷
- 浙江音乐学院《管理学全英》2023-2024学年第二学期期末试卷
- 河北机电职业技术学院《国际贸易概论》2023-2024学年第二学期期末试卷
- 成都师范学院《工程测量课程设计》2023-2024学年第二学期期末试卷
- 范梅南现象学教育学理论体系
- 人工智能设计伦理(浙江大学)知到智慧树章节答案
- 中药材质量追溯管理制度
- 《结构式家庭疗法提升“丧偶式育儿”家庭亲密度的个案研究》
- 公司员工手册(最完整)
- 化学实验室废物处理管理制度
- 3D数字游戏艺术-3-测量分评分表-展开UV与贴图绘制-15分
- 联合经营合同协议样本
- 雅马哈便携式扩声系统STAGEPAS 600i使用说明书
- 2024年六西格玛黄带认证考试练习题库(含答案)
- 文艺学名著导读学习通超星期末考试答案章节答案2024年
- 子女抚养协议合同模板
评论
0/150
提交评论