|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
{:soso_e113:} 偶出炉的的MSP430单片机LCD1602液晶显示流水字幕“HELLO-EDA365”,要带头多发帖
/ A8 S3 o! Q* J4 S2 J( T
; ?" l& S) Q4 `' ]2 o! T. u7 H. S h) _* a, o- ]
#include<msp430g2553.h> //msp430头文件. T; w( w8 v* C( j: Y, U
typedef unsigned char uint8; //宏定义/ M3 c- N2 J2 j
typedef unsigned int uint16;- R. ~/ m% c4 c+ `1 S6 m
void WTCOM(uint8 COMM); //写指令函数申明
6 l( [7 X O* i. F: K8 k9 ~void WTDATA(); //写第一行数据函数申明- g# Z3 m' ?1 x
void WTDATA2(); //写第二行数据函数申明
- v8 o& w$ l { F; a4 {, Pvoid delayms(uint8 z); //延时
) y6 I1 y+ V/ Nvoid delayus(); //延时7 U+ _ B* d( S9 ?
uint8 table[]="HELLO-EDA365"; //HELLO-EDA365" s, @+ X( ^5 G! V( M" O
uint8 table2[]="WHTY_ah"; //WHTY_ah
3 i% u3 ?' W& Y, x0 ]/ {) A& }void main()' ^+ e0 P1 t, X+ F8 @% j8 s
{' ?8 t5 x0 n+ ~* E
uint8 i;
4 d. \! z5 E' n) g. E; { /***************P1是数据口 P2是控制口****************************/1 Z$ @5 M( x+ e2 O
/*********主时钟MCLK用系统默认DCO****************/3 T. f5 ~7 k3 h
0 A! D- ?2 L; Q- y" _0 m6 T& N
WDTCTL=WDTPW+WDTHOLD; //关门打狗,^_^(关看门狗)" V' q$ H# b" H
P1SEL=0X00; //普通IO
2 k! N2 O% j. X+ F5 H. A P1DIR |= 0XFF; //P1为输出
) j/ I: A; F( p L1 U P2DIR |= BIT0+BIT1; //控制口RS+E P20=RS P21=E9 o. M0 t# j& d2 T
while(1)6 N! A5 [! u7 K9 D. F3 X" `
{
! B% a, V9 u$ B* M: y" o WTCOM(0X38);
3 z A9 J* ]" a$ l9 S: v delayus(); //1602功能设置
8 [/ }; L# m4 ?) u x* s" q WTCOM(0X01);
$ |# \, q' o1 V) a; ?: E2 W delayus(); //1602清屏) v) u4 \; H) Z, Y/ Z, k
WTCOM(0X06);2 n" v2 I. g9 Z3 u9 B
delayus(); //1602光标及AC设置
& O, Z: [7 e3 _& q, ? WTCOM(0X0f);1 o I; K/ C" p5 X+ E9 t) `6 D4 O1 K9 I! y
delayus(); //1602光标开关' A1 o6 \) s% J# g% `3 x
WTDATA(); //1602第一行显示
) m7 |$ [8 o6 h6 U" X8 D+ C delayus();
' ~) H& @2 S2 O. z6 p ` WTDATA2(); //1602第二行显示% e' I4 j/ B6 @/ W$ J
delayus(); t. |- x* O) V3 {" ~
" K6 {6 {3 b9 Z
8 s* U/ h/ o: `9 q6 p) _' O//*************************************************************
! u2 H8 R7 y r/ w for(i=13;i>0;i--) //移动字幕
6 V3 r7 w! }& w7 M {
' u2 L1 C1 E7 R8 _ WTCOM(0X18);8 {2 j1 p% x# }' q. C/ H
delayms(100);+ O2 {% N2 S9 ~ p1 {8 B, G
delayms(100);" m1 }* G- S: s1 j
}
' S; Y+ r) y( P1 [ 5 t$ l% O7 Y! z4 e
}
& ~/ ]0 n( `2 c 4 I L2 O9 u" ^
}
1 v; @& E0 t6 C7 k/ Y6 T
$ E0 @9 C0 k; x9 n//延时****************************************************
4 a, `. e8 X5 Q. _2 r* Z$ R# ~# G2 r$ f8 e' X$ n
void delayms(uint8 z)& c! j9 [: h' N1 T0 _8 O: q% ]
{# _0 ~# B* N x y
uint16 i,j;
8 N+ `, q6 l* A& q7 G( r# y for(i=z;i>0;i--)
+ w/ V2 ^$ m5 r7 O for(j=500;j>0;j--);
" @. A* T7 v2 l( ?}* [4 o8 ~+ h3 P4 l
) {% M# O5 S- P- B) q
//延时************************************************
' M4 D+ v- }/ j' W& Z3 b, j+ l: x0 R6 z4 Q: y2 N0 X1 Z$ a' z$ h
void delayus()7 x8 C$ E; n/ }6 l) `5 ~+ ?$ A
{ a( L. R' x% z! j& I
uint8 i=50;
j& i9 f. l) C4 } }# n% L while(i--);7 [: u" j7 `2 K: h }
} ! b' @. G- N1 }% p
8 u" F/ Q9 Q6 @# z4 d5 P3 h4 F. }# ^& {5 T
//写指令***************************************************
7 b0 d+ T" n+ `( e) k Q7 l% t" j F) ~+ _
void WTCOM(uint8 COMM)
, Y: @* u2 ~: B6 F8 U{ ( z# o0 L/ U8 i6 j+ y
P1OUT &= 0;* U6 Y2 f: N- M! J
P2OUT &= 0XFE; h* S o! O, @' G4 O" {" c9 b
P2OUT |= BIT1;( A6 m1 g! [6 G; m
P1OUT |= COMM;
' G* b) n; O6 w! R3 _; |. Z delayms(1);
6 d* ^% X, A# l! h9 a P2OUT &= ~BIT1 ;* T7 W) `( e% G% T
}6 x. N! `# C" f' \ P
+ b5 C( E0 C% _$ F# m+ z
//写第一行数据**********************************************' H; B/ Q- Y! x7 Q1 k. K# x
- I3 D) I U8 M; G3 f
void WTDATA()
( j3 d( \" X& d% p{ A) t) P* _; M) j3 u( y6 A, Z
uint8 DATA=0;6 E% m, u3 Y0 U# ~, I) f7 Z
WTCOM(0X80);: U" f4 b- m$ t; O6 m( B
P2OUT |= BIT0;: f* ]( z9 w) V+ M4 h/ ~ k
for(DATA=0;DATA<12;DATA++)
* Z" h( N/ E. y7 G# H5 L1 Z { 7 a n0 v, R* H) u; f
P1OUT &= 0;
' {5 w( B( ^' T3 n& _2 d0 c8 q delayus();/ b) h% X3 e" ~8 n
P2OUT |= BIT1;6 O4 A) m9 F7 e. e8 N/ r
P1OUT |= table[DATA];* S$ F! W. b3 z0 ~! t* K
delayms(100);+ O* \( J0 `) v1 Y* q
P2OUT &= ~BIT1 ;
5 V) a' Z8 N: ?) T% f n }
4 i5 q1 B+ @8 L}1 t- ?+ r4 S7 B$ i( ?
6 y5 a A- X3 ?# K. }
//写第二行数据************************************************
! ~3 }1 F1 h0 U) F2 B9 i& v4 I1 i* L! U% b; F7 {' J
void WTDATA2() 7 v* b7 q1 r0 M7 A2 e( U
{ j3 s9 b' ^6 O
uint8 DATA=0;& @7 t) x D5 x9 T% t( o
WTCOM(0X80+0X40);* Q' c, q$ a& R! w5 w0 r+ f# N
P2OUT |= BIT0;
6 r. y- E' x: {6 j/ B for(DATA=0;DATA<7;DATA++)
1 y9 k6 O8 d& b& h% t {
) [) y/ U' V7 }. ~ r* D P1OUT &= 0;
: v2 I" M+ ?6 v delayus();5 d( \0 ^5 q; Z) M2 O
P2OUT |= BIT1;0 A6 {, B" Q; F3 T6 k1 m4 Y4 c( `' u
P1OUT |= table2[DATA];; F3 O( N, y# r2 v' x, r2 r% t7 U+ J
delayms(100);
3 x5 Q3 C/ P6 A3 t8 l P2OUT &= ~BIT1 ;
" | r2 h1 c! ?9 u2 `1 R6 l }
; I+ K4 N, e3 Y. o4 W}- Q8 c) N. K) k( k
/ O2 b, k( I' w S, `; T
6 {2 s5 p. p3 C; ^) `! S啥玩意都得搞个图{:soso_e112:}
. x7 c5 q: ?1 i' x/ {8 N+ T: g* P4 x) N/ I% L H
* Y1 J% V4 s! x6 B% U9 t. a
- z% c+ G' B, j0 K$ Q+ L) c7 a, P. d
- ^. I e$ M' X* O
+ u! T% F0 _' [) e
|
评分
-
查看全部评分
|