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

基于MSP430的1602显示程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-4 11:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
看了一些代码发现有些存在错误,然后自己写了一个8 O& [- u8 p5 _; y

) t/ e5 T9 e# I9 Y#include "msp430x14x.h"
, E( R9 s! b" Y% f, r/ J! V" K3 t) u
) b3 j" H) c' Y
#define RS     P3OUT
% f& h  w5 z1 S/ W) l#define RW     P3OUT
8 u2 w. ]) U( Y# s% w/ V#define E      P3OUT1 H! u% V) r! L$ _) l: |8 @! r
#define RS_DIR P3DIR
2 e4 L5 a$ [* [& w% K8 ]+ p/ p#define RW_DIR P3DIR) b# M( k; x0 w* P& f+ x; x' N% _
#define E_DIR  P3DIR
3 G& j; K6 E8 b( L, ?#define DATA   P4OUT* H9 \$ x; ]0 K3 ?  m, y1 c
#define DATA_DIR P4DIR
* f7 j9 @) P7 z2 a$ S* P  O. R$ T' Y: o# Y. v* ^$ O1 ^
& s. E/ V& x5 J- }  `
char first[]="This is ourlab";
6 T# {  A. Q/ M9 y- Dchar second[]="It is the second";9 C/ V* j  ?) o) A# d( c6 o

$ T" G  V, [: H/ @2 c; V, d: n# j
1 d9 g$ `# N/ h+ P& v' J* [
void delay_ms(int x)//延时 x ms//延时只是随便写的,没有计算6 P1 Z! U/ D3 W$ d
  { int i,j;  y1 y) U$ E3 j$ C
    for(i=0;i<x;i++)1 }! \& [& ]9 n6 k2 n9 M: J5 \2 {) j
      for(j=0;j<340;j++)
, N9 Y9 R% S7 U9 V7 q; Y9 [2 A        ;0 b5 m5 z# K7 v; ?1 W
  }
& }4 l* _0 r" y+ e$ t+ c. mvoid writedata(cmd)//写数据
5 O$ W( A# o) O' ]$ h  {
& @9 G0 p2 ^% L; Y/ H4 }    RS|=BIT0;
7 w: T' Y4 j  d# T* |  F4 H+ W7 S    RW&=~BIT1;
; E, U7 b8 z5 k& x5 M6 V, Y& Z" V0 C    DATA=cmd;
4 J$ s2 b+ \6 q& M    E|=BIT2;
* h( m- ]/ P# @2 o: n    E&=~BIT2;* [" _) c+ A$ k. {( _6 L: x
        }
: p9 J, x, E& J* a& S4 f# [- _void writecom(cmd)//写指令9 x! e3 z) [- c5 O: V; P
  {# o+ \3 q- z# M
    RS&=~BIT0;
# Z/ {  h9 J4 t# J2 S" h: h    RW&=BIT1;
! W" B7 x8 k( s* ]& u' X    DATA=cmd;

5 t  m8 W7 H+ P    E|=BIT2;
2 v" A/ S& Z& L' E; P    E&=~BIT2;
7 ~& ~+ }1 n0 E1 T. H3 H8 M$ u        }8 \+ u1 |0 N7 x: F, ]) }* b8 N
void  Init(void)//初始化
/ e! ?9 m* T9 \1 j  {. P& W6 K& q" m4 a- T2 M
    RS_DIR|=BIT0;
! s7 l4 Z3 E+ A" U" ~    RW_DIR|=BIT1;
( x" @. Z: `: \& H) h    E_DIR|=BIT2;) ^0 D0 g- z  z/ Z! v9 m; u
    DATA_DIR=0XFF;//方向寄存器为输出
. r/ p" m( s8 o6 I' s" Z1 i5 X6 i    writecom(0x38);6 d( J  M6 M' X5 Z0 q% g( B
    writecom(0x0f);
( V; q; G$ ]9 _1 t9 y: r    writecom(0x06);+ y+ ?8 P2 t. t) t: m1 y/ Z# Z
    writecom(0x01);
9 `# `. P) t+ U2 v1 p) X        }
% B9 g; t8 J9 Lvoid main( void )
1 ?/ A5 G# o; i/ G* ]! d: \{. e. z( P, K; a3 u" X
  // Stop watchdog timer to prevent time out reset
- _; i- f- a6 i) D! }& d  WDTCTL = WDTPW + WDTHOLD;//开关门狗1 L& V" g9 Y# h0 J8 k# d
int i;, l: E$ p7 K$ M. p" h% G( d
Init();//初始化
: O2 i, q2 k  ?0 Pwritecom(0x80);1 \, }' Y% O) p1 K/ x
delay_ms(300);% G9 Q' _* d9 N, B' t& A
for(i=0;i<14;i++)1 y4 Z8 w4 v3 q: D* \" \
  {
% Q- H2 G; z0 L0 `% q! g+ C) @9 `  i    writedata(first);( \/ i  y; M: W8 X; n
  }
2 W9 E$ g% P+ p7 S  iwritecom(0x80+0x40);
( L# m8 n( t3 Q& C1 L/ ^7 k+ j& Jfor(i=0;i<16;i++)0 ~* l! p/ x- Y: R% ^2 Y
  {! R! B# Q0 t4 h- ~( E
    writedata(second);
% G# b' g  S+ E9 ~  }/ A0 N6 Q- A$ T- W0 s9 m1 I4 b
;' c5 [+ X3 _, z8 ?
}5 e) W9 c% l8 k. x* |( \8 D8 @: e
3 i  y7 Z6 z, @) }$ r9 l

该用户从未签到

2#
发表于 2022-8-4 13:36 | 只看该作者
好辛苦了我試試看

该用户从未签到

3#
发表于 2022-8-4 13:49 | 只看该作者
感谢,这东西挺好的啊

该用户从未签到

4#
发表于 2022-8-4 16:04 | 只看该作者
好东西,学习学习!谢谢分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-8 14:17 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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