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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本用ht1621驱动液晶显示屏就是点不亮屏幕,求大神指教。# include <reg51.h>5 [* e& t6 |# b( K& {8 D# o$ n
# include <intrins.h>& v" D  T. q( R. k+ H
# include <stdio.h>
  G8 t, w: Q  c" [7 [' ~9 ]$ c% E
8 ~, t/ i: a0 N6 ]# x#define uint unsigned int
6 Y/ g2 ?# j  }9 q- l0 f" v#define uchar unsigned char 8 X/ s: u6 @" B$ M- }  n! L

" K" l! V, \( H! h
! T) P. A! f( L8 u" \. q% Rsbit lcddata= P2^2;        //液晶数据端口$ D: b9 J& t$ a8 Z0 b
sbit lcdwr=P2^3;         //写操作端口
9 \1 D9 U6 d* k% v6 Q# }sbit lcdcs=P2^4;        //片选输入  为低的时候复位初始化且数据,命令无效。高的时候反之。! k* @, G/ u; k, W9 g2 A0 r

5 P. a& j$ Q) J5 o
0 P+ J* k6 O7 K+ R: ~. j#define        BAIS 0X52
9 @$ B6 p; g7 C5 C7 K8 A) @#define        SYSDIS 0X00' |/ w  G: d. T$ S% x3 ^
#define        SYSEN 0X02+ b3 f7 {: m9 V: B0 u& S
#define        LCDOFF 0X04+ d2 m' h% _$ [) c
#define        LCDON 0X06- |9 Z+ S4 y9 ?" A
#define        XTAL 0X28
8 l6 V' z! D( g# i#define        RC256 0X30( v, E6 d: T6 P, S! d
#define        TONEON 0X12
& l+ b1 l4 ^% ^) K+ M3 b. o#define        TONEOFF 0X10
" r% e# x, b0 V( E; s9 @$ Y#define        WDTDIS 0X0A1 N5 R* c. L7 `+ _( G* Z! e

7 G" [7 r% t0 q* ^% X  Q/*****************************************段码*************************************************/9 P/ n* g8 c3 [7 \+ f  l$ V
uchar code TAB[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};7 L, e, N* u- B

5 i1 d9 Y7 W5 i# l) }& [& Z/**************延时程序1***************/) J2 v+ C( W# E* s. \/ {8 m
void delay1(uchar x); p% g7 m5 J" q: h) B
{
3 A6 l+ }. y, _        uchar i,j;
& \! m" T2 O; v+ f- h        for(i=0;i<x;i++)9 W! [- {' N. \4 d1 @
        for(j=0;j<120;j++);2 W  g# y5 o! C$ {% ?" p9 B
}  
# Z& t+ U# N8 H; A: U; |. Y4 r9 z7 b; H2 d
/********************延时程序2**************/& h  F4 t8 x$ |1 ?, C) n0 m
void delay(uchar y)
+ W" t' f* j: {' s* J" ^{
5 _* U1 t) f. T6 w5 @9 a% b( z5 r        while(--y);
" H1 V! m4 J  H* E- O( n0 G2 b8 i. u4 Y4 [3 s
}: F3 y) y9 J+ p$ m& p: x* L" Y

