找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 1928|回复: 0
打印 上一主题 下一主题
收起左侧

单片机LCD1602时钟程序设计

[复制链接]
跳转到指定楼层
楼主
ID:1013275 发表于 2022-4-18 16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
简易时钟设计
#include<reg51.h>
#include<lcd1602.H>
#define uchar unsigned char
#define uint unsigned int
uchar int_time;
uchar second;
uchar minute;
uchar hour;
uchar code date[]="  H.I.T.CHINA";
uchar code time[]=" TIME 23:59:55";
uchar second=55,minute=59,hour=23;
void clock_write( uint s, uint m, uint h)
{
        write_sfm(0x47,h);
        write_sfm(0x4a,m);
        write_sfm(0x4d,s);
}
void clock_init()
{
        uchar i,j;
        for(i=0;i<16;i++)
        {
   write_date(date[ i]);
        }
        write_com(0x80+0x40);
        for(j=0;j<16;j++)
        {
                write_data(time[j]);
        }
}

void main()
{
        init1602();
        clock_init();
        TMOD=0x01;
        EA=1;
        ETO=1;
        TH0=(65536-46483)/256;
        TL0=(65536-46483)%256;
        TR0=1;
        int_time=0;
        second=55;
        minute=59;
        hour=23;
        while(1)
        {
                clock_write(second,minute,hour);
        }
}
void TO_interserve(void) interrupt 1 using 1
{  int_time++;
          if(int_time==20)
                {
                        int_time=0;
                        second++;
                }
                if(second==60)
                {
                        second=0;
                        minute++;
                }
                if(minute==60)
                {
                        minute=0;
                        hour++;
                }
                if(hour=24)
                {
                        hour=0;
                }
                TH0=(65536-46083)/256;
                TL0=(65536-46083)%256;
}

附件里面是仿真图,不含代码(自行生成hex文件)仅供参考,请自行测试,如有错误请告知:
Proteus仿真下载: LCD时钟的设计.zip (41.81 KB, 下载次数: 17)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

举报

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

本版积分规则

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

Powered by 单片机教程网

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