找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

请问大佬们为啥我这个lcd不显示数字呢。代码附上——时钟程序

查看数: 3589 | 评论数: 8 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-5-18 10:02

正文摘要:

电路仿真图已附上!!! #include<reg52.h> typedef unsigned char uchar; typedef unsigned int uint; sbit rs=P3^2; sbit wr=P3^3; sbit lcden=P3^4; uchar timecount=0; void delay(uint i) ...

回复

ID:572399 发表于 2020-5-20 14:18
wulin 发表于 2020-5-18 15:06
楼主丢了不少语句,定时器中断根本没有开,定时器预装置也少写个0。

谢谢哥。。已经可以了~感谢
ID:572399 发表于 2020-5-20 14:18
taotie 发表于 2020-5-18 13:17
上拉电阻RP11脚接+5v

谢谢   已经可以了~~
ID:213173 发表于 2020-5-18 15:06
楼主丢了不少语句,定时器中断根本没有开,定时器预装置也少写个0。


  1. #include<reg52.h>
  2. typedef unsigned char uchar;
  3. typedef unsigned int uint;

  4. sbit rs=P3^2;
  5. sbit wr=P3^3;
  6. sbit lcden=P3^4;

  7. uchar timecount=0;

  8. void delay(uint i)
  9. {
  10.         uint a,b;
  11.         for(a=i;a>0;a--)
  12.                 for(b=10;b>0;b--);
  13. }

  14. void write_com(uchar com)
  15. {
  16.         P0=com;
  17.         rs=0;
  18.         lcden=0;
  19.         delay(10);
  20.         lcden=1;
  21.         delay(10);
  22.         lcden=0;
  23. }
  24. void write_date(uchar date)
  25. {
  26.         P0=date;
  27.         rs=1;
  28.         lcden=0;
  29.         delay(10);
  30.         lcden=1;
  31.         delay(10);
  32.         lcden=0;
  33. }
  34. void init()
  35. {
  36.         wr=0;
  37.         write_com(0x38);
  38.         delay(20);
  39.         write_com(0x0c);
  40.         delay(20);
  41.         write_com(0x06);
  42.         delay(20);
  43.         write_com(0x01);
  44.         delay(20);
  45. }

  46. void main()
  47. {
  48.         uchar a,second=0,minute=0,hour=12;  
  49.         uchar table[]="00:00:00";
  50.         TMOD=0x01;
  51.         TH0=(65536-50000)/256;
  52.         TL0=(65536-50000)%256;
  53.    TR0 = 1;
  54.         EA = 1;
  55.         ET0 = 1;
  56.         init();
  57.         for(a=0;a<8;a++)
  58.                 write_date(table[a]);
  59.         while(1)
  60.         {
  61.                 if(timecount>=20)
  62.                 {
  63.                         timecount=0;
  64.                         second++;
  65.                         if(second>=60)
  66.                         {
  67.                                 second=0;
  68.                                 minute++;
  69.                                 if(minute>=60)
  70.                                 {
  71.                                         minute=0;
  72.                                         hour++;
  73.                                         if(hour>=24)
  74.                                                 hour=0;
  75.                                 }
  76.                         }
  77.                 }
  78.                 table[0]=hour/10+'0';
  79.                 table[1]=hour%10+'0';
  80.                 table[3]=minute/10+'0';
  81.                 table[4]=minute%10+'0';
  82.                 table[6]=second/10+'0';
  83.                 table[7]=second%10+'0';
  84.                 write_com(0x80);
  85.                 delay(20);
  86.                 for(a=0;a<8;a++)
  87.                 {
  88.                         write_date(table[a]);
  89.                         delay(20);
  90.                 }
  91.         }
  92. }

  93. void Time0 (void) interrupt 1
  94. {
  95.         TH0=(65536-50000)/256;
  96.         TL0=(65536-50000)%256;
  97.         timecount++;
  98. }
复制代码



ID:716292 发表于 2020-5-18 14:36
编程上要写显示什么,建议搜一下别的学习一下
ID:342822 发表于 2020-5-18 13:17
上拉电阻RP11脚接+5v
ID:572399 发表于 2020-5-18 12:55
stcx 发表于 2020-5-18 11:19
https://blog.csdn.net/main_h_/article/details/80419257

是我的接线错误吗?
ID:584814 发表于 2020-5-18 12:38
时序问题,P0=date;不应该出现在第一行。
ID:749852 发表于 2020-5-18 11:19

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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