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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机型号:stc89c524 G$ C! j' z6 M; V; D
1602上面显示:我爱单片机。% L' {9 c7 u$ x2 n
流水灯八个灯轮流亮起。求大神编一个程序参考。( S& t: X( W. d4 S0 b$ ?; V

该用户从未签到

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

该用户从未签到

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

该用户从未签到

4#
发表于 2023-2-3 13:40 | 只看该作者
#include
7 Q% |* H: u3 n" d; Z/ r#include
6 f/ U6 H+ _  S#define uchar unsigned char( i1 P9 g% S; e+ ?% ^) L
#define uint unsigned int
" H4 l/ a! B. u/ r1 c***it lcden=P1^2;//液晶使能端+ C3 V  k6 }* `' F6 z5 J) W3 D( Q
***it RS=P1^0;//液晶数据命令选择端8 h0 O: j4 L( v2 p  P9 V
***it RW=P1^1;//液晶读写选择端6 }+ y4 r3 \6 k7 o
uchar code table1[]="  qq417520418"        ;
& R7 W, k/ y4 \, Fuchar code table2[]=" Unauthorized"         ;//转载请联系( E6 q/ X2 S/ L1 T8 D
void delay(uint xms)
, W( T0 _% \1 j& W5 j{
$ a6 }. S! W$ v# W" B   uint y,z;' y8 B+ ?7 f( x' N% L- I" P
   for(y=xms;y>0;y--). ]+ o- V/ m& `% Z7 m( b9 w. c& [
     for(z=110;z>0;z--);% v% j2 X9 v! q  j9 v  S
}$ I4 k4 U# v( Z/ k
void write_com(uchar com)              //command 命令
: t5 r, I" J* C- ?; E4 ~6 V{
' r" u# n+ H! w8 l# f. p  x    RS=0;+ B1 H& v7 m! h) j  k
        RW=0;: R( `5 C8 r* v7 ]
    P0=com;             //高脉冲输入,所以要把lcden进行改变
9 L- b3 ~$ R; r* u$ W, G: t        delay(5);9 e( z( x' `2 Q  V+ Q
        lcden=1;
3 ]/ Y' N/ G5 z; H        delay(5);
& }8 j; s: ?+ d1 g$ z9 k        lcden=0;
* p9 q: ^3 ?; {% D}  
3 X! X1 H2 l7 B& [$ Gvoid write_data(uchar date)              //data 数据  [0 y. x  Q( m6 ?
{
" o9 ?/ X7 j  @9 w4 O+ i, S/ H' C    RS=1;( ^* y, \$ `' P" {0 F9 r
        RW=0;
7 F. i) F& c7 B4 `* A+ r  [    P0=date;                   //高脉冲输入,所以要把lcden进行改变
7 r. }2 f3 v3 ]& r        delay(5);' U7 Z- v3 O3 E" [+ u- _
        lcden=1;
3 L$ ]+ T) U( V- U/ m! H& @        delay(5);
5 c* h5 n: p* P2 L9 S        lcden=0;
" r6 D) m3 L% z% T; G% q5 `}        
* U7 n3 x8 |9 C: S9 M$ fvoid init()
$ F: {# z& T) u% H, f. o{$ K+ D4 ?+ D" L9 m$ H( r
  lcden=0;2 p/ L! f9 `3 ~7 a# J
  write_com(0x38);        //设置16*2显示,5*7点阵,八位数据口; A& x7 R' w# s8 o1 ?/ F
  write_com(0x0c);         //打开显示,但光标既不显示,也不闪动" ^& Z, |- ?! C8 _$ ~' w
  write_com(0x06);         //写一个字地址指针后移一位
4 j9 q' L6 S. Q8 J  s6 y, @  write_com(0x01);         //清屏: `4 d- g0 G8 v
}( Z# r" r. G2 q+ c: j
void main()3 s! P7 R" ?, e
{8 A/ x, V9 r3 m( W
uchar n;
& @% C3 X- m# v5 i. f6 ginit();
( {& t( G* |; `for(n=0;n<12;n++)                  //就是前文提到的移位
' ^) r% h* p8 K" _+ H. m{# m9 P3 j2 O' y4 |1 M
write_data(table1[n]);9 o2 I7 V) K; G3 ?7 Z
delay(1);                                  //反正延迟必须有,不然会爆机
; E# o- s+ |4 O0 K}
) X( p7 U8 |7 }4 ]/ nwrite_com(0x80+0x40);0 x- \5 Y: h- B. r1 m) J
for(n=0;n<13;n++)
5 I$ i+ M' D: _% x7 d{
" [: P2 O  K! w" pwrite_data(table2[n]);
4 Q! {& @. j3 A2 D! Idelay(1);
/ e/ E  I: Y" g}; y' m& a! p9 |9 {$ f' w2 u( D
P1 =0xfe; //流水灯占用& k1 g/ M4 }7 K+ P2 B9 ]
while(1)3 z- z) d( T  s" f
{
" J( y8 f. I; S$ h4 M" A             delay(50);
8 t: f! O4 I" t: q# g& J+ o& K             P1=_crol_(P1,1);+ H& i/ O. C) A/ L% S) _
}/ J' O# |" f. m% S9 x- h
}2 n0 N6 b. {) M
//写了一个,记事本写可能会有少个括号啥的小错误,中文自己找对应代码,直接搜就行
  • 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-6-7 01:28 , Processed in 0.062500 second(s), 23 queries , Gzip On.

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

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

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