|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
{:soso_e113:} 偶出炉的的MSP430单片机LCD1602液晶显示流水字幕“HELLO-EDA365”,要带头多发帖
. U& h7 ?6 g, U2 ~% h
* s% p& t' j7 N5 v# s! d
! ?1 @, N. u6 H3 @( c#include<msp430g2553.h> //msp430头文件6 ]" C% q+ ?7 W: v4 i4 }, x
typedef unsigned char uint8; //宏定义$ Z& U7 d3 r1 E
typedef unsigned int uint16;
( S1 g& |2 \) D% T. Dvoid WTCOM(uint8 COMM); //写指令函数申明, e. e- O5 ]1 f/ Y \5 ]) c1 c
void WTDATA(); //写第一行数据函数申明
! x: D8 n3 P) D Fvoid WTDATA2(); //写第二行数据函数申明! t# v) H: h- g9 H% ^
void delayms(uint8 z); //延时
+ s% g1 K+ O- Lvoid delayus(); //延时" d) P& u3 l. t9 |. a
uint8 table[]="HELLO-EDA365"; //HELLO-EDA365. A; H9 r4 {- _
uint8 table2[]="WHTY_ah"; //WHTY_ah/ D1 {% H/ Y0 V/ K% u
void main()
G( Y, {+ n% \& a3 @! e* ?3 y5 l' o' F{
2 w7 Q6 i2 ?! m# z6 S' u uint8 i;6 R( y7 E) l' G' b; s1 L, i
/***************P1是数据口 P2是控制口****************************/4 A( G7 b! T7 Z9 i/ x1 {
/*********主时钟MCLK用系统默认DCO****************/0 m3 l# R, M6 t3 r( }2 V3 g
: ]. F+ z& D2 w9 D WDTCTL=WDTPW+WDTHOLD; //关门打狗,^_^(关看门狗)
0 e2 Y! [0 k$ d' {& `4 I6 e P1SEL=0X00; //普通IO
5 z+ B# T5 o: p, o P1DIR |= 0XFF; //P1为输出" @( i" y, z# d5 [! D
P2DIR |= BIT0+BIT1; //控制口RS+E P20=RS P21=E0 N" @4 o" ~+ }
while(1)2 `: J3 i+ f2 t- l5 P
{( w* N# y7 G' `" l( c4 ^4 \
WTCOM(0X38);
7 u, G$ `5 u3 N/ }/ X delayus(); //1602功能设置2 B4 d0 W, c5 f9 W( t8 p
WTCOM(0X01);
+ x6 C( E8 B8 k delayus(); //1602清屏/ I0 V) z! @) ?% F. P7 ~- Q1 J
WTCOM(0X06);
T6 _( a% m" Y delayus(); //1602光标及AC设置
; G2 z d+ t# {/ v; f, b+ W WTCOM(0X0f);' k: S2 v2 n+ X* `
delayus(); //1602光标开关
" f9 J1 t% o$ \+ o WTDATA(); //1602第一行显示0 h# J4 s3 }$ t Z1 _ T6 a& Z
delayus();
. U, `" ~4 m4 G) ~; T" c# \ WTDATA2(); //1602第二行显示
% _+ W2 s8 Y, i d. ^' y" \" I delayus();
; R# r9 m$ V( Z' `2 i
9 P6 B2 j9 {3 x( F , s8 N' {3 M V% [6 N9 `
//*************************************************************
5 O ^! {/ _& d for(i=13;i>0;i--) //移动字幕0 O9 m/ [, T1 g5 z* M/ n! K7 l. B
{
0 v/ p; D8 S. {, S0 X WTCOM(0X18);, f" q; p+ o# o
delayms(100);
% l% _/ ]3 I0 j5 U1 o delayms(100); q. m/ b& c( h; ]
}
$ u* Z G* e v/ {* g# T2 p, N
, w' t: ?8 B' s0 V# H }
. G# P4 p* U: i3 ^6 N . e9 `& ^9 G9 T0 T
}2 \8 P$ B8 ~* J. }
7 G, H* Y$ q& f" d; Q' S. W% ]4 T
//延时****************************************************9 g+ W3 W/ P2 [: B8 G- Y1 Q
! u0 @! l* w! L) `' N* D3 a2 {. k
void delayms(uint8 z): D) M2 k+ l: [/ C* ^. a1 r
{
$ F( r1 i1 Y8 I$ B. u uint16 i,j;
9 I: Y8 {6 X" e& o, C for(i=z;i>0;i--)/ U! b+ a$ c6 @2 b1 ?& t
for(j=500;j>0;j--);" R& Y ?4 X! n2 x
}
8 p3 [- }7 k3 t4 e3 r% X9 f5 u5 H* S7 B4 e7 f
//延时************************************************
% l5 l' D9 A- a, t
7 f8 \1 N6 q, q; H2 F; |void delayus()
2 z: X, v# U2 o5 L: |{/ H: k8 M9 @ R! ]
uint8 i=50;6 `2 n! E% j; D3 r" c# {3 i# m
while(i--);
" S6 Y5 B8 F7 E# U} 3 t7 M: ~0 J, D' j) U
5 z+ d; v6 Y" H5 i
" \) o1 g2 K! ?7 G9 ^% R3 g! b//写指令***************************************************
8 j D V: v6 z
' P( C& ]+ q. L3 X, I# Cvoid WTCOM(uint8 COMM) 7 f% q9 p$ H( p
{
( j$ U; v3 M; d% x P1OUT &= 0;
/ E) i1 s. y3 I& X P2OUT &= 0XFE;- W0 D6 J o0 c5 I, r( K. d
P2OUT |= BIT1;
& R3 m1 A ~; B6 E# u: E P1OUT |= COMM;; n5 Z Z. L( i, V
delayms(1);
1 ^! J! q" k4 C0 V# I P2OUT &= ~BIT1 ;% K7 y. q; ~7 \6 ?
}
8 F0 B! s# d, K$ {8 E! x" a7 n* F. n1 T3 ]# U1 d
//写第一行数据**********************************************/ E+ J0 I5 ?6 R
2 Q L( M: y W, ?0 O* d9 C
void WTDATA() 7 _, M9 }# e. I6 @
{1 t# n7 j2 o7 ]# X+ k8 j" T* \& ~- j
uint8 DATA=0;) b* f2 L& N$ q/ f0 P
WTCOM(0X80);! A# H$ k. ~$ ~4 j# _: \9 x+ ?
P2OUT |= BIT0;
; Q, m7 t0 [7 t) E7 @9 ~ for(DATA=0;DATA<12;DATA++)/ q' r/ L1 J7 s) V
{ 0 c3 p: ~4 I. k( p5 y I
P1OUT &= 0;! e. X+ h' K6 p! K) G% r `; R: n& T6 [
delayus();8 [$ V% ?! Z0 j! b6 \, W
P2OUT |= BIT1;% K9 }5 F: S- |7 `# o u0 p
P1OUT |= table[DATA];
7 c, Y- w7 I z' R3 G& e delayms(100);8 D; s: L& |' R, A
P2OUT &= ~BIT1 ;
0 G$ N1 h% B' f& r2 l } ) @" z1 ~" I0 b/ v: I# u, n
}, Y8 P' Q, ^$ }; t
3 ]) _, C9 |2 L! l9 e//写第二行数据************************************************
2 y. |4 c2 F7 D# T! F8 c( s( u1 M$ n! ^/ U( G% [
void WTDATA2() 9 ]0 `2 f2 y/ l! N9 C1 @0 k8 C
{
; p9 Z* h- L& g& u+ C+ G e/ L uint8 DATA=0;7 x! J% `8 j( k
WTCOM(0X80+0X40);
$ k. \" P4 D8 f% x P2OUT |= BIT0;2 Y% e4 P1 H$ J
for(DATA=0;DATA<7;DATA++)- h- v5 E3 D6 {$ E
{ % K* a% |4 |& a2 f. |
P1OUT &= 0; A$ n1 X/ z# \6 F/ e) T5 ^
delayus();* j. y% o& s, D# r9 s( U% [6 H
P2OUT |= BIT1;
" e9 C. r$ G; N6 W& ? P1OUT |= table2[DATA];
3 b) Y% `2 y: \ delayms(100);
& v0 l$ M- W) @ P2OUT &= ~BIT1 ;5 m' N0 _2 y2 q) ]
}
. \) I: F6 P5 D4 L3 s} s% j* {; ^' ?2 Z0 z K; K
6 J8 g4 }: c: k$ p& o, F3 i3 i; p, ]( R
啥玩意都得搞个图{:soso_e112:} % {# P: L- P. i
0 g. @% H$ G2 n/ L e( g! p
$ b, q& Z' G$ `7 `/ ]5 A7 T
7 H6 K5 \: E- u/ A% L
2 o9 l/ l6 R/ r5 `; m
( i6 `: g# o6 Y8 Y4 [
|
评分
-
查看全部评分
|