/**************************************************************************************
实验现象:下载程序后,先亮D1灯,很快D1灯后灭D2灯亮,单片机进入睡眠状态,当按键K1按下后
P32口产生下降沿唤醒单片机,然后亮D1灯,很快D1灯后灭D2灯亮,单片机又进入睡眠状态
接线说明: 1:STC8A单片机-->LED&交通灯模块
P00-->D1
P01-->D2
2:STC8A单片机-->独立按键模块
P32-->K1
注意事项: USB连接线给开发板通电下载程序,STC下载软件中内部IRC时钟选择11.0592MHZ
***************************************************************************************/
#include "STC8.H"
#include "intrins.h"
#define MAIN_Fosc 11059200L //定义主时钟
#define uint16 unsigned int
#define uint8 unsigned char
/**********************
引脚别名定义
***********************/
sbit led1=P0^0; //用IO口P00
sbit led2=P0^1; //用IO口P01
/************* 本地变量声明 **************/
uint16 msecond; //1000ms计数
uint8 SleepDelay; //唤醒后再进入睡眠所延时的时间
#define TRUE 1
/**************************************
功能描述:延时函数
入口参数:uint16 x ,该值为1时,延时1ms
返回值:无
***************************************/
void delay_ms(uint16 x)
{
uint16 j,i;
for(j=0;j<x;j++)
{
for(i=0;i<1100;i++);
}
}
/*******************************************************************************
* 函 数 名 : Int0Init()
* 函数功能 : 设置外部中断0
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void Int0Init(void)
{
//设置INT0
IT0=1;//跳变沿出发方式(下降沿)
EX0=1;//打开INT0的中断允许。
EA=1;//打开总中断
}
/***********************
功能描述:主函数
入口参数:无
返回值:无
************************/
int main()
{
P0M1 &= 0xFC; P0M0 &= 0xFC; //设置P00、P01为准双向口
SleepDelay = 0; //唤醒后再进入睡眠所延时的时间初始清零
while(1)
{
delay_ms(1); //延时1ms
if(++msecond >= 1000) //1秒到
{
msecond = 0; //清1000ms计数
led1=0; //点亮D1
led2=1; //熄灭D2
if(++SleepDelay >= 5) //5秒后睡眠
{
SleepDelay = 0;
if(TRUE)
{
SleepDelay = 0;
led1=1; //熄灭D1
led2=0; //点亮D2
Int0Init();
PCON |= 0x02; //Sleep睡眠模式
_nop_();
_nop_();
_nop_();
}
}
}
}
}
/**************************************
功能描述:外部中断服务程序
入口参数:无
返回值:无
***************************************/
void INT0_int() interrupt 0
{
EX0 = 0; //关闭INT0中断允许位
}
基于STC8A单片机基础实验例程源码之-单片机睡眠唤醒 - 外部中断0(下降沿方式).zip
版权申诉
45 浏览量
2023-11-28
20:44:39
上传
评论
收藏 23KB ZIP 举报
GJZGRB
- 粉丝: 1523
- 资源: 6226
最新资源
- html+css+'青春献礼二十大 红色旅游助乡村'为主题的网页设计 2022年参与学校网页设计比赛时完成的
- Unity 模型布尔运算插件
- eCANtools工具,CAN资料包
- 129335283047061xiazaigongjuxiang(去重软件).apk
- Android环境检测工具,检测ksu,lsp,magisk等
- WordPress后台美化插件QuarterAdmin分享
- PCB_Project单片机绘制 (2024-5-11 22-22-13).zip
- nccl-local-repo-ubuntu2204-2.21.5-cuda12.4-1.0-1-amd64
- STM32移植LVGL源码工程 stm32移植GUI-Guider源码 LVGL移植源码
- Screenshot_20240522_084328_com.tencent.mm.jpg
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