找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2313|回复: 1
打印 上一主题 下一主题
收起左侧

基于单片机的数字钟可显示年月日星期

[复制链接]
跳转到指定楼层
楼主
硬件:AT89C51  LCD1602 DS1302
功能描述:三个按键一个为功能选择键,两个为调节键,可分别对年月日星期进行调节
仿真图


单片机源程序
  1. #include<reg51.h>
  2. unsigned char code tab[] ="HELLO,WORLD!";
  3. unsigned char code tab1[] ="WELCOME!";
  4. sbit lcdrs=P2^0;
  5. sbit lcde=P2^1;
  6. unsigned char i;
  7. void delay(unsigned int z)
  8. {
  9.   unsigned int x,y;
  10.   for(x=z;x>0;x- -)
  11.     for(y=125;y>0;y- -)
  12. }
  13. void write_com(unsigned char com)
  14. {
  15.   lcdrs=0;
  16.   P3=com;
  17.   delay(5)
  18.   lcde=1;
  19.   delay(5);
  20.   lcde=0;
  21. }
  22. void write_data(unsigned char data1)
  23. {
  24.   lcdrs=1;
  25.   P3=data1;
  26.   delay(5)
  27.   lcde=1;
  28.   delay(5);
  29.   lcde=0;
  30. }
  31. void init()
  32. {
  33.   lcde=0;
  34.   write_com(0x38);
  35.   write_com(0x0f);
  36.   write_com(0x06);
  37.   write_com(0x01);
  38.   write_com(0x80);
  39. }
  40. void main()
  41. {
  42.   init();
  43.   write_com(0x80+0x12);
  44.   for(i=0;i<12;i++)
  45.   {
  46.     write_data(tab[i]);
  47.         delay(20);
  48.   }
  49.   write_com(0x80+0x54);
  50.   for(i=0;i<8;i++)
  51.   {
  52.     write_data(tab1[i]);
  53.         delay(20);
  54.   }
  55.     for(i=0;i<16;i++)
  56.   {
  57.     write_com(0x1c);
  58.         delay(200);
  59.   }
  60.   while(1);
  61. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:971637 发表于 2021-10-19 17:00 | 只看该作者
请问有仿真文件吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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