小知识点补充69
1,定时器溢出率=定时器定时时间的倒数
2,电源控制寄存器(0x87)
PCON D7 D6 D5 D4 D3 D2 D1 D0
位名称 SMOD GF1 GF0 PD IDL
SMOD:串行口波特率倍增位 =1倍增
DL: 空闲方式控制位,置1后单片机进入空闲方式,电流为 1.7-5mA
PD:掉电方式控制位,置1后单片机,时钟信号停止,单片机停止工作,掉电方式
GF0:通用标志位
GF1:通用标志位
3,独立按键(非自锁按键)实用电路图:
注意:按键电路在实际应用最好接上拉电阻,其阻值4.7K或10K等。
小知识点补充70:
掉电模式:振荡器停止工作,内部的所有功能部件均停止工作。只能通过硬件复位退出该模式。
空闲模式:CPU进入空闲状态,外围电路继续工作(中断系统等),寄存器、PSW、A、B等内容保持在空闲模式前的状态,可以通过中断退出或硬件复位退出。
题71
编程实现使用定时器循环点亮LED(间隔100毫秒),当按键1按下时,单片机进入空闲模式,当按键2按下时,单片机退出空闲模式
电路图如下:
程序源码:
LED_ENTRY BIT P1.0
LED_EXIT BIT P1.1
ORG 0000H
LJMP START
ORG 0003H
LJMP INT0ADDR
ORG 0013H
LJMP INT1ADDR
ORG 000BH
LJMP T0ADDR
ORG 0030H
START:
MOV SP,#66H
MOV IE,#87H
MOV IP,#04H
MOV TCON,#05H
MOV TH0,#0CH
MOV TL0,#78H
MOV R0,#00H
SETB LED_ENTRY
CLR LED_EXIT
SETB TR0
MOV A,#0AAH
LOOP:
MOV P0,A
CPL A
MOV P2,A
CJNE R0,#20,$
MOV R0,#00H
AJMP LOOP
INT0ADDR:
CLR LED_ENTRY
SETB LED_EXIT
CLR TR0
MOV PCON,#01H
RETI
INT1ADDR:
SETB LED_ENTRY
CLR LED_EXIT
MOV PCON,#00H
MOV TH0,#0CH ;5 MS *20
MOV TL0,#78H
MOV R0,#0
SETB TR0
RETI
T0ADDR:
MOV TH0,#0CH ;5 MS *20
MOV TL0,#78H
INC R0
RETI
END
仿真视频:
《单片机汇编》期末考试、考研常见考题、习题,题型汇总(三十三)掉电模式、空闲模式
题72
编程实现使用定时器循环点亮LED(间隔100毫秒),当按键1按下时,单片机进入掉电模式,当复位按键按下时,单片机退出掉电模式,测试按键2是否能够退出掉电模式
电路图:
程序源码:
LED_ENTRY BIT P1.0
LED_EXIT BIT P1.1
ORG 0000H
LJMP START
ORG 0003H
LJMP INT0ADDR
ORG 0013H
LJMP INT1ADDR
ORG 000BH
LJMP T0ADDR
ORG 0030H
START:
MOV SP,#66H
MOV IE,#87H
MOV IP,#04H
MOV TCON,#05H
MOV TH0,#0CH
MOV TL0,#78H
MOV R0,#00H
SETB LED_ENTRY
CLR LED_EXIT
SETB TR0
MOV A,#0AAH
LOOP:
MOV P0,A
CPL A
MOV P2,A
CJNE R0,#20,$
MOV R0,#00H
AJMP LOOP
INT0ADDR:
CLR LED_ENTRY
SETB LED_EXIT
CLR TR0
MOV PCON,#02H
RETI
INT1ADDR: ;这段程序不起作用,只能通过硬件复位退出掉电模式 START
SETB LED_ENTRY
CLR LED_EXIT
MOV PCON,#00H
MOV TH0,#0CH ;5 MS *20
MOV TL0,#78H
MOV R0,#0
SETB TR0
RETI ;这段程序不起作用,只能通过硬件复位退出掉电模式 END
T0ADDR:
MOV TH0,#0CH ;5 MS *20
MOV TL0,#78H
INC R0
RETI
END
效果图:
按键1按下进入掉电模式:(此时,按键2无论按多少次也没用,只能按下复位按键退出(硬件复位))
按下复位按钮后: