完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用定时器做的,但是LED灯只是第一次闪烁后常亮30分钟后熄灭,第二次按按键后就是一直亮了,不知道为什么,请一些高手解答下。
测试代码如下 最重要的就是第一次定时可以 第二次就不行了 STC15W100的芯片 #include "reg52.h" #include "intrins.h" #define uchar unsigned char #define uint unsigned int typedef unsigned int u1; typedef unsigned char u2; // unsigned char d; unsigned char n=0; uchar min=1; sec=59; // uchar flag;// sbit led2=P3^0; // sbit led1=P3^1; // sbit cd=P3^2; // sbit uv=P3^3; // sbit k1=P3^4; bit flash;// bit key; sfr IE2=0xAF; sfr AUXR=0x8E; sfr T2H=0xD6; sfr T2L=0xD7; void shijian(); // /@@************************************* *************************************/ void delay_1s() { int ab; for(a=1000;a>0;a--) for(b=150;b>0;b--); } /@@************************************* *************************************/ void keypros() { if(k1==0) { delay_1s(); if(k1==0) { flash=~flash; key=1; } } while(!k1); } /@@************************************* *************************************/ void ledflash() { if(flash==1 key==1) { for(d=0;d<10;d++) { led1=0; delay_1s(); led1=1; delay_1s(); } key=0; led1=0; uv=1; } if(flash==0) { led1=1; uv=0; } } /@@************************************* *************************************/ void Int1Init() // { IT0=1; EX0=1; EA=1; } /@@************************************* *************************************/ void timer2Init() // { IE2|=0x04; T2H=(65536-50000)/256; T2L=(65536-50000)%256; EA=1; // AUXR|=0x10; // } /@@************************************* *************************************/ void main() { led1=1; uv=0; led2=1; flash=0; Timer2Init(); while(1) { keypros(); ledflash(); Int1Init(); } } /@@************************************* *************************************/ void Int0() interrupt 0 // { if(cd==0) { uv=0; // led2=~led2; // } else { led2=1; } } /@@************************************* *************************************/ void Timer2() interrupt 12 { T2H=(65536-50000)/256; T2L=(65536-50000)%256; flag++; if(min==0 sec==0) { uv=0; } if(flag>=20) { flag=0; sec--; if(sec<=0) { sec=59; min--; if(min<=0) { min=0; sec=0; AUXR|=0x00; } } } } |
|
相关推荐
1个回答
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
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 18:20 , Processed in 0.430424 second(s), Total 42, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号