找回密码
 注册
关于网站域名变更的通知
查看: 152|回复: 2
打印 上一主题 下一主题

单片机控制LED请问延时除了累减嵌套循环,还有什么好方法没?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-2-10 10:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
我想做个点亮led灯1秒,暗10秒,循环10次程序停止,网上找了一些程序拼凑而成,我是新手还没入门呢,x的10次循环不知道怎么退出,延时循环一直用累减循环,会不会浪费cpu(mcu)资源、减少寿命,浪费电池电量。还有网上查的1s=1000000us,实测是255000us。​6 h: A7 V& |" r. ]8 B5 K; u
下面的程序,x的10次循环怎么退出啊,想运行10次就让单片机休息,停止工作,怕一直工作下去累坏了,后面加了return 0程序出错,while循环还不会写。​4 }0 l  ^0 C: p" ~( _& R
. d. j( ]% y7 n' h% D+ Z* T
#include<reg52.h>​) L3 H, R$ `; [1 k1 z
, ]/ M, g* Y  {, w5 n! _2 M9 {9 \
sbit LED0=P1^0;​
# t8 e0 a4 l0 H3 {, Qvoid Delay_1s();​
5 z- S/ ^+ c( r( `2 R- C* c( {void Delay_10s();​
0 @( P# j/ x" ~, ~unsigned int i,j,k;​4 K1 \  U' w  ]3 N

% T! l) l& g3 r. T2 y; V* `" g- rvoid delay_1s()​3 f: k( m. s+ j4 t5 g
{​: v( }5 t1 ?* ~* m
   for(i=95;i>0;i--)​
( e3 K( j+ T: Y* H! m   for(j=26;j>0;j--)​
/ u. f1 u& R# I: A! U   for(k=46;k>0;k--);​
: K. z8 C+ L2 i}​
% q& S8 D% K- `( d+ t; t2 y5 H8 _) A5 C5 X- t6 f* ^& q. b
void delay_10s()​
+ L( b$ F2 E) j! K0 i- N7 T{​9 i9 h4 Q, T% P$ h
   unsigned int i,j,k;​
' D9 o2 n. l" J' ^9 S& P+ D8 u; V   for(i=73;i>0;i--)​6 I- k% Y$ r9 b0 K$ `/ Y
   for(j=249;j>0;j--)​
+ [. I9 X3 X6 ^3 h; ]2 `9 i  {  \   for(k=63;k>0;k--);​
) ^4 T* T1 e6 c3 g1 M- Z. c: P}​% ]3 X1 \& V7 p+ I- O
! h) q. D5 y9 k; Y* p
void main (void)​$ g+ ^( R: p# K2 M4 b+ s# {
{​1 M2 x& E2 g& V6 X; d* [
    int x;​, b% I6 d% W: [0 `8 `1 h+ k
    for (x=1; x<=10; x++)​
( G6 Q( L- r( U: b1 h  {​7 \2 `* f& T% ]' Y3 j* x1 _
  LED0=0;​- L- k! v; w7 S6 }* P
  Delay_1s();​1 g* Z- ^3 I" G2 Z( X* r; C7 i  g0 }
  LED0=1;​; A* g! O4 Z/ F6 T; m; M& M
  Delay_10s();​
4 d- `6 `- t3 n, t. m, c2 |  }​
3 j$ j  O: Y  ~: _- L/ R  c1 p: M) F# n  _% o/ R! L7 Y4 \5 g
}
: W4 n3 Y5 D' I# x) y

该用户从未签到

2#
发表于 2022-2-10 11:13 | 只看该作者
定时器有空闲的话可以用定时器 不过程序麻烦点

该用户从未签到

3#
发表于 2022-2-10 13:12 | 只看该作者
想按精确时间循环10次程序停止需要使用定时器。
/ l  d2 G5 s1 x( o5 X6 oMCU是累不死的,让MCU处于休眠状态节约电池电量是可行的。  G2 S+ F* W2 s& |. P
此类简单程序在论坛很好找。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-17 11:55 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表