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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机型号:stc89c52. P: s7 T: X$ n$ c7 Z: |, t
1602上面显示:我爱单片机。
0 }1 N6 i9 J) W流水灯八个灯轮流亮起。求大神编一个程序参考。
; a' l9 O1 f) \7 z0 Z

该用户从未签到

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

该用户从未签到

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

该用户从未签到

4#
发表于 2023-2-3 13:40 | 只看该作者
#include
, m. O' ~0 y+ q" M+ O#include+ c% d4 e' U' \" I
#define uchar unsigned char3 _' m1 Y! V" @$ J' f. t
#define uint unsigned int
* d! G0 G  n- l' L5 l5 U***it lcden=P1^2;//液晶使能端
8 k' J; A# I( b; P& c. G; d; n& m9 p***it RS=P1^0;//液晶数据命令选择端
- n  \3 ]- J1 B1 P& j. }***it RW=P1^1;//液晶读写选择端
7 D  U- ]( f5 W$ N: muchar code table1[]="  qq417520418"        ;* v8 x2 N' A1 P9 \
uchar code table2[]=" Unauthorized"         ;//转载请联系  m. m3 u  E3 W1 k; k9 k. g
void delay(uint xms)
, d" F7 Q6 v6 C0 g{" @1 `; S8 x. s
   uint y,z;
2 ]1 d/ R' s) ?7 {& }$ e$ M   for(y=xms;y>0;y--)
; y, x; k; `8 W+ |9 y9 w) W     for(z=110;z>0;z--);" M& b. b% L+ p
}
' ~4 v$ s, b  I1 N$ D' g6 N, C) fvoid write_com(uchar com)              //command 命令) S; `/ }3 j+ `, C3 H. d
{- r1 G9 ~4 V& w) @4 z
    RS=0;
: w; [$ _: c& _  v$ |* x" ]        RW=0;3 p7 _+ N& F' c3 f' D
    P0=com;             //高脉冲输入,所以要把lcden进行改变( B, I: v9 t; N7 H
        delay(5);
8 n( A7 d! f. b9 R0 p. S        lcden=1;
3 _! |* q& k# S& z6 [        delay(5);
8 X. P' S2 i- n) E# ^        lcden=0;
: N+ H. d: t7 v; O. ^! O& i}  4 `( r+ @: c1 x# Y. g3 b3 r
void write_data(uchar date)              //data 数据! i( g- h$ }2 T! o) o+ L. j2 A
{
4 \- y. m1 D3 a( b+ |- X- |    RS=1;7 A+ e. v6 J  h, X% F
        RW=0;
- X: ~+ b4 c, |7 {0 H+ {    P0=date;                   //高脉冲输入,所以要把lcden进行改变: y1 S: g! k0 }; L
        delay(5);  v  |5 B! K) J( x( h
        lcden=1;
7 y( A$ a' r4 G8 H; F/ k) g& i        delay(5);
. {! S7 c4 B) h! `- L        lcden=0;& `. I$ \4 t/ V1 I6 P
}        
$ y3 ?! h0 W0 v0 u7 P" {void init()
- ^) f, P6 G$ G6 T% |- G{! e: F" ]; c9 d) l, I( z- I
  lcden=0;
! E0 \% s* @% s% l5 J; v; {  write_com(0x38);        //设置16*2显示,5*7点阵,八位数据口
$ g: @$ y) g! S) h% v3 i3 f  write_com(0x0c);         //打开显示,但光标既不显示,也不闪动! Z3 H- e4 ^  w. @8 Q. `7 h6 M
  write_com(0x06);         //写一个字地址指针后移一位
/ v2 }& y# }/ v4 L7 {  write_com(0x01);         //清屏/ h' B5 a: m. W& ]+ `
}
% T7 V" K2 o. Ovoid main()$ i/ [' o2 T- }) }% Z7 n8 h9 @
{
& R' o. n' d. r3 }+ ruchar n;( x' t1 t' `" Z# Q) I2 Q
init();& j8 {2 S2 m3 J( D8 n8 g. y
for(n=0;n<12;n++)                  //就是前文提到的移位1 |1 P, `9 }$ z+ t3 b0 f$ P
{
+ J+ G, `2 Y" k) Twrite_data(table1[n]);
5 w" d$ A/ R0 R, Rdelay(1);                                  //反正延迟必须有,不然会爆机
2 C5 N( t* c. Z6 x6 V+ l) `}
2 O" H; Q& p+ ]  q) _write_com(0x80+0x40);
5 o) P5 _7 Q2 R1 z1 d7 hfor(n=0;n<13;n++)
! v5 f2 h5 X' [& H8 O3 |' D{
$ u- X0 m5 w- `  d& G7 S% Lwrite_data(table2[n]);" q- Q+ R9 A8 |0 D4 b
delay(1);, _  C$ g* h% `# m4 O
}4 s  |2 c. d: l' W
P1 =0xfe; //流水灯占用3 f7 Y4 t5 t# k, A0 Y) c
while(1)
, {! ], [, N0 \* \, i9 {' Q{
) O, {& n; c8 ^4 O" m( g             delay(50);
' G4 s; ^% g/ z' e3 T             P1=_crol_(P1,1);* ?- L. t* P" |
}
/ y8 j4 ]; i8 X}
9 g0 @/ o" x1 Z% C//写了一个,记事本写可能会有少个括号啥的小错误,中文自己找对应代码,直接搜就行
  • 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-30 17:19 , Processed in 0.062500 second(s), 23 queries , Gzip On.

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

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

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