|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
{:soso_e113:} 偶出炉的的MSP430单片机LCD1602液晶显示流水字幕“HELLO-EDA365”,要带头多发帖- M& Z' D1 U9 v3 Q% H1 I5 R
% {5 d8 g# Z# f. E0 H- R5 m
+ p, s# T; J5 Q" }#include<msp430g2553.h> //msp430头文件' U# a% J7 D2 z+ U
typedef unsigned char uint8; //宏定义) t1 S+ b; m' R0 [# z( [
typedef unsigned int uint16;
$ |& r% {+ l: H( O w1 Lvoid WTCOM(uint8 COMM); //写指令函数申明/ B1 W4 A) l# ?5 v
void WTDATA(); //写第一行数据函数申明
' L- o6 M* h+ I8 ^7 t' \. M6 jvoid WTDATA2(); //写第二行数据函数申明+ m! v8 e, B B4 y6 u
void delayms(uint8 z); //延时
B# n9 X. @8 k4 x d: a pvoid delayus(); //延时
% d" p4 B' h2 N$ ~; r, \" `uint8 table[]="HELLO-EDA365"; //HELLO-EDA365
: w; Q8 d0 u0 N! `uint8 table2[]="WHTY_ah"; //WHTY_ah! R4 P8 k2 |4 |$ W/ M5 s; u; `# g
void main()
2 K7 B( E2 \6 Z- V" q{
8 @2 v. r/ o: H2 H+ M uint8 i;7 R, E" X: S: a- l' I# x
/***************P1是数据口 P2是控制口****************************/
( F# D# p( S& M* l /*********主时钟MCLK用系统默认DCO****************/: j ]$ Z& w8 n5 k* r
- s5 t3 U" [7 y6 V- X" _+ {* x# r WDTCTL=WDTPW+WDTHOLD; //关门打狗,^_^(关看门狗): z+ f2 A6 j) q
P1SEL=0X00; //普通IO h; H# m; f5 e8 i6 [; F. f
P1DIR |= 0XFF; //P1为输出
8 p. _: E& L8 H# O% K P2DIR |= BIT0+BIT1; //控制口RS+E P20=RS P21=E
; ^8 o$ o& n _1 B+ a& y* c while(1)# k" U9 J& Y F% c; b' O
{
0 u/ y& @3 {+ E$ O; J WTCOM(0X38);# G/ ] v- b* Z3 U
delayus(); //1602功能设置
+ s* A% F0 m3 l$ I: ]+ o WTCOM(0X01);
: I: S9 V" v9 a( m3 I; i* b1 g3 m delayus(); //1602清屏# N9 }, p1 Q7 E; n
WTCOM(0X06);" W7 E( z0 H; d# E
delayus(); //1602光标及AC设置
0 x+ r% W+ }- W( O% m WTCOM(0X0f);
+ K/ p1 ], q3 l# i/ D delayus(); //1602光标开关4 w" {( ` U. r9 `+ J0 [6 a2 x
WTDATA(); //1602第一行显示
: X' O% P$ R" k delayus();* W6 G/ D; c* f+ f2 o U8 F1 ~) [
WTDATA2(); //1602第二行显示
! W5 q0 \6 Y& v) M( D delayus();! s( p# t# ~% i6 r- _ i- H0 q
9 m( o9 d3 |( k9 _! Z4 C & L4 z( }! u P0 W# O
//************************************************************* ( A/ n% v6 `; \& B
for(i=13;i>0;i--) //移动字幕
; B) J$ p2 y9 Z, f1 t: {. N {3 w! v ~5 ]4 N3 t/ _0 C
WTCOM(0X18);6 [2 W3 y& c# k% {0 r% G) B
delayms(100);
0 T/ s1 f& U# r3 T delayms(100);
# h, |+ f9 w: d" Q! F } : F0 T3 \5 K+ }' l7 T+ n
0 Q3 C0 J# @& m$ m$ [# i7 f
}4 W, R$ i' h' T; h) N
9 {5 d8 w% D0 [6 i+ ^+ w; N6 s}' e2 V9 {# K& i) ?1 x
! Y+ G+ Y# D6 b//延时****************************************************
% `% o/ }1 p9 |; y! \: k
( `+ _7 f: n6 v1 c3 k% W9 P mvoid delayms(uint8 z)4 }* i3 |* @& O& t- l' V
{3 |3 O5 C6 c+ C5 \* X
uint16 i,j;
: U% r4 R) Z: F+ U y- p for(i=z;i>0;i--)
" ~! ^% d. U& k for(j=500;j>0;j--);( Q$ }9 O7 X: s1 [0 O: q2 M
}" g" h$ I; M0 r' \0 K( d
* v2 a0 {. m& n! b$ S! u//延时************************************************
- v# S3 [: n3 H9 B# t: Z: {7 |, |' p: K7 H/ c) U5 a
void delayus()0 W2 Z) c0 M* B$ H9 x
{
) h) o: H6 [9 N; ?8 M5 A uint8 i=50;9 }$ P: r/ B1 F2 l
while(i--);" J1 S" l7 b2 ` h
}
5 Z5 \5 V* ~" _ V4 K8 O! B3 ?5 w
+ ?, M, t1 w9 J/ v2 X0 I& \! @! f8 @5 V5 k1 U! B
//写指令***************************************************
0 v& Z! z- |4 Y+ f
+ ^; Z2 R2 T/ g( J% F4 Jvoid WTCOM(uint8 COMM)
, P5 N3 j4 K! `( I* J! v' S" c{
6 D- Z. B$ I0 p P1OUT &= 0;
; p. B: C/ n- H5 i P2OUT &= 0XFE;
# L6 t1 P+ `4 W/ z P2OUT |= BIT1;
9 f& D' ^5 t2 P+ | P1OUT |= COMM;
; O) Q) U. T! V) }% b. ^ delayms(1);
V1 L& h% T U0 x P2OUT &= ~BIT1 ;
/ v4 s8 K# s8 Y, U4 C2 e}
1 N5 p6 i9 h2 l: G9 ]# @) I4 F# B; r7 _
//写第一行数据**********************************************$ g: E6 [ z. _& N1 l) W+ l
9 {: A4 i3 ~: cvoid WTDATA() % J, G& H" M* @4 D" a
{7 e7 {& {/ f* w+ y! Y( \
uint8 DATA=0;) L" y K- l2 r& w0 U4 [ F
WTCOM(0X80);
2 ~- l" _: p$ s; ] P2OUT |= BIT0;
' C, X9 T2 @4 ]- ~& j- ]! Y for(DATA=0;DATA<12;DATA++)
6 ]( X" ^( i# a {
z/ y+ p7 @( B0 K P1OUT &= 0;) V1 q1 Z2 }: H2 o; r
delayus();
( y/ |: d3 F1 d3 t' h2 ? P2OUT |= BIT1;& w* L8 t f# d: E
P1OUT |= table[DATA];6 I- Y, f q+ @# K, H6 U2 N, J
delayms(100);
4 ^0 w# Q( u$ G: ^7 v, ^* i P2OUT &= ~BIT1 ;
1 f3 |5 |( W/ t" M3 I# ? }
& m" b+ h% g: i5 K. J( O} y% a5 N% e3 J }% V
# u& `% |# n7 Q1 J//写第二行数据************************************************
5 o7 F) b7 s! m/ w! _: p* p! g5 u
* t* h, {0 }- Uvoid WTDATA2() . K$ Q' Q8 o; H/ F
{5 {+ z+ y7 O! h+ N/ R! q. s h
uint8 DATA=0; A, f' v6 G8 J: q% g
WTCOM(0X80+0X40);
( a: V. L. r7 d: L* Q) s P2OUT |= BIT0;
, I" r) g1 B5 n for(DATA=0;DATA<7;DATA++)
5 {8 B- L b: H, B! O2 b { l7 P9 P! U+ A6 B- S$ n- f
P1OUT &= 0;6 s2 L7 ?: c* F( p
delayus();
0 V; K9 M! V3 O P2OUT |= BIT1;" K' n0 H1 A# n6 t
P1OUT |= table2[DATA];
, c3 q; @: d* W5 d delayms(100);5 Q) Q6 z. S9 b! ]: T- w6 f2 A/ T7 k( a0 Q
P2OUT &= ~BIT1 ;8 _6 c- e. {! c
}
3 w( r3 q% C' Y0 r& m1 |}+ v& k+ X3 X; g4 X
7 G2 r: e1 A5 l8 L. x9 E1 g- Y: w. Q: C( q# T: ?
啥玩意都得搞个图{:soso_e112:} " r7 T; S' A0 ?, k
! u! ]* m) G. z; E! o' |& t* g1 d; k! E, F
4 o) {6 ^# a% A& h& Z; G9 Y/ b+ N1 g+ C9 _0 g; q) Z0 d5 H
# ] `! p$ `- @5 H* @: M: p/ W- f |
评分
-
查看全部评分
|