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

通过单片机定时器的方式实现流水灯延时,并通过外部中断改变流水灯样式

[复制链接]
  • TA的每日心情
    奋斗
    2022-1-21 15:15
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x

    通过定时器的方式实现流水灯延时,并通过外部中断改变流水灯样式。两种样式分别为:(1)4个led为一组交替亮灭,延时1s;(2)从左往右逐个点亮(同一时刻只有一个灯亮),延时1s。

    #include <reg51.h>
    3 {9 z+ h+ I% Y( q, M3 ]#define uchar unsigned char
    8 L5 f3 u3 Z& L( f9 xuchar count;+ K' t9 q$ J* G& ~4 I$ n% ?" H
    sbit k=P3^2;' Y" Y! d, ^! j' H
    void main(void)
    0 Q3 f- C* B: M: c) b- i{EA=1;
    ! d& d# M# f& _/ U' pIT0=1;: A, H9 }0 f# |
    EX0=1;
    - L# J4 b1 ?! c" t$ _TMOD=0x01;
    & m9 s4 t3 r, yTH0=0X3C;: D8 m- {& _2 w! E6 E7 k
    TL0=0XB0;8 j4 J0 x0 R. ?- v" [
    ET0=1;) ~* E' f  k' @! R) r% j
    TR0=1;       ' Z7 W1 s9 g: H5 c2 m
    P1=0x0F;5 U0 l2 A- P, @0 L3 H0 q
    while(1)  i5 Z0 o' h" e5 T
    ;}$ g" S4 H) [, S' s( V+ H. T; L
    void INTO()interrupt 0/ B5 c- J7 W2 o3 g; M; y% g2 i0 r6 X
    {
    0 Q$ R9 C4 R1 b- l' Y( Auchar i;
    . C7 W/ A5 J7 }: Awhile(1)
    ( [: W- j: b5 A$ i) k{9 o- J9 g  M. I5 r8 l1 x0 o
    P1=0x0f;$ b8 U( `- N! u' k+ r
    for(i=0;i<8;i++)
    $ ~5 U$ P) v' G1 Z  b1 D$ i{P1>>=1;}
    6 ]! w' N" ~- j6 _}
    8 O* e8 @5 ^* E0 y" z! O}
    / v0 ]% F/ A/ |: w' v/ \4 Ivoid timer0() interrupt 1
      X# y& y7 M6 S) j! _7 F7 T- r{; `3 A6 ~2 P* [) H0 L; @
            TH0=0X3C;
    4 D; c$ Y1 f% Q0 l        TL0=0XB0;
    & e. S) H+ k2 d) d& M4 l        count++;
    % p3 S$ t. b% f+ o) ?5 m( b        if(k==0)) p" U* e, ]) |5 [5 d% J
            {7 `' Q- T3 y' G4 ?
            if(count==20)9 y  v8 D5 O9 u" L1 \0 r
            {! k) o: ]" X4 y
                    count=0;! |% i% l- o% g+ H, g, f% n2 h
                    P1=~P1;}
    ) Y2 t, V. D3 T- v        }: v, P# j2 i( E- d1 L6 ]' b
            else* z9 U/ [  j, O" e
            {if(count==20)
    # D% w1 V8 G; g; ?9 |$ e; a( U                {9 M. \& P4 o/ F6 D# j! D
                            count=0;! g+ u6 X  [; ?( Z" F# `
                            P1>>1;}}}
    + D1 r$ p0 a- y7 [7 p这个程序烧录进去失败了,哪里有问题呀?

    2 o5 ^( R$ D2 n# g5 }, F/ l7 N

    该用户从未签到

    2#
    发表于 2022-4-7 14:43 | 只看该作者
    先软件仿真试试
  • TA的每日心情
    开心
    2022-1-29 15:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    3#
    发表于 2022-4-7 15:02 | 只看该作者
    使用PROTEUS进行仿真测试看看
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
    发表于 2022-4-7 15:09 | 只看该作者
    interrupt 0里while(1)你是不打算再出去了吗
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-9 07:40 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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