各位老师大家好,我是新手想在本论坛的51hei板子上做个延时实验遇到问题请教各位老师
按下按键1时对应LED1亮1小时后熄灭
按下按键2时对应LED2亮1小时后熄灭
。
。
。
。
按下按键8时对应LED8亮1小时后熄灭
问题1:我看了教程的延时函数都是几毫秒或几秒,想要1小时或2小时的长时间精准延时应如何实现。
问题2: 8个LED灯如何同时工作,
请老师指点,不胜感激。
编写延时程序的具体方法我曾经专门发过个一个帖子http://www.51hei.com/bbs/dpj-4711-1.html
理论上用上面帖子的方法也能实现延时一个小时,但实现起来比较麻烦,我还是建议你用板子上的ds1302时钟芯片来做会比较精准一点.
多谢楼上两位老师指点,我在学习下。
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit key1=P3^4;sbit key2=P3^5;
sbit key3=P3^6;sbit key4=P3^7;
sbit d1=P1^0;sbit d2=P1^1;
sbit d3=P1^2;sbit d4=P1^3;
void main()
{
P1=0xff;
while(1)
{
if(key1 == 0) d1 = 0;
if(key2 == 0) d2 = 0;
if(key3 == 0) d3 = 0;
if(key4 == 0) d4 = 0;
}
}
因为我刚接触单片机,是自学的没有基础,中断和定时器还没搞明白怎么回事,请老师在指点下,谢谢。
如何让这些发光管点亮后一段时间自动熄灭
我用了延时后第一个发光管亮后其他的就不能操作了,要等到灯灭了才能操作其他灯,不能同时进行
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |