这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 郁闷啊!protues中AT89C52无法点亮LCD1602

共6条 1/1 1 跳转至

郁闷啊!protues中AT89C52无法点亮LCD1602

工程师
2020-08-30 11:26:36     打赏

郁闷啊!protues中AT89C52无法点亮LCD1602,以下分别是我的电路图和源码,大家有空帮我看看,谢谢咯!


#include<reg51.h>

#define uint signed int

#define uchar signed char

 uchar aa[]={"current voiltage :"};

 sbit lcden = P3^4;    

 sbit lcdrs = P3^5;

 sbit START = P2^0;

 sbit CLK = P2^1;

 sbit EOC = P2^2;

 sbit OE = P2^3;

 sbit AA = P2^4;

 sbit BB = P2^5;

 sbit CC = P2^6;

 float v;

 void delay(uint ms)   //延时函数

 {

  uchar i;

  while(ms--);

  {

   for(i<0;i<120;i++);

  }

 }

 void write_com(uchar com)    //写命令函数

 {

  lcdrs=0;

  P0=com;

  delay(5);

  lcden=1;

  delay(5);

  lcden=0;

 }

 void write_data(uchar date)   //写数据函数

 {

  lcdrs=1;

  P0=date;

  delay(5);

  lcden=1;

  delay(5);

  lcden=0;  

 }

 void LCD1602_init()   //1602初始化函数

 {

  lcden=0;

  write_com(0x38);

  write_com(0x0C);

  write_com(0x01);  

 }

 void display (int v)

 {

  int shu,i;

  write_com(0x80);

  for(i=0;i<16;i++)

   {

    write_data(aa[i]);

   }

  write_com(0x80+0x46);

   shu=v/100;

   write_data(shu+'0');

   delay(5);

   write_data('.');

   delay(5);

    shu=v%100/10;

    delay(5);

    write_data(shu+'0');

    delay(5);

     shu=v%10;

     write_data(shu+'0');

     delay(5);

     write_data('V');

 }

 void main()

 {

  LCD1602_init();

  TMOD=0x02;

  TH0=0x14;

  TL0=0X14;

  IE=0X82;

  TR0=1;

  P2=0x0f;  //选用通道0,CLK=1,START=1,EOC=1,OE=1.

  while(1)

  {

   START=0;

   START=1;

   START=0;

   while(EOC=0);

   OE=1;

   v=P1*1.0/255*500;

   display(v);

   OE=0;

  }

 }

 void Timer0() interrupt 1

 {

  CLK=!CLK;

 }





关键词: LCD1602     AT89C52     protues    

工程师
2020-08-30 11:36:22     打赏
2楼

显示函数没的问题 就是“v=P1*1.0/255*500”;如果把P1改成255 就可以正确显示5.00V


工程师
2020-08-30 11:40:43     打赏
3楼

 主函数中 WHILE(EOC==0)这里少打个=


工程师
2020-08-30 11:45:13     打赏
4楼

建议 LCD接口的RW 用单片机的IO来控制,而不是一直接低电平


工程师
2020-08-30 14:58:18     打赏
5楼

多检查检查


工程师
2020-09-02 22:03:13     打赏
6楼

感谢分享


共6条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]