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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机型号:stc89c521 B" P) w7 `) ?6 W( h; j
1602上面显示:我爱单片机。( c: n- F. \( `. M% m2 ]
流水灯八个灯轮流亮起。求大神编一个程序参考。
% l% w# _! d, e" u) V; G+ z+ i& X

该用户从未签到

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

该用户从未签到

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

该用户从未签到

4#
发表于 2023-2-3 13:40 | 只看该作者
#include5 j: y. S! r$ V; |, `7 b4 e
#include7 ?6 y: ^; D( w! I+ A3 N
#define uchar unsigned char
2 I! `9 h  t( o+ y/ w0 x, E: u#define uint unsigned int% {/ x: \6 n$ e
***it lcden=P1^2;//液晶使能端2 x! M" r/ q* _) j  r+ E
***it RS=P1^0;//液晶数据命令选择端. ^- _* M; q6 K6 k( M0 R
***it RW=P1^1;//液晶读写选择端
3 C1 N& f' m, h  ^& }* tuchar code table1[]="  qq417520418"        ;
8 {, n+ G* ~* w4 Ruchar code table2[]=" Unauthorized"         ;//转载请联系  {: M5 ?1 D2 x6 E; D) I
void delay(uint xms)
. N; o: A8 h' I6 Y1 a4 G/ K) X" M{
. T( h3 [# @% B2 T8 a   uint y,z;* e& o: T; {" c( L* |6 i! y+ A& J* K. \
   for(y=xms;y>0;y--)3 o, X9 x- W6 j9 ?  f$ G  \5 o' c
     for(z=110;z>0;z--);
6 A+ q5 Z# J; w9 K2 b}$ s6 F3 B0 ~0 U& `, @
void write_com(uchar com)              //command 命令8 ]5 K/ o6 l  q2 H) ]* i* q; M
{
% N) |+ ^2 @: U# [/ ~. |* t+ g; _    RS=0;
8 k5 Z+ T: M4 M9 [- C2 O  ~# {* v3 _        RW=0;' E% W* }3 G& r( ~% N: G* s
    P0=com;             //高脉冲输入,所以要把lcden进行改变3 X5 G% F  J. V$ }
        delay(5);
9 Z$ s5 ]/ L4 G6 s) t6 _, d, D        lcden=1;' s$ f, o( l7 U" |) s
        delay(5);
) r0 ]. ^5 }5 b) F6 T        lcden=0;" f9 Z6 b, _& Z" b% O, V( p( c
}  2 ~2 R( T: a" d# d* ?
void write_data(uchar date)              //data 数据4 i9 L9 b% P6 H9 t; U: o
{
3 Z1 Q6 f% d4 b( t    RS=1;' p$ U% N. S' I) i7 e) {
        RW=0;
3 z+ n4 m$ p: I    P0=date;                   //高脉冲输入,所以要把lcden进行改变
7 q5 V/ }$ s- o3 ^/ L$ E        delay(5);9 r& d; [. Z: R( F5 T# H3 v/ [
        lcden=1;& X9 F+ V1 O  y, M8 H8 ^+ V% A
        delay(5);
, A$ y$ Q' _+ A9 i% q9 q        lcden=0;1 G: n: r; o( H) ?, L1 g
}        # F% C& @4 a$ l
void init()2 G5 T4 a) L1 w8 {6 g
{
% z$ n2 i+ Q8 d" Q- C& O  e3 N  lcden=0;
; F4 {# c0 I4 I# Y% S8 F! A) j1 p! X% ]  write_com(0x38);        //设置16*2显示,5*7点阵,八位数据口
6 {" n" p8 l, ?3 I& [1 m0 C  write_com(0x0c);         //打开显示,但光标既不显示,也不闪动
1 m" o( I2 P  E+ t$ u6 @3 R5 O' m  write_com(0x06);         //写一个字地址指针后移一位
, O9 L( R( }, _# z& A  write_com(0x01);         //清屏
2 K8 ~( A: L8 I4 _; U- O7 L# R! |}# B9 Z& ?. E. T) M% F4 l: C( D% y
void main()
/ c/ S2 Z$ K  S5 m  a0 Q# {& H{/ t& L  ]% @* o
uchar n;1 q1 z7 H" n: [: X" ?) O
init();8 a3 U: F3 M9 }% G/ t* z
for(n=0;n<12;n++)                  //就是前文提到的移位" _  i0 m* ~" P, `; n9 ~  b
{
9 u% O% b. ]; P# z3 }write_data(table1[n]);/ O4 V! D' Q5 N; _$ J  d
delay(1);                                  //反正延迟必须有,不然会爆机- y+ L$ x) ?( T
}
! a" h9 t9 L* L8 J% Swrite_com(0x80+0x40);
) ^# r3 X+ _6 O8 @! I+ nfor(n=0;n<13;n++)8 A8 e( e) n* D8 r2 T0 @- s
{
8 T4 K) I$ ~  l/ W* m, b1 v5 Twrite_data(table2[n]);! q5 N, X3 u2 I4 k3 m2 ~
delay(1);1 ]: x% x7 ~/ |/ w
}
- j! E+ i" Q9 @6 dP1 =0xfe; //流水灯占用
$ [* T: D. @3 s/ `7 owhile(1)
0 q& j+ Q* T. k& A& M9 u3 P{9 ?) n2 M0 H5 ?' K! P, f
             delay(50);
& @" N- C0 ^5 Y' p% Q; t1 L             P1=_crol_(P1,1);
/ H6 @( }: P0 v( V}
' W, K+ z6 L; O" ?1 a% m' ?# D}+ n- ~* x% z) U% S# U
//写了一个,记事本写可能会有少个括号啥的小错误,中文自己找对应代码,直接搜就行
  • 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-10-8 05:45 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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