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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本用ht1621驱动液晶显示屏就是点不亮屏幕,求大神指教。# include <reg51.h>9 o) B9 b$ @7 T8 _% w! w0 N' F
# include <intrins.h>+ t- g1 j- {* {( {
# include <stdio.h>
! u: |6 n. c% }" |/ G7 [8 j: z5 w7 k7 @
#define uint unsigned int % g* ^. f; V# }0 M: o
#define uchar unsigned char
; x" n( z( @0 v/ M" z
# @6 C. M" M; X# a; Z( L# v/ ^+ t) k3 F# ]$ N, M
sbit lcddata= P2^2;        //液晶数据端口( I; L/ S% m5 @' m! U7 f
sbit lcdwr=P2^3;         //写操作端口
& C: u; Y! ]4 W' U3 Msbit lcdcs=P2^4;        //片选输入  为低的时候复位初始化且数据,命令无效。高的时候反之。. A1 U7 G0 s5 A6 Q- k/ H

2 m6 m6 F, G7 U5 r+ H2 ?# N" q* L4 X- P& _! u. e
#define        BAIS 0X52
! \3 K: o2 n+ B0 X6 ]#define        SYSDIS 0X00
' v" ~3 F% N& i( ]; [* G#define        SYSEN 0X02
: ~& C) b1 z+ T#define        LCDOFF 0X04- j8 }1 r& T6 i( `$ q2 Z
#define        LCDON 0X06
0 f+ o* @1 W+ H* y" ?8 w% z; i#define        XTAL 0X28
. Z1 _$ W$ g0 ?! t#define        RC256 0X30
- @9 k- a! Y5 S. l  u. \" G, C#define        TONEON 0X12
; _9 f; ]- {- o#define        TONEOFF 0X10
% g6 ?. c* M7 J0 R) h& z#define        WDTDIS 0X0A8 {: z1 V- M3 Z6 _' z
9 k" b- f; t1 K/ H& b1 ?
/*****************************************段码*************************************************/! b) F( A2 U- k! d6 R
uchar code TAB[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
; d+ t8 C% x3 S, }7 N9 j9 h0 G" A% N3 a  V
/**************延时程序1***************/
8 H! q! ~- ?6 _+ Z* B1 Y, Avoid delay1(uchar x)+ j) P( \+ E7 h! Z9 W4 j( v
{$ Q2 a0 a& r) K! s8 e* y
        uchar i,j;
  l3 U9 \( p* A& I  A! |        for(i=0;i<x;i++)
0 p5 ~$ }0 j/ Q7 @# `! J! I        for(j=0;j<120;j++);4 j* z% z. c% C8 J" V6 f" \& V4 @  K
}  & O1 I# P/ {1 M

5 B# b; S$ a9 d2 y% N$ q$ m+ j: `/********************延时程序2**************/
) Q$ |3 `3 C' V# x/ Evoid delay(uchar y)
/ u0 Y  @* t6 P8 @- Z( v# q{
. K1 A9 X9 s) R% M% E8 Z! ?        while(--y);0 p4 l, h3 Z# `* h+ _

# J! J. ]. q8 I}
3 T* z0 q- `8 n+ }
: a6 P& `) ^6 D/*********************写数据*********// l) t. U8 Y- D3 [& c1 V2 f
void wr_data(uint cnt,uchar date)
4 Q3 X' x6 G4 a, [' r) I  b: u0 V{           
/ b( h7 I3 L# v# [# M. X                uint i;
' z+ M3 A1 h( y* w/ X        for(i=0;i<cnt;i++)
# P4 E* f7 O* j( |' N& B/ d        {; E" P; }+ H- q/ B
                lcdwr=0;
( @& x/ i) G: D% v                delay(10);% O5 w& K+ b- o) ]- m9 B
                lcddata=(0x80&date);
