|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
{:soso_e113:} 偶出炉的的MSP430单片机LCD1602液晶显示流水字幕“HELLO-EDA365”,要带头多发帖
0 ~/ Q. R$ C8 X3 s: u U( R7 i8 T' D
& e3 u: J' s& l6 C8 q#include<msp430g2553.h> //msp430头文件
0 t2 a; P# s7 e5 G, G& }typedef unsigned char uint8; //宏定义
, d* l7 e; M) K4 P; n5 b0 ytypedef unsigned int uint16;
/ ~" Q, m* D3 `void WTCOM(uint8 COMM); //写指令函数申明
' O- z5 A+ a& O4 Mvoid WTDATA(); //写第一行数据函数申明
7 l3 P4 w+ s& W: x- k5 F& nvoid WTDATA2(); //写第二行数据函数申明1 E$ X8 _2 ?& E
void delayms(uint8 z); //延时% s! f$ D8 O. D# x
void delayus(); //延时2 |" t/ i: D& B: b
uint8 table[]="HELLO-EDA365"; //HELLO-EDA3657 ?4 h' i, {2 x: w# g, ~
uint8 table2[]="WHTY_ah"; //WHTY_ah
$ [0 @7 I A1 kvoid main()/ E2 D6 G: X3 Y8 K
{
! X7 |# G* Y6 f, V+ U uint8 i;. G9 o) Y- H5 `$ q6 {& g
/***************P1是数据口 P2是控制口****************************/
' Z+ y6 p: F/ S5 t% P /*********主时钟MCLK用系统默认DCO****************/* @5 n+ {4 z* S3 J
" ]$ o, f$ [, \$ d: o+ K5 N. ~ WDTCTL=WDTPW+WDTHOLD; //关门打狗,^_^(关看门狗)# s/ X5 [3 U) W" T1 F
P1SEL=0X00; //普通IO
" o. V. i% B0 v+ M0 O P1DIR |= 0XFF; //P1为输出
0 [+ C9 B; i9 S, g! m/ K P2DIR |= BIT0+BIT1; //控制口RS+E P20=RS P21=E: G: C! K% l- i6 s8 X
while(1)
4 u X% o9 F7 L/ U& z9 m- b5 l {* |. f. V; R, ?& O
WTCOM(0X38);
0 p; w, T; ~6 t- g3 r3 k6 ]2 C3 B" j delayus(); //1602功能设置
M" y6 k6 ?9 | WTCOM(0X01);( S8 ~% E# S9 o7 J$ i: }( V
delayus(); //1602清屏- C& r/ i, w' C5 e
WTCOM(0X06);
/ _+ O% \0 {: B; R, V' S9 c delayus(); //1602光标及AC设置
; ^8 W4 a! T; ~- b, |7 d/ V WTCOM(0X0f);; N% @ D! v' p0 g. e' i T2 B
delayus(); //1602光标开关! U1 R5 N7 u# F' B2 J% J
WTDATA(); //1602第一行显示" s% {8 V' C3 n1 b
delayus();
& d% F6 U: b8 T+ N WTDATA2(); //1602第二行显示
5 g. X+ ^4 \' R+ V6 v. S, `$ R delayus();+ Q: M6 L! U" a+ A
- v% b1 G5 B% F3 I h+ U5 D
' u( M. u8 j' D( I- u( _9 m+ q//*************************************************************
; d5 C* C# x: k! E for(i=13;i>0;i--) //移动字幕1 h1 `7 D4 f7 f' y# s( d
{
$ U5 Y, p+ d4 ~) b WTCOM(0X18);
3 K9 l# \$ c6 s delayms(100);5 B4 l2 B( Q0 p3 X3 P9 L8 f }
delayms(100);
3 N' L$ m3 l* u* ?& y& Q }
* s' l5 I: J8 |; L& |6 T8 P6 K 1 l- L/ J2 _9 k' N& K7 @
}9 h4 c1 ~$ G3 j% D j
7 _; \0 K! G9 x0 e0 B; r3 a: j
}% ~5 X! t( o9 F( C
0 }4 X) E$ p* n3 F' s//延时****************************************************
$ e/ p" Q8 V6 R$ l/ G: ?5 S$ ^) J3 Y& f3 m& ?- K- @& S4 l
void delayms(uint8 z)- R, S. g. ^; y$ c
{, K! a1 r. X* G" P& z# R
uint16 i,j;
9 E) i, @2 H r. u! Q1 T for(i=z;i>0;i--)* Z8 Q9 P U$ _3 V' H8 o6 e0 d
for(j=500;j>0;j--);
1 H0 c" e, B/ N3 s}& e1 [$ k4 |) G) v$ X* v. P
; _1 c2 T& ?. O: s
//延时************************************************9 U# P7 f/ i. W0 w
$ t& p: w, s0 i B( |& r4 C
void delayus()- H! b: |: G. e* }, R* R
{3 i) M) R6 x8 w; p# S
uint8 i=50;/ u3 z' N1 a8 K5 U. i
while(i--);- W, I! r0 J" U! [! ?
} + @! @" a& W3 s0 x z) {$ C
7 A @7 B- ~8 C6 j/ U' E" P! ?# B' b6 t" T7 w C! q, `3 L& ~
//写指令***************************************************! ?4 h' v7 r$ m X& N
; P0 ?& I5 t& G: {1 D0 y
void WTCOM(uint8 COMM) + u8 ]. O ~* k
{
N, k% y D+ t R* X P1OUT &= 0; V0 k$ K5 A4 {$ k- n! ^
P2OUT &= 0XFE;! v6 m6 z$ ?8 f
P2OUT |= BIT1;
& y* e( d0 K6 Z: t% k# b6 z7 X P1OUT |= COMM;% U- p& B5 ~* G& r3 R2 i
delayms(1);6 w& G. N0 e) u
P2OUT &= ~BIT1 ;
/ ~ L" X+ G- G7 W* U, L}4 r: ^0 x( a* h! m! _, i
4 f$ o8 t0 X7 ~# f1 i//写第一行数据**********************************************9 P# z4 ?# N+ r: W) n2 v
7 E( W6 N, d$ N1 v; R6 Rvoid WTDATA()
3 q# H) e9 @2 d" M3 B P{ G$ F1 Q# ?8 X7 }, I$ d; y
uint8 DATA=0;/ d4 J3 O4 ]( S3 x
WTCOM(0X80);
, g8 `/ ?+ r( }5 e8 I P2OUT |= BIT0;
' i/ {1 @0 |! V( ?- w! B for(DATA=0;DATA<12;DATA++)* ^. `# `: R7 E6 r7 Y. O
{
* C' b& ]2 ]: ^/ {# {: a P1OUT &= 0;
0 i* h0 S N* {1 f& [' v" B( {* J delayus();7 m' ~, O5 J6 k; P7 q9 L& u
P2OUT |= BIT1;2 n# P' C S8 ~# O7 g" v: |
P1OUT |= table[DATA];6 D' g) q! O5 U4 p
delayms(100);
2 D8 ]6 H( i/ G* V7 B8 \0 r P2OUT &= ~BIT1 ;7 X( B5 O! C1 L" }. O/ w; n0 K6 |' P
}
# ] o% f* ]: s$ B}, b! N6 L; P1 b" D1 L
! |. c, r; a/ J! e8 T+ R) W//写第二行数据************************************************- V" a+ a5 z9 [- I D) C8 B) E
9 w# O3 O3 M$ r/ x2 }void WTDATA2() ' M+ t, D; H% g/ }9 }
{
, M; c7 H6 z0 d& h8 w. l1 g uint8 DATA=0;8 ?& K0 A# C# r) W" {; G; v. W+ B
WTCOM(0X80+0X40);
+ s. @2 y4 L: h& Y, p: f4 J P2OUT |= BIT0;
! ~, L. X) r' ~- p, w! L for(DATA=0;DATA<7;DATA++)
7 B4 e; j. {; A4 E i { 1 l- f. u% q: m9 N# f/ y
P1OUT &= 0;# T+ R+ n$ |' I/ G, i
delayus();( e6 S* s% }7 M9 i% S6 {4 q: }
P2OUT |= BIT1;
6 g1 x3 @! Q J& J$ o; ?2 q P1OUT |= table2[DATA];3 M0 I* Q7 W6 }
delayms(100);
, D! W6 w' h$ P6 Q P2OUT &= ~BIT1 ;
9 B1 r/ k$ S' J' \ } 7 U$ P# P$ _# D2 l
}4 }2 T& W" ^: B$ x* p( z" u4 J
% d: [2 r) z* x5 S/ m$ Z: ~4 d
3 O! N* t/ \& t( o) `" ]啥玩意都得搞个图{:soso_e112:} " ?" [" B+ [3 k
) A% Q& p6 d/ Y; I. F
. H- X$ b- |1 R, T/ X5 e" Y
* M; O" c9 B( }8 d
# U, I& k9 m4 ~$ z: P& ]( R/ V# n4 v7 f
|
评分
-
查看全部评分
|