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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机型号:stc89c52
1 ^( K3 w$ j! g1 r3 b1602上面显示:我爱单片机。" `$ n+ ~9 I. ]* P" D' ^' x. w
流水灯八个灯轮流亮起。求大神编一个程序参考。
7 d8 B2 G- d* J9 `

该用户从未签到

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

该用户从未签到

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

该用户从未签到

4#
发表于 2023-2-3 13:40 | 只看该作者
#include
& K- f6 W3 Q3 e4 X! l7 j: ^: c#include
% p( j$ G- B6 O0 k  Z( C5 k: g- W0 T#define uchar unsigned char
2 s* o3 [- ^( z, P- I+ B1 i#define uint unsigned int& l' K$ e, Q, v; K& D
***it lcden=P1^2;//液晶使能端3 q/ _! t8 Q+ i* X( p2 c
***it RS=P1^0;//液晶数据命令选择端
5 Q+ D' u8 z  s! P2 V- y6 O5 b***it RW=P1^1;//液晶读写选择端4 h! X- Z1 \2 u! c
uchar code table1[]="  qq417520418"        ;
1 U- A: \1 a3 ?- Wuchar code table2[]=" Unauthorized"         ;//转载请联系& G! K$ C/ l6 f$ m1 q1 h8 K
void delay(uint xms)
% ]2 V3 U4 ]) U7 T{: V  `* O# M6 a. |$ B0 G
   uint y,z;4 ~% b" G# F( \* A& {5 R
   for(y=xms;y>0;y--). C; G2 o+ j1 G
     for(z=110;z>0;z--);( i& h  E3 ~  T5 Z" V& q  ]
}! y, o1 L/ T* ]7 P. z
void write_com(uchar com)              //command 命令
4 O& P/ T% g8 y9 }) b* B{
0 `5 X* ^8 b; C" \! m    RS=0;( n/ L: F! F  J7 |
        RW=0;6 d. C! \9 R# R) X- H( \
    P0=com;             //高脉冲输入,所以要把lcden进行改变- m9 a2 l% J% I# q! I& y6 G
        delay(5);
& N6 P- y" l( q3 F9 ?" {' R        lcden=1;
# [; e  q2 |) v; i4 \5 q+ _        delay(5);
( D: J5 _- W8 i9 [' U5 j# K9 d        lcden=0;
% o: Y6 G9 _/ Z+ i; `# K}  
5 W  b% I2 ]& G* K$ l$ rvoid write_data(uchar date)              //data 数据
+ ^& _6 H/ G. @: e7 L% A( b{
3 M1 a) l6 M3 D$ I& p    RS=1;# l9 x: U4 g* V, [: [
        RW=0;0 V3 S; k  r- ]. y' R
    P0=date;                   //高脉冲输入,所以要把lcden进行改变
2 K" c* F' D2 o6 K% [5 n; L        delay(5);
$ n0 g% c/ \5 T        lcden=1;
% s1 U5 A; X$ K0 Q        delay(5);5 e  `' }5 T5 g
        lcden=0;: h4 ^8 O0 x- n' o; y
}        
! m- C5 Y6 q- a  J' j, M0 a' Kvoid init()4 W  o+ a! M6 G' {4 `4 g6 M7 k: \
{
5 ?) x1 A1 u" q: N: i  lcden=0;
; v5 [) S8 v6 y/ N. U/ S7 S* G  write_com(0x38);        //设置16*2显示,5*7点阵,八位数据口' J: x) ?" b6 ^( U& {3 z& t2 w0 D
  write_com(0x0c);         //打开显示,但光标既不显示,也不闪动2 w. X5 S$ A+ P% Z% r5 V. L
  write_com(0x06);         //写一个字地址指针后移一位# r" u0 s& i) o* V2 `
  write_com(0x01);         //清屏4 y; V7 e) H2 l# d( a5 B
}
( E, Y0 R' I  s/ t* Svoid main()8 d) u: Z' \9 J' J: v' @: Y
{) t: w- B1 `& v. v
uchar n;
8 k1 Y8 ^& b& K$ t( zinit();
3 \5 `' l1 i  }2 V* K! u6 G9 pfor(n=0;n<12;n++)                  //就是前文提到的移位
: B: e. m8 y  I# w# O{
" B- D+ C& E( E( ^8 ^7 g4 Qwrite_data(table1[n]);
) g! e) j- X# o( ^$ Jdelay(1);                                  //反正延迟必须有,不然会爆机3 ?+ D+ O& q; B2 U
}
; E+ B/ O3 q) y. wwrite_com(0x80+0x40);
" x8 y. g0 e# M7 M2 I% Ffor(n=0;n<13;n++)$ S! I1 A) d; e
{$ [1 E3 s! i4 I$ \8 t" X# H0 [
write_data(table2[n]);
& {, t3 }7 C' p: ]7 ?delay(1);* l' u1 J4 ~& o) o
}
4 O/ h/ Z2 w% ?7 x3 ^! r2 C. T( }! {P1 =0xfe; //流水灯占用
/ W, I. j1 R) \, I! V( Q  v; R! dwhile(1)* r: a# {; F% [6 H* F
{
  q% J2 A. {4 X# o             delay(50);
" a( c) J  ^  q             P1=_crol_(P1,1);
7 a& V6 A& t% s4 B}1 y* y' {- W5 E3 Z! C  X! L( i% |: l0 J
}
! [- x) A  T& w//写了一个,记事本写可能会有少个括号啥的小错误,中文自己找对应代码,直接搜就行
  • 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-5 20:40 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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