完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器 typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigned char u8; ***it led=P3^2; //定义P3.2口是led ***it k1=P1^7; u8 j; void delay(u16 i) { while(i--); } void timer1Init() { TMOD|=0X01;//选择为定时器1模式,工作方式1,仅用TR0打开启动。 TH0=0X3C; //给定时器赋初值,定时1ms,后面以100HZ闪频点亮灯 TL0=0XB0; ET0=1;//打开定时器0中断允许 EA=1;//打开总中断 TR0=1;//打开定时器 } void keypros() { if(k1==0) //检测按键K1是否按下 { delay(1000); //消除抖动 一般大约10ms if(k1==0) //再次判断按键是否按下 { j++; if(j==5) {j=0;} } while(!k1); //检测按键是否松开 } } /******************************************************************************* * 函 数 名 : void Timer0() interrupt 1 * 函数功能 : 定时器0中断函数 * 输 入 : 无 * 输 出 : 无 *******************************************************************************/ void Timer0() interrupt 1 { static u16 i; TH0=0X3C; //给定时器赋初值,定时50ms TL0=0XB0; i++; //第1种模式:常亮 if(j==0) {led=1;} //第2种模式:亮0.5秒,灭0.5秒 if((i==0 )&&(j==1)) {led=1;} if((i==10)&&(j==1)) {led=0;} if((i==20)&&(j==1)) {led=0;i=0;} //第3种模式:亮1秒,灭1秒 if((i==0 )&&(j==2)) {led=1;} if((i==20)&&(j==2)) {led=0;} if((i==40)&&(j==2)) {led=0;i=0;} //第4种模式:亮1秒,灭2秒 if((i==0 )&&(j==3)) {led=1;} if((i==20)&&(j==3)) {led=0;} if((i==60)&&(j==3)) {led=0;i=0;} //第5种模式:亮0.8秒,灭1.5秒 if((i==0 )&&(j==4)) {led=1;} if((i==16)&&(j==4)) {led=0;} if((i==32)&&(j==4)) {led=0;} if((i==46)&&(j==4)) {led=0;i=0;} //第6种模式:5连闪,30次每分钟 if((i==0)&&(j==5)) {led=1;} if((i==2)&&(j==5)) {led=0;} if((i==4)&&(j==5)) {led=1;} if((i==6)&&(j==5)) {led=0;} if((i==8)&&(j==5)) {led=1;} if((i==10)&&(j==5)) {led=0;} if((i==12)&&(j==5)) {led=1;} if((i==14)&&(j==5)) {led=0;} if((i==16)&&(j==5)) {led=1;} if((i==18)&&(j==5)) {led=0;} if((i==20)&&(j==5)) {led=0;} if((i==40)&&(j==5)) {led=0;i=0;} } /******************************************************************************* *******************************************************************************/ void main() { j=0; Timer1Init(); //定时器1初始化 while(1) {keypros();} } |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12010 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 21:01 , Processed in 0.532499 second(s), Total 69, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号