找回密码
 注册
关于网站域名变更的通知
查看: 429|回复: 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>% e9 }4 q6 {. {% e7 t/ }* U
    #define uchar unsigned char9 z5 ~; O. U8 B" H; _
    uchar count;! v, }. M: m- C0 u+ _; |  p
    sbit k=P3^2;
    / Y- x) |7 N/ Uvoid main(void)
    * @* ?$ |( l- \( i! }5 R* ~{EA=1;
    9 e: C; Q/ l  L" q$ ZIT0=1;
    ; F6 R- E; D% \! ?EX0=1;
    9 ^2 G2 \$ e+ g% O3 s! }TMOD=0x01;- i8 U. Q; {3 ?* B+ b
    TH0=0X3C;
    , \2 C2 U" Z+ j, wTL0=0XB0;+ g& @# c- u5 K7 A2 f1 m! X, c# F
    ET0=1;
    ' _; K3 c& W4 O& K2 L. oTR0=1;      
    + s0 L) K: L2 p, W3 Z% H8 KP1=0x0F;
    / y: ?+ h0 b5 i0 Q; }while(1)
    3 N. ^! u# f2 ?5 G( `9 m;}& X. X1 H8 ^$ q5 P3 E
    void INTO()interrupt 0* s  ^9 E$ W2 _* R) d
    {! p) y" g9 |. \' |$ h* j
    uchar i;
    / [3 @9 s8 s+ m6 o- L6 Y8 N. uwhile(1)
    ! p, t/ ?# I  v- L{( y  s' T: s% _1 I3 s
    P1=0x0f;% |4 b* Z" o$ m
    for(i=0;i<8;i++)
    0 O7 m( e+ k& G% V! m{P1>>=1;}& x! d$ \: d8 {4 z
    }' l) c& b7 U/ P5 @
    }' N, B- H) O# J4 w
    void timer0() interrupt 1
    0 Q6 X# i& w  R/ E7 L{' G- _+ B9 Z+ {
            TH0=0X3C;6 q1 M% u8 ?/ y, m5 Q& S# n) U
            TL0=0XB0;" i) P  o9 F, D' _
            count++;6 ]" T( o. r, m$ D+ G4 M
            if(k==0)
    " U* f* j! O. M; o- b        {5 ~# }6 J! l8 ^# M; Q( J
            if(count==20)
    ' D# K7 B( H. s5 E4 z, B7 t7 l2 L        {
    " @# z3 |6 U  q                count=0;: g! o6 c1 o4 X- r! ^3 f6 a
                    P1=~P1;}
    2 g# c- ?( [+ }: E2 c( W* l( u        }
    4 N) ~4 ]! {, H# E7 T$ k/ d        else
    % K, j9 p3 h3 q3 D1 k        {if(count==20)( N- K0 w' ~& x( H
                    {
    # k2 u2 _4 X% o4 c) U! {                        count=0;
    - i) W' N1 y  w4 k! I$ N                        P1>>1;}}}
    # x( q* Q: @/ k: O这个程序烧录进去失败了,哪里有问题呀?


    # V3 b( O$ E7 [9 S9 W

    该用户从未签到

    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-11-4 12:35 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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