: ~" o) o0 _( Q  G                delay(10);
8 @. t% d8 p4 Y9 `; g. P                lcdwr=1;& d( W3 i2 G* C6 ~
                delay(5);( m, D/ p! x% f& q3 a
                date<<=1;               
# u, v) I& U6 @0 A& e9 u        }5 N- x( p( M5 @9 H* M6 V
}3 T0 h, R; |8 A
, Y- `* r) `0 t
/*********************写命令**********/; H, R& u& y6 f  r$ U$ B3 u
void wr_com(uchar com)7 m1 d$ i9 O: ~% A" y) h
{
1 f* p2 j) G) p8 B        lcdcs=0;8 H+ L. ]( U# d
        delay(5);5 f1 O3 K; i" J. \2 i+ w; c. Y; d; W7 O
        wr_data(0x80,4);9 v# a2 G9 l5 C7 p% i6 Y
        wr_data(com,8);
7 |0 E& X  w. s; u        lcdcs=1;$ a+ q2 Z+ }0 j( y1 m
        delay(5);
0 `8 |% N2 U4 S7 `1 b; H; G/ _}
7 ~) K( w; u+ q6 R! q   / b, y1 C- V0 Q$ u! x5 V
/********************液晶初始化程序**************/
' F. T/ I0 V2 `5 ?- w+ K- D- jvoid init()# B# s1 K7 b3 R6 b, ?, h
{
$ F  u" ?  X' @7 N  w& }! K4 b        lcddata=1;
& N) u, _, k: E9 c9 v0 k. G        lcdwr=1;
/ H. E5 f6 y' F% N0 {        lcdcs=1;) S8 }' |! w6 R. \1 c7 H
        wr_com(BAIS);
  |6 E3 c' a9 b. v! J: L; Z: _        wr_com(RC256);        $ \+ T: X" L2 |' B+ k/ r
        wr_com(SYSDIS);
" R. V0 h+ g" V- y        wr_com(SYSEN);
+ b. v& @; h. m- u- D( ^        wr_com(LCDON);
! Q3 |+ J8 m9 B% V  \; c7 W//        wr_com(WDTDIS);" X+ {; `8 M$ h5 {' ~
}
. I  K6 g" R6 N) k1 }, {5 P; {) N/ y
void display(uchar m,uchar n)
" |  a1 I/ E& D) X$ C( D3 \2 S{
0 @# O  p% k8 a. i& t        m<<=2;
: C  a$ A, n, V' x1 s7 plcdcs=0;4 H/ o& D# |6 w, H7 g0 n! ?3 F
delay(5);
: O% j4 ?* t2 H+ D* H/ Dwr_data(0xA0,3);2 W' c  \8 x6 v6 F. x. Z
wr_data(m,6);' e' Y/ @/ [: b' `% N) r3 \- x: A
wr_data(n,4);
6 P8 t5 M$ ]' W, _% rlcdcs=1;
4 r) \2 |, W0 e& E' Z# S; _. w, adelay(5);
" p* M$ [* k/ \7 u0 x$ J: f7 ~# b1 K}& G7 W0 X" q6 F
9 N5 y* m  c2 T  R( A9 [( N( r
void cl_scren(uchar l)/ c2 p# f! u4 y# O. x
{6 i. x" w0 e, [- K/ G9 ~5 I
        uchar o=0;
* |0 W  @( `8 r4 T        for(l=0;l<32;l++)4 z: _6 e# ^8 g6 [# X" {- ]2 ?  R
                {
$ K: \8 o6 k* M9 _                display(0x00,o);
$ Y2 _% q( e* v4 _& S* G9 [                o++;
6 R) o5 F& X& X) i                }        
  C  ?8 c& c! U}
& {! S& m! o! r! _: _2 {4 n. S. H, @9 P- ^4 [9 N8 t$ j

6 q3 S+ L# [# T4 @% V3 s& x: R. M/*********************主程序*************/% @+ J+ O" Z9 M0 C( C/ M) A2 t
void main (): x, ^4 w7 q0 G3 o" U# j4 k! D4 R
{0 W6 h6 ]# \! x8 @
        init();
& q5 U1 Z4 @! V5 Z! s1 E  t        cl_scren();
1 }5 ?  F& i1 ?7 [* e& l        display(0xff,3);        
5 G/ U0 }: G3 k, g        while(1);
8 n7 z' E9 g4 A- T0 t}使用特权( K' u9 T# @- W& `4 Y
评论回复        5 U" u+ J5 I: l( s" T5 c2 D
( m8 ]( [. I# Y+ ~% W
' a* d& _1 Y9 I

5 a* F% c0 N. U1 }

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-26 08:32 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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