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

用ht1621驱动液晶显示屏就是点不亮屏幕

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本用ht1621驱动液晶显示屏就是点不亮屏幕,求大神指教。# include <reg51.h>/ \: m9 c8 h" H
# include <intrins.h>
- h7 k2 I3 V& ]# include <stdio.h>
% `, t4 h/ E8 q" `7 r
# }5 D) a; _& Y5 I8 }* {/ X#define uint unsigned int
4 A  `; a  g6 g( D# _#define uchar unsigned char . }- K9 a7 l/ z# T# K

' j5 L3 q* {; y' c: h9 `; E
' [% D& S% H. p+ U- |; F. Usbit lcddata= P2^2;        //液晶数据端口2 o, o! s. k. Z/ E& j
sbit lcdwr=P2^3;         //写操作端口0 m# v* e; ^& M! D6 Z4 O7 [
sbit lcdcs=P2^4;        //片选输入  为低的时候复位初始化且数据,命令无效。高的时候反之。
1 C/ `8 T( O8 u* K9 K# `6 y4 g
6 g3 T8 S0 \! S- g  `4 G4 F7 ]3 M' v: U
#define        BAIS 0X52
+ C. v. Z( n$ M# \#define        SYSDIS 0X00
) d) t; b$ t  @% w- n- @( Z#define        SYSEN 0X02
, j- ^! P! `7 r* w#define        LCDOFF 0X04
' F3 R$ Y; x, d#define        LCDON 0X06
6 J: D- e! W5 T#define        XTAL 0X28
7 U* _9 x: v5 [9 S5 z- W#define        RC256 0X30
; g0 N) z+ D# e#define        TONEON 0X12" A, J2 K% s4 r% y4 c; v* t
#define        TONEOFF 0X10
% M( y! ^7 t* D- ~+ i#define        WDTDIS 0X0A
, e9 x! o" ^0 S, |7 C8 w' }# {  `0 |+ |# R* n- }/ U9 O. m
/*****************************************段码*************************************************/
3 a/ G& d+ w1 ~+ ^( w* C6 Wuchar code TAB[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
. a) J" ^. W# u* s8 Y. ?4 J2 z2 {9 v+ Q( f( m2 }8 V! K
/**************延时程序1***************/5 n2 I5 D. I1 ]8 z1 t+ x7 j
void delay1(uchar x)
+ `' q9 ~3 S$ D. ~{
" @9 J% u) a; S; T* |+ Q        uchar i,j;
& |. t# t' D  ]  A, }1 @        for(i=0;i<x;i++): I6 k/ n6 A' P# e% y! Y& E
        for(j=0;j<120;j++);" m/ F1 t7 E7 e% g+ t* B( g
}  8 A/ v$ y- ~8 Z: b: |) S
$ A! k/ L' x! V( B  y
/********************延时程序2**************/
0 I+ E: L: v) r6 u" N" \4 ]) Tvoid delay(uchar y)
1 p! E; ^+ @5 w! [{
" o* ]2 r" R; F* t7 x! J) x        while(--y);" O  n) x; W9 D4 @$ r- g
5 ]1 j, g: ?7 r. |1 Q5 U
}: L& @: x* Q8 Z' N4 T8 o' D
) t( X4 A" J8 B+ h6 H0 |- D7 H
/*********************写数据*********/- n# G, Q6 p4 A! x
void wr_data(uint cnt,uchar date), ]( m( r. |9 i" v2 d
{           
4 M3 K9 E& s! r9 _$ @                uint i;
: }* d9 m. B  K6 j  F8 g* I        for(i=0;i<cnt;i++)' i. O% L7 h0 J. Y. h( |
        {4 M& g: d7 \7 ^- ~% v& t% h( T# s
                lcdwr=0;
/ c) [+ d6 A9 C( d! E                delay(10);
  J8 }& o9 u% u: [2 O% Q; \7 d                lcddata=(0x80&date);6 S  l, v8 |8 |' o; R% F, h" J, H
                delay(10);9 L. G5 W, T! o" c4 \
                lcdwr=1;/ y3 Z" I$ H, w# z8 C
                delay(5);: f) r* C0 f* C$ R: G; d
                date<<=1;                $ ]) A6 G' Z( s1 Z; N
        }/ m2 I+ V) H7 n/ E$ L0 r
}
7 U7 M4 K' P: c4 L$ ]$ {
: ?6 G$ R% ?# |' [2 w5 l8 j) b/*********************写命令**********/" K* c! i; p) V6 e' Q* F0 P
void wr_com(uchar com)
% o  M( f, s! z: j0 q5 a( p{, e: b7 e7 K+ F5 C
        lcdcs=0;9 o' l5 ^2 Q0 O. [# N# v, L  q
        delay(5);; v/ t2 U7 l/ A( x) [/ V: L
        wr_data(0x80,4);3 b, w0 t7 G( S, p7 \4 y  n- a
        wr_data(com,8);
1 \$ n' r4 R! M3 D+ E        lcdcs=1;
2 r4 E5 j2 r6 s8 F- a8 X        delay(5);. B2 |' Y5 z4 ~* c% x  z7 Q
}
! E3 `5 x* e2 J6 f+ V# h. {   
3 ~' c5 ]3 ~$ |# z' A& R# A! {/********************液晶初始化程序**************/
4 M/ L; |. |# W* g# {4 _% n2 O/ Ivoid init()
/ [* W  Y9 H; [( ~) m8 e7 ?0 q{
% ~. C, C2 R( e+ o        lcddata=1;
& I2 X9 `6 F1 H0 N$ X" l        lcdwr=1;
" z0 u0 ?, q& j- E  k5 o8 Y        lcdcs=1;0 y' ]* c5 H7 e
        wr_com(BAIS);
2 R1 }' @1 o# {        wr_com(RC256);        & H9 Q" @8 A! ~( E
        wr_com(SYSDIS);
/ F, U% K  a  z9 }& o        wr_com(SYSEN);
! F* F/ B, O8 v5 I) L: Q; Y        wr_com(LCDON);
. E& ?; T) q7 U1 z- h2 S//        wr_com(WDTDIS);
, V" O7 s( T6 G+ M( L0 }}
; J, N! Q3 a0 T2 ]- L
" G, n0 U: `; {9 u  avoid display(uchar m,uchar n)! R8 A3 R. I4 F+ Q$ P) [
{
& Y1 N" y1 n/ G# H/ c        m<<=2;
& f0 X& }3 Z, F# X6 y" o! Ilcdcs=0;
$ b/ D9 ^  h5 ^delay(5);
- m! c8 [8 C  e" `$ A2 ywr_data(0xA0,3);+ x6 q! O6 i2 W8 P- w8 T, y
wr_data(m,6);6 b/ j$ V' b. N* O
wr_data(n,4);
9 K, s3 j0 u* e0 u  plcdcs=1;1 J7 \& t6 S% ^! m# J6 ]
delay(5);1 x& m: G6 R: O. R
}2 v8 L$ P$ V  _# j/ l

1 R6 g3 D( }4 ]6 [" \0 u3 L  Fvoid cl_scren(uchar l)
) r" p8 n2 k  t{
7 V+ f9 P& O3 Y. p& v# w        uchar o=0;
2 O, U$ u( T2 X# |! b. `2 ~! j8 H        for(l=0;l<32;l++)  ]& F% \8 g) {  c$ Y/ h4 b
                {
% ~! W1 r- O8 O: l/ N% S                display(0x00,o);
$ R7 f; H! ~/ r' g9 \$ s/ f                o++;
" Y% h3 d) U( L1 s                }        0 h' O* w8 {4 M& A2 |
}
/ @8 n4 Q6 ?% v) E5 d
* [5 Y$ i+ G% T% u# U* Y0 p  y/ N* L1 L! s
/*********************主程序*************/3 x9 j' W( ?  f+ Z& z; X+ e
void main (): B; V) J) P+ ]: U
{# }+ t) `9 y& _1 @  n2 y7 T
        init();; w; |& A* ?2 [% R7 E
        cl_scren();7 [( l" E& K+ h3 N8 r
        display(0xff,3);        
1 M$ N4 `4 e# ]8 p2 p! a        while(1);! V  w# M! O/ r5 D" y( V0 G
}使用特权
/ v* P0 }1 C6 d2 S评论回复        , u2 [$ I: Y  ]8 l" ]: i$ q: H2 B
. A, r% W7 `* O, |) l+ t6 X

4 W' X9 b) Q, i7 O) f) I: V5 ~' N  U1 o

该用户从未签到

2#
发表于 2019-12-10 17:56 | 只看该作者
void wr_data(uint cnt,uchar date)这个函数第1个变量是长度,第2个变量是数据;调用的时候反了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-6-29 13:00 , Processed in 0.093750 second(s), 23 queries , Gzip On.

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

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

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