找回密码
 注册
查看: 350|回复: 5
打印 上一主题 下一主题

单片机1602和流水灯如何同时运行?

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机型号:stc89c527 D( ?- G4 N0 g, l6 I- q
1602上面显示:我爱单片机。
3 w. L1 O5 d! C! n7 h. o# s: V流水灯八个灯轮流亮起。求大神编一个程序参考。
: z4 K* k* B$ L: B

该用户从未签到

2#
发表于 2023-2-3 10:48 | 只看该作者
流水灯可以放在定时器中断里,1602在主程序里,这样流水灯就可以和1602分开了

该用户从未签到

3#
发表于 2023-2-3 11:23 | 只看该作者
随便在论坛里一找就是好几百个程序!本站就有的。

该用户从未签到

4#
发表于 2023-2-3 13:40 | 只看该作者
#include/ P$ m8 @. e0 o' l! t  G6 X1 y
#include
4 j- l% j( \* N3 W5 B" J$ v#define uchar unsigned char: n# |, N! g9 T% U+ q5 a
#define uint unsigned int
" I- Y' f; s$ e* y) D***it lcden=P1^2;//液晶使能端
$ {* q. g1 C, v/ `! d***it RS=P1^0;//液晶数据命令选择端
3 L* s  z6 }3 F5 v$ G4 G***it RW=P1^1;//液晶读写选择端
5 _% i( R! U5 ouchar code table1[]="  qq417520418"        ;4 b& {: P% w* l! N9 O. m
uchar code table2[]=" Unauthorized"         ;//转载请联系
8 X- h3 F3 q! Z' xvoid delay(uint xms)  m/ C0 R3 M( i& i* n7 t9 e
{
# t/ C. P: |9 z$ P+ G0 ~   uint y,z;& O# m3 J( K) }* I; Z( R% u
   for(y=xms;y>0;y--)
0 {1 B* C8 f& t$ L8 h     for(z=110;z>0;z--);
- w4 m, r  Q  ]+ ~9 V( ]( |}
; ?  O: j9 F1 d- {! S" e( Tvoid write_com(uchar com)              //command 命令
3 ?/ H0 f: w2 s* i/ v! |0 X  v{
0 }. @6 ~6 a5 `/ L& j# A    RS=0;* S2 V0 z  `3 y4 w3 ^3 L
        RW=0;/ u" z% n' [2 z( s( |1 h! e
    P0=com;             //高脉冲输入,所以要把lcden进行改变: K# j0 U6 I+ @3 y
        delay(5);) z6 j+ H$ e: i% M
        lcden=1;
4 Q! U9 A' J2 ~1 F5 X. d        delay(5);
( g! `3 F9 Q% J9 V        lcden=0;: O% ?% V5 w. X0 r- [' I; N8 f" n
}  
& x. S3 V5 N- D9 X& _+ tvoid write_data(uchar date)              //data 数据
1 }% E. O# z! \5 [{9 l8 `8 f1 U8 Y8 ^- a! I
    RS=1;
! ]+ U( t# N% g5 s8 @        RW=0;" C  p9 T8 M$ k# L, |. o
    P0=date;                   //高脉冲输入,所以要把lcden进行改变! q/ `9 q; O! \0 g  j
        delay(5);1 r1 S/ }% b' j9 \
        lcden=1;
+ q1 o7 Z& V0 F3 J        delay(5);
$ {9 H3 M. _. ]8 @        lcden=0;
* ]& z3 x0 w* G- k+ g1 V5 P' ]. X}        . A) V+ x# C( y& a5 K$ n) `& v. @
void init()
3 s, {6 {1 N' p{
! [. Z0 t* L' m% |1 |5 c* D  lcden=0;
, S+ u+ A  Z7 _# _7 J2 i5 U. ^$ }  write_com(0x38);        //设置16*2显示,5*7点阵,八位数据口$ j% Q( C% w: b
  write_com(0x0c);         //打开显示,但光标既不显示,也不闪动
. s7 }! O8 R. X1 N: Y  write_com(0x06);         //写一个字地址指针后移一位
0 B- u3 z) m+ I  write_com(0x01);         //清屏% k/ v5 l' w) ^$ ~, n
}5 y+ j# V" h) T4 t( _% ^
void main()) W1 a' j3 u- a/ |
{4 R* _( T# o) D( L; s8 \
uchar n;* w: _& p6 `. J
init();# n' D& m# l+ W3 K* Q/ }# p
for(n=0;n<12;n++)                  //就是前文提到的移位
: Z/ K: S# \) J7 ]& {{
$ u/ U5 ]5 a8 r$ @write_data(table1[n]);
4 f. x& d/ F- U( W  tdelay(1);                                  //反正延迟必须有,不然会爆机
5 e. p7 x0 m  E3 A}) A" q# R8 J9 O; L# A& D
write_com(0x80+0x40);
! s& h: S! n* J: P3 i7 }for(n=0;n<13;n++)! Q! V, S5 p+ r
{3 V4 y% n6 u' B6 Z0 d4 i+ R6 k
write_data(table2[n]);& X' `  I" k1 G) L% c
delay(1);) j3 q- Q" x% z3 [5 q
}% V1 i1 i3 Z  ]) L7 i. r& o8 }9 s
P1 =0xfe; //流水灯占用2 H" N! A5 p4 l" Y5 m( v0 h* G3 I
while(1)
2 D& n" d$ Q4 Z) j! ^# ?6 O8 _{
" s8 b' p  O  \' x" o             delay(50);
: E- `% J# a0 `1 E2 O7 P3 s- V             P1=_crol_(P1,1);
( x- a* H& `. S}! g: P* b7 V9 P
}' `) m8 @3 J9 s! w, G
//写了一个,记事本写可能会有少个括号啥的小错误,中文自己找对应代码,直接搜就行
  • TA的每日心情
    开心
    2024-4-29 15:07
  • 签到天数: 466 天

    [LV.9]以坛为家II

    5#
    发表于 2023-2-3 15:26 | 只看该作者
    :hug::hug::hug:
  • TA的每日心情
    开心
    2024-4-29 15:07
  • 签到天数: 466 天

    [LV.9]以坛为家II

    6#
    发表于 2023-2-3 19:52 | 只看该作者
    :hug::hug:
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-5-29 08:21 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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