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开始的区域,请编程实现。 ORG 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口使用;或作为第二功能口使用。 串行输入端口(RXD) 串行输出端口(TXD)外部中断0(INT0) 外部中断1(INT1) T0 T1
外部数据存储器写选通(WR) 外部数据存储器读选通(RD)
2、引脚EA 当EA=1时,访问内部程序存储器,EA=0时,访问外部程序存储器 引脚PSEN外部程序存储器的读选通信号,读取时有效低电平
引脚PROG/ALE 当访问外部存储器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端扔以不变的频率周期性地出现正脉冲信号,次频率为振荡器频率的1/6,可用作对外输出的时钟,或用于定时,每当访问外部数据存储器的时候,将跳过一个ALE脉冲。 3、PSW中各个位的功能:
(CY)进位标志位 (AC)辅助进位标志位 (F0)标志位
(RS1\\RS0)四组工作寄存器区选择控制位1和位0
00 工作0区(00H) 01 1区(08H) 10 2区(10H) 11 3区(18H) (OV)溢出标志位 保留位,未用
4、8051单片机的时序定时单位:节拍、状态、机器周期和指令周期 5、复位:RST引脚处至少保持24个振荡周期的高电平就可复位
寄存器 PC ACC B PSW SP DPTR P0~P3 IP(8051) IP(8052) IE(8051) IE(8052) TMOD PCON(HMOS) 内容 0000H 00H 00H 00H 07H 0000H 0FFH XXX00000B XX000000B 0XX00000B 0X000000B 00H 0XXXXXXXB 寄存器 TCON T2CON TH0 TL0 TH1 TL1 TH2 TL2 RLDH RLDL SCON SBUF PCON(CHMOS) 内容 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 00H 不定 0XXX0000B 6、寻址方式
(1)寄存器寻址方式是对选中寄存器中的数据进行处理,适用于数据放置在寄存器之中的情况。
MOV R1,B ; 将寄存器B中的数值送入到寄存器R1中 INC R2
; 将寄存器R2中的数值加1
MOV A,R7 ;将寄存器R7中的数值送入累加 器A 寄存器寻址范围:
寄存器区中8个工作寄存器R0~R7中的一个(由指令操作码的低三位数
值确定)、特殊寄存器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,#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 ;将数值05H送入到以R1内数值为地址的内部RAM单元中 ADD A,@R1; 将累加器A中的数值加上以R1内数值为地址的内部RAM单元中的
数据结果存放于A
MOVX A,@DPTR ;将以DPTR内数值为地址的外部数据存储器的内容送给累加器A
注意: 寄存器间接寻址范围包括内部RAM和外部RAM,且外部RAM只能寄存器间接寻址,访问外部数据存储器的指令助记符与访问内部RAM的助记符不同。 (6) 相对寻址方式 目的地址=转移指令所在的地址+转移指令字节数+rel JC rel JNC rel JB bit, rel JNB bit, rel JBC bit, rel SJMP rel
(7) 基址加变址寄存器间接寻址
专用16位寄存器(DPTR或PC)存放基地址,寄存器A做变址寄存器,仅两条指令:
MOVC A,@A+PC
MOVC A,@A+DPTR
只能读取程序存储器。 7、指令
(1)一般传输指令 MOV A, Rn (2)累加器传输指令
XCH A, Rn (n为0-7之一,将工作寄存器Rn的内容和A的内容交换)