打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
STC15F104E单片机之按键触发延时1分钟程序

********************************************************************

汇诚科技

实现功能:按键触发延时1分钟程序

使用芯片:STC15F104E

晶振:12MHZ

波特率:9600

编译环境:Keil

作者:zhangxinchunleo

网站:www.ourhc.cn

淘宝店:汇诚科技 http://shop36330473.taobao.com

【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!

*********************************************************************/

/********************************************************************/

#include //库文件

#define uchar unsigned char//宏定义无符号字符型

#define uint unsigned int //宏定义无符号整型

/********************************************************************

初始定义

*********************************************************************/

uint sec; //定义计数值,每过1/10 秒,sec 加一

uchar keycnt=0;//按下次数值

uint tcnt; //键值判断

/********************************************************************

I/O定义

*********************************************************************/

sbit P33=P3^3; //定义单片机P3口的第3位 (即P3.3)

sbit P3_5=P3^5;

/**********************

1/3页

**********************************************

延时函数

*********************************************************************/

void delay(uchar t)

{

uchar i,j;

for(i=0;i<>

{

for(j=13;j>0;j--);

{ ;

}

}

}

/********************************************************************

按键扫描函数

*********************************************************************/

void KEY() //按键扫描程序

{

if(P3_5==0)

{

delay(20);

if(P3_5==0)

{

TH0=0x06; //对TH0 TL0 赋值

TL0=0x06;

P33=1;

TR0=1; //开始定时

}

}}

/********************************************************************

定时中断服务函数

*********************************************************************/

void t0(void) interrupt 1 using 0 //定时中断服务函数

{

tcnt++; //每过250ust tcnt 加一

if(tcnt==4000) //计满400 次(1/10 秒)时

{

tcnt=0; //重新再计

sec++;

if(sec==60) //定时10 秒,在从零开始计时

{

sec=0;

P33=0;

TR0=0;

}

}

}

/********************************************************************

2/3页

主函数

*********************************************************************/

void main()

{

TMOD=0x02; //定时器工作在方式2

ET0=1;

EA=1;

sec=0;

TR0=0;

P33=1;

while(1)

{

KEY();

}

}

/********************************************************************

结束

*********************************************************************/

3/3页全文完
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
STC89C52RC单片机控制步进电机仿真与程序
基于51单片机的PCF8591电压测量
stc89c52rc单片机串口中断发送问题
用单片机控制步进电机与直流电机其原理是否一样?
51单片机数字万年历仿真
一个不用中断可立即跳出当前单片机程序运行状态的操作
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服