找回密码
 注册
关于网站域名变更的通知
查看: 388|回复: 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>
    9 s- p* v5 b7 t: w1 H#define uchar unsigned char
    * y/ S5 c5 F* D$ C& Xuchar count;% X2 ^0 L/ t$ l" P0 k8 y3 U# y
    sbit k=P3^2;& d1 @! N( A  }) \0 E$ ^! {
    void main(void)$ c$ c! @- D- X# w2 r1 |
    {EA=1;9 |! M  V, Q0 l. D
    IT0=1;" x' c+ H: r9 q, q: _3 z; c) x7 F' L$ S
    EX0=1;
    - U. D9 D6 `; t& _' Q/ m1 ATMOD=0x01;- R- E$ l* v' B4 n( z
    TH0=0X3C;
    ' p7 o5 ]5 w7 ?% ~! G- i% K9 hTL0=0XB0;) U2 L" s& S/ [/ n
    ET0=1;
    , x. E0 z- b9 QTR0=1;       1 y; f, w2 D4 U) S- `
    P1=0x0F;
    , F, |2 K. A  a0 D+ l" U, m  i  ~while(1)" U5 T9 k* u8 l1 r
    ;}
    2 h0 X. w' _2 @- Yvoid INTO()interrupt 08 X4 n4 z1 c9 ]) v" X5 [
    {
    8 P" u' U. i$ ~5 o/ k0 |uchar i;& w; p$ F# b# B8 E/ r3 G" E/ r. ~
    while(1)2 ]) r- V  c2 j4 O) x1 r
    {
    & E. w5 m- o% {9 a7 @P1=0x0f;
    1 E$ ^* W- A* T- \. z+ Yfor(i=0;i<8;i++)
    1 U! ]+ h7 n& [) }1 W( j/ v: b. x{P1>>=1;}3 }- }$ q" T4 z1 o
    }
    * p! n9 h$ q  u; J8 j* b}
    . g+ H+ _: W1 d) Svoid timer0() interrupt 1- u, v, m/ c. C$ ^5 \4 m  D' {
    {5 E0 j& Y4 J* s. U
            TH0=0X3C;
    2 h% z8 M5 G0 Q* V  s        TL0=0XB0;% M1 T! [# H: c& a, s
            count++;
    0 `: H1 z+ t. j        if(k==0)
    ( G. ^+ O+ H# \  N, I4 p9 f        {
    5 G$ [* ~! k! B# j" R+ G        if(count==20)& `  A7 Y/ S( S) i; t; l' f
            {  X- O: A, G) O) I- r
                    count=0;. h( v2 _  }3 p. T
                    P1=~P1;}  Z: b/ m' e9 Z+ b% @/ P1 i  c
            }* F3 ~9 n3 Q3 U3 E
            else
    5 T0 [) C; I3 x        {if(count==20)% n( Z  P2 I8 a( F" l9 J1 ?1 R$ L
                    {' F$ g  j/ [# o  V- o5 P" g
                            count=0;9 N$ b5 e2 J% x  a3 B) Y
                            P1>>1;}}}3 I" V, |3 {$ W
    这个程序烧录进去失败了,哪里有问题呀?

    ( |$ P# B% c6 q% P" R$ X

    该用户从未签到

    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-7-15 17:04 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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