小知识点补充31
1,89C51 的堆栈是按照先进后出的原则进行存取的RAM区
2,用一条指令实现以下功能 : 若 A 中数据不等于 200,则程序转至 PROM CJNZ A,#200H,PROM
3,为了使10H-17H 作为工作寄存器使用,则 RS1,RS0 的取值为 10,89C51 中 21 个特殊功能寄存器,其地址凡是能被 8 整除的都有位寻址功能
4,对于 89C51 单片机,当 CPU对内部程序存储器寻址超过4KB时,系统会自动在外部程序存储器中寻址
5,在一定范围内,单片机外加晶振频率越高,系统运算速度也就越快,系统性能也就越好
小知识点补充32
1,51 单片机有 5 个 中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择
2、中断请求信号有 电平 触发和 脉冲 触发两种触发方式
3,74LS273 通常用来作简单 输出 接口扩展;而 74LS244 则常用来作简单输入接口扩展
4,计算机的系统总线有地址总线、控制总线和 数据总线
5,汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对 汇编过程进行某种控制
程序阅读填空题1
设(A)=51,R0=28H,(28H)=51H, 执行下列程序后,(A)=
ANL A,#27H
ORL A,#66
XRL A,28H
ORL A,@R0
CPL A
编程:
ORG 0000H
MOV A,#51
MOV R0,#28H
MOV 28H,#51H
ANL A,#27H
ORL A,#66
XRL A,28H
ORL A,@R0
CPL A
END
答案:
(A)=8CH
题73
设单片机的晶体振荡频率为12MHz,利用定时器 T0 编程由 P1.0 和 P1.1 输出周期为 10mS、互补(互为反相)的方波。
电路图:
程序源码:
LED_H BIT P1.0
LED_L BIT P1.1
ORG 0000H
LJMP START
ORG 000BH
LJMP T0ADDR
ORG 0030H
START:
MOV SP,#66H
MOV IE,#82H
MOV TH0,#0CH
MOV TL0,#78H
MOV TCON,#00010000B
SETB LED_H
CLR LED_L
SJMP $
T0ADDR:
MOV 8CH,#0CH ;2 US
MOV 8AH,#78H ;2 US
CPL LED_H ;1 US
CPL LED_L ;1 US
RETI ;2 US
; TOTAL 8 US
END
仿真图:
题74
设单片机的晶体振荡频率为12MHz,只使用定时器 T0 编程由 P1.0-1输出周期为200us,P1.2-3输出周期为100us的方波。(要求T0工作在方式3,P1.2-3由TH0控制)
电路图:
程序源码:
LED_0 BIT P1.0
LED_1 BIT P1.1
LED_2 BIT P1.2
LED_3 BIT P1.3
ORG 0000H
LJMP START
ORG 000BH
LJMP T0ADDR
ORG 001BH
LJMP T1ADDR
ORG 0030H
START:
MOV SP,#66H
SETB EA
SETB ET0
SETB ET1
MOV TH0,#0CEH
MOV TL0,#9cH
MOV TMOD,#03H
SETB TR0
SETB TR1
SETB LED_1
SETB LED_0
SETB LED_2
SETB LED_3
SJMP $
T0ADDR:
MOV TL0,#9cH
CPL LED_0 ;1 US
CPL LED_1 ;1 US
RETI ;2 US
; TOTAL 8 US
T1ADDR:
MOV TH0,#0CEH
CPL LED_2 ;1 US
CPL LED_3 ;1 US
RETI
END
仿真图:
注:方波之间有延时(由于指令执行需要时间,产生的方波频率较高)
题75
设 8051 单片机应用系统的晶振频率为 12MHz,请利用 T01在 P1.0 引脚上输出频率为 20Hz的方波。(要求使用查询方式)
解析: 输出频率为 20Hz,则周期为 1/20 =50mS,半周期为 50/2 =25mS,T1 的定时初值为: 65536-25000*12/12 =40536=9E58H,即
TH1=9EH. TL1=58H
程序源码:
PULSE BIT P1.0
ORG 0000H
LJMP START
ORG 0030H
START:
MOV SP,#51H
MOV TH1,#9EH
MOV TL1,#58H
MOV TMOD,#10H
SETB TR1
SETB PULSE
LOOP:
JNB TF1,$
CPL PULSE
CLR TF1
MOV TH1,#9EH
MOV TL1,#58H
AJMP LOOP
END
仿真图: