找回密码
 注册
关于网站域名变更的通知
查看: 376|回复: 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>
    8 ^3 p9 Y0 C* ~# P! w#define uchar unsigned char; y: K$ w: D* N2 n: |  k/ j  {
    uchar count;
    3 M, r; W) L5 j$ d' G( gsbit k=P3^2;8 \1 `3 Z$ L2 D, A& p
    void main(void), h* {* S5 l$ Q4 r2 d
    {EA=1;) `7 S; k* B/ T* A, G2 ^
    IT0=1;
    6 t! W3 H8 D+ W& m5 xEX0=1;$ g) d- C1 L" s; R5 `6 Z
    TMOD=0x01;
    # {2 n# q# L; dTH0=0X3C;
    " [! y1 P, k: o3 ~TL0=0XB0;
    - j5 s- R# J. _+ D( c5 i7 R, B, ~ET0=1;
    . ?& w0 t: f+ f7 LTR0=1;      
    1 r7 a" i2 U7 A9 c1 a7 r& z: TP1=0x0F;+ r0 Y# M- w, E* U6 _+ r2 I4 |2 I! I
    while(1)
    . I: ^' R  T" e7 \3 h! `;}
    . D2 |, M( |! P  i" L) yvoid INTO()interrupt 0) G+ }- ?9 p8 d' ]; E- {; u+ B. N7 Y
    {
    ' h, H6 A- n  T+ auchar i;
    4 N  B9 o; w8 h3 R5 ?; ]8 c8 ~! pwhile(1)
    ' w. j8 R% F! s: ]: o/ Q{
    % v' \3 g0 y9 g3 S( ]% M9 XP1=0x0f;
    ! J* J  r& o8 ufor(i=0;i<8;i++)3 j7 ]. A' k/ }
    {P1>>=1;}$ B* Y$ a, x% i% y, ~
    }) I4 ~7 e9 l$ O& c5 E
    }  H1 `4 @0 ]8 ~: ^' [( d* k
    void timer0() interrupt 1
    - E8 \" C" v" f{) P" v8 e3 g3 b. M3 \! {4 [- G
            TH0=0X3C;
    . e+ f) c) b! @: E4 o        TL0=0XB0;
    8 B  d/ B7 U4 Z- U        count++;' ~: n) ^9 M5 a) X/ l: ]) O: o
            if(k==0)
    3 F; c# }! g7 p, l/ N        {
    0 Y' V! B  e1 A: i        if(count==20)
    . V6 F, v8 V+ q- Z        {
    6 z0 }' B& e0 Q& }                count=0;
    / y: w/ c; f; i! F                P1=~P1;}) M. B7 m* E! m* z" s
            }; ?, }! _3 e7 ?$ S8 V: i
            else7 A# R3 [2 _' W" F
            {if(count==20)
    ! K* {, T7 y: O) y2 e  V                {
    5 T" \5 F+ o2 W9 [. L                        count=0;
    ' e5 h3 O9 c. m+ O1 V+ B$ i* Y                        P1>>1;}}}
    & I, j  }! ?9 L9 Q9 v# U这个程序烧录进去失败了,哪里有问题呀?


    * B* Z5 `3 N: I

    该用户从未签到

    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-6-19 14:46 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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