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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
单片机型号:stc89c52
8 R7 c4 A8 c, D- r' @1 i; g3 a, ^1602上面显示:我爱单片机。
( d  ], h) m% x- l+ C流水灯八个灯轮流亮起。求大神编一个程序参考。
9 v( K5 m8 |4 P* N

该用户从未签到

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

该用户从未签到

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

该用户从未签到

4#
发表于 2023-2-3 13:40 | 只看该作者
#include' y) W4 |2 o4 A% t
#include8 L$ [7 Z+ `1 s) g; b( C
#define uchar unsigned char. ]& h6 I. k( @% s# A' {- ~, @
#define uint unsigned int
' N( T, l+ A% u3 q***it lcden=P1^2;//液晶使能端& s! W9 ^% t' E1 J, b& \2 b
***it RS=P1^0;//液晶数据命令选择端
" c& q% K$ U* S0 S/ \1 r***it RW=P1^1;//液晶读写选择端
. [0 K: F2 E) N# muchar code table1[]="  qq417520418"        ;
1 ^- N2 R2 N' \' a: i1 g/ }uchar code table2[]=" Unauthorized"         ;//转载请联系: e: z( Z' r4 w
void delay(uint xms)
1 x. _; q3 P' R1 B- _) w{
3 B& N0 O! v7 l/ q9 ~   uint y,z;4 j7 F3 N4 K+ N/ a
   for(y=xms;y>0;y--)' j0 S/ N1 r. ~. p$ j
     for(z=110;z>0;z--);1 p3 A, w7 W3 u; B
}
- c# i! a1 Q- ]7 [' {; H2 Tvoid write_com(uchar com)              //command 命令# d; N& }, B2 Z' o. A+ u; M! d9 ~
{
, c; @9 e  n' N9 K5 K) j2 |    RS=0;
  d% F+ D7 Q9 N# T        RW=0;
2 I! n: l8 K* y: {    P0=com;             //高脉冲输入,所以要把lcden进行改变5 g2 s6 w8 B1 L  e
        delay(5);' v9 M+ u' n+ X  `
        lcden=1;
8 A6 V% r7 @- \- t$ D5 @  I        delay(5);
; l. n8 z. c; {/ D" u! j+ x        lcden=0;5 A8 }& u: L/ [9 \2 h
}  9 Z. ]4 R3 ^7 H4 ]7 H) u7 c& v
void write_data(uchar date)              //data 数据
! l" G( g* n7 S3 I{5 q% Z6 K: w' S
    RS=1;
, W& K& U3 H9 t- _        RW=0;3 t4 a5 w9 C/ Q
    P0=date;                   //高脉冲输入,所以要把lcden进行改变5 N5 g# m- t: n1 K
        delay(5);
, ~/ u1 X) f9 i6 ]! N        lcden=1;
  U* d, x! l0 N- W        delay(5);' v) d% z7 b, |
        lcden=0;0 Q$ G% J1 q: D
}        
$ D' @( G- W- y4 H& x* uvoid init()
1 h6 H) ]9 X2 G+ G7 Q. |{
: ]6 k8 j1 W5 S4 Y9 q- l% @  lcden=0;" D  Z2 O& [# @. v
  write_com(0x38);        //设置16*2显示,5*7点阵,八位数据口
* q1 @) x1 A7 R  write_com(0x0c);         //打开显示,但光标既不显示,也不闪动$ L# k$ o; k, N4 i0 s6 ~
  write_com(0x06);         //写一个字地址指针后移一位
7 D# l0 [2 D# y4 ^  i  write_com(0x01);         //清屏
8 S$ C- N8 A, D3 J1 e( X}0 Y6 c& L% U, v; @
void main()
0 j# `8 O; x, O! @+ V0 A- l7 M{
6 ^) w2 W8 v" p. W1 m- y( l( y! J4 B9 guchar n;7 f# x- Z, ?8 g8 N' Y) ^
init();
( b' I$ Y- O# C& ~3 L, |6 G& x! mfor(n=0;n<12;n++)                  //就是前文提到的移位$ P) y8 ~( ^2 L& [6 \0 `
{/ R$ f) G/ ~6 l) s
write_data(table1[n]);
9 u( M3 m' j2 @. ldelay(1);                                  //反正延迟必须有,不然会爆机
  _- l0 V/ f7 c+ y}
; U" o! b* q2 I1 D" q! N4 Pwrite_com(0x80+0x40);
: [% r+ T3 B- E! L  D3 C( z9 M. Dfor(n=0;n<13;n++)6 l. i0 K. @6 @- p2 Z- z# }+ c
{
( B! g" F8 E' Qwrite_data(table2[n]);
% T2 `, }' j  p  L9 }delay(1);
0 X& A3 {. E" V9 W- D}) R" p- Z7 k" G) v  I
P1 =0xfe; //流水灯占用) R) S( t1 N1 D: H
while(1)+ w8 n8 k9 W( ]! C* ^- }
{
6 ~+ B' z+ ?; H1 S1 ]" Q7 K/ D) t6 t* R             delay(50);
$ i* v) c8 A+ X7 H' [( T& O             P1=_crol_(P1,1);  h& S) {% z& I4 T
}' R) ^! p, K& Z0 p3 o5 I, H) x# j
}
* B* S$ o7 k. 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-8-18 23:53 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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