$ @$ M- d' G- V2 W& b/*********************写数据*********/
6 g1 J9 y7 M7 L. Xvoid wr_data(uint cnt,uchar date)
1 U4 T% e3 _% G9 Q4 G0 b{           
% ^, q0 L# C9 L7 r: T' i, b                uint i;3 M$ U7 S) b+ z6 ?
        for(i=0;i<cnt;i++)
) M1 d( w1 X: E        {
0 e/ b! A0 w( D2 k* x( x) I4 L/ `  B  s                lcdwr=0;
( m- e. D! t( R% k+ ^$ o                delay(10);' {, k8 \: D2 J# A! h$ A4 }
                lcddata=(0x80&date);
' b- d* ~* \& ~/ n4 ?# H                delay(10);2 i3 S7 W0 t% w& r1 E! k1 Z
                lcdwr=1;
& p# L, D3 j) Q% K" Z& S                delay(5);$ S3 H$ O8 T5 [( ^* c
                date<<=1;               
/ `; I8 n' k) R- w7 W# f        }  [- I1 r8 B+ @  I2 b* x) ~
}8 D: N* B) i! ?$ P; R6 O5 ?
8 R$ \: f  [/ G" x- l
/*********************写命令**********/
& h, n9 b5 _( evoid wr_com(uchar com)* ]1 r2 V9 l  X6 g
{4 O  q; J+ L( g# h4 y
        lcdcs=0;# G6 u* X9 v, ~; w
        delay(5);- w" n  U3 j$ W9 V: e
        wr_data(0x80,4);
0 T  [) z4 E7 @$ {7 G7 U        wr_data(com,8);
: L5 P# E) L% ?        lcdcs=1;4 w/ Z4 ~# ?9 D/ g& D
        delay(5);
9 A3 n5 N( O( \) u7 y% z  N3 M} + _4 ^: i- p# R/ Z
   7 ]. `: \# O6 i+ f) Q5 P
/********************液晶初始化程序**************/# `# {1 E% N5 X
void init()
$ \6 a  ~! d- A{
$ K" A  ^) g. x0 B0 ~" K        lcddata=1;
: X" q0 b  R6 X$ y  N2 Z  G        lcdwr=1; $ m0 J, R* r. p' y
        lcdcs=1;4 I+ ]4 z0 \: M
        wr_com(BAIS);# g0 u9 Y2 r& E, t; @* F$ Q) Z9 a
        wr_com(RC256);        ' c+ k* }5 Z. r$ B  q
        wr_com(SYSDIS);
2 Y# \; U6 E3 `1 i# a( K        wr_com(SYSEN);, }$ ]9 p4 N1 U% u" z
        wr_com(LCDON);1 k  {! L  g9 [1 p
//        wr_com(WDTDIS);5 S9 `* P) c/ o4 b8 R7 Z
}) f* U+ F; S8 l# v. Z: F5 B

: {& `: X/ |( t* i9 zvoid display(uchar m,uchar n)/ l: c- o0 ~( Y. [
{
# s. i& I- L  e* V* |        m<<=2;
+ p- P& [" c/ c) _. |! e" h1 {lcdcs=0;
' d1 [9 t1 |, x, I$ T0 sdelay(5);- ]' T+ {, F6 G2 |* T
wr_data(0xA0,3);! G; y4 i. T3 |  q: s$ n) h9 L
wr_data(m,6);4 J' H6 |3 z4 j. U2 Q# l5 }3 W
wr_data(n,4);2 n+ e' c7 T! A" ^! p4 ~2 k
lcdcs=1;
! C! D+ T5 K9 y' n5 z, qdelay(5);7 e- t1 t1 D# b* m  `: Y
}3 n8 ?% v/ w9 [
, b  A! e; @( l2 ]# n/ C
void cl_scren(uchar l)
3 q1 i9 x3 v3 ^& H. |  |{
; R: b$ k1 P6 c* s' z        uchar o=0;) m4 [% Y9 F7 I# p0 I/ C5 [% t; B
        for(l=0;l<32;l++)4 X* j6 s6 a  l+ V4 X
                {
1 M1 f! ~! G8 f) F/ @: o                display(0x00,o);
2 E  m+ x3 @3 F1 T9 Q                o++;2 g7 B7 @" q& C( a* m
                }        
0 e2 \* b# I# X- C# L% l  _} 9 E: R- x7 ^2 P- q) {
% G( K, [  c  R' a8 d9 T% f7 T" Y
/ }+ j1 q' j% Y+ X( `1 F
/*********************主程序*************/9 n" b  h1 K1 \6 J4 v1 Y# [
void main ()
; A; R4 B! S; x# m  [: L{
- F. V. |# g5 J" g  E, \        init();5 l) h. N* g* [9 C
        cl_scren();0 W$ f" W8 Y( N
        display(0xff,3);        , b$ ]" D' O! ?
        while(1);
) p# y" p' U3 ^  B/ j) {3 f% @! j}使用特权3 r' ^' W1 p. f7 W6 G# y7 s
评论回复          v1 o9 f5 {7 ]3 w7 b$ u
0 ~" f# v0 S$ ]

2 X* r, |/ ]6 R# Q1 i0 v
# Y. I8 c7 Q( z. f7 H

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-16 06:42 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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