小知识点补充33:
1,MCS —51 布尔处理机的存储空间是 00H-7FH
2,8051 的堆栈区一般开辟在 用户RAM区
3,所谓寻址,其实质就是 如何确定操作数的单元地址
4,存储器映象是 存储器在整个存储空间的地址范围
5,定时器中断请求发生在 定时时间到
6,中断响应时间是指 从查询中断请求标志位到转向中断区入口地址所需的机器周期数
7,通过 CPU 对 I/O 状态的测试,只有 I/O 已准备好时才能进行 I/O 传送,这种传送方式称为 程序查询方式
8,在中断服务程序中现场保护和现场恢复期间,中断系统应处在 关中断 状态
9,当外部中断请求的信号方式为脉冲方式时, 要求中断请求信号的高电平状态和低电平状态都应至少维持 1 个机器周期
10,如何正确使用 P3口?(简答题)
答:要点:
(1)说明 P3口有第一功能和第二功能的使用。
(2)P3口的第二功能各位线的含义。
(3)使用时应先按需要选用第二功能信号,剩下的口线才作第一功能 I/O 线用。
(4)读引脚数据时,必需先给锁存器输出“ 1”。
11,简述累加器的 ACC 的作用(简答题)
答:(1)8 位专用寄存器。
(2)运算时存放一个操作数。
(3)运算后存放运算结果,所以称它为累加器。
12,简述寄存器间接寻址方式及其寻址范围(简答题)
答:寄存器中存放的是操作数的地址, 操作数是通过寄存器间接得到, 这种寻址方式称为寄存器间接寻址方式。
寻址范围:
① 内部 RAM 低 128 B单位,形式 @Ri(i=0,1) 。
② 外部 RAM64K 使用 DPTR 作间址寄存器,形式为 @DPTR 。
13,简述串行数据传送的特点(简答题)
答: (1)传送按位顺序进行,速度慢。
(2)传输线少,成本低。
(3)传送距离远,可达几公尺到几千公里。
(小知识点补充15重复)
题64
利用单片机的定时器产生频率为1Hz的方波信号,将此信号从P2.0口输出(晶振12MHz)
电路图如下:
解析:单片机定时器为16位,最大计数值65535,在12MHz时钟下最大定时时间为(65535+1)*12/12=65.535毫秒<1秒,因此需要设置变量。
思路:方法一:
设置定时器定时时间为50毫秒,定义一个变量,每中断一次变量值加一,中断10次进行电平反转,然后再中断10次,即可达到要求:
高电平500ms+低电平500ms=1s
注意:如果题目中没有说占空比,那么就是默认占空比50%,即标准的方波信号
方法一:使用定时器1,方式1,定时初值50毫秒
程序源码:
LED EQU P2.0
VAR EQU R7
ORG 0000H
LJMP START
ORG 001BH
LJMP T1ADDR
ORG 0030H
START:
MOV SP,#66H
MOV TMOD,#10H
SETB ET1
SETB EA
MOV TL1,#0AFH
MOV TH1,#3CH
CLR LED
MOV VAR,#0AH
SETB TR1
SJMP $
T1ADDR:
MOV TL1,#0AFH
MOV TH1,#3CH
DJNZ VAR,Overturn
CPL LED
MOV VAR,#0AH
Overturn:
RETI
END
仿真图:
方法二:使用定时器1,方式0,定时初值5毫秒
程序源码:
LED EQU P2.0
VAR EQU R7
ORG 0000H
LJMP START
ORG 001BH
LJMP T1ADDR
ORG 0030H
START:
MOV SP,#66H
MOV TMOD,#00H
SETB ET1
SETB EA
MOV TL1,#78H
MOV TH1,#0CH
CLR LED
MOV VAR,#64H
SETB TR1
SJMP $
T1ADDR:
MOV TL1,#78H
MOV TH1,#0CH
DJNZ VAR,Overturn
CPL LED
MOV VAR,#64H
Overturn:
RETI
END
仿真视频:
《单片机汇编》期末考试、考研常见考题、习题,题型汇总(二十一)、单片机定时器产生各种方波
题65
利用单片机的定时器产生频率为5KHz的方波信号,将此信号从P2.0口输出(晶振12MHz)
程序源码:
使用定时器1,方式2
PULSE EQU P2.0
VAR EQU R7
ORG 0000H
LJMP START
ORG 001BH
LJMP T1ADDR
ORG 0030H
START:
MOV SP,#66H
MOV TMOD,#20H
SETB ET1
SETB EA
MOV TL1,#37H
MOV TH1,#37H
CLR PULSE
MOV VAR,#64H
SETB TR1
SJMP $
T1ADDR:
CPL PULSE
RETI
END
仿真图:
题66
利用单片机的定时器产生频率为1KHz的方波信号(占空比=80%),将此信号从P2.0口输出(晶振12MHz)
解析:
占空比:是指在一个脉冲循环内,通电时间相对于总时间所占的比例。一般情况下是指在一个周期内,高电平时间与总时间之比
1K频率80%的占空比,即周期为1毫秒,高电平时间800us,低电平时间200us
程序源码:
使用定时器0,方式2
PULSE EQU P2.0
VAR EQU 60H
ORG 0000H
LJMP START
ORG 000BH
LJMP T0ADDR
ORG 0030H
START:
MOV SP,#66H
MOV TMOD,#02H
SETB ET0
SETB EA
MOV TL0,#37H
MOV TH0,#37H
SETB PULSE
MOV VAR,#00H
SETB TR0
SJMP $
T0ADDR:
INC VAR
MOV A,VAR
CJNE A,#04H,L1
CLR PULSE
L1:
CJNE A,#5,L2
SETB PULSE
MOV VAR,#00H
L2:
RETI
END
仿真图:
题67
利用单片机的计数器计数外部脉冲个数,计算出外部脉冲的周期(晶振12MHz),设脉冲是20Hz-1KHz由P3.2口输入
解析:使用定时器0,方式1,作为演示型实验,为了程序较为简便,输入频率为100Hz标准方波,将定时器的计数值TL0复制给60H,TH0复制给61H单元,若计数值有溢出则将溢出次数赋给62H单元。
周期换算:
12M晶振,每计数一次为1us,当定时器0工作在方式1时,最大计数为65535,则每溢出一次,为65.535毫秒。
则总的计数时间:T=(61H)8+(60H)+65536(62H)
程序源码:
LED EQU P2.0
VAR EQU R7
COUNTER EQU R6
ORG 0000H
LJMP START
ORG 0003H
LJMP INT0ADDR
ORG 000BH
LJMP T0ADDR
ORG 0030H
START:
MOV SP,#66H
MOV TMOD,#01H
SETB EX0
SETB IT0
SETB EA
LOOP:
MOV TL0,#00H
MOV TH0,#00H
CLR LED
MOV VAR,#00H
MOV COUNTER,#0
SETB ET0
JNB LED,$
MOV 60H,TL0
MOV 61H,TH0
MOV 62H,COUNTER
HALT:
SJMP LOOP
INT0ADDR:
INC VAR
CJNE VAR,#10,L6 ;等待外部脉冲稳定
SETB TR0
L6:
CJNE VAR,#11,L3
CLR TR0
CLR EX0
SETB LED
L3:
RETI
T0ADDR:
MOV TL0,#00H
MOV TH0,#00H
INC COUNTER
RETI
END
仿真图:
由仿真可知:
TH0=27H,TL0=12H,(62H)=0,换算时间:
T1=(TH0<<8+TL0)*1us=10002us=10.002ms
f=1/T1=100Hz左右
实际中:应等脉冲稳定时多次测量取平均值
程序阅读填空题2
ORG 0000H
LJMP START
ORG 0060H
START:
MOV R0,#30H
MOV R1,#30H
MOV A,R0
ADD A,#36H
MOV P1,A
INC R0
INC R1
ANL A,R1
PUSH ACC
SWAP A
MOV P1,A
POP B
MOV R0,A
MOV DPTR,#2020H
SETB C
ADDC A,#10
MOVX @DPTR,A
END
程序执行完后:
(R0)= ,(R1)= ,(P1)= ,(B)= ,(2020H)=
答案:
(R0)= 02H ,(R1)=31H ,(P1)=02H ,(B)= 20H ,(2020H)=0DH
仿真图